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

---
 src/views/EmploymentManage/CheckReceiveTaskDetail.vue |   74 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 27 deletions(-)

diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index a16ce8b..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,14 +40,11 @@
         </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" />
+    <ManualCheckManageDialog v-bind="dialogManualProps" />
   </LoadingLayout>
 </template>
 
@@ -58,49 +55,47 @@
   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';
 
 defineOptions({
   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,
+        !(
+          (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) ?? '';
@@ -120,6 +115,7 @@
 
 const BaseState = {
   loading: true,
+  checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
 };
 
 const state = reactive({ ...BaseState });
@@ -155,6 +151,7 @@
       let res = await taskCheckReceiveServices.getCheckReceiveTask(params, {
         showLoading: !state.loading,
       });
+      state.checkReceiveMethods = res.objectData?.checkReceiveMethods;
       return res;
     } catch (error) {}
   },
@@ -166,21 +163,44 @@
       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,
+    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,
   },
 });
+
+const { dialogProps: dialogManualProps, handleEdit: handleManualEdit } = useFormDialog({
+  defaultFormParams: {
+    id: '',
+  },
+});
 </script>

--
Gitblit v1.9.1