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 |   64 ++++++++++++-------------------
 1 files changed, 25 insertions(+), 39 deletions(-)

diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index 1bd80f8..70829b7 100644
--- a/src/views/EmploymentManage/TaskManageList.vue
+++ b/src/views/EmploymentManage/TaskManageList.vue
@@ -43,18 +43,20 @@
           </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,7 +76,6 @@
   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';
@@ -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();
 

--
Gitblit v1.9.1