From a60b00f8055adde2a372f1626e3e495801c22f47 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 28 十一月 2025 16:24:49 +0800
Subject: [PATCH] fix: bug

---
 src/views/EmploymentManage/CheckReceiveTaskDetail.vue |   83 +++++++++++++++++++++--------------------
 1 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index b56f43e..dba13ae 100644
--- a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
+++ b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -1,5 +1,5 @@
 <template>
-  <LoadingLayout :loading="state.loading">
+  <LoadingLayout v-loading="state.loading">
     <AppContainer>
       <el-card class="query-filter-bar-wrapper" shadow="never">
         <ProForm :model="taskInfo" is-read>
@@ -16,7 +16,7 @@
             </ProFormColItem>
             <ProFormColItem :span="8">
               <ProFormItemV2 label="鏈嶅姟璐归噾棰�:">
-                {{ `${taskInfo.serviceFee}${EnumBillingMethodUnitText[taskInfo.billingMethod]}` }}
+                {{ OrderUtils.getServiceFeeText(taskInfo.serviceFee, taskInfo.billingMethod) }}
               </ProFormItemV2>
             </ProFormColItem>
           </ProFormCol>
@@ -40,11 +40,7 @@
         </ProForm>
       </el-card>
 
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="CheckReceiveTaskDetailColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
     <CheckManageDialog v-bind="dialogProps" />
@@ -59,18 +55,15 @@
   AppContainer,
   useTable,
   useFormDialog,
-  defineOperationBtns,
   ProForm,
   ProFormCol,
   ProFormColItem,
   ProFormItemV2,
-  ProTableQueryFilterBar,
 } from '@bole-core/components';
 import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
 import * as taskServices from '@/services/api/task';
 import { useQuery } from '@tanstack/vue-query';
-import { CheckReceiveTaskDetailColumns } from './constants';
-import { EnumBillingMethodUnitText } from '@/constants';
+import { hiddenIDNumberForEnd4, OrderUtils } from '@/utils';
 import dayjs from 'dayjs';
 import CheckManageDialog from './components/CheckManageDialog.vue';
 import ManualCheckManageDialog from './components/ManualCheckManageDialog.vue';
@@ -79,31 +72,30 @@
   name: 'CheckReceiveTaskDetail',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'exportBtn',
-      name: '楠屾敹',
+const operationBtnMap: Record<string, OperationBtnType> = {
+  detailBtn: {
+    emits: {
+      onClick: (role) => openDialog(role, true),
     },
+  },
+  acceptanceBtn: {
     emits: {
       onClick: (role) => openDialog(role),
     },
     extraProps: {
       hide: (row: API.GetCheckReceiveTaskQueryResultItem) =>
-        row.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed ||
-        state.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn,
+        !(
+          (row.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
+            row.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit) &&
+          row.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.Submit)
+        ),
     },
   },
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '璇︽儏',
-    },
-    emits: {
-      onClick: (role) => openDialog(role, true),
-    },
-  },
-]);
+};
+
+const { column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const route = useRoute();
 const id = (route.params.id as string) ?? '';
@@ -123,7 +115,7 @@
 
 const BaseState = {
   loading: true,
-  checkReceiveMethod: '' as any as EnumTaskCheckReceiveMethod,
+  checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
 };
 
 const state = reactive({ ...BaseState });
@@ -159,7 +151,7 @@
       let res = await taskCheckReceiveServices.getCheckReceiveTask(params, {
         showLoading: !state.loading,
       });
-      state.checkReceiveMethod = res.objectData?.checkReceiveMethod;
+      state.checkReceiveMethods = res.objectData?.checkReceiveMethods;
       return res;
     } catch (error) {}
   },
@@ -171,26 +163,37 @@
       gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
       lastSubmitTime: { type: 'date' },
       checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
+      identity: {
+        formatter: (row: API.GetCheckReceiveTaskQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );
 
 function openDialog(row: API.GetCheckReceiveTaskQueryResultItem, isDetail = false) {
-  if (state.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
-    handleManualEdit({
-      id: row.id,
-    });
-  } else {
-    handleEdit({
-      id: row.id,
-      isDetail,
-    });
-  }
+  // if (state.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
+  //   handleManualEdit({
+  //     id: row.id,
+  //   });
+  // } else {
+  handleEdit({
+    id: row.id,
+    tabType: state.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn)
+      ? 'signRecord'
+      : '',
+    checkReceiveMethods: state.checkReceiveMethods,
+    isDetail,
+  });
+  // }
 }
 
 const { dialogProps, handleEdit } = useFormDialog({
   defaultFormParams: {
     id: '',
+    tabType: '',
+    checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
     isDetail: false,
   },
 });

--
Gitblit v1.9.1