refactor: ♻️ 修改菜单时,禁止顶级菜单选用自己

修改菜单时,禁止顶级菜单选用自己
This commit is contained in:
Theo
2024-12-05 22:07:06 +08:00
parent 4901b54892
commit 8ad225923d

View File

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