From 065acdf5fd02cab9ef1f7be460a5b0776d996532 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 17 十一月 2025 17:49:23 +0800
Subject: [PATCH] fix: s

---
 src/views/Permission/components/dialogAuthorize.vue |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/views/Permission/components/dialogAuthorize.vue b/src/views/Permission/components/dialogAuthorize.vue
index 6708450..e858e7c 100644
--- a/src/views/Permission/components/dialogAuthorize.vue
+++ b/src/views/Permission/components/dialogAuthorize.vue
@@ -25,7 +25,8 @@
             default-expand-all
             show-checkbox
             ref="moduleTree"
-            :default-checked-keys="checkedModules"
+            :default-checked-keys="initModeluChecked()"
+            check-strictly
           >
             <template #default="{ node }">
               <div class="custom-tree-node">
@@ -156,10 +157,18 @@
 <script setup lang="ts">
 import { computed, reactive, watch } from 'vue';
 import * as baseModuleServices from '@/services/api/BaseModule';
+import * as baseModuleNewServices from '@/services/api/BaseModuleNew';
 import { Message } from '@bole-core/core';
-import { AuthorizeType, SubModuleType, SubModuleTitle } from '@/constants';
+import {
+  AuthorizeType,
+  SubModuleType,
+  SubModuleTitle,
+  EnumMenuSceneText,
+  EnumMenuScene,
+} from '@/constants';
 import { getTree } from '@/utils';
 import { templateRef } from '@vueuse/core';
+import { PropType } from 'vue';
 
 const TypeTip = defineComponent({
   name: 'TypeTip',
@@ -167,7 +176,6 @@
   render() {
     const { typeTip, isMenu } = this;
     const tipText = isMenu ? `鑿滃崟` : '椤甸潰';
-    console.log(typeTip);
     return h(
       'span',
       {
@@ -189,6 +197,10 @@
   authorizeType: {
     type: String,
     default: 'Role',
+  },
+  menuScene: {
+    type: Number as PropType<EnumMenuScene>,
+    default: EnumMenuScene.Back,
   },
 });
 const emit = defineEmits<{
@@ -216,6 +228,7 @@
   props.authorizeType === 'Role' ? '瑙掕壊鍔熻兘鎺堟潈' : '璐﹀彿鍔熻兘鎺堟潈'
 );
 const checkedModules = computed(() => initModeluChecked());
+console.log('checkedModules: ', checkedModules);
 const checkedPageButton = computed(() => initChecked(2));
 const checkedDataButton = computed(() => initChecked(3));
 const checkedDataColumn = computed(() => initChecked(4));
@@ -333,12 +346,13 @@
 async function getModulesByUserOrRoleId(id) {
   const { authorizeType } = props;
 
-  const data = {
+  const data: API.APIgetUserOrRoleModuleListParams = {
     objectType: AuthorizeType[authorizeType],
     id,
+    menuScene: props.menuScene,
   };
 
-  const result = await baseModuleServices.getUserOrRoleModuleList(data);
+  const result = await baseModuleNewServices.getUserOrRoleModuleList(data);
 
   state.sysModules = getTree(result, null);
   elModuleTree.value.setCheckedKeys(result.filter((x) => x.hasCheck).map((x) => x.id));
@@ -368,6 +382,7 @@
       });
     }
   });
+  console.log('state.checkedInfo: ', state.checkedInfo);
 }
 
 async function getExtendsByRoleOrUser(data) {
@@ -384,7 +399,7 @@
 
 function initModeluChecked() {
   return state.checkedInfo
-    .filter((x) => x.moduleType === SubModuleType.MenuButton && x.parentId)
+    .filter((x) => x.moduleType === SubModuleType.MenuButton)
     .map((x) => x.moduleId);
 }
 

--
Gitblit v1.9.1