+
新建下级
@@ -243,6 +243,9 @@ const fileAction = (val,data,parent,disabled=false) => {
handleNodeClick(newChild);
state.newMenuId++
}else if (val == 2) { // 新建下级菜单
+ if (disabled) {
+ return
+ }
state.addType = 2
let newChild = {
menu_name: "新菜单",
@@ -348,44 +351,56 @@ const closeAction = () => {
} // 点击其他地方,菜单操作框关闭
const saveMenu = (el,type) => {
- let params = {
- menu_name: el.menuForm.menu_name,
- menu_type: el.menuForm.menu_type,
- dict_group_id: el.menuForm.dict_group_id,
- state: el.menuForm.state,
- menu_url: el.menuForm.menu_url,
- menu_logo: el.menuForm.menu_logo,
- }
- if (state.selectData.id) { // 编辑
- axios
- .put(`/apaas/system/v5/menu/${state.selectData.id}`,params)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage.success(res.data.msg)
- getMenuTree()
- }else {
- ElMessage.error(res.data.data)
+ el.menuRef.validate(valid => {
+ if (valid) {
+ let params = {
+ menu_name: el.menuForm.menu_name,
+ menu_type: el.menuForm.menu_type,
+ dict_group_id: el.menuForm.dict_group_id,
+ state: el.menuForm.state,
+ menu_url: el.menuForm.menu_url,
+ menu_logo: el.menuForm.menu_logo,
+ }
+ if (state.selectData.id) { // 编辑
+ axios
+ .put(`/apaas/system/v5/menu/${state.selectData.id}`,params)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage.success(res.data.msg)
+ getMenuTree()
+ }else {
+ ElMessage.error(res.data.data)
+ }
+ })
+ }else { // 新增
+ if (state.selectParentData) {
+ if (state.selectParentData.menu_type == 1 && el.menuForm.menu_type == 0) {
+ ElMessage.error("菜单之下不可以新建目录")
+ return
+ }
}
- })
- }else { // 新增
- if(type == 1) { // 新增本级
- params.p_menu_id = state.selectParentData ? state.selectParentData.menu_id : ""
- }else { // 新增下级
- params.p_menu_id = state.selectParentData.menu_id
- }
-
- axios
- .post(`/apaas/system/v5/menu/add`,params)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage.success(res.data.data)
- state.selectData = null
- getMenuTree()
- }else {
- ElMessage.error(res.data.data)
+ if(type == 1) { // 新增本级
+ params.p_menu_id = state.selectParentData ? state.selectParentData.menu_id : ""
+ }else { // 新增下级
+ params.p_menu_id = state.selectParentData.menu_id
}
- })
- }
+ if (params.menu_type != 0) {
+ params.dict_group_id = ""
+ }
+ axios
+ .post(`/apaas/system/v5/menu/add`,params)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage.success(res.data.data)
+ state.selectData = null
+ getMenuTree()
+ }else {
+ ElMessage.error(res.data.data)
+ }
+ })
+ }
+ }
+ })
} // 保存按钮,新增或编辑菜单
onBeforeMount(()=>{
diff --git a/src/page/main/develop/menu/menu-form.vue b/src/page/main/develop/menu/menu-form.vue
index 757d39da751248333b6cd469b80962241df536e8..8bf536f55843a70b8a689c00d4f4358dcdd63c9d 100644
--- a/src/page/main/develop/menu/menu-form.vue
+++ b/src/page/main/develop/menu/menu-form.vue
@@ -12,7 +12,7 @@
-
+
目录
菜单
子页面
@@ -138,6 +138,7 @@ const state = reactive({
iconArr: [], // 所有的图标
showIconArr: [], // 展示的图标
timer: null,
+ radioDisabled: false,
})
const getGroupList = () => {
@@ -178,6 +179,12 @@ const searchIcon = () => {
} // 图标筛选
const setForm = (data) => {
+ console.log(data)
+ if (data.id) { // 编辑状态
+ state.radioDisabled = true
+ }else {
+ state.radioDisabled = false
+ }
state.menuForm = Object.assign(state.menuForm, data);
} // 表单赋值
@@ -209,6 +216,7 @@ const {
iconFlag,
showIconArr,
icon_search,
+ radioDisabled,
} = toRefs(state)
defineExpose({ setForm , menuForm, menuRef })