diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index 9a96e710..ef260a55 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -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({ 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();