From a7f976ec6aea1a4da828f1166bb7ad5c62a4833c Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Tue, 3 Sep 2024 18:05:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/module.js | 99 +++- src/main.js | 1 + src/store/modules/permission.js | 2 +- src/views/system/components/ModuleAuth.vue | 444 ++++++++++++++++++ .../system/components/ModuleAuthAddMenu.vue | 131 ++++++ .../system/components/ModuleAuthAddRole.vue | 87 ++++ .../components/ModuleAuthBindPermissions.vue | 113 +++++ .../system/components/ModuleAuthBindRole.vue | 147 ++++++ src/views/system/menu.vue | 2 +- src/views/system/module.vue | 12 +- 10 files changed, 1033 insertions(+), 5 deletions(-) create mode 100644 src/views/system/components/ModuleAuth.vue create mode 100644 src/views/system/components/ModuleAuthAddMenu.vue create mode 100644 src/views/system/components/ModuleAuthAddRole.vue create mode 100644 src/views/system/components/ModuleAuthBindPermissions.vue create mode 100644 src/views/system/components/ModuleAuthBindRole.vue diff --git a/src/api/module.js b/src/api/module.js index 94cb2d4..67c117f 100644 --- a/src/api/module.js +++ b/src/api/module.js @@ -1,5 +1,5 @@ import request from '@/utils/request'; - +import qs from 'qs'; export function index (params) { return request({ url: "/api/backend/module", @@ -24,3 +24,100 @@ export function destroy (data) { }) } +export function menu (params) { + return request({ + method: 'get', + url: '/api/backend/module/menu', + params + }) +} + +export function menuSave (data) { + return request({ + method: 'post', + url: '/api/backend/module/menu/save', + data + }) +} + +export function menuDestroy (data) { + return request({ + method: 'post', + url: '/api/backend/module/menu/delete', + data + }) +} + +export function role (params) { + return request({ + method: 'get', + url: '/api/backend/module/role', + params + }) +} + +export function roleSave (data) { + return request({ + method: 'post', + url: '/api/backend/module/role/save', + data + }) +} + +export function roleDestroy (data) { + return request({ + method: 'post', + url: '/api/backend/module/role/delete', + data + }) +} +export function getPermissions (params) { + return request({ + method: 'get', + url: '/api/backend/module/role/get-permissions', + params + }) +} + +export function setPermissions (data) { + return request({ + method: 'post', + url: '/api/backend/module/role/set-permissions', + data + }) +} + +export function grant(params) { + return request({ + method: 'get', + url: '/api/backend/module/grant', + params + }) +} + +export function setRoles (data) { + return request({ + method: 'post', + url: '/api/backend/module/grant/set-roles', + data: (() => { + const serializerStr = qs.stringify(data,{ arrayFormat: 'brackets' })?.split('&') || [] + const formData = new FormData(); + serializerStr.forEach(item => { + let [key,value] = window.decodeURIComponent(item)?.split('=') + formData.append(key,value) + }) + return formData; + })(), + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) +} + +export function getRoles(params) { + return request({ + method: 'get', + url: '/api/backend/module/grant/get-roles', + params, + }) +} diff --git a/src/main.js b/src/main.js index 1b791ac..de8db20 100644 --- a/src/main.js +++ b/src/main.js @@ -57,6 +57,7 @@ const { setupApp, preloadApp } = Wujie; setupApp({ name: "modules", sync: true, + degrade: true, alive: true, url: "http://localhost:9530/admin/#/", exec: true, diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 2983b04..6063313 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -38,7 +38,7 @@ export function filterAsyncRoutes(routes) { folder: route.folder, isModule: !/^\/./.test(route.path), //TODO:修改地址 - moduleUri: /^\/./.test(route.path) ? '' : `http://localhost:9529/${route.path}`, + moduleUri: /^\/./.test(route.path) ? '' : `http://localhost:9528/${route.path}`, moduleName: /^\/./.test(route.path) ? '' : route.path, } } diff --git a/src/views/system/components/ModuleAuth.vue b/src/views/system/components/ModuleAuth.vue new file mode 100644 index 0000000..1ab594a --- /dev/null +++ b/src/views/system/components/ModuleAuth.vue @@ -0,0 +1,444 @@ + + + + + diff --git a/src/views/system/components/ModuleAuthAddMenu.vue b/src/views/system/components/ModuleAuthAddMenu.vue new file mode 100644 index 0000000..d3b4944 --- /dev/null +++ b/src/views/system/components/ModuleAuthAddMenu.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/views/system/components/ModuleAuthAddRole.vue b/src/views/system/components/ModuleAuthAddRole.vue new file mode 100644 index 0000000..cd92099 --- /dev/null +++ b/src/views/system/components/ModuleAuthAddRole.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/src/views/system/components/ModuleAuthBindPermissions.vue b/src/views/system/components/ModuleAuthBindPermissions.vue new file mode 100644 index 0000000..24edac3 --- /dev/null +++ b/src/views/system/components/ModuleAuthBindPermissions.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/views/system/components/ModuleAuthBindRole.vue b/src/views/system/components/ModuleAuthBindRole.vue new file mode 100644 index 0000000..98d5b4e --- /dev/null +++ b/src/views/system/components/ModuleAuthBindRole.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue index fc3efd1..4a501a6 100644 --- a/src/views/system/menu.vue +++ b/src/views/system/menu.vue @@ -15,7 +15,7 @@ :row-config="{ useKey: 'id', isHover: true }" :column-config="{ resizable: true }" :edit-rules="validRules" - :edit-config="{ trigger: 'manual', mode: 'row', showStatus: true, autoClear: false }" + :edit-config="{ trigger: 'manual', mode: 'row', showStatus: true, autoClear: false, expandALl: true }" :tree-config="{ rowField: 'id', parentField: 'pid' }" :data="tableData"> diff --git a/src/views/system/module.vue b/src/views/system/module.vue index e253fcd..24d2705 100644 --- a/src/views/system/module.vue +++ b/src/views/system/module.vue @@ -30,6 +30,7 @@ 取消 @@ -41,19 +42,23 @@ +