From 0ab9cf600df54eef0ba1dd6323b090c56302eaef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=BF=94=E5=AE=87-=E6=97=85=E7=AE=A1=E5=AE=B6?= <153298343@qq.com> Date: Thu, 8 Dec 2022 17:10:56 +0800 Subject: [PATCH] up --- src/api/common.js | 31 +++ src/api/system/role.js | 12 +- src/store/modules/permission.js | 98 +++++--- src/views/system/menu.vue | 12 +- src/views/system/role.vue | 394 +++++++++++++++++++------------- 5 files changed, 353 insertions(+), 194 deletions(-) create mode 100644 src/api/common.js diff --git a/src/api/common.js b/src/api/common.js new file mode 100644 index 0000000..d4ab267 --- /dev/null +++ b/src/api/common.js @@ -0,0 +1,31 @@ +import request from '@/utils/request' + + + + + +export function listCommondepartment(params) { + return request({ + url: '/api/admin/other/admin-department-list', + method: 'get', + params:params + }) +} + + +export function listCommonuser(params) { + return request({ + url: '/api/admin/other/admin-user-list', + method: 'get', + params:params + }) +} + + +export function remoteStatistic(params) { + return request({ + url: '/api/admin/other/remot-statistic', + method: 'get', + params:params + }) +} diff --git a/src/api/system/role.js b/src/api/system/role.js index bfa6f41..06da4c9 100644 --- a/src/api/system/role.js +++ b/src/api/system/role.js @@ -13,7 +13,8 @@ export function list() { url: '/api/admin/role', method: 'get' }) -} +} + export function del(data) { return request({ url: '/api/admin/role/delete', @@ -21,3 +22,12 @@ export function del(data) { data }) } + + +export function set(data) { + return request({ + url: '/api/admin/admin/set-roles-many', + method: 'post', + data + }) +} diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 36db0b6..06fd367 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -76,40 +76,70 @@ const componentHandler = (path) => { } return loadView(path) } - -export function generaMenu(routes, data) { - data.forEach(item => { - if (item.url === "/") { - - } else { - const menu = { - path: pathHandler(item.url,item.id), - //(item.path === '#'||item.path == '' ? item.id + '_key' : item.path), - component: componentHandler(item.url), - //(item.path === '#'||item.path == '' ? Layout : loadView(item.path)), - // hidden: true, - // hidden: true, - children: [], - name: 'menu_' + item.id, - meta: { - title: item.name, - id: item.id, - roles: ['admin'], - - icon: item.icon - } - } - if (item.children) { - generaMenu(menu.children, item.children) - } - routes.push(menu) - } - }) - routes.push({ - path: '*', - redirect: '/404', - hidden: true - }) + +/** + * 后台查询的菜单数据拼装成路由格式的数据 + * @param routes + */ +export function generaMenu(routes, data) { + data.forEach(item => { + if (item.url === "/") { + routes.push({ + path: '/', + component: Layout, + redirect: '/dashboard', + children: [{ + path: 'dashboard', + name: '系统首页', + component: () => import('@/views/dashboard/index'), + meta: { + title: '系统首页', + icon: 'dashboard' + } + }] + }) + } else if (item.url === "##") { + routes.push({ + path: item.path, + component: Layout, + children: [{ + path: item.path, + name: item.name, + component: item.url === '#' ? Layout : loadView(item.path), + meta: { + title: item.name, + id: item.id, + roles: ['admin'], + icon: item.icon + } + }] + }) + } else { + var path = item.url; + if (item.path != "null" && item.path != null && item.path != "") { + path = item.path + } + const menu = { + path: (path === '#' ? item.id + '_key' : path), + redirect: (item.children.length > 0 ? "noRedirect" : ""), + component: item.url === '#' ? Layout : loadView(item.url), + // hidden: true, + children: [], + name: 'menu_' + item.id, + meta: { + title: item.name, + id: item.id, + roles: ['admin'], + + icon: item.icon + } + } + if (item.children) { + generaMenu(menu.children, item.children) + } + routes.push(menu) + } + }) } const mutations = { diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue index d708866..a9b68f1 100644 --- a/src/views/system/menu.vue +++ b/src/views/system/menu.vue @@ -23,6 +23,8 @@ + + @@ -65,6 +67,13 @@ + + + + + + + @@ -178,7 +187,8 @@ pname: "根菜单", api_prefix: "", auth_node_tagsArr: [], - auth_node_tags: "" + auth_node_tags: "", + path: "" }, actionRules: { tag: [{ diff --git a/src/views/system/role.vue b/src/views/system/role.vue index 0032094..cc44457 100644 --- a/src/views/system/role.vue +++ b/src/views/system/role.vue @@ -1,159 +1,237 @@ - - - - - - - - - - - 查询 - 新增角色 - - - - - - - - - - - - - - - - 编辑 - 删除 - - - - - - - - - - - - - - - - - - - - - - - -