From 1a7bb09ed0e74ba2b7349a6e015faa0e6d9fc6f5 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 02 十二月 2025 13:18:17 +0800
Subject: [PATCH] fix: 谢绝
---
src/views/EmploymentManage/TaskManageList.vue | 89 +++++++++++++++++++++++++-------------------
1 files changed, 51 insertions(+), 38 deletions(-)
diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index 1c2f458..aaf8578 100644
--- a/src/views/EmploymentManage/TaskManageList.vue
+++ b/src/views/EmploymentManage/TaskManageList.vue
@@ -43,14 +43,15 @@
</QueryFilterItem>
</template>
<template #btn>
- <el-button @click="goAddOrEdit()" type="primary">鍙戝竷</el-button>
+ <el-button
+ v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
+ @click="goAddOrEdit()"
+ type="primary"
+ >鍙戝竷</el-button
+ >
</template>
</ProTableQueryFilterBar>
- <ProTableV2
- v-bind="proTableProps"
- :columns="EmploymentManageColumns"
- :operationBtns="operationBtns"
- >
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
<template #userCount="{ row }">
<el-button link type="primary" @click="goSignList(row)">{{
row.userCount || 0
@@ -72,44 +73,34 @@
useTable,
FieldDatePicker,
FieldRadio,
- defineOperationBtns,
} from '@bole-core/components';
-import { EmploymentManageColumns } from './constants';
import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
import * as taskServices from '@/services/api/task';
-import { format } from '@/utils';
+import { format, OrderUtils } from '@/utils';
import { ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
+import dayjs from 'dayjs';
defineOptions({
name: 'TaskManageList',
});
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'editBtn',
- name: '缂栬緫',
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ editBtn: {
emits: {
onClick: (role) => goAddOrEdit(role),
},
- },
- {
- data: {
- enCode: 'detailBtn',
- name: '璇︽儏',
+ extraProps: {
+ hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
},
+ },
+ detailBtn: {
emits: {
onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
},
},
- {
- data: {
- enCode: 'publishBtn',
- name: '鍙戝竷',
- },
+ publishBtn: {
emits: {
onClick: (row: API.GetTaskInfosQueryResultItem) =>
setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess),
@@ -119,11 +110,7 @@
row.releaseStatus === EnumTaskReleaseStatus.InProcess,
},
},
- {
- data: {
- enCode: 'unPublishBtn',
- name: '鍋滄鍙戝竷',
- },
+ unPublishBtn: {
emits: {
onClick: (row: API.GetTaskInfosQueryResultItem) =>
setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
@@ -133,16 +120,20 @@
row.releaseStatus === EnumTaskReleaseStatus.Stopped,
},
},
- {
- data: {
- enCode: 'arrangeBtn',
- name: '瀹夋帓',
- },
+ arrangeBtn: {
emits: {
onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
},
+ extraProps: {
+ hide: (row: API.GetTaskInfosQueryResultItem) =>
+ row.releaseStatus === EnumTaskReleaseStatus.Stopped,
+ },
},
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
@@ -204,7 +195,6 @@
releaseStatus: '' as any as EnumTaskReleaseStatus,
time: [] as unknown as ModelValueType,
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
- flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['taskServices/getTaskInfos'],
columnsRenderProps: {
@@ -213,9 +203,32 @@
genderLimit: { type: 'enum', valueEnum: EnumUserGenderText },
status: { type: 'enum', valueEnum: EnumTaskStatusText },
releaseStatus: { type: 'enum', valueEnum: EnumTaskReleaseStatusText },
+ createdTime: { type: 'date', format: 'YYYY-MM-DD' },
beginTime: { type: 'date', format: 'YYYY-MM-DD' },
endTime: { type: 'date', format: 'YYYY-MM-DD' },
- serviceFee: { type: 'money' },
+ serviceFee: {
+ type: 'text',
+ formatter: (row: API.GetTaskInfosQueryResultItem) => {
+ return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
+ },
+ },
+ applyBeginTime: { type: 'date', format: 'YYYY-MM-DD' },
+ applyEndTime: { type: 'date', format: 'YYYY-MM-DD' },
+ //@ts-ignore
+ applyStatus: {
+ formatter: (row: API.GetTaskInfosQueryResultItem) => {
+ const applyBeginTime = dayjs(row.applyBeginTime);
+ const applyEndTime = dayjs(row.applyEndTime);
+ const now = dayjs();
+ if (applyEndTime.isBefore(now)) {
+ return '宸茬粨鏉�';
+ } else if (applyBeginTime.isAfter(now)) {
+ return '寰呭紑濮�';
+ } else {
+ return '杩涜涓�';
+ }
+ },
+ },
},
}
);
--
Gitblit v1.9.1