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 @@
+
+
+
+
+
+
+
+
+ 新增
+ 搜索
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.path }}
+
+
+
+
+
+
+
+
+
+ {{ row.api_profix }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 取消
+
+
+ 子菜单
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+ 新增
+ 搜索
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ 保存
+ 取消
+
+
+ 授权
+ 编辑
+ 删除
+
+
+
+
+
+ 共 {{ roleTotal }} 条数据
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+ 绑定角色
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+ $emit('update:isShow',e)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+
+
+
+
+
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 @@
+
+
+ $emit('update:isShow',e)">
+
+
+
+
+
+
+
+
+
+
+ 确认
+
+
+
+
+
+
+
+
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 @@
+
+
+ $emit('update:isShow',e)">
+
+
+
+
+
+ 确认
+
+
+
+
+
+
+
+
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 @@
+
+
+
$emit('update:isShow',e)">
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ 共 {{ total }} 条数据
+
+
+
+ 确认
+
+
+
+
+
+
+
+
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 @@
+