菜单完善
This commit is contained in:
@@ -236,7 +236,7 @@
|
|||||||
菜单管理
|
菜单管理
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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>
|
||||||
动态条件查询全部
|
动态条件查询全部
|
||||||
</summary>
|
</summary>
|
||||||
@@ -250,6 +250,13 @@
|
|||||||
<param name="menu"></param>
|
<param name="menu"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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">
|
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetMenuTree">
|
||||||
<summary>
|
<summary>
|
||||||
得到树形菜单
|
得到树形菜单
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("api/[controller]/[action]")]
|
[Route("api/[controller]/[action]")]
|
||||||
public class MenuController
|
public class MenuController: BaseSimpleRdController<MenuEntity>
|
||||||
{
|
{
|
||||||
private IMenuService _iMenuService;
|
private IMenuService _iMenuService;
|
||||||
public MenuController(ILogger<MenuEntity> logger, IMenuService iMenuService)
|
public MenuController(ILogger<MenuEntity> logger, IMenuService iMenuService):base(logger,iMenuService)
|
||||||
{
|
{
|
||||||
_iMenuService = iMenuService;
|
_iMenuService = iMenuService;
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
/// <param name="menu"></param>
|
/// <param name="menu"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet]
|
[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));
|
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));
|
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>
|
/// <summary>
|
||||||
/// 得到树形菜单
|
/// 得到树形菜单
|
||||||
|
|||||||
Binary file not shown.
@@ -13,7 +13,6 @@ namespace Yi.Framework.Model.Models
|
|||||||
{
|
{
|
||||||
public MenuEntity()
|
public MenuEntity()
|
||||||
{
|
{
|
||||||
this.IsDeleted = false;
|
|
||||||
this.CreateTime = DateTime.Now;
|
this.CreateTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
[JsonConverter(typeof(ValueToStringConverter))]
|
[JsonConverter(typeof(ValueToStringConverter))]
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||||||
// 查询菜单列表
|
// 查询菜单列表
|
||||||
export function listMenu(query) {
|
export function listMenu(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/menu/getList',
|
url: '/menu/selctGetList',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
@@ -12,7 +12,7 @@ export function listMenu(query) {
|
|||||||
// 查询菜单详细
|
// 查询菜单详细
|
||||||
export function getMenu(menuId) {
|
export function getMenu(menuId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/menu/' + menuId,
|
url: '/menu/getById/' + menuId,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ export function addMenu(data) {
|
|||||||
// 修改菜单
|
// 修改菜单
|
||||||
export function updateMenu(data) {
|
export function updateMenu(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/menu',
|
url: '/menu/update',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
@@ -53,8 +53,13 @@ export function updateMenu(data) {
|
|||||||
|
|
||||||
// 删除菜单
|
// 删除菜单
|
||||||
export function delMenu(menuId) {
|
export function delMenu(menuId) {
|
||||||
|
if("string"==typeof(menuId))
|
||||||
|
{
|
||||||
|
menuId=[menuId];
|
||||||
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/system/menu/' + menuId,
|
url: '/menu/delList',
|
||||||
method: 'delete'
|
method: 'delete',
|
||||||
|
data:menuId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -35,8 +35,11 @@ const usePermissionStore = defineStore(
|
|||||||
generateRoutes(roles) {
|
generateRoutes(roles) {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
// 向后端请求路由数据
|
// 向后端请求路由数据
|
||||||
// getRouters().then(response => {
|
getRouters().then(response => {
|
||||||
// const res=response.data;
|
// const res=response.data;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const res=[
|
const res=[
|
||||||
{
|
{
|
||||||
"name": "System",
|
"name": "System",
|
||||||
@@ -345,23 +348,24 @@ const res=[
|
|||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
const sdata = JSON.parse(JSON.stringify(res))
|
|
||||||
const rdata = JSON.parse(JSON.stringify(res))
|
const sdata = JSON.parse(JSON.stringify(res))
|
||||||
const defaultData = JSON.parse(JSON.stringify(res))
|
const rdata = JSON.parse(JSON.stringify(res))
|
||||||
const sidebarRoutes = filterAsyncRouter(sdata)
|
const defaultData = JSON.parse(JSON.stringify(res))
|
||||||
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
|
const sidebarRoutes = filterAsyncRouter(sdata)
|
||||||
const defaultRoutes = filterAsyncRouter(defaultData)
|
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
|
||||||
const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
|
const defaultRoutes = filterAsyncRouter(defaultData)
|
||||||
asyncRoutes.forEach(route => { router.addRoute(route) })
|
const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
|
||||||
this.setRoutes(rewriteRoutes)
|
asyncRoutes.forEach(route => { router.addRoute(route) })
|
||||||
this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
|
this.setRoutes(rewriteRoutes)
|
||||||
this.setDefaultRoutes(sidebarRoutes)
|
this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
|
||||||
this.setTopbarRoutes(defaultRoutes)
|
this.setDefaultRoutes(sidebarRoutes)
|
||||||
resolve(rewriteRoutes)
|
this.setTopbarRoutes(defaultRoutes)
|
||||||
|
resolve(rewriteRoutes)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// })
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,8 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="orderNum" label="排序" width="60"></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="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">
|
<el-table-column prop="isDeleted" label="状态" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="sys_normal_disable" :value="scope.row.isDeleted" />
|
<dict-tag :options="sys_normal_disable" :value="scope.row.isDeleted" />
|
||||||
@@ -353,7 +354,7 @@ function cancel() {
|
|||||||
/** 表单重置 */
|
/** 表单重置 */
|
||||||
function reset() {
|
function reset() {
|
||||||
form.value = {
|
form.value = {
|
||||||
menuId: undefined,
|
id: undefined,
|
||||||
parentId: 0,
|
parentId: 0,
|
||||||
menuName: undefined,
|
menuName: undefined,
|
||||||
menuIcon: undefined,
|
menuIcon: undefined,
|
||||||
@@ -427,7 +428,7 @@ async function handleUpdate(row) {
|
|||||||
function submitForm() {
|
function submitForm() {
|
||||||
proxy.$refs["menuRef"].validate(valid => {
|
proxy.$refs["menuRef"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.menuId != undefined) {
|
if (form.value.id != undefined) {
|
||||||
updateMenu(form.value).then(response => {
|
updateMenu(form.value).then(response => {
|
||||||
proxy.$modal.msgSuccess("修改成功");
|
proxy.$modal.msgSuccess("修改成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
@@ -446,7 +447,7 @@ function submitForm() {
|
|||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
function handleDelete(row) {
|
function handleDelete(row) {
|
||||||
proxy.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?').then(function() {
|
proxy.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?').then(function() {
|
||||||
return delMenu(row.menuId);
|
return delMenu(row.id);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getList();
|
getList();
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
|
|||||||
@@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
<!-- 添加或修改角色配置对话框 -->
|
<!-- 添加或修改角色配置对话框 -->
|
||||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
<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-form-item label="角色名称" prop="roleName">
|
||||||
<el-input v-model="form.role.roleName" placeholder="请输入角色名称" />
|
<el-input v-model="form.role.roleName" placeholder="请输入角色名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -216,9 +216,9 @@ const data = reactive({
|
|||||||
isDeleted: undefined
|
isDeleted: undefined
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
// roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
|
roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
|
||||||
// roleCode: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
|
roleCode: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
|
||||||
// orderNum: [{ 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-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-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="用户昵称" prop="nick">
|
<el-form-item label="用户昵称" prop="nick">
|
||||||
@@ -296,11 +296,11 @@ const data = reactive({
|
|||||||
deptId: undefined
|
deptId: undefined
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
// userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
// nick: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
|
nick: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
|
||||||
// // password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
// password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
||||||
// email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
||||||
// phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
|
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");
|
proxy.resetForm("userRef");
|
||||||
|
|
||||||
// console.log(postOptions.value==[],123)
|
if(postOptions.value.length==0||roleOptions.value.length==0)
|
||||||
// console.log( JSON.stringify(postOptions.value) =='{}',456)
|
{
|
||||||
|
|
||||||
// //如果有任何下拉框为空直接重置获取
|
|
||||||
// if(postOptions.value=={}||roleOptions.value=={})
|
|
||||||
// {
|
|
||||||
roleOptionselect().then(response=>{
|
roleOptionselect().then(response=>{
|
||||||
//岗位从另一个接口获取全量
|
//岗位从另一个接口获取全量
|
||||||
postOptions.value = [];
|
postOptions.value = [];
|
||||||
roleOptions.value = response.data;
|
roleOptions.value = response.data;
|
||||||
})
|
})
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -485,13 +481,6 @@ function handleAdd() {
|
|||||||
|
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = "添加用户";
|
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) {
|
function handleUpdate(row) {
|
||||||
|
|||||||
Reference in New Issue
Block a user