添加每个菜单的权限增删功能
This commit is contained in:
parent
ac727bb353
commit
50f83b2714
|
|
@ -0,0 +1,9 @@
|
|||
package org.wcs.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.wcs.model.po.app.AppBaseMenuPermission;
|
||||
|
||||
@Mapper
|
||||
public interface AppBaseMenuPermissionMapper extends BaseMapper<AppBaseMenuPermission> {
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
package org.wcs.mapper.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.wcs.mapper.AppBaseMenuPermissionMapper;
|
||||
import org.wcs.mapper.intf.AppBaseMenuPermissionService;
|
||||
import org.wcs.model.bo.db.DataBaseActionResult;
|
||||
import org.wcs.model.po.app.AppBaseMenuPermission;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜单权限数据访问层
|
||||
*/
|
||||
@Service
|
||||
public class AppBaseMenuPermissionDao extends ServiceImpl<AppBaseMenuPermissionMapper, AppBaseMenuPermission> implements AppBaseMenuPermissionService {
|
||||
|
||||
/**
|
||||
* 根据菜单ID查询菜单权限
|
||||
* @param menuId 菜单ID
|
||||
* @return 菜单权限列表
|
||||
*/
|
||||
@Override
|
||||
public List<AppBaseMenuPermission> queryByMenuId(String menuId) {
|
||||
LambdaQueryWrapper<AppBaseMenuPermission> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(menuId != null, AppBaseMenuPermission::getMenuId, menuId);
|
||||
queryWrapper.orderByAsc(AppBaseMenuPermission::getPermissionId);
|
||||
try{
|
||||
return super.list(queryWrapper);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据权限ID查询菜单权限
|
||||
* @param permissionId 权限ID
|
||||
* @return 菜单权限列表
|
||||
*/
|
||||
@Override
|
||||
public List<AppBaseMenuPermission> queryByPermissionId(String permissionId) {
|
||||
if(permissionId == null) {
|
||||
return null;
|
||||
}
|
||||
LambdaQueryWrapper<AppBaseMenuPermission> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AppBaseMenuPermission::getPermissionId, permissionId);
|
||||
queryWrapper.orderByAsc(AppBaseMenuPermission::getPermissionId);
|
||||
try{
|
||||
return super.list(queryWrapper);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单权限
|
||||
* @param appBaseMenuPermission 菜单权限
|
||||
* @return 添加结果
|
||||
*/
|
||||
@Override
|
||||
public DataBaseActionResult<Integer> insert(AppBaseMenuPermission appBaseMenuPermission) {
|
||||
if(appBaseMenuPermission == null) {
|
||||
return new DataBaseActionResult<>(0, new Exception("菜单权限不能为空"));
|
||||
}
|
||||
try {
|
||||
int insert = super.baseMapper.insert(appBaseMenuPermission);
|
||||
return new DataBaseActionResult<>(insert);
|
||||
} catch (Exception e) {
|
||||
return new DataBaseActionResult<>(0, e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据权限ID删除菜单权限
|
||||
* @param permissionId 权限ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
@Override
|
||||
public DataBaseActionResult<Integer> deleteByPermissionId(String permissionId) {
|
||||
if(permissionId == null) {
|
||||
return new DataBaseActionResult<>(0, new Exception("菜单ID不能为空"));
|
||||
}
|
||||
LambdaQueryWrapper<AppBaseMenuPermission> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AppBaseMenuPermission::getPermissionId, permissionId);
|
||||
try {
|
||||
int delete = super.baseMapper.delete(queryWrapper);
|
||||
return new DataBaseActionResult<>(delete);
|
||||
} catch (Exception e) {
|
||||
return new DataBaseActionResult<>(0, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package org.wcs.mapper.intf;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.wcs.model.bo.db.DataBaseActionResult;
|
||||
import org.wcs.model.po.app.AppBaseMenuPermission;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AppBaseMenuPermissionService extends IService<AppBaseMenuPermission> {
|
||||
|
||||
List<AppBaseMenuPermission> queryByMenuId(String menuId); // 查询菜单权限
|
||||
List<AppBaseMenuPermission> queryByPermissionId(String permissionId); // 查询权限菜单
|
||||
DataBaseActionResult<Integer> insert(AppBaseMenuPermission appBaseMenuPermission); // 添加菜单权限
|
||||
DataBaseActionResult<Integer> deleteByPermissionId(String permissionId);
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package org.wcs.model.dto.serve.menu;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 添加菜单权限参数
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AddBaseMenuPermission {
|
||||
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
@NotBlank(message = "菜单ID不能为空")
|
||||
@JsonProperty("menuId")
|
||||
private String menuId;
|
||||
|
||||
/**
|
||||
* 权限ID
|
||||
*/
|
||||
@NotBlank(message = "权限ID不能为空")
|
||||
@JsonProperty("permissionId")
|
||||
private String permissionId;
|
||||
|
||||
/**
|
||||
* 权限名称
|
||||
*/
|
||||
@NotBlank(message = "权限名称不能为空")
|
||||
@JsonProperty("permissionName")
|
||||
private String permissionName;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package org.wcs.model.po.app;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 菜单对应的基础权限
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("t_app_base_menu_permission")
|
||||
public class AppBaseMenuPermission {
|
||||
|
||||
/**
|
||||
* 权限id
|
||||
*/
|
||||
@TableId("permission_id")
|
||||
private String permissionId;
|
||||
|
||||
/**
|
||||
* 权限名称
|
||||
*/
|
||||
@TableField("permission_name")
|
||||
private String permissionName;
|
||||
|
||||
/**
|
||||
* 菜单id
|
||||
*/
|
||||
@TableField("menu_id")
|
||||
private String menuId;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField("create_person")
|
||||
private String createPerson;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("create_time")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("remark")
|
||||
private String remark;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package org.wcs.model.vo.serve.menu;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class MenuPermissionVo {
|
||||
|
||||
/**
|
||||
* 权限ID
|
||||
*/
|
||||
@JsonProperty("permissionId")
|
||||
private String permissionId;
|
||||
|
||||
/**
|
||||
* 权限名称
|
||||
*/
|
||||
@JsonProperty("permissionName")
|
||||
private String permissionName;
|
||||
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
@JsonProperty("menuId")
|
||||
private String menuId;
|
||||
|
||||
}
|
||||
|
|
@ -4,11 +4,13 @@ import jakarta.validation.constraints.NotBlank;
|
|||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.wcs.model.dto.serve.menu.AddBaseMenuPermission;
|
||||
import org.wcs.model.dto.serve.menu.AddMenuReq;
|
||||
import org.wcs.model.dto.serve.menu.UpdateMenuReq;
|
||||
import org.wcs.model.vo.serve.AppServeDataResponse;
|
||||
import org.wcs.model.dto.serve.menu.QueryMenuReq;
|
||||
import org.wcs.model.vo.serve.AppServeResponse;
|
||||
import org.wcs.model.vo.serve.menu.MenuPermissionVo;
|
||||
import org.wcs.model.vo.serve.menu.QueryMenuResp;
|
||||
import org.wcs.serve.service.intf.IMenuService;
|
||||
|
||||
|
|
@ -65,5 +67,35 @@ public class MenuController {
|
|||
return menuService.updateMenu(updateMenuReq);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询菜单权限
|
||||
* @param menuId 菜单ID
|
||||
* @return 菜单权限列表
|
||||
*/
|
||||
@GetMapping("/queryMenuPermission/{menuId}")
|
||||
public AppServeDataResponse<List<MenuPermissionVo>> queryMenuPermission(@PathVariable String menuId) {
|
||||
return menuService.queryMenuPermission(menuId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单权限
|
||||
* @param request 添加的数据
|
||||
* @return 添加结果
|
||||
*/
|
||||
@PostMapping("/addBaseMenuPermission")
|
||||
public AppServeResponse addBaseMenuPermission(@RequestBody @Validated AddBaseMenuPermission request) {
|
||||
return menuService.addBaseMenuPermission(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单权限
|
||||
* @param permissionId 菜单权限ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
@DeleteMapping("/deleteBaseMenuPermission/{permissionId}")
|
||||
public AppServeResponse deleteBaseMenuPermission(@PathVariable @NotBlank(message = "权限ID不能为空") String permissionId) {
|
||||
return menuService.deleteBaseMenuPermission(permissionId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,36 @@
|
|||
package org.wcs.serve.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.wcs.factory.AppServeResponseFactory;
|
||||
import org.wcs.mapper.intf.AppBaseMenuPermissionService;
|
||||
import org.wcs.mapper.intf.AppBaseMenuService;
|
||||
import org.wcs.model.dto.serve.menu.AddBaseMenuPermission;
|
||||
import org.wcs.model.dto.serve.menu.AddMenuReq;
|
||||
import org.wcs.model.dto.serve.menu.UpdateMenuReq;
|
||||
import org.wcs.model.po.app.AppBaseMenuPermission;
|
||||
import org.wcs.model.vo.serve.AppServeDataResponse;
|
||||
import org.wcs.model.dto.serve.menu.QueryMenuReq;
|
||||
import org.wcs.model.vo.serve.AppServeResponse;
|
||||
import org.wcs.model.vo.serve.menu.MenuPermissionVo;
|
||||
import org.wcs.model.vo.serve.menu.QueryMenuResp;
|
||||
import org.wcs.model.po.app.AppBaseMenu;
|
||||
import org.wcs.serve.service.intf.IMenuService;
|
||||
import org.wcs.utils.AppBeanUtils;
|
||||
import org.wcs.utils.AppStringUtils;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MenuService implements IMenuService {
|
||||
|
||||
private final AppBaseMenuService appBaseMenuService;
|
||||
private final AppBaseMenuService appBaseMenuService; // 菜单服务
|
||||
private final AppBaseMenuPermissionService baseMenuPermissionService; // 菜单权限服务
|
||||
|
||||
/**
|
||||
* 查询菜单
|
||||
|
|
@ -130,4 +139,85 @@ public class MenuService implements IMenuService {
|
|||
}
|
||||
return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateResult));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询菜单权限
|
||||
* @param menuId 菜单ID
|
||||
* @return 菜单权限列表
|
||||
*/
|
||||
@Override
|
||||
public AppServeDataResponse<List<MenuPermissionVo>> queryMenuPermission(String menuId) {
|
||||
List<AppBaseMenuPermission> menuPermissions = baseMenuPermissionService.queryByMenuId(menuId);
|
||||
if(menuPermissions == null) {
|
||||
return AppServeResponseFactory.internalServerError("数据服务异常", null);
|
||||
}
|
||||
List<MenuPermissionVo> returnMenuPermissions = AppBeanUtils.copyListProperties(menuPermissions, MenuPermissionVo::new);
|
||||
return AppServeResponseFactory.success("查询成功", returnMenuPermissions);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单权限
|
||||
* @param request 添加参数
|
||||
* @return 添加结果
|
||||
*/
|
||||
@Override
|
||||
public AppServeResponse addBaseMenuPermission(AddBaseMenuPermission request) {
|
||||
Object userIdObj = StpUtil.getLoginId();
|
||||
if(userIdObj == null) {
|
||||
return AppServeResponseFactory.unauthorized("用户未登录");
|
||||
}
|
||||
String userId = userIdObj.toString();
|
||||
if(AppStringUtils.isEmpty(userId)) {
|
||||
return AppServeResponseFactory.unauthorized("未检索到您的登录信息或者登录已经过期");
|
||||
}
|
||||
List<AppBaseMenuPermission> menuPermissions = baseMenuPermissionService.queryByPermissionId(request.getPermissionId());
|
||||
if(menuPermissions == null) {
|
||||
return AppServeResponseFactory.fail("数据服务异常");
|
||||
}
|
||||
if(!menuPermissions.isEmpty()) {
|
||||
return AppServeResponseFactory.fail(String.format("权限ID %s 已存在", request.getPermissionId()));
|
||||
}
|
||||
AppBaseMenuPermission insertValue = new AppBaseMenuPermission();
|
||||
insertValue.setPermissionId(request.getPermissionId());
|
||||
insertValue.setPermissionName(request.getPermissionName());
|
||||
insertValue.setMenuId(request.getMenuId());
|
||||
insertValue.setCreatePerson(userId);
|
||||
insertValue.setCreateTime(LocalDateTime.now());
|
||||
Integer insertCount = baseMenuPermissionService.insert(insertValue).result();
|
||||
if(insertCount > 0) {
|
||||
log.info("用户:{} 添加菜单权限基础资料成功,数据:{}", userId, AppStringUtils.objectToString(insertValue));
|
||||
return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount));
|
||||
}
|
||||
return AppServeResponseFactory.fail("数据服务异常");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单权限
|
||||
* @param permissionId 菜单权限ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
@Override
|
||||
public AppServeResponse deleteBaseMenuPermission(String permissionId) {
|
||||
Object userIdObj = StpUtil.getLoginId();
|
||||
if(userIdObj == null) {
|
||||
return AppServeResponseFactory.unauthorized("用户未登录");
|
||||
}
|
||||
String userId = userIdObj.toString();
|
||||
if(AppStringUtils.isEmpty(userId)) {
|
||||
return AppServeResponseFactory.unauthorized("未检索到您的登录信息或者登录已经过期");
|
||||
}
|
||||
List<AppBaseMenuPermission> menuPermissions = baseMenuPermissionService.queryByPermissionId(permissionId);
|
||||
if(menuPermissions == null) {
|
||||
return AppServeResponseFactory.fail("数据服务异常");
|
||||
}
|
||||
if(menuPermissions.isEmpty()) {
|
||||
return AppServeResponseFactory.fail(String.format("权限ID %s 不存在", permissionId));
|
||||
}
|
||||
Integer deleteCount = baseMenuPermissionService.deleteByPermissionId(permissionId).result();
|
||||
if(deleteCount > 0) {
|
||||
log.info("用户:{} 删除菜单权限基础资料成功,权限ID:{}", userId, menuPermissions);
|
||||
return AppServeResponseFactory.success(String.format("删除成功,删除了 %d 条记录", deleteCount));
|
||||
}
|
||||
return AppServeResponseFactory.fail("数据服务异常");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package org.wcs.serve.service.intf;
|
||||
|
||||
import org.wcs.model.dto.serve.menu.AddBaseMenuPermission;
|
||||
import org.wcs.model.dto.serve.menu.AddMenuReq;
|
||||
import org.wcs.model.dto.serve.menu.UpdateMenuReq;
|
||||
import org.wcs.model.vo.serve.AppServeDataResponse;
|
||||
import org.wcs.model.dto.serve.menu.QueryMenuReq;
|
||||
import org.wcs.model.vo.serve.AppServeResponse;
|
||||
import org.wcs.model.vo.serve.menu.MenuPermissionVo;
|
||||
import org.wcs.model.vo.serve.menu.QueryMenuResp;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -14,4 +16,8 @@ public interface IMenuService {
|
|||
AppServeResponse addMenu(AddMenuReq addMenuReq); // 添加菜单
|
||||
AppServeResponse deleteMenu(String menuId); // 删除菜单
|
||||
AppServeResponse updateMenu(UpdateMenuReq updateMenuReq); // 更新菜单
|
||||
|
||||
AppServeDataResponse<List<MenuPermissionVo>> queryMenuPermission(String menuId); // 查询菜单权限
|
||||
AppServeResponse addBaseMenuPermission(AddBaseMenuPermission request); // 添加菜单权限
|
||||
AppServeResponse deleteBaseMenuPermission(String permissionId); // 删除菜单权限
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import axiosInstance from "@/api/axios.ts";
|
||||
import type {IMenuSearch} from "@/interface/page/menu/IMenuSearch.ts";
|
||||
import type {IAppBaseMenu} from "@/model/table/IAppBaseMenu.ts";
|
||||
import type {IBaseMenuPermissionVo} from "@/model/table/IBaseMenuPermissionVo.ts";
|
||||
|
||||
export default class MenuApi {
|
||||
// 模糊查询菜单
|
||||
|
|
@ -19,4 +20,17 @@ export default class MenuApi {
|
|||
static updateMenu(menuData: IAppBaseMenu) {
|
||||
return axiosInstance.post("/app/menu/updateMenu", menuData);
|
||||
}
|
||||
// 查询菜单权限
|
||||
static queryMenuPermission(menuId?: string) {
|
||||
return axiosInstance.get("/app/menu/queryMenuPermission/" + menuId);
|
||||
}
|
||||
// 添加菜单权限
|
||||
static addMenuPermission(menuPermissionData: IBaseMenuPermissionVo) {
|
||||
return axiosInstance.post("/app/menu/addBaseMenuPermission", menuPermissionData);
|
||||
}
|
||||
// 删除菜单权限
|
||||
static deleteMenuPermission(permissionId: string) {
|
||||
return axiosInstance.delete("/app/menu/deleteBaseMenuPermission/" + permissionId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,6 +6,9 @@ import MessageUtils from "@/utils/MessageUtils.ts";
|
|||
import MenuApi from "@/api/menu.ts";
|
||||
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
|
||||
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
|
||||
import StringUtils from "@/utils/StringUtils.ts";
|
||||
import type {IBaseMenuPermissionVo} from "@/model/table/IBaseMenuPermissionVo.ts";
|
||||
import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts";
|
||||
|
||||
const modelValue = defineModel('modelValue', {required: true, default: false});
|
||||
const props = defineProps(['formData']);
|
||||
|
|
@ -14,6 +17,8 @@ const close = () => {
|
|||
modelValue.value = false;
|
||||
}
|
||||
const formData = computed(() => props.formData);
|
||||
const permissionList = ref<IBaseMenuPermissionVo[]>([]); // 子权限列表
|
||||
const addPermissionData = ref<IBaseMenuPermissionVo>({}); // 新增子权限数据
|
||||
|
||||
// 删除菜单
|
||||
const deleteMenu = () => {
|
||||
|
|
@ -50,46 +55,129 @@ const save = () => {
|
|||
loading.close();
|
||||
})
|
||||
}).catch(() => {});
|
||||
}
|
||||
// 查询子权限
|
||||
const queryMenuPermission = () => {
|
||||
const loading = MessageUtils.loading("正在请求服务器");
|
||||
MenuApi.queryMenuPermission(formData.value.menuId).then(res => {
|
||||
const response = JSON.parse(JSON.stringify(res.data)) as AppServeDataResponse<IBaseMenuPermissionVo[]>;
|
||||
if(response.code == AppServeResponseCodeEnum.SUCCESS && response.data != undefined) {
|
||||
permissionList.value = response.data;
|
||||
MessageUtils.successMessage('查询成功');
|
||||
return;
|
||||
}
|
||||
MessageUtils.warningMessageBox(response.msg, '警告');
|
||||
}).catch(() => {}).finally(() => {
|
||||
loading.close();
|
||||
})
|
||||
}
|
||||
// 新增子权限
|
||||
const addMenuPermission = () => {
|
||||
MessageUtils.confirmMessageBox('确定添加上述数据?','添加确认').then(()=>{
|
||||
const loading = MessageUtils.loading();
|
||||
addPermissionData.value.menuId = formData.value.menuId;
|
||||
MenuApi.addMenuPermission(addPermissionData.value).then(res => {
|
||||
const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse;
|
||||
if(response.code == AppServeResponseCodeEnum.SUCCESS) {
|
||||
MessageUtils.successMessage("添加成功");
|
||||
queryMenuPermission();
|
||||
return;
|
||||
}
|
||||
MessageUtils.warningMessageBox(response.msg, '警告');
|
||||
}).catch(() => {}).finally(() => {
|
||||
loading.close();
|
||||
})
|
||||
}).catch(()=>{});
|
||||
}
|
||||
// 删除子权限
|
||||
const deleteMenuPermission = (row: any) => {
|
||||
MessageUtils.confirmMessageBox('确定要删除这个子权限吗?','删除二次确认').then(()=>{
|
||||
const loading = MessageUtils.loading();
|
||||
MenuApi.deleteMenuPermission(row.permissionId).then(res => {
|
||||
const response = JSON.parse(JSON.stringify(res.data)) as AppServeResponse;
|
||||
if(response.code == AppServeResponseCodeEnum.SUCCESS) {
|
||||
MessageUtils.successMessage("删除成功");
|
||||
queryMenuPermission();
|
||||
return;
|
||||
}
|
||||
MessageUtils.warningMessageBox(response.msg, '警告');
|
||||
}).catch(() => {}).finally(() => {
|
||||
loading.close();
|
||||
})
|
||||
|
||||
}).catch(()=>{});
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :model-value="modelValue" title="修改菜单详细信息" @close="close" :close-on-click-modal="false">
|
||||
<el-drawer direction="btt" size="70%" :model-value="modelValue" title="菜单详细信息" @close="close" :close-on-click-modal="false" @open="queryMenuPermission">
|
||||
<el-scrollbar style="height:50vh">
|
||||
<el-form :model="formData" label-position="right" label-width="100px" require-asterisk-position="right">
|
||||
<el-form-item label="菜单ID:" required>
|
||||
<el-text>{{formData.menuId}}</el-text>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单名称:" required>
|
||||
<el-input v-model="formData.menuName" placeholder="请填写菜单名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单级别:" required>
|
||||
<el-select v-model="formData.menuLevel" placeholder="请选择菜单级别" disabled clearable>
|
||||
<el-option :key="1" label="一级菜单" :value="1"/>
|
||||
<el-option :key="2" label="二级菜单" :value="2"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="上级菜单ID:">
|
||||
<el-input v-model="formData.fatherMenuId" placeholder="请填写上级菜单ID"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单状态:" required>
|
||||
<el-switch v-model="formData.menuStatus" inline-prompt active-text="启用" :active-value="1" inactive-text="停用" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单图标:">
|
||||
<el-input v-model="formData.menuIco" placeholder="请填写图标名称,仅限element-plus自带图标"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单路由名称:">
|
||||
<el-input v-model="formData.routerName" placeholder="请填写菜单路由名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单创建时间:">
|
||||
<el-text>{{FormatterUtils.formatTime(formData.createTime)}}</el-text>
|
||||
</el-form-item>
|
||||
<el-form-item label="上次修改时间:">
|
||||
<el-text>{{FormatterUtils.formatTime(formData.updateTime)}}</el-text>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form :model="formData" label-position="right" label-width="100px" require-asterisk-position="right">
|
||||
<el-form-item label="菜单ID:" required>
|
||||
<el-text>{{formData.menuId}}</el-text>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单名称:" required>
|
||||
<el-input v-model="formData.menuName" placeholder="请填写菜单名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单级别:" required>
|
||||
<el-select v-model="formData.menuLevel" placeholder="请选择菜单级别" disabled clearable>
|
||||
<el-option :key="1" label="一级菜单" :value="1"/>
|
||||
<el-option :key="2" label="二级菜单" :value="2"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="上级菜单ID:">
|
||||
<el-input v-model="formData.fatherMenuId" placeholder="请填写上级菜单ID"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单状态:" required>
|
||||
<el-switch v-model="formData.menuStatus" inline-prompt active-text="启用" :active-value="1" inactive-text="停用" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单图标:">
|
||||
<el-input v-model="formData.menuIco" placeholder="请填写图标名称,仅限element-plus自带图标"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单路由名称:">
|
||||
<el-input v-model="formData.routerName" placeholder="请填写菜单路由名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单创建时间:">
|
||||
<el-text>{{FormatterUtils.formatTime(formData.createTime)}}</el-text>
|
||||
</el-form-item>
|
||||
<el-form-item label="上次修改时间:">
|
||||
<el-text>{{FormatterUtils.formatTime(formData.updateTime)}}</el-text>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
<el-col :span="13" :offset="1">
|
||||
<h3 style="margin-bottom: 10px; font-weight: bolder">子权限编辑新增</h3>
|
||||
<el-form label-position="left" label-width="100px" require-asterisk-position="right" inline>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="queryMenuPermission">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限ID:" required>
|
||||
<el-input v-model="addPermissionData.permissionId" placeholder="请填写权限ID"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限名称:" required>
|
||||
<el-input v-model="addPermissionData.permissionName" placeholder="请填写权限名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="warning" @click="addMenuPermission">添加</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table :data="permissionList" stripe border style="width: 100%" height="300px">
|
||||
<el-table-column type="index" width="80" label="序号" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="permissionId" label="权限ID" align="center" show-overflow-tooltip />
|
||||
<el-table-column prop="permissionName" label="权限名称" align="center" show-overflow-tooltip/>
|
||||
<el-table-column label="操作" width="80" align="center">
|
||||
<template #default="scope">
|
||||
<el-button-group>
|
||||
<el-button size="small" type="danger" @click="deleteMenuPermission(scope.row)">删除</el-button>
|
||||
</el-button-group>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-scrollbar>
|
||||
<template #footer>
|
||||
<el-button-group>
|
||||
|
|
@ -98,7 +186,7 @@ const save = () => {
|
|||
<el-button type="danger" @click="close">关闭窗口</el-button>
|
||||
</el-button-group>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
13
wcs_web/src/model/table/IBaseMenuPermissionVo.ts
Normal file
13
wcs_web/src/model/table/IBaseMenuPermissionVo.ts
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* 界面子权限
|
||||
*/
|
||||
export interface IBaseMenuPermissionVo {
|
||||
|
||||
// 权限id
|
||||
permissionId?: string;
|
||||
// 权限名称
|
||||
permissionName?: string;
|
||||
// 菜单id
|
||||
menuId?: string;
|
||||
|
||||
}
|
||||
|
|
@ -98,8 +98,8 @@ const handleEdit = (index: number, row: any) => {
|
|||
<el-table :data="queryMenuResult" stripe border style="width: 100%" max-height="calc(100vh - 270px)">
|
||||
<el-table-column type="index" width="80" label="序号" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="menuId" label="菜单ID" width="100" align="center" show-overflow-tooltip />
|
||||
<el-table-column prop="menuName" label="菜单名称" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="menuLevel" label="菜单级别" align="center" show-overflow-tooltip >
|
||||
<el-table-column prop="menuName" label="菜单名称" min-width="150" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="menuLevel" label="菜单级别" min-width="120" align="center" show-overflow-tooltip >
|
||||
<template #default="scope">
|
||||
<el-tag size="small" :type="menuTagStyleFormatter.menuLevelTagStyleFormatter(scope.row.menuLevel).type">
|
||||
{{menuTagStyleFormatter.menuLevelTagStyleFormatter(scope.row.menuLevel).label}}</el-tag>
|
||||
|
|
@ -112,15 +112,15 @@ const handleEdit = (index: number, row: any) => {
|
|||
{{menuTagStyleFormatter.menuStatusTagStyleFormatter(scope.row.menuStatus).label}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="menuIco" label="菜单图标" align="center" show-overflow-tooltip >
|
||||
<el-table-column prop="menuIco" label="菜单图标" align="center" width="100" show-overflow-tooltip >
|
||||
<template #default="scope">
|
||||
<el-icon v-if="!StringUtils.isNullOrEmpty(scope.row.menuIco)" color="#000"><component :is='scope.row.menuIco'></component></el-icon>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="routerName" label="菜单路由名称" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="createTime" label="菜单创建时间" align="center" :formatter="FormatterUtils.formatCellValueTime" show-overflow-tooltip/>
|
||||
<el-table-column prop="updateTime" label="菜单更新时间" align="center" :formatter="FormatterUtils.formatCellValueTime" show-overflow-tooltip/>
|
||||
<el-table-column label="操作" width="80" align="center">
|
||||
<el-table-column prop="routerName" label="菜单路由名称" align="center" width="180" show-overflow-tooltip/>
|
||||
<el-table-column prop="createTime" label="菜单创建时间" align="center" width="180" :formatter="FormatterUtils.formatCellValueTime" show-overflow-tooltip/>
|
||||
<el-table-column prop="updateTime" label="菜单更新时间" align="center" width="180" :formatter="FormatterUtils.formatCellValueTime" show-overflow-tooltip/>
|
||||
<el-table-column label="操作" width="150" align="center">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="primary" @click="handleEdit(scope.$index, scope.row)">查看</el-button>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user