菜单完善

This commit is contained in:
chenchun
2022-09-11 22:05:56 +08:00
parent c65e76bbc3
commit 01631860f4
9 changed files with 71 additions and 54 deletions

View File

@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询菜单列表
export function listMenu(query) {
return request({
url: '/menu/getList',
url: '/menu/selctGetList',
method: 'get',
params: query
})
@@ -12,7 +12,7 @@ export function listMenu(query) {
// 查询菜单详细
export function getMenu(menuId) {
return request({
url: '/system/menu/' + menuId,
url: '/menu/getById/' + menuId,
method: 'get'
})
}
@@ -45,7 +45,7 @@ export function addMenu(data) {
// 修改菜单
export function updateMenu(data) {
return request({
url: '/system/menu',
url: '/menu/update',
method: 'put',
data: data
})
@@ -53,8 +53,13 @@ export function updateMenu(data) {
// 删除菜单
export function delMenu(menuId) {
if("string"==typeof(menuId))
{
menuId=[menuId];
}
return request({
url: '/system/menu/' + menuId,
method: 'delete'
url: '/menu/delList',
method: 'delete',
data:menuId
})
}

View File

@@ -35,8 +35,11 @@ const usePermissionStore = defineStore(
generateRoutes(roles) {
return new Promise(resolve => {
// 向后端请求路由数据
// getRouters().then(response => {
// const res=response.data;
getRouters().then(response => {
// const res=response.data;
const res=[
{
"name": "System",
@@ -345,23 +348,24 @@ const res=[
];
const sdata = JSON.parse(JSON.stringify(res))
const rdata = JSON.parse(JSON.stringify(res))
const defaultData = JSON.parse(JSON.stringify(res))
const sidebarRoutes = filterAsyncRouter(sdata)
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
const defaultRoutes = filterAsyncRouter(defaultData)
const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
asyncRoutes.forEach(route => { router.addRoute(route) })
this.setRoutes(rewriteRoutes)
this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
this.setDefaultRoutes(sidebarRoutes)
this.setTopbarRoutes(defaultRoutes)
resolve(rewriteRoutes)
const sdata = JSON.parse(JSON.stringify(res))
const rdata = JSON.parse(JSON.stringify(res))
const defaultData = JSON.parse(JSON.stringify(res))
const sidebarRoutes = filterAsyncRouter(sdata)
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
const defaultRoutes = filterAsyncRouter(defaultData)
const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
asyncRoutes.forEach(route => { router.addRoute(route) })
this.setRoutes(rewriteRoutes)
this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
this.setDefaultRoutes(sidebarRoutes)
this.setTopbarRoutes(defaultRoutes)
resolve(rewriteRoutes)
// })
})
})
}
}

View File

@@ -62,7 +62,8 @@
</el-table-column>
<el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
<el-table-column prop="permissionCode" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="router" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="router" label="路由" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="isDeleted" label="状态" width="80">
<template #default="scope">
<dict-tag :options="sys_normal_disable" :value="scope.row.isDeleted" />
@@ -353,7 +354,7 @@ function cancel() {
/** 表单重置 */
function reset() {
form.value = {
menuId: undefined,
id: undefined,
parentId: 0,
menuName: undefined,
menuIcon: undefined,
@@ -427,7 +428,7 @@ async function handleUpdate(row) {
function submitForm() {
proxy.$refs["menuRef"].validate(valid => {
if (valid) {
if (form.value.menuId != undefined) {
if (form.value.id != undefined) {
updateMenu(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
@@ -446,7 +447,7 @@ function submitForm() {
/** 删除按钮操作 */
function handleDelete(row) {
proxy.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?').then(function() {
return delMenu(row.menuId);
return delMenu(row.id);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");

View File

@@ -87,7 +87,7 @@
<!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="roleRef" :model="form" :rules="rules" label-width="100px">
<el-form ref="roleRef" :model="form.role" :rules="rules" label-width="100px">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="form.role.roleName" placeholder="请输入角色名称" />
</el-form-item>
@@ -216,9 +216,9 @@ const data = reactive({
isDeleted: undefined
},
rules: {
// roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
// roleCode: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
// orderNum: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
roleCode: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
orderNum: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
},
});

View File

@@ -114,7 +114,7 @@
<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
<el-form :model="form.user" :rules="rules" ref="userRef" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nick">
@@ -296,11 +296,11 @@ const data = reactive({
deptId: undefined
},
rules: {
// userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
// nick: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
// // password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
// email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
// phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nick: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
// password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
}
});
@@ -457,18 +457,14 @@ function reset() {
};
proxy.resetForm("userRef");
// console.log(postOptions.value==[],123)
// console.log( JSON.stringify(postOptions.value) =='{}',456)
// //如果有任何下拉框为空直接重置获取
// if(postOptions.value=={}||roleOptions.value=={})
// {
if(postOptions.value.length==0||roleOptions.value.length==0)
{
roleOptionselect().then(response=>{
//岗位从另一个接口获取全量
postOptions.value = [];
roleOptions.value = response.data;
})
// }
}
};
@@ -485,13 +481,6 @@ function handleAdd() {
open.value = true;
title.value = "添加用户";
// getUser().then(response => {
// postOptions.value = response.posts;
// roleOptions.value = response.roles;
// open.value = true;
// title.value = "添加用户";
// form.value.password = initPassword.value;
// });
};
/** 修改按钮操作 */
function handleUpdate(row) {