From 8d1d92a4baad8df0814a712224112f4b8eefc9d6 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 12 十一月 2025 13:32:39 +0800
Subject: [PATCH] feat: 1.3.0.2

---
 src/views/EmploymentManage/TaskManageList.vue |   79 ++++++++++++++++++++-------------------
 1 files changed, 40 insertions(+), 39 deletions(-)

diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index 4f8ffae..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,26 +73,21 @@
   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),
     },
@@ -99,20 +95,12 @@
       hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
     },
   },
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '璇︽儏',
-    },
+  detailBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
     },
   },
-  {
-    data: {
-      enCode: 'publishBtn',
-      name: '鍙戝竷',
-    },
+  publishBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) =>
         setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess),
@@ -122,11 +110,7 @@
         row.releaseStatus === EnumTaskReleaseStatus.InProcess,
     },
   },
-  {
-    data: {
-      enCode: 'unPublishBtn',
-      name: '鍋滄鍙戝竷',
-    },
+  unPublishBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) =>
         setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
@@ -136,11 +120,7 @@
         row.releaseStatus === EnumTaskReleaseStatus.Stopped,
     },
   },
-  {
-    data: {
-      enCode: 'arrangeBtn',
-      name: '瀹夋帓',
-    },
+  arrangeBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
     },
@@ -149,7 +129,11 @@
         row.releaseStatus === EnumTaskReleaseStatus.Stopped,
     },
   },
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 
@@ -223,9 +207,26 @@
       beginTime: { type: 'date', format: 'YYYY-MM-DD' },
       endTime: { type: 'date', format: 'YYYY-MM-DD' },
       serviceFee: {
-        type: 'money',
-        formatter: (row) => {
-          return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
+        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