From a589e8e0f15b368069164fffed0e36becab92cb6 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 03 十二月 2025 09:01:59 +0800
Subject: [PATCH] fix: 谢绝

---
 src/views/EmploymentManage/components/CheckManageDialog.vue |   93 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 88 insertions(+), 5 deletions(-)

diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index e128516..f90e2cc 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -1,5 +1,9 @@
 <template>
   <ProDialog :title="title" v-model="visible" destroy-on-close draggable>
+    <ProTabs v-model="form.tabType" hasBorder v-if="form.checkReceiveMethods?.length > 1">
+      <ProTabPane lazy label="绛惧埌璁板綍" name="signRecord"></ProTabPane>
+      <ProTabPane lazy label="鎻愪氦璁板綍" name="submitRecord"></ProTabPane>
+    </ProTabs>
     <ProDialogTableWrapper :height="400">
       <ProTableV2 v-bind="proTableProps" :columns="columns" :operationBtns="operationBtns">
       </ProTableV2>
@@ -20,6 +24,8 @@
   defineColumns,
   defineOperationBtns,
   useTable,
+  ProTabs,
+  ProTabPane,
 } from '@bole-core/components';
 import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
 import { setOSSLink } from '@/utils';
@@ -27,12 +33,14 @@
 import { useGlobalEventContext } from '@/hooks';
 
 defineOptions({
-  name: 'EnterpriseConsumptionDetailDialog',
+  name: 'CheckManageDialog',
 });
 
 type Form = {
   id: string;
   isDetail: boolean;
+  tabType: string;
+  checkReceiveMethods: EnumTaskCheckReceiveMethod[];
 };
 
 const visible = defineModel({ type: Boolean });
@@ -44,7 +52,7 @@
 
 const eventContext = useGlobalEventContext();
 
-const columns = defineColumns([
+const submitColumns = defineColumns([
   {
     id: '1',
     enCode: 'date',
@@ -70,7 +78,69 @@
     enCode: 'checkReceiveTime',
     name: '楠屾敹鏃堕棿',
   },
+  {
+    id: '6',
+    enCode: 'checkOperator',
+    name: '楠屾敹浜�',
+  },
 ]);
+
+const checkInColumns = defineColumns([
+  {
+    id: '1',
+    enCode: 'date',
+    name: '浠诲姟鏃ユ湡',
+  },
+  {
+    id: '2',
+    enCode: 'userCheckInTime',
+    name: '鐢ㄦ埛绛惧埌鏃堕棿',
+  },
+  {
+    id: '3',
+    enCode: 'userCheckOutTime',
+    name: '鐢ㄦ埛绛惧嚭鏃堕棿',
+  },
+  {
+    id: '4',
+    enCode: 'userCheckHistoryType',
+    name: '鐢ㄦ埛楠屾敹鐘舵��',
+  },
+  {
+    id: '5',
+    enCode: 'checkInTime',
+    name: '绛惧埌鏃堕棿',
+  },
+  {
+    id: '6',
+    enCode: 'checkOutTime',
+    name: '绛惧嚭鏃堕棿',
+  },
+  {
+    id: '7',
+    enCode: 'checkHistoryType',
+    name: '楠屾敹鐘舵��',
+  },
+  {
+    id: '8',
+    enCode: 'operator',
+    name: '鎿嶄綔浜�',
+  },
+]);
+
+const columns = computed(() => {
+  if (form.value.checkReceiveMethods.every((x) => x == EnumTaskCheckReceiveMethod.CheckIn)) {
+    return checkInColumns;
+  } else if (form.value.checkReceiveMethods.every((x) => x == EnumTaskCheckReceiveMethod.Submit)) {
+    return submitColumns;
+  } else {
+    if (form.value.tabType === 'signRecord') {
+      return checkInColumns;
+    } else {
+      return submitColumns;
+    }
+  }
+});
 
 const operationBtns = defineOperationBtns([
   {
@@ -83,10 +153,12 @@
     },
     extraProps: {
       hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+        form.value.isDetail ||
+        form.value.tabType === 'signRecord' ||
         !(
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
-        ) || form.value.isDetail,
+        ),
     },
   },
   {
@@ -99,10 +171,12 @@
     },
     extraProps: {
       hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+        form.value.isDetail ||
+        form.value.tabType === 'signRecord' ||
         !(
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
-        ) || form.value.isDetail,
+        ),
     },
   },
   {
@@ -112,6 +186,9 @@
     },
     emits: {
       onClick: (role) => handleDownload(role),
+    },
+    extraProps: {
+      hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => row.files?.length === 0,
     },
   },
 ]);
@@ -161,8 +238,14 @@
     columnsRenderProps: {
       createdTime: { type: 'date' },
       checkReceiveTime: { type: 'date' },
+      userCheckInTime: { type: 'date' },
+      userCheckOutTime: { type: 'date' },
+      checkInTime: { type: 'date' },
+      checkOutTime: { type: 'date' },
       date: { type: 'date', format: 'YYYY-MM-DD' },
       checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckReceiveStatusText },
+      userCheckHistoryType: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckHistoryTypeText },
+      checkHistoryType: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckHistoryTypeText },
       files: {
         type: 'url',
         //@ts-ignore
@@ -178,7 +261,7 @@
   if (row.files?.length > 0) {
     downloadWithZip(
       row.files.map((x) => ({
-        data: `${setOSSLink(x)}?${new Date().getTime()}`,
+        data: `${setOSSLink(x)}`,
       })),
       '楠屾敹鐓х墖'
     );

--
Gitblit v1.9.1