From c675695faef95b623a6b3de6a02066118a42b98b Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 13 十一月 2025 17:27:19 +0800
Subject: [PATCH] fix: bug

---
 src/views/Permission/RoleManage.vue                         |   26 +++++++++++++++++++++-----
 src/views/EmploymentManage/components/CheckManageDialog.vue |    8 +++++---
 src/services/api/typings.d.ts                               |    8 ++++++++
 src/views/EmploymentManage/CheckReceiveTaskDetail.vue       |    4 ++++
 4 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index d8a27dc..e139225 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -4208,6 +4208,8 @@
     id?: string;
     /** 浠诲姟浜哄憳Id */
     taskInfoUserId?: string;
+    /** 鏄惁鍐呴儴浠诲姟 */
+    isInternal?: boolean;
     enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
     /** 楠屾敹鏃堕棿 */
     date?: string;
@@ -6537,6 +6539,8 @@
     isDisabled?: boolean;
     /** 鐢ㄦ埛鏁伴噺 */
     userCount?: number;
+    /** 鏄惁鍏紑 */
+    isPublic?: boolean;
   }
 
   interface GetRoleUserInfosQueryResultItem {
@@ -6609,6 +6613,8 @@
   interface GetSettlementTasksQueryResultItem {
     /** 浠诲姟Id */
     id?: string;
+    /** 鏄惁鍐呴儴浠诲姟 */
+    isInternal?: boolean;
     /** 鎵�灞炰换鍔� */
     name?: string;
     /** 浠诲姟鍗曞彿 */
@@ -6679,6 +6685,8 @@
     checkReceiveEndDate?: string;
     /** 浠诲姟鍚嶇О */
     name?: string;
+    /** 鏄惁鍐呴儴浠诲姟 */
+    isInternal?: boolean;
     /** 浠诲姟鍗曞彿 */
     code?: string;
     billingMethod?: EnumBillingMethod;
diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index b3bba2b..3e56f78 100644
--- a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
+++ b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -181,6 +181,9 @@
     id: row.id,
     checkReceiveMethods: state.checkReceiveMethods,
     isInternal: state.isInternal,
+    tabType: state.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn)
+      ? 'signRecord'
+      : '',
     isDetail,
   });
 }
@@ -191,6 +194,7 @@
     checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
     isInternal: false,
     isDetail: false,
+    tabType: '',
   },
 });
 
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index c0b155b..bf67829 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -1,6 +1,6 @@
 <template>
   <ProDialog :title="title" v-model="visible" destroy-on-close draggable>
-    <ProTabs v-model="tabType" hasBorder v-if="form.checkReceiveMethods?.length > 1">
+    <ProTabs v-model="form.tabType" hasBorder v-if="form.checkReceiveMethods?.length > 1">
       <ProTabPane lazy label="绛惧埌璁板綍" name="signRecord"></ProTabPane>
       <ProTabPane lazy label="鎻愪氦璁板綍" name="submitRecord"></ProTabPane>
     </ProTabs>
@@ -40,12 +40,12 @@
   id: string;
   checkReceiveMethods: EnumTaskCheckReceiveMethod[];
   isInternal: boolean;
+  tabType: string;
   isDetail: boolean;
 };
 
 const visible = defineModel({ type: Boolean });
 const form = defineModel<Form>('form');
-const tabType = ref('signRecord');
 
 const title = computed(() => (form.value.isDetail ? '璇︽儏' : '楠屾敹'));
 const emit = defineEmits<{
@@ -136,7 +136,7 @@
   } else if (form.value.checkReceiveMethods.every((x) => x == EnumTaskCheckReceiveMethod.Submit)) {
     return submitColumns;
   } else {
-    if (tabType.value == 'signRecord') {
+    if (form.value.tabType === 'signRecord') {
       return checkInColumns;
     } else {
       return submitColumns;
@@ -160,6 +160,7 @@
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
         ) ||
         form.value.isDetail ||
+        form.value.tabType === 'signRecord' ||
         !form.value.isInternal,
     },
   },
@@ -178,6 +179,7 @@
           row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
         ) ||
         form.value.isDetail ||
+        form.value.tabType === 'signRecord' ||
         !form.value.isInternal,
     },
   },
diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 431d940..2e32a69 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -59,21 +59,37 @@
 });
 
 const operationBtnMap: Record<string, OperationBtnType> = {
-  editBtn: { emits: { onClick: (role) => openDialog(role) } },
-  delBtn: { emits: { onClick: (role) => handleDeleteRole(role) }, props: { type: 'danger' } },
-  authorize: { emits: { onClick: (role) => openAuthorizeDialog(role) } },
+  editBtn: {
+    emits: { onClick: (role) => openDialog(role) },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
+  delBtn: {
+    emits: { onClick: (role) => handleDeleteRole(role) },
+    props: { type: 'danger' },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
+  authorize: {
+    emits: { onClick: (role) => openAuthorizeDialog(role) },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
   // member: { emits: { onClick: (role) => openMemberDialog(role) } },
   disabledBtn: {
     emits: { onClick: (role) => roleEnableOrForbid(role) },
     props: { type: 'danger' },
     extraProps: {
-      hide: (row) => row.isDisabled,
+      hide: (row: API.GetRolesQueryResultItem) => !(!row.isPublic && !row.isDisabled),
     },
   },
   enableBtn: {
     emits: { onClick: (role) => roleEnableOrForbid(role) },
     extraProps: {
-      hide: (row) => !row.isDisabled,
+      hide: (row: API.GetRolesQueryResultItem) => !(row.isDisabled && !row.isPublic),
     },
   },
 };

--
Gitblit v1.9.1