菜单完善
This commit is contained in:
@@ -236,7 +236,7 @@
|
||||
菜单管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetList(Yi.Framework.Model.Models.MenuEntity)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.SelctGetList(Yi.Framework.Model.Models.MenuEntity)">
|
||||
<summary>
|
||||
动态条件查询全部
|
||||
</summary>
|
||||
@@ -250,6 +250,13 @@
|
||||
<param name="menu"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.Update(Yi.Framework.Model.Models.MenuEntity)">
|
||||
<summary>
|
||||
更新
|
||||
</summary>
|
||||
<param name="menu"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetMenuTree">
|
||||
<summary>
|
||||
得到树形菜单
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// </summary>
|
||||
[ApiController]
|
||||
[Route("api/[controller]/[action]")]
|
||||
public class MenuController
|
||||
public class MenuController: BaseSimpleRdController<MenuEntity>
|
||||
{
|
||||
private IMenuService _iMenuService;
|
||||
public MenuController(ILogger<MenuEntity> logger, IMenuService iMenuService)
|
||||
public MenuController(ILogger<MenuEntity> logger, IMenuService iMenuService):base(logger,iMenuService)
|
||||
{
|
||||
_iMenuService = iMenuService;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// <param name="menu"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> GetList([FromQuery] MenuEntity menu)
|
||||
public async Task<Result> SelctGetList([FromQuery] MenuEntity menu)
|
||||
{
|
||||
return Result.Success().SetData(await _iMenuService.SelctGetList(menu));
|
||||
}
|
||||
@@ -51,6 +51,18 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
return Result.Success().SetData(await _iMenuService._repository.InsertReturnSnowflakeIdAsync(menu));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新
|
||||
/// </summary>
|
||||
/// <param name="menu"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut]
|
||||
public async Task<Result> Update(MenuEntity menu)
|
||||
{
|
||||
//注意,这里如果是主目录,还需要判断/,需要以/开头
|
||||
return Result.Success().SetData(await _iMenuService._repository.UpdateIgnoreNullAsync(menu));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 得到树形菜单
|
||||
|
||||
Binary file not shown.
@@ -13,7 +13,6 @@ namespace Yi.Framework.Model.Models
|
||||
{
|
||||
public MenuEntity()
|
||||
{
|
||||
this.IsDeleted = false;
|
||||
this.CreateTime = DateTime.Now;
|
||||
}
|
||||
[JsonConverter(typeof(ValueToStringConverter))]
|
||||
|
||||
@@ -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
|
||||
})
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
// })
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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("删除成功");
|
||||
|
||||
@@ -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" }]
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user