MaiXinRong 3 месяцев назад
Родитель
Сommit
3f74983f98
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      app/public/js/cost_stage_analysis.js

+ 6 - 4
app/public/js/cost_stage_analysis.js

@@ -87,7 +87,7 @@ $(document).ready(function() {
                 invalidAll();
                 invalidAll();
                 return;
                 return;
             }
             }
-            let last = first, sameParent = true, nodeUsed = this.checkNodeUsed(tree, first);
+            let last = first, sameParent = true, specNode = false, nodeUsed = this.checkNodeUsed(tree, first);
             if (sel.rowCount > 1 && first) {
             if (sel.rowCount > 1 && first) {
                 for (let r = 1; r < sel.rowCount; r++) {
                 for (let r = 1; r < sel.rowCount; r++) {
                     const rNode = tree.nodes[sel.row + r];
                     const rNode = tree.nodes[sel.row + r];
@@ -95,6 +95,7 @@ $(document).ready(function() {
                         sameParent = false;
                         sameParent = false;
                         break;
                         break;
                     }
                     }
+                    if (!specNode) specNode = !!rNode.node_type;
                     nodeUsed = nodeUsed || this.checkNodeUsed(tree, rNode);
                     nodeUsed = nodeUsed || this.checkNodeUsed(tree, rNode);
                     if (rNode.tree_level > first.tree_level) continue;
                     if (rNode.tree_level > first.tree_level) continue;
                     if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
                     if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
@@ -110,7 +111,7 @@ $(document).ready(function() {
             const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
             const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
 
 
             setObjEnable($('a[name=base-opr][type=add]'), valid && first && !isFixed);
             setObjEnable($('a[name=base-opr][type=add]'), valid && first && !isFixed);
-            setObjEnable($('a[name=base-opr][type=delete]'), valid && first && sameParent && !isFixed && !first.node_type);
+            setObjEnable($('a[name=base-opr][type=delete]'), valid && first && sameParent && !isFixed && specNode);
             setObjEnable($('a[name=base-opr][type=up-move]'), valid && first && sameParent && preNode && !isFixed);
             setObjEnable($('a[name=base-opr][type=up-move]'), valid && first && sameParent && preNode && !isFixed);
             setObjEnable($('a[name=base-opr][type=down-move]'), valid && first && sameParent  && !tree.isLastSibling(last) && !isFixed);
             setObjEnable($('a[name=base-opr][type=down-move]'), valid && first && sameParent  && !tree.isLastSibling(last) && !isFixed);
             setObjEnable($('a[name=base-opr][type=up-level]'), valid && first && sameParent && tree.getParent(first) && !nodeUsed && first.tree_level > 2 && !isFixed);
             setObjEnable($('a[name=base-opr][type=up-level]'), valid && first && sameParent && tree.getParent(first) && !nodeUsed && first.tree_level > 2 && !isFixed);
@@ -739,7 +740,7 @@ $(document).ready(function() {
                 const tree = sheet.zh_tree;
                 const tree = sheet.zh_tree;
                 if (!tree) return true;
                 if (!tree) return true;
                 const first = sheet.zh_tree.nodes[row];
                 const first = sheet.zh_tree.nodes[row];
-                let last = first, sameParent = true, nodeUsed = billsObj.checkNodeUsed(tree, first);
+                let last = first, sameParent = true, specNode = false, nodeUsed = billsObj.checkNodeUsed(tree, first);
                 if (sel.rowCount > 1 && first) {
                 if (sel.rowCount > 1 && first) {
                     for (let r = 1; r < sel.rowCount; r++) {
                     for (let r = 1; r < sel.rowCount; r++) {
                         const rNode = tree.nodes[sel.row + r];
                         const rNode = tree.nodes[sel.row + r];
@@ -747,6 +748,7 @@ $(document).ready(function() {
                             sameParent = false;
                             sameParent = false;
                             break;
                             break;
                         }
                         }
+                        if (!specNode) specNode = !!rNode.node_type;
                         nodeUsed = nodeUsed || billsObj.checkNodeUsed(tree, rNode);
                         nodeUsed = nodeUsed || billsObj.checkNodeUsed(tree, rNode);
                         if (rNode.tree_level > first.tree_level) continue;
                         if (rNode.tree_level > first.tree_level) continue;
                         if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
                         if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
@@ -759,7 +761,7 @@ $(document).ready(function() {
                 const valid = !sheet.zh_setting.readOnly;
                 const valid = !sheet.zh_setting.readOnly;
                 const topParent = tree.getTopParent(first);
                 const topParent = tree.getTopParent(first);
                 const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
                 const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
-                return !valid || !first || !sameParent || nodeUsed || isFixed;
+                return !valid || !first || !sameParent || nodeUsed || isFixed || specNode;
             }
             }
         };
         };
         billsContextMenuOptions.items.batchInsert = {
         billsContextMenuOptions.items.batchInsert = {