index.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <ContentWrap>
  3. <!-- 搜索工作栏 -->
  4. <el-form
  5. class="-mb-15px"
  6. :model="queryParams"
  7. ref="queryFormRef"
  8. :inline="true"
  9. label-width="80px"
  10. >
  11. <el-form-item label="长者姓名" prop="elderName">
  12. <el-input @keyup.enter="handleQuery" v-model="queryParams.elderName" placeholder="请输入长者姓名" class="!w-240px" />
  13. </el-form-item>
  14. <el-form-item label="床位" prop="bedId">
  15. <SelectRoom v-model="queryParams.bedId" class="!w-240px" :tId="queryParams.tenantIds" />
  16. </el-form-item>
  17. <el-form-item label="护理等级" prop="nurseLevelId">
  18. <TgSelect v-model="queryParams.nurseLevelId" class="!w-240px">
  19. <el-option
  20. v-for="(n, i) in nurseLevelList"
  21. :key="i"
  22. :label="n.nurseLevelName"
  23. :value="n.id"
  24. />
  25. </TgSelect>
  26. </el-form-item>
  27. <el-form-item>
  28. <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
  29. <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
  30. </el-form-item>
  31. </el-form>
  32. </ContentWrap>
  33. <!-- 列表 -->
  34. <ContentWrap>
  35. <TabBarBtn @add="openForm()" />
  36. <Table2
  37. v-loading="loading"
  38. :data="list"
  39. :columns="LifeCarePlanColumns"
  40. :queryParams="queryParams"
  41. @row-click="handleRowClick"
  42. @edit="openForm"
  43. @detail="(arg) => openForm(arg, true)"
  44. />
  45. <!-- 分页 -->
  46. <Pagination
  47. :total="total"
  48. v-model:page="queryParams.pageNo"
  49. v-model:limit="queryParams.pageSize"
  50. @pagination="getList"
  51. />
  52. </ContentWrap>
  53. <Form ref="formRef" @success="getList" />
  54. </template>
  55. <script lang="ts" setup>
  56. import { getnursingPlanPage, getNursingLevelPage } from '@/api/elderly/nursing'
  57. import { LifeCarePlanColumns } from '../column'
  58. import {useUserStore} from "@/store/modules/user";
  59. import Form from './Form.vue'
  60. defineOptions({ name: 'LifeCarePlan' })
  61. const userStore = useUserStore()
  62. const route = useRoute()
  63. const loading = ref(true) // 列表的加载中
  64. const total = ref(0) // 列表的总页数
  65. const list = ref([]) // 列表的数据
  66. const queryParams = reactive({
  67. pageNo: 1,
  68. pageSize: 10,
  69. nurseLevelId: undefined,
  70. bedId: undefined,
  71. elderName: "",
  72. tenantIds: userStore.orgTenantId,
  73. type: route.path.indexOf('medical-care-plan') > -1 ? 2 : 1, // 2:医疗护理 1 生活护理
  74. })
  75. const queryFormRef = ref() // 搜索的表单
  76. /** 查询列表 */
  77. const getList = async () => {
  78. loading.value = true
  79. try {
  80. const data = await getnursingPlanPage(queryParams)
  81. list.value = data.list
  82. total.value = data.total
  83. } finally {
  84. loading.value = false
  85. }
  86. }
  87. /** 搜索按钮操作 */
  88. const handleQuery = () => {
  89. queryParams.pageNo = 1
  90. getList()
  91. }
  92. /** 重置按钮操作 */
  93. const resetQuery = () => {
  94. queryFormRef.value.resetFields()
  95. handleQuery()
  96. }
  97. /** 添加/修改操作 */
  98. const formRef = ref()
  99. const openForm = (row: any = {}, isDetail: boolean = false) => {
  100. formRef.value.open(row.id, isDetail, false)
  101. }
  102. // 复制
  103. const currItem = ref({})
  104. const handleRowClick = (val) => {
  105. currItem.value = val
  106. }
  107. const nurseLevelList = ref<{ nurseLevelName: string; id: string | number }[]>([])
  108. const getNurseLevelList = async () => {
  109. try {
  110. const data = await getNursingLevelPage({
  111. pageNum: 1,
  112. pageSize: 200
  113. })
  114. nurseLevelList.value = data.list
  115. } finally {
  116. }
  117. }
  118. /** 初始化 **/
  119. onMounted(() => {
  120. if(route.query && route.query.elderName){
  121. queryParams.elderName = route.query.elderName as string
  122. }
  123. getList()
  124. getNurseLevelList()
  125. })
  126. </script>