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