From 5ccaf0b465e44487d4e4e822eaa648b723e71ad8 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 14 十一月 2025 13:23:28 +0800
Subject: [PATCH] fix: bug

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

diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index d52653d..84924f9 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>
@@ -32,7 +32,7 @@
               </ProFormItemV2>
             </ProFormColItem>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="鍙戝竷鏃ユ湡:">
+              <ProFormItemV2 label="缁撴潫鏃ユ湡:">
                 {{ dayjs(taskInfo.endTime ?? '').format('YYYY-MM-DD') }}
               </ProFormItemV2>
             </ProFormColItem>
@@ -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 { 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.WaitCheckReceive,
+        !(
+          (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) {}
   },
@@ -171,16 +168,34 @@
 );
 
 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