From cbcc6a8eecfc19e93da08500dcc898efdabf7836 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 22 十月 2025 18:38:45 +0800
Subject: [PATCH] fix: s
---
src/views/EmploymentManage/components/CheckManageDialog.vue | 140 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 113 insertions(+), 27 deletions(-)
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index b5e73cb..81a4ecb 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -6,13 +6,7 @@
</ProDialogTableWrapper>
<template #footer>
<span class="dialog-footer">
- <el-button v-if="form.type === 'detail'" @click="emit('onCancel')" type="primary"
- >纭畾</el-button
- >
- <template v-if="form.type === 'check'">
- <el-button @click="emit('check', false)">楠屾敹鏈�氳繃</el-button>
- <el-button type="primary" @click="emit('check', true)">楠屾敹閫氳繃</el-button>
- </template>
+ <el-button @click="emit('onCancel')" type="primary">纭畾</el-button>
</span>
</template>
</ProDialog>
@@ -27,39 +21,90 @@
defineOperationBtns,
useTable,
} from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
+import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
+import { setOSSLink } from '@/utils';
+import { downloadWithZip, Message } from '@bole-core/core';
+import { useGlobalEventContext } from '@/hooks';
defineOptions({
- name: 'EnterpriseConsumptionDetailDialog',
+ name: 'CheckManageDialog',
});
type Form = {
id: string;
- type: string;
+ isDetail: boolean;
};
const visible = defineModel({ type: Boolean });
const form = defineModel<Form>('form');
-const title = computed(() => (form.value.type === 'check' ? '楠屾敹' : '璇︽儏'));
+const title = computed(() => (form.value.isDetail ? '璇︽儏' : '楠屾敹'));
const emit = defineEmits<{
(e: 'onCancel'): void;
- (e: 'check', value: boolean): void;
}>();
+
+const eventContext = useGlobalEventContext();
const columns = defineColumns([
{
id: '1',
- enCode: 'creationTime',
- name: '鎻愪氦鏃堕棿',
+ enCode: 'date',
+ name: '浠诲姟鏃ユ湡',
},
{
id: '2',
- enCode: 'type',
+ enCode: 'createdTime',
+ name: '鎻愪氦鏃堕棿',
+ },
+ {
+ id: '3',
+ enCode: 'files',
name: '楠屾敹鐓х墖',
+ },
+ {
+ id: '4',
+ enCode: 'checkReceiveStatus',
+ name: '楠屾敹鐘舵��',
+ },
+ {
+ id: '5',
+ enCode: 'checkReceiveTime',
+ name: '楠屾敹鏃堕棿',
},
]);
const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'checkReceiveBtn',
+ name: '楠屾敹閫氳繃',
+ },
+ emits: {
+ onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Success),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ !(
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
+ ) || form.value.isDetail,
+ },
+ },
+ {
+ data: {
+ enCode: 'checkReceiveBtn',
+ name: '楠屾敹鏈�氳繃',
+ },
+ emits: {
+ onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Fail),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ !(
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
+ ) || form.value.isDetail,
+ },
+ },
{
data: {
enCode: 'downloadBtn',
@@ -68,14 +113,19 @@
emits: {
onClick: (role) => handleDownload(role),
},
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => row.files?.length === 0,
+ },
},
]);
watch(
- () => visible.value,
+ visible,
(val) => {
if (val) {
- getList();
+ if (form.value.id) {
+ getList();
+ }
}
},
{
@@ -92,14 +142,15 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetFlexEnterpriseInput = {
+ let params: API.GetCheckReceiveTaskUserSubmitsQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
+ id: form.value.id,
};
- let res = await flexEnterpriseServices.getFlexEnterpriseList(params);
+ let res = await taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params);
return res;
} catch (error) {
console.log('error: ', error);
@@ -107,16 +158,51 @@
},
{
defaultExtraParams: {
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'date', order: EnumPagedListOrder.Desc }],
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits'],
+ columnsRenderProps: {
+ createdTime: { type: 'date' },
+ checkReceiveTime: { type: 'date' },
+ date: { type: 'date', format: 'YYYY-MM-DD' },
+ checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckReceiveStatusText },
+ files: {
+ type: 'url',
+ //@ts-ignore
+ formatter: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ row.files?.length > 0 && (row.files ?? []).map((x) => setOSSLink(x)),
+ showDownloadBtn: false,
+ },
+ },
}
);
-function handleDownload(row) {}
-</script>
+function handleDownload(row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) {
+ if (row.files?.length > 0) {
+ downloadWithZip(
+ row.files.map((x) => ({
+ data: `${setOSSLink(x)}`,
+ })),
+ '楠屾敹鐓х墖'
+ );
+ }
+}
-<style lang="scss" scoped>
-@use '@/style/common.scss' as *;
-</style>
+async function checkReceiveTask(
+ row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem,
+ checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus
+) {
+ try {
+ let params: API.CheckReceiveTaskCommand = {
+ id: row.id,
+ checkReceiveStatus: checkReceiveStatus,
+ };
+ let res = await taskCheckReceiveServices.checkReceiveTask(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ eventContext.emit('checkReceiveTask');
+ }
+ } catch (error) {}
+}
+</script>
--
Gitblit v1.9.1