diff --git a/src/views/mdp/menu/menuDef/MenuDefImport.vue b/src/views/mdp/menu/menuDef/MenuDefImport.vue index 3e8ef6a6..de9acc48 100644 --- a/src/views/mdp/menu/menuDef/MenuDefImport.vue +++ b/src/views/mdp/menu/menuDef/MenuDefImport.vue @@ -5,18 +5,7 @@ - - - - - - - - + 只导入选中的菜单树中叶子节点,不导入父亲节点 全部选中的菜单都导入 @@ -155,39 +144,29 @@ }else{ routers=this.$refs.permissionRoutersTree.getCheckedNodes(false,this.onlyLeaf=='1'?false:true) } - let pids=this.$refs.pmenuTree.$refs.nodeTree.getCheckedKeys(false,false); + + let checkedNodes=this.$refs.pmenuTree.$refs.nodeTree.getCheckedNodes(false,false); + - if(pids==null || pids.length!=1 ){ + if(checkedNodes==null || checkedNodes.length!=1 ){ this.$notify.error("请先选择需要导入到的上级菜单"); return; } - let checkedNodes=this.$refs.pmenuTree.$refs.nodeTree.getCheckedNodes(false,false); - - if(this.addForm.moduleId==''||this.addForm.moduleId==null){ - this.$notify.error("请选择导入模块"); - return - }else{ - if(checkedNodes[0].id!='M0'){ - if(this.addForm.moduleId!=checkedNodes[0].moduleId){ - this.$notify.error("导入模块与上级模块不一致,不允许导入"); - return - } - } - - } + var pid=checkedNodes[0].isModule==true?'M0':checkedNodes[0].id let menus=[]; if(routers.length<=0){ this.$notify.error("没有需要导入的菜单"); return; } + debugger; routers.forEach(i=>{ if(i.pid==null || i.pid=='' || i.pid=='undefined'||this.onlyLeaf=='1'){ - i.pid=pids[0] + i.pid=pid }else{ //如果上级被选中,则以上级的编号作为pid,如果上级没呗选中,以客户指定的上级为上级 if(!routers.some(r=>r.id==i.pid)){ - i.pid=pids[0] + i.pid=pid } } i.moduleId=this.addForm.moduleId @@ -251,11 +230,13 @@ }); }, /**begin 在下面加自定义方法,记得补上面的一个逗号**/ - menuTreeCheckChange: function(data,checked,leafChecked){ + menuTreeCheckChange: function(data,checked,leafChecked){ if(checked){ this.addForm.moduleId=data.moduleId; + this.addForm.mcate=data.mcate }else{ this.addForm.moduleId=''; + this.addForm.mcate='' } }, routersTreeDataFill: function(routers,prouter){ diff --git a/src/views/mdp/menu/menuDef/MenuTree.vue b/src/views/mdp/menu/menuDef/MenuTree.vue index 3a0a4b75..1ef9c7eb 100644 --- a/src/views/mdp/menu/menuDef/MenuTree.vue +++ b/src/views/mdp/menu/menuDef/MenuTree.vue @@ -73,7 +73,11 @@ treeData(){ var treeData= treeTool.translateDataToTree(this.menuDefs,'pid','id'); var modules=JSON.parse(JSON.stringify(this.menuModules)) - var defModule={id:'un-set-module',pid:'Mo',mname:'未分配模块',children:[]} + var defModule={id:'un-set-module',pid:'Mo',mname:'未分配模块',children:[],moduleId:'un-set-module',isModule:true} + modules.forEach(i=>{ + i.moduleId=i.id + i.isModule=true + }) treeData.forEach(m=>{ var module=modules.find(mo=>m.moduleId==mo.id) if(!module){