Browse Source

在项目管理定位在单项工程、单位工程时,右键导出/导入建设项目也有效可用。

zhangweicheng 4 years ago
parent
commit
fa5eff86b2
1 changed files with 23 additions and 8 deletions
  1. 23 8
      web/building_saas/pm/js/pm_newMain.js

+ 23 - 8
web/building_saas/pm/js/pm_newMain.js

@@ -426,14 +426,23 @@ const projTreeObj = {
             icon: 'fa-cloud-download',
             disabled: function () {
                 let selectedItem = projTreeObj.tree.selected;
-                return !(selectedItem && selectedItem.data.projType === projectType.project);
+                if(selectedItem) return selectedItem.data.projType === projectType.folder;
+                return true;
             },
             /* visible:function () {
              return false
              },*/
             callback: function (key, opt) {
                 //获取当前节点的建设项目ID
-                projTreeObj.exportProject(projTreeObj.tree.selected.data.ID,projTreeObj.tree.selected.data.name);
+                let selectedItem = projTreeObj.tree.selected;
+                let projectNode = selectedItem; //取建设项目节点
+                if(selectedItem.data.projType === projectType.engineering){
+                    projectNode = selectedItem.parent;
+                }
+                if(selectedItem.data.projType === projectType.tender){
+                    projectNode = selectedItem.parent.parent;
+                }
+                projTreeObj.exportProject(projectNode.data.ID,projectNode.data.name);
             }
         },
         importProject:{
@@ -442,14 +451,16 @@ const projTreeObj = {
             disabled: function () {
                 let selectedItem = projTreeObj.tree.selected;
                 if(selectedItem){
-                    if(selectedItem.data.projType === projectType.project) return false;//如果是建设项目,可用
+                    //if(selectedItem.data.projType === projectType.project) return false;//如果是建设项目,可用
                     if(selectedItem.data.projType === projectType.folder){//如果是文件夹
                         if(selectedItem.children){
                             if(selectedItem.children.length == 0) return false;//如果文件夹没有子项,可用
                             if(selectedItem.children[0] .projType === projectType.project ) return false;//如果文件夹有子项,并且是建设项目,可用
                         }
+                    }else{//除了文件夹,都可用
+                        return false;
                     }
-                } else {
+                } else {//列表为空时可以导入
                     return false;
                 }
                 return true;
@@ -1677,10 +1688,14 @@ const projTreeObj = {
         if(selectNode && selectNode.data.projType == projectType.folder){
             parent = selectNode;
             next = selectNode.firstChild();
-        }else if(selectNode &&  selectNode.data.projType == projectType.project){
-            parent = selectNode.parent;
-            next = selectNode.nextSibling;
-            updateData["update"] = {query:{ID:selectNode.id()}}
+        }else if(selectNode){
+            let projectNode = null;
+            if(selectNode.data.projType == projectType.project) projectNode = selectNode;
+            if(selectNode.data.projType == projectType.engineering) projectNode = selectNode.parent
+            if(selectNode.data.projType == projectType.tender)projectNode = selectNode.parent.parent
+            parent = projectNode.parent;
+            next = projectNode.nextSibling;
+            updateData["update"] = {query:{ID:projectNode.id()}}
         } else if (!selectNode) { // 默认在第一位
             parent = selectNode ? selectNode.parent : projTreeObj.tree._root;
             next = selectNode ? selectNode.nextSibling : projTreeObj.tree.firstNode();