From 5ef9ca8300c8c2ec868e6c36792f396d921cf73e Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 17 Oct 2025 13:59:30 +0800
Subject: [PATCH] Merge branch 'feature/v7.0/7.0.1' of http://139.196.74.78:10010/r/drone/drone-web-manage into feature/v7.0/7.0.1

---
 src/api/system/menu.js       |    6 ++----
 src/store/modules/user.js    |    4 ++--
 src/api/system/role.js       |    3 ++-
 src/api/user.js              |    3 ++-
 src/views/system/menu.vue    |   11 +++++++++--
 src/views/authority/role.vue |   23 +++++++++++++++++++----
 6 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/src/api/system/menu.js b/src/api/system/menu.js
index 7050c95..7574974 100644
--- a/src/api/system/menu.js
+++ b/src/api/system/menu.js
@@ -98,11 +98,9 @@
     method: 'get',
   });
 
-export const getRoutes = topMenuId =>
+export const getRoutes = params =>
   request({
     url: '/blade-system/menu/routes',
     method: 'get',
-    params: {
-      topMenuId,
-    },
+    params
   });
diff --git a/src/api/system/role.js b/src/api/system/role.js
index dadd865..aaae6bb 100644
--- a/src/api/system/role.js
+++ b/src/api/system/role.js
@@ -20,10 +20,11 @@
   });
 };
 
-export const grantTree = () => {
+export const grantTree = (params) => {
   return request({
     url: '/blade-system/menu/grant-tree',
     method: 'get',
+    params
   });
 };
 
diff --git a/src/api/user.js b/src/api/user.js
index 37d8f12..7785c82 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -122,10 +122,11 @@
     },
   });
 
-export const getButtons = () =>
+export const getButtons = (params) =>
   request({
     url: '/blade-system/menu/buttons',
     method: 'get',
+    params
   });
 
 export const getCaptcha = () =>
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 2750ef4..181b52d 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -280,7 +280,7 @@
         })
       }
       return new Promise(resolve => {
-        getRoutes(tenantId).then(res => {
+        getRoutes({tenantId,sysType: 1}).then(res => {
           const data = res.data.data;
           let menu = deepClone(data);
           if (!res.data?.data?.length){
@@ -299,7 +299,7 @@
     },
     GetButtons({ commit }) {
       return new Promise(resolve => {
-        getButtons().then(res => {
+        getButtons({sysType: 1}).then(res => {
           const data = res.data.data;
           commit('SET_PERMISSION', data);
           resolve();
diff --git a/src/views/authority/role.vue b/src/views/authority/role.vue
index 44d57ab..9082ed2 100644
--- a/src/views/authority/role.vue
+++ b/src/views/authority/role.vue
@@ -14,9 +14,14 @@
     </avue-crud>
     <el-dialog title="角色权限配置" append-to-body v-model="box" width="345px">
       <el-tabs type="border-card">
-        <el-tab-pane label="菜单权限">
+        <el-tab-pane label="后台管理">
           <el-tree :data="menuGrantList" show-checkbox node-key="id" ref="treeMenu" :default-checked-keys="menuTreeObj"
             :props="props">
+          </el-tree>
+        </el-tab-pane>
+        <el-tab-pane label="移动app">
+          <el-tree :data="menuGrantListApp" show-checkbox node-key="id" ref="treeMenuApp" :default-checked-keys="menuTreeObjApp"
+                   :props="props">
           </el-tree>
         </el-tab-pane>
         <!-- <el-tab-pane label="数据权限">
@@ -76,10 +81,12 @@
         value: 'key',
       },
       menuGrantList: [],
+      menuGrantListApp: [],
       dataScopeGrantList: [],
       apiScopeGrantList: [],
       apiGrantList: [],
       menuTreeObj: [],
+      menuTreeObjApp: [],
       dataScopeTreeObj: [],
       apiScopeTreeObj: [],
       selectionList: [],
@@ -230,11 +237,12 @@
     },
     submit () {
       const menuList = this.$refs.treeMenu.getCheckedKeys()
+      const menuListApp = this.$refs.treeMenuApp.getCheckedKeys()
       // const dataScopeList = this.$refs.treeDataScope.getCheckedKeys();
       const dataScopeList = []
       // const apiScopeList = this.$refs.treeApiScope.getCheckedKeys();
       const apiScopeList = []
-      grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => {
+      grant(this.idsArray, [...menuList,...menuListApp], dataScopeList, apiScopeList).then(() => {
         this.box = false
         this.$message({
           type: 'success',
@@ -324,7 +332,7 @@
       this.menuTreeObj = []
       this.dataScopeTreeObj = []
       this.apiScopeTreeObj = []
-      grantTree().then(res => {
+      grantTree({sysType: 1}).then(res => {
         this.menuGrantList = res.data.data.menu
         this.dataScopeGrantList = res.data.data.dataScope
         this.apiScopeGrantList = res.data.data.apiScope
@@ -332,6 +340,13 @@
           this.menuTreeObj = res.data.data.menu
           this.dataScopeTreeObj = res.data.data.dataScope
           this.apiScopeTreeObj = res.data.data.apiScope
+          this.box = true
+        })
+      })
+      grantTree({sysType: 3}).then(res => {
+        this.menuGrantListApp = res.data.data.menu
+        getRole(this.ids).then(res => {
+          this.menuTreeObjApp = res.data.data.menu
           this.box = true
         })
       })
@@ -378,4 +393,4 @@
   },
 }
 </script>
-<style scoped lang="scss"></style>
\ No newline at end of file
+<style scoped lang="scss"></style>
diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue
index 1d10305..dceee19 100644
--- a/src/views/system/menu.vue
+++ b/src/views/system/menu.vue
@@ -38,7 +38,8 @@
   data () {
     return {
       form: {},
-      query: {},
+      query: {
+      },
       loading: true,
       selectionList: [],
       parentId: 0,
@@ -180,6 +181,8 @@
             prop: 'sysType',
             type: 'radio',
             value: 1,
+            search: true,
+            searchSpan: 4,
             dicData: [
               {
                 label: '后台管理',
@@ -188,6 +191,10 @@
               {
                 label: '大屏',
                 value: 2,
+              },
+              {
+                label: '移动app',
+                value: 3,
               },
             ],
             hide: true,
@@ -468,4 +475,4 @@
 .namei {
   margin-right: 5px;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3