From 8f41c10fa817ba11edc7e0e9920587ecc5d666d3 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 28 十一月 2025 16:24:23 +0800
Subject: [PATCH] fix: bug

---
 src/views/EmploymentManage/EmploymentSignList.vue |   50 +++++++++++++++++++++++---------------------------
 1 files changed, 23 insertions(+), 27 deletions(-)

diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index cbd0382..23fc1f6 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -24,11 +24,7 @@
           </QueryFilterItem>
         </template>
       </ProTableQueryFilterBar>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="EmploymentSignColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
     <StaffInfoDialog v-bind="dialogStaffInfoProps" />
@@ -45,15 +41,13 @@
   QueryFilterItem,
   useTable,
   FieldRadio,
-  defineOperationBtns,
   useFormDialog,
   UploadUserFile,
 } from '@bole-core/components';
-import { EmploymentSignColumns } from './constants/columns';
 import { Message } from '@bole-core/core';
 import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
 import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
-import { convertApi2FormUrlOnlyOne } from '@/utils';
+import { convertApi2FormUrlOnlyOne, hiddenIDNumberForEnd4 } from '@/utils';
 import * as taskUserServices from '@/services/api/taskUser';
 import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
 
@@ -61,49 +55,43 @@
   name: 'EmploymentSignList',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '璇︽儏',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  detailBtn: {
     emits: {
       onClick: (role) => openDialog(role),
     },
   },
-  {
-    data: {
-      enCode: 'recruitBtn',
-      name: '褰曠敤',
-    },
+  recruitBtn: {
     emits: {
       onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
     },
     extraProps: {
       hide: (row: API.GetTaskUsersQueryResultItem) =>
-        row.hireStatus === EnumTaskUserHireStatus.Pass,
+        row.hireStatus === EnumTaskUserHireStatus.Pass || !state.isInternal,
     },
   },
-  {
-    data: {
-      enCode: 'refuseBtn',
-      name: '璋㈢粷',
-    },
+  refuseBtn: {
     emits: {
       onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
     },
     extraProps: {
       hide: (row: API.GetTaskUsersQueryResultItem) =>
-        row.hireStatus !== EnumTaskUserHireStatus.Wait,
+        row.hireStatus !== EnumTaskUserHireStatus.Wait || !state.isInternal,
     },
   },
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 const route = useRoute();
 const id = route.params.id as string;
 const BaseState = {
   loading: true,
+
+  isInternal: false,
 };
 
 const state = reactive({ ...BaseState });
@@ -136,6 +124,9 @@
       let res = await taskUserServices.getTaskUsers(params, {
         showLoading: !state.loading,
       });
+      if (res) {
+        state.isInternal = res.objectData?.isInternal;
+      }
       return res;
     } catch (error) {
       console.log('error: ', error);
@@ -151,6 +142,11 @@
     columnsRenderProps: {
       gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
       hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+      identity: {
+        formatter: (row: API.GetTaskUsersQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );

--
Gitblit v1.9.1