MaiXinRong преди 1 година
родител
ревизия
bcaf922590
променени са 1 файла, в които са добавени 26 реда и са изтрити 21 реда
  1. 26 21
      app/public/js/revise.js

+ 26 - 21
app/public/js/revise.js

@@ -225,10 +225,10 @@ $(document).ready(() => {
         },
         getDefaultSelectInfo: function (sheet) {
             const tree = sheet.zh_tree;
-            if (!tree) return;
+            if (!tree) return [];
             const sel = sheet.getSelections()[0];
             const node = sheet.zh_tree.nodes[sel.row];
-            if (!node) return;
+            if (!node) return [];
             let count = 1;
             if (sel.rowCount > 1) {
                 for (let r = 1; r < sel.rowCount; r++) {
@@ -236,7 +236,7 @@ $(document).ready(() => {
                     if (rNode.level > node.level) continue;
                     if ((rNode.level < node.level) || (rNode.level === node.level && rNode.pid !== node.pid)) {
                         toastr.warning('请选择同一节点下的节点,进行该操作');
-                        return;
+                        return [];
                     }
                     count += 1;
                 }
@@ -399,29 +399,34 @@ $(document).ready(() => {
                         return;
                     }
                 }
-            // } else if (type === 'up-level') {
-            //     const parent = tree.getParent(node);
-            //     const children = parent ? parent.children : tree.children;
-            //     const index = children.indexOf(node);
-            //     for (let i = index; i < children.length; i++) {
-            //         const child = children[index];
-            //         if (tree.checkNodeUsed(child, pos)) {
-            //             if (i >= index + count) {
-            //                 toastr.warning('其后节点已计量,选中的节点不可升级');
-            //             } else {
-            //                 toastr.warning('选中的节点已计量,不可升级');
-            //             }
-            //             return;
-            //         }
-            //     }
-            } else if (type === 'down-level') {
+            } else if (type === 'up-level') {
                 const parent = tree.getParent(node);
                 const children = parent ? parent.children : tree.children;
                 const index = children.indexOf(node);
-                if (index > 0 && children[index-1].used) {
-                    toastr.warning('其前节点已计量,选中的节点不可降级');
+                const lastSelect = children[index + count - 1];
+                if (tree.checkNodeUsed(lastSelect, pos) && (!lastSelect.children || lastSelect.children.length === 0)) {
+                    toastr.warning('选中的节点已计量,不可升级');
                     return;
                 }
+                // for (let i = index; i < children.length; i++) {
+                //     const child = children[index];
+                //     if (tree.checkNodeUsed(child, pos)) {
+                //         if (i >= index + count) {
+                //             toastr.warning('其后节点已计量,选中的节点不可升级');
+                //         } else {
+                //             toastr.warning('选中的节点已计量,不可升级');
+                //         }
+                //         return;
+                //     }
+                // }
+            } else if (type === 'down-level') {
+                const parent = tree.getParent(node);
+                const children = parent ? parent.children : tree.children;
+                const index = children.indexOf(node);
+                // if (index > 0 && children[index-1].used) {
+                //     toastr.warning('其前节点已计量,选中的节点不可降级');
+                //     return;
+                // }
                 for (let i = index; i < count; i++) {
                     const child = children[i+index];
                     if (tree.checkNodeUsed(child, pos)) {