From 7ea7cd0ce3faafb0ab881935d88bef7928fc2ca7 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 03 十二月 2025 17:52:38 +0800
Subject: [PATCH] feat: 页面

---
 src/views/EmploymentManage/TaskManageList.vue |   77 ++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 45 deletions(-)

diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index f6f6850..70829b7 100644
--- a/src/views/EmploymentManage/TaskManageList.vue
+++ b/src/views/EmploymentManage/TaskManageList.vue
@@ -36,25 +36,27 @@
             <SearchInput
               v-model="extraParamState.keywords"
               style="width: 260px"
-              placeholder="浠诲姟鍚嶇О"
+              placeholder="浠诲姟鍚嶇О/瀹㈡埛"
               @on-click-search="getList"
             >
             </SearchInput>
           </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)">{{
+          <el-button v-if="!row.isInternal" link type="primary" @click="goSignList(row)">{{
             row.userCount || 0
           }}</el-button>
+          <span v-else>/</span>
         </template>
       </ProTableV2>
     </AppContainer>
@@ -74,11 +76,10 @@
   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';
@@ -87,70 +88,55 @@
   name: 'TaskManageList',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'editBtn',
-      name: '缂栬緫',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  editBtn: {
     emits: {
       onClick: (role) => goAddOrEdit(role),
     },
     extraProps: {
-      hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
+      hide: (row: API.GetTaskInfosQueryResultItem) =>
+        row.status === EnumTaskStatus.Complete || !row.isInternal,
     },
   },
-  {
-    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),
     },
     extraProps: {
       hide: (row: API.GetTaskInfosQueryResultItem) =>
-        row.releaseStatus === EnumTaskReleaseStatus.InProcess,
+        row.releaseStatus === EnumTaskReleaseStatus.InProcess || !row.isInternal,
     },
   },
-  {
-    data: {
-      enCode: 'unPublishBtn',
-      name: '鍋滄鍙戝竷',
-    },
+  unPublishBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) =>
         setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
     },
     extraProps: {
       hide: (row: API.GetTaskInfosQueryResultItem) =>
-        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
+        row.releaseStatus === EnumTaskReleaseStatus.Stopped || !row.isInternal,
     },
   },
-  {
-    data: {
-      enCode: 'arrangeBtn',
-      name: '瀹夋帓',
-    },
+  arrangeBtn: {
     emits: {
       onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
     },
     extraProps: {
       hide: (row: API.GetTaskInfosQueryResultItem) =>
-        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
+        row.releaseStatus === EnumTaskReleaseStatus.Stopped || !row.isInternal,
     },
   },
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 
@@ -225,10 +211,8 @@
       endTime: { type: 'date', format: 'YYYY-MM-DD' },
       serviceFee: {
         type: 'money',
-        formatter: (row) => {
-          return row.billingMethod === EnumBillingMethod.Face
-            ? ''
-            : `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
+        formatter: (row: API.GetTaskInfosQueryResultItem) => {
+          return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
         },
       },
       applyBeginTime: { type: 'date', format: 'YYYY-MM-DD' },
@@ -284,6 +268,9 @@
     params: {
       id: row?.id ?? '',
     },
+    query: {
+      supplierEnterpriseId: row?.supplierEnterpriseId,
+    },
   });
 }
 function goDetail(row: API.GetTaskInfosQueryResultItem) {

--
Gitblit v1.9.1