Ver Fonte

优化办理按钮权限

xiongxing há 2 semanas atrás
pai
commit
be1199a5ce

+ 10 - 11
src/components/Table2/index.vue

@@ -65,7 +65,7 @@
         :width="item.width"
       >
         <template #default="scope">
-          <dict-tag  :type="item.dictArr" :value="scope.row[item.field]" />
+          <dict-tag :type="item.dictArr" :value="scope.row[item.field]" />
         </template>
       </el-table-column>
       <!-- 数字 -->
@@ -268,7 +268,7 @@
         :width="item.width"
       >
         <template #default="scope">
-          {{ scope.row.payStatus!=0?toFixedNum(scope.row.payableAmount):'0.00' }}
+          {{ scope.row.payStatus != 0 ? toFixedNum(scope.row.payableAmount) : '0.00' }}
         </template>
       </el-table-column>
     </template>
@@ -324,7 +324,7 @@
         >
           变更
         </el-button>
-        <el-button
+        <!-- <el-button
           link
           type="primary"
           @click="handleCheck(scope.row)"
@@ -332,7 +332,7 @@
           v-show="scope.row.status == 1"
         >
           办理
-        </el-button>
+        </el-button> -->
         <el-button
           link
           type="primary"
@@ -415,8 +415,8 @@ const isDisabledRenewal = (row) => {
   const expireDate = new Date(row.expireTime)
   const halfMonthLater = new Date()
   halfMonthLater.setMonth(halfMonthLater.getMonth() + 2)
-  console.log("AAA")
-  return expireDate > halfMonthLater && (row.isRenew||0)==0
+  console.log('AAA')
+  return expireDate > halfMonthLater && (row.isRenew || 0) == 0
 }
 
 const props = defineProps({
@@ -494,13 +494,12 @@ const props = defineProps({
   }
 })
 
-const toFixedNum = (num:any) => {
+const toFixedNum = (num: any) => {
   try {
-   return  num.toFixed(2)
-  }catch (e) {
+    return num.toFixed(2)
+  } catch (e) {
     return '0.00'
   }
-
 }
 
 const handleSelectable = (row) => {
@@ -512,7 +511,7 @@ const handleSelectable = (row) => {
 
 const getDictLabelArr = (dictArr, field) => {
   const dictLabelArr = getDictOptions(dictArr)
-  let fields = field.map(item => item.mealName)
+  let fields = field.map((item) => item.mealName)
   let str = ''
   str = dictLabelArr
     .filter((item) => fields.includes(item.value))

+ 24 - 15
src/views/elderly/apply/check-in/index.vue

@@ -8,9 +8,14 @@
       :inline="true"
       label-width="80px"
     >
-      <TenantSelect v-model="queryParams.tenantIds" placeholder="请选择机构名称" prop="tenantIds"/>
+      <TenantSelect v-model="queryParams.tenantIds" placeholder="请选择机构名称" prop="tenantIds" />
       <el-form-item label="长者姓名" prop="elderName">
-        <el-input @keyup.enter="handleQuery"  v-model="queryParams.elderName" placeholder="请输入长者姓名" class="!w-240px" />
+        <el-input
+          @keyup.enter="handleQuery"
+          v-model="queryParams.elderName"
+          placeholder="请输入长者姓名"
+          class="!w-240px"
+        />
       </el-form-item>
       <el-form-item label="办理状态" prop="status">
         <el-select v-model="queryParams.status" placeholder="请选择" class="!w-240px">
@@ -53,16 +58,16 @@
         </el-button>
       </template>
     </TabBarBtn>
+
     <Table2
       v-loading="loading"
       :data="list"
       :columns="CheckInColumns"
       :queryParams="queryParams"
       :opWidth="270"
-      @check="handleCheck"
-      @detail="(arg)=>handleDetail(arg, true)"
+      @detail="(arg) => handleDetail(arg, true)"
     >
-      <template #pre="{scope}">
+      <template #pre="{ scope }">
         <el-button
           link
           type="warning"
@@ -72,6 +77,15 @@
         >
           转长住
         </el-button>
+        <el-button
+          link
+          type="primary"
+          @click="handleCheck(scope)"
+          v-hasPermi="['check-in:check']"
+          v-show="!scope.bpmStatus"
+        >
+          办理
+        </el-button>
         <el-button
           link
           type="warning"
@@ -90,16 +104,11 @@
         >
           重新发起
         </el-button>
-        <el-button
-          link
-          type="primary"
-          @click="openForm(scope)"
-          v-hasPermi="['check-in:upload']"
-        >
+        <el-button link type="primary" @click="openForm(scope)" v-hasPermi="['check-in:upload']">
           上传体检报告
         </el-button>
       </template>
-      <template #next="{scope}">
+      <template #next="{ scope }">
         <el-button
           link
           type="danger"
@@ -213,7 +222,7 @@ const handleDetail = (row, type) => {
   checkRef.value.open(row, type)
 }
 
-const handleCancel = async(id) => {
+const handleCancel = async (id) => {
   try {
     const res = await message.prompt('请输入撤销原因', '提示')
     if (res.action == 'confirm') {
@@ -238,8 +247,8 @@ const route = useRoute()
 /** 初始化 **/
 onMounted(() => {
   // 通知跳转过来的直接打开办理弹窗
-  if(route.query && route.query.elderId){
-    checkRef.value.open({elderId: route.query.elderId})
+  if (route.query && route.query.elderId) {
+    checkRef.value.open({ elderId: route.query.elderId })
   }
   getList()
 })

+ 27 - 16
src/views/elderly/elder/contract/index.vue

@@ -9,9 +9,14 @@
       :inline="true"
       label-width="80px"
     >
-      <TenantSelect v-model="queryParams.tenantIds" placeholder="请选择机构名称" prop="tenantIds"/>
+      <TenantSelect v-model="queryParams.tenantIds" placeholder="请选择机构名称" prop="tenantIds" />
       <el-form-item label="长者姓名" prop="elderName">
-        <el-input @keyup.enter="handleQuery" v-model="queryParams.elderName" placeholder="请输入长者姓名" class="!w-240px" />
+        <el-input
+          @keyup.enter="handleQuery"
+          v-model="queryParams.elderName"
+          placeholder="请输入长者姓名"
+          class="!w-240px"
+        />
       </el-form-item>
       <el-form-item label="合同状态" prop="type">
         <el-select v-model="queryParams.type" placeholder="请选择" class="!w-240px">
@@ -51,9 +56,21 @@
       :opWidth="240"
       @edit="(arg) => handleRenewal(arg, 1)"
       @upload="openForm"
-      @check="(arg) => handleRenewal(arg, 2)"
       @detail="openDetail"
-    />
+    >
+      <!-- @check="(arg) => handleRenewal(arg, 2)" -->
+      <template #pre="{ scope }">
+        <el-button
+          link
+          type="primary"
+          @click="handleRenewal(scope, 2)"
+          v-hasPermi="['contract:check']"
+          v-show="scope.status == 1"
+        >
+          办理
+        </el-button>
+      </template>
+    </Table2>
 
     <!-- 分页 -->
     <Pagination
@@ -70,13 +87,13 @@
 </template>
 <script lang="ts" setup>
 import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
-import {getElderlyContract, getElderlyContract2} from '@/api/elderly/elder/contract'
+import { getElderlyContract, getElderlyContract2 } from '@/api/elderly/elder/contract'
 import { ContractColumns } from '../column'
 import Form from './Form.vue'
 import Renewal from './Renewal.vue'
 import Detail from './Detail.vue'
 import { useUserStore } from '@/store/modules/user'
-import {formatTimestampYMD} from "@/utils/dateUtil";
+import { formatTimestampYMD } from '@/utils/dateUtil'
 defineOptions({ name: 'Contract' })
 const userStore = useUserStore()
 const message = useMessage() // 消息弹窗
@@ -138,7 +155,6 @@ const openDetail = (row: any = {}) => {
   detailRef.value.open(row.id)
 }
 
-
 const queryParamsContract = reactive({
   pageNo: 1,
   pageSize: 100,
@@ -152,9 +168,9 @@ const getContractList = async () => {
   loading.value = true
   try {
     const data = await getElderlyContract2(queryParamsContract)
-    if(data && data.length>0){
+    if (data && data.length > 0) {
       if ((window as any).$showContractNotification) {
-        (window as any).$showContractNotification({
+        ;(window as any).$showContractNotification({
           title: '合同过期提醒',
           message: `检测到 ${data.length} 位长者的合同已过期,请及时处理!`,
           contracts: data.map((item: any) => ({
@@ -164,7 +180,6 @@ const getContractList = async () => {
         })
       }
     }
-
   } finally {
     loading.value = false
   }
@@ -174,14 +189,10 @@ const route = useRoute()
 /** 初始化 **/
 onMounted(() => {
   // 通知跳转过来的直接打开办理弹窗
-  if(route.query && route.query.id){
-    openForm({elderId: route.query.id, tenantId: route.query.tenantId}, 2)
+  if (route.query && route.query.id) {
+    openForm({ elderId: route.query.id, tenantId: route.query.tenantId }, 2)
   }
   getList()
   getContractList()
 })
-
-
-
-
 </script>