Browse Source

修改项目管理中同级操作

caiaolin 7 years ago
parent
commit
adade6cb80
1 changed files with 41 additions and 12 deletions
  1. 41 12
      web/building_saas/pm/js/pm_main.js

+ 41 - 12
web/building_saas/pm/js/pm_main.js

@@ -112,6 +112,7 @@ let ProjTreeSetting = {
             switch(node.data.projType) {
                 case projectType.project:
                     $("#add-engineering-btn").removeClass("disabled");
+                    $("#add-project-btn").removeClass("disabled");
                     break;
                 case projectType.folder:
                     $("#add-folder-btn").removeClass("disabled");
@@ -119,8 +120,10 @@ let ProjTreeSetting = {
                     break;
                 case projectType.engineering:
                     $("#add-tender-btn").removeClass("disabled");
+                    $("#add-engineering-btn").removeClass("disabled");
                     break;
                 case projectType.tender:
+                    $("#add-tender-btn").removeClass("disabled");
                     $("#move-to-btn").removeClass("disabled");
                     $("#copy-to-btn").removeClass("disabled");
                     $("#share-btn").removeClass("disabled");
@@ -143,7 +146,7 @@ $(document).ready(function() {
         try {
             let selectedType = selectedItem !== null && selectedItem.data !== undefined ?
                 selectedItem.data.projType : projectType.folder;
-            if (selectedType !== projectType.folder) {
+            if (selectedType !== projectType.folder && selectedType !== projectType.project) {
                 throw '建设项目只能添加到最外层或文件夹中';
             }
             $('#add-project-dialog').modal('show');
@@ -180,7 +183,7 @@ $(document).ready(function() {
                 throw '请选择要添加到的项目工程';
             }
             let selectedType = selectedItem.data !== undefined ? selectedItem.data.projType : '';
-            if (selectedType !== projectType.project) {
+            if (selectedType !== projectType.project && selectedType !== projectType.engineering) {
                 throw '单项项目只能添加到建设项目中';
             }
             $("#add-engineering-dialog").modal("show");
@@ -202,7 +205,7 @@ $(document).ready(function() {
                 throw '请选择要添加到的单项工程';
             }
             let selectedType = selectedItem.data !== undefined ? selectedItem.data.projType : '';
-            if (selectedType !== projectType.engineering) {
+            if (selectedType !== projectType.engineering && selectedType !== projectType.tender) {
                 throw '单项项目只能添加到单项工程中';
             }
             $("#add-tender-dialog").modal("show");
@@ -215,14 +218,19 @@ $(document).ready(function() {
     $('#add-tender-dialog').on('show.bs.modal', function() {
         // 当前选中的建设项目
         let selectedItem = Tree.selected();
-        let projectInfo = selectedItem !== null && selectedItem.parent !== undefined ? selectedItem.parent : null;
+        let projectInfo = null;
+        if (selectedItem.data.projType === projectType.tender) {
+            projectInfo = selectedItem !== null && selectedItem.parent !== undefined && selectedItem.parent.parent !== undefined ?
+                selectedItem.parent.parent : null;
+        } else {
+            projectInfo = selectedItem !== null && selectedItem.parent !== undefined ? selectedItem.parent : null;
+        }
         if (projectInfo !== null) {
             let savedProjectData = localStorage.getItem(projectInfo.data.name);
             savedProjectData = JSON.parse(savedProjectData);
-            let valuationHtml = '<option value="'+ savedProjectData.valuation +'">'+ savedProjectData.valuationName +'</option>'
+            let valuationHtml = '<option value="'+ savedProjectData.valuation +'">'+ savedProjectData.valuationName +'</option>';
             $("#tender-valuation").html(valuationHtml);
 
-            console.log(savedProjectData);
             $("input[name='tender_valuation_type']").attr('disabled', 'disabled').removeAttr('checked', 'checked');
             $("input[name='tender_valuation_type'][value='"+ savedProjectData.valuationType +"']")
                 .attr("checked", "checked").removeAttr('disabled', 'disabled');
@@ -505,7 +513,7 @@ function AddProject() {
     }
     let valuationName = $("#valuation").children("option:selected").text();
     let valuationType = $("input[name='valuation_type']:checked").val();
-    AddChildrenItem(name, projectType.project, function() {
+    let callback = function() {
         $("#add-project-dialog").modal("hide");
         // 记录选择后的信息
         let projectInfo = {
@@ -514,7 +522,14 @@ function AddProject() {
             valuationName: valuationName
         };
         localStorage.setItem(name, JSON.stringify(projectInfo));
-    });
+    };
+    let selectedItem = Tree.selected();
+    // 如果选择的是建设项目则新增同级数据
+    if (selectedItem !== null && selectedItem.data.projType === projectType.project) {
+        AddSiblingsItem(name, projectType.project, callback);
+    } else {
+        AddChildrenItem(name, projectType.project, callback);
+    }
 }
 
 /**
@@ -587,9 +602,16 @@ function AddEngineering() {
         alert('请填写单项工程名称');
         return false;
     }
-    AddChildrenItem(name, projectType.engineering, function() {
+    let callback = function() {
         $("#add-engineering-dialog").modal("hide");
-    });
+    };
+    let selectedItem = Tree.selected();
+    // 如果选择的是单项工程则新增同级数据
+    if (selectedItem !== null && selectedItem.data.projType === projectType.engineering) {
+        AddSiblingsItem(name, projectType.engineering, callback);
+    } else {
+        AddChildrenItem(name, projectType.engineering, callback);
+    }
 }
 
 /**
@@ -603,9 +625,16 @@ function AddTender() {
         alert('请填写单位工程名称');
         return false;
     }
-    AddChildrenItem(name, projectType.tender, function() {
+    let callback = function() {
         $("#add-tender-dialog").modal("hide");
-    });
+    };
+    let selectedItem = Tree.selected();
+    // 如果选择的是单项工程则新增同级数据
+    if (selectedItem !== null && selectedItem.data.projType === projectType.tender) {
+        AddSiblingsItem(name, projectType.tender, callback);
+    } else {
+        AddChildrenItem(name, projectType.tender, callback);
+    }
 }
 
 /**