refactor: ♻️ 修改菜单时,禁止顶级菜单选用自己
修改菜单时,禁止顶级菜单选用自己
This commit is contained in:
@@ -34,7 +34,6 @@
|
|||||||
:data="menuTableData"
|
:data="menuTableData"
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
row-key="id"
|
row-key="id"
|
||||||
:expand-row-keys="['1']"
|
|
||||||
:tree-props="{
|
:tree-props="{
|
||||||
children: 'children',
|
children: 'children',
|
||||||
hasChildren: 'hasChildren',
|
hasChildren: 'hasChildren',
|
||||||
@@ -369,13 +368,13 @@ const initialMenuFormData = ref<MenuForm>({
|
|||||||
const formData = ref({ ...initialMenuFormData.value });
|
const formData = ref({ ...initialMenuFormData.value });
|
||||||
// 表单验证规则
|
// 表单验证规则
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
parentId: [{ required: true, message: "请选择顶级菜单", trigger: "blur" }],
|
parentId: [{ required: true, message: "请选择父级菜单", trigger: "blur" }],
|
||||||
name: [{ required: true, message: "请输入菜单名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入菜单名称", trigger: "blur" }],
|
||||||
type: [{ required: true, message: "请选择菜单类型", trigger: "blur" }],
|
type: [{ required: true, message: "请选择菜单类型", trigger: "blur" }],
|
||||||
routeName: [{ required: true, message: "请输入路由名称", trigger: "blur" }],
|
routeName: [{ required: true, message: "请输入路由名称", trigger: "blur" }],
|
||||||
routePath: [{ required: true, message: "请输入路由路径", trigger: "blur" }],
|
routePath: [{ required: true, message: "请输入路由路径", trigger: "blur" }],
|
||||||
component: [{ required: true, message: "请输入组件路径", trigger: "blur" }],
|
component: [{ required: true, message: "请输入组件路径", trigger: "blur" }],
|
||||||
visible: [{ required: true, message: "请输入路由路径", trigger: "blur" }],
|
visible: [{ required: true, message: "请选择显示状态", trigger: "change" }],
|
||||||
});
|
});
|
||||||
|
|
||||||
// 选择表格的行菜单ID
|
// 选择表格的行菜单ID
|
||||||
@@ -425,7 +424,7 @@ function handleOpenDialog(parentId?: string, menuId?: string) {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
dialog.title = "新增菜单";
|
dialog.title = "新增菜单";
|
||||||
formData.value.parentId = parentId;
|
formData.value.parentId = parentId?.toString();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -455,6 +454,11 @@ function handleSubmit() {
|
|||||||
if (isValid) {
|
if (isValid) {
|
||||||
const menuId = formData.value.id;
|
const menuId = formData.value.id;
|
||||||
if (menuId) {
|
if (menuId) {
|
||||||
|
//修改时父级菜单不能为当前菜单
|
||||||
|
if (formData.value.parentId == menuId) {
|
||||||
|
ElMessage.error("父级菜单不能为当前菜单");
|
||||||
|
return;
|
||||||
|
}
|
||||||
MenuAPI.update(menuId, formData.value).then(() => {
|
MenuAPI.update(menuId, formData.value).then(() => {
|
||||||
ElMessage.success("修改成功");
|
ElMessage.success("修改成功");
|
||||||
handleCloseDialog();
|
handleCloseDialog();
|
||||||
|
|||||||
Reference in New Issue
Block a user