Quellcode durchsuchen

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

Tony Kang vor 3 Wochen
Ursprung
Commit
349b9ca6d9
3 geänderte Dateien mit 7 neuen und 48 gelöschten Zeilen
  1. 2 44
      app/lib/bills_pos_convert.js
  2. 3 2
      app/public/js/path_tree.js
  3. 2 2
      app/public/js/quality_info.js

+ 2 - 44
app/lib/bills_pos_convert.js

@@ -375,53 +375,11 @@ class BillsPosConvert {
             }
         }
     }
-    _mapTreeNode(tree) {
-        const setting = tree.setting;
-        let map = {}, maxLevel = 0;
-        for (const node of tree.nodes) {
-            let levelArr = map[node[setting.level]];
-            if (!levelArr) {
-                levelArr = [];
-                map[node[setting.level]] = levelArr;
-            }
-            if (node[setting.level] > maxLevel) {
-                maxLevel = node[setting.level];
-            }
-            levelArr.push(node);
-        }
-        return [maxLevel, map];
-    }
-    _calculateAndSortNodes() {
-        const self = this;
-        const [maxLevel, levelMap] = this._mapTreeNode(this.resultTree);
-        for (let i = maxLevel; i >= 0; i--) {
-            const levelNodes = levelMap[i];
-            if (!levelNodes || levelNodes.length === 0) continue;
-
-            for (const node of levelNodes) {
-                if (node.unitTree) {
-                    node.unitTree.sortTreeNodeCustom(function (a, b) {
-                        if (a.b_code && a.b_code !== '') {
-                            return b.b_code && b.b_code !== '' ? self.ctx.helper.compareCode(a.b_code, b.b_code) : 1;
-                        } else {
-                            return b.b_code && b.b_code !== '' ? -1 : a.order - b.order;
-                        }
-                    });
-                    this._calculateNode(node, node.unitTree.children, this.tpFields);
-                } else if (node.children && node.children.length > 0) {
-                    this._calculateNode(node, node.children, this.tpFields);
-                } else {
-                    this._calculateChild(node);
-                }
-            }
-        }
-    }
     _calculateAndSortResult() {
         this.resultTree.sortTreeNode();
         console.time('recurCalc');
-        // this._recursiveCalculateAndSort(this.resultTree.children);
-        this._calculateAndSortNodes();
-        console.timeEnd('recurCalc');
+        this._recursiveCalculateAndSort(this.resultTree.children);
+        console.timeEnd('recurCalc')
     }
 
     _generateCodeByWbsCodeWithHis(wbsCode) {

+ 3 - 2
app/public/js/path_tree.js

@@ -1743,9 +1743,10 @@ const createNewPathTree = function (type, setting) {
             return this._maxId;
         }
 
-        addNode(data, parent) {
+        addNode(data, parent, checkSame = true) {
             data[this.setting.pid] = parent ? parent[this.setting.id] : this.setting.rootId;
-            let item = _.find(this.items, data);
+            // let item = _.find(this.items, data);
+            let item = checkSame ? _.find(parent ? parent.children : this.children, data): null;
             if (item) return item;
 
             item = data;

+ 2 - 2
app/public/js/quality_info.js

@@ -27,7 +27,7 @@ $(document).ready(() => {
 
         const recursiveLoad = function (node, parent, type = 'xmj') {
             if (type === 'xmj') {
-                const cur = !node.b_code ? xmjTree.addNode({ id: node.id, tender_id: node.tender_id, code: node.code, name: node.name, rela_type: type, rela_id: node.id, rela_name: '', }, parent) : parent;
+                const cur = !node.b_code ? xmjTree.addNode({ id: node.id, tender_id: node.tender_id, code: node.code, name: node.name, rela_type: type, rela_id: node.id, rela_name: '', }, parent, false) : parent;
                 if (node.children && node.children.length > 0) {
                     for (const child of node.children) {
                         recursiveLoad(child, cur);
@@ -43,7 +43,7 @@ $(document).ready(() => {
                 if (!parent) return;
                 const cur = parent.children ? parent.children.find(x => { return x.name === node.name }) : null;
                 if (!cur) {
-                    xmjTree.addNode({ id: node.id, tender_id: node.tid, rela_id: parent.id, code: '', code: parent.code + '-' + (parent.children.length + 1), name: node.name, rela_type: 'pos', rela_name: node.name, pid: [node.id]}, parent);
+                    xmjTree.addNode({ id: node.id, tender_id: node.tid, rela_id: parent.id, code: '', code: parent.code + '-' + (parent.children.length + 1), name: node.name, rela_type: 'pos', rela_name: node.name, pid: [node.id]}, parent, false);
                 } else {
                     cur.pid.push(node.id);
                 }