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

---
 src/views/System/ModuleManage.vue |   68 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 19 deletions(-)

diff --git a/src/views/System/ModuleManage.vue b/src/views/System/ModuleManage.vue
index 5a20161..145fbf4 100644
--- a/src/views/System/ModuleManage.vue
+++ b/src/views/System/ModuleManage.vue
@@ -19,6 +19,14 @@
               @change="getAllModule()"
             />
           </QueryFilterItem>
+          <QueryFilterItem v-if="state.userType === EnumUserType.Enterprise">
+            <FieldRadio
+              v-model="state.enterpriseType"
+              :value-enum="EnumEnterpriseTypeText"
+              buttonStyle
+              @change="getAllModule()"
+            />
+          </QueryFilterItem>
           <div class="query-filter-list-item">
             <SearchInput
               v-model="state.searchValue"
@@ -124,6 +132,8 @@
   EnumMenuType,
   EnumClientTypeText,
   EnumUserTypeText,
+  EnumEnterpriseTypeText,
+  EnumUserType,
 } from '@/constants';
 import SubModuleEditDrawer from './components/SubModuleEditDrawer.vue';
 import AddOrEditModuleDialog from './components/AddOrEditModuleDialog.vue';
@@ -205,6 +215,7 @@
   group: 'default',
   userType: EnumUserType.Operation,
   clientType: EnumClientType.PcWeb,
+  enterpriseType: EnumEnterpriseType.Supplier,
 };
 const state = reactive({ ...BaseState });
 const moduleTreeStore = ref<TreeStore<TreeModuleDtoGroupDto>>();
@@ -248,15 +259,16 @@
 });
 async function getAllModule() {
   try {
-    let res = await menuServices.getMenus(
-      {
-        userType: state.userType,
-        clientType: state.clientType,
-      },
-      {
-        showLoading: false,
-      }
-    );
+    let params: API.APIgetMenusParams = {
+      userType: state.userType,
+      clientType: state.clientType,
+    };
+    if (state.userType === EnumUserType.Enterprise) {
+      params.enterpriseType = state.enterpriseType;
+    }
+    let res = await menuServices.getMenus(params, {
+      showLoading: false,
+    });
     const treeStore = ModuleUtils.convertToModuleGroup(flattenTree(res));
     moduleTreeStore.value = treeStore;
     originModuleTree.value = [...treeStore.data];
@@ -397,6 +409,7 @@
     let params: API.SaveMenuCommand = {
       userType: state.userType,
       clientType: state.clientType,
+      enterpriseType: state.enterpriseType,
       code: editForm.enCode,
       name: editForm.name,
       type: editForm.isMenu ? EnumMenuType.Menu : EnumMenuType.Page,
@@ -529,7 +542,7 @@
       name: subModule.name,
       group: state.group,
       // location: 'string',
-      width: subModule.width,
+      width: !!subModule.width ? subModule.width.toString() : undefined,
       sort: subModule.sortCode,
     };
     if (subModule.id) {
@@ -549,24 +562,41 @@
       getBaseModuleGetAllSubModule(currentDrawerModule.value, drawerState.type);
       Message.successMessage('淇濆瓨鎴愬姛');
     }
-  } catch (error) {}
+  } catch (error) {
+    console.log('error: ', error);
+  }
 }
 async function handelBatchSaveColumn() {
   try {
     if (drawerState.type === SubModuleType.Column) {
       let columnModuleList = drawerState.tableData; //.filter((d) => d.isEdit);
       if (columnModuleList.length > 0) {
-        const groups = currentDrawerModule.value.groups.map((group) => {
-          if (group.group === state.group) {
-            group.fields = columnModuleList.map((c) => ({
+        let groups = [...currentDrawerModule.value.groups];
+        const isExist = groups.some((g) => g.group === state.group);
+        if (isExist) {
+          groups = groups.map((group) => {
+            if (group.group === state.group) {
+              group.fields = columnModuleList.map((c) => ({
+                code: c.enCode,
+                name: c.name,
+                width: c.width.toString(),
+                sort: c.sortCode,
+              }));
+            }
+            return group;
+          });
+        } else {
+          const group: API.GetMenuQueryResultGroup = {
+            group: state.group,
+            fields: columnModuleList.map((c) => ({
               code: c.enCode,
               name: c.name,
-              width: c.width,
+              width: c.width.toString(),
               sort: c.sortCode,
-            }));
-          }
-          return group;
-        });
+            })),
+          };
+          groups.push(group);
+        }
         let params: API.SaveMenuCommand = {
           ...currentDrawerModule.value,
           groups: groups,

--
Gitblit v1.9.1