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

---
 src/views/Permission/RoleManage.vue |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 3f3f2c4..1944e0e 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -19,6 +19,14 @@
               @change="getList()"
             />
           </QueryFilterItem>
+          <QueryFilterItem v-if="extraParamState.userType === EnumUserType.Enterprise">
+            <FieldRadio
+              v-model="extraParamState.enterpriseType"
+              :value-enum="EnumEnterpriseTypeText"
+              buttonStyle
+              @change="getList()"
+            />
+          </QueryFilterItem>
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.queryCondition"
@@ -65,9 +73,15 @@
 import { useAccess, useAllRoleList } from '@/hooks';
 import { Message } from '@bole-core/core';
 import AddOrEditRoleDialog from './components/AddOrEditRoleDialog.vue';
-import { EnumClientTypeText, EnumUserTypeText } from '@/constants';
+import {
+  EnumClientTypeText,
+  EnumUserTypeText,
+  EnumEnterpriseTypeText,
+  EnumUserType,
+} from '@/constants';
 import DialogAuthorizeV2 from './components/dialogAuthorizeV2.vue';
 import * as roleServices from '@/services/api/role';
+import { useQueryClient } from '@tanstack/vue-query';
 
 defineOptions({
   name: 'RoleManage',
@@ -127,6 +141,9 @@
         clientType: extraParamState.clientType,
         keywords: extraParamState.queryCondition,
       };
+      if (extraParamState.userType === EnumUserType.Enterprise) {
+        params.enterpriseType = extraParamState.enterpriseType;
+      }
       let res = await roleServices.getRoles(params, {
         showLoading: !state.loading,
       });
@@ -139,6 +156,7 @@
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       userType: EnumUserType.Operation,
       clientType: EnumClientType.PcWeb,
+      enterpriseType: EnumEnterpriseType.Supplier,
     },
     queryKey: ['roleServices/getRoles'],
     columnsRenderProps: {
@@ -185,7 +203,7 @@
     enterpriseType: '' as any as EnumEnterpriseType,
   },
 });
-
+const queryClient = useQueryClient();
 async function handleAddOrEdit() {
   try {
     const isEdit = editForm.id;
@@ -196,8 +214,10 @@
       userType: editForm.userType,
       clientType: editForm.clientType,
       minLevel: editForm.minLevel,
-      enterpriseType: editForm.enterpriseType,
     };
+    if (editForm.userType === EnumUserType.Enterprise) {
+      params.enterpriseType = editForm.enterpriseType;
+    }
     if (isEdit) {
       params = {
         ...editForm.detail,
@@ -208,6 +228,7 @@
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(isEdit ? paginationState.pageIndex : 1);
+      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
     }
   } catch (error) {}
 }
@@ -222,6 +243,7 @@
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
+      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
     }
   } catch (error) {}
 }
@@ -236,6 +258,7 @@
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
+      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
       return !!res;
     }
   } catch (error) {}

--
Gitblit v1.9.1