Procházet zdrojové kódy

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/ConstructionCost

zhangweicheng před 4 roky
rodič
revize
652907afc2

+ 4 - 1
web/building_saas/main/js/models/calc_program.js

@@ -1996,7 +1996,7 @@ class CalcProgram {
         let dataArr = [];
         for (let node of treeNodes){
             if (node.changed){
-                console.log(node.data.name);
+                // console.log(node.data.name);
                 let data = calcTools.cutNodeForSave(node);
                 let newData = {'type': node.sourceType, 'data': data};
                 dataArr.push(newData);
@@ -2488,6 +2488,9 @@ class CalcProgram {
         else if (sOption =='priceBase_ZM')
             tender = tenderTypes.ttReverseRation;
         if (tender == tenderTypes.ttReverseGLJ || tender == tenderTypes.ttReverseRation){
+            if (!tender_obj.tenderTree)
+                tender_obj.createTree();
+
             this.initReverseTenderDatas();
             this.prepareForDistribute(tender_obj.tenderTree.roots[0]);
             this.distributeTargetTotalFee(tender_obj.tenderTree.roots[0]);

+ 4 - 2
web/building_saas/main/js/views/project_view.js

@@ -1037,8 +1037,10 @@ var projectObj = {
                 //     && node.data.feesIndex.common.totalFee != 0){
                 //     if (node.data.feesIndex.common.tenderTotalFee == undefined || node.data.feesIndex.common.tenderTotalFee == 0)
                 // };
-                if (projectObj.project.projectInfo.lastFileVer != VERSION)
-                    projectObj.project.calcProgram.doTenderCalc();
+                 if (projectObj.project.projectInfo.lastFileVer != VERSION){
+                     projectObj.project.calcProgram.doTenderCalc();
+                     // console.log('旧项目,打开前进行了全局调价计算。')
+                 }
 
                 $.bootstrapLoading.end();
             }

+ 33 - 28
web/building_saas/main/js/views/tender_price_view.js

@@ -40,17 +40,44 @@ let tender_obj={
         "headRowHeight" : [21],
         "cols" : []
     },
+    createTree:function () {
+        let me = this;
+        if (me.tenderTree) return;
+        me.tenderTree = cacheTree.createNew(this);
+        me.tenderTreeSetting = me.createTenderTreeSetting();
+        TREE_SHEET_HELPER.initSetting($('#tenderSpread')[0], me.tenderTreeSetting );
+        me.tenderTreeSetting.setAutoFitRow = MainTreeCol.getEvent("setAutoFitRow");
+        let mainTree = projectObj.project.mainTree;
+        me.tenderTree.nodes={},me.tenderTree.selected = null,me.tenderTree.roots = [],me.tenderTree.items=[];
+
+        function createTenderNode(mainNode,parent,next) {
+            if(mainNode.sourceType != ModuleNames.ration_glj){//主材、设备的工料机不用显示
+                let newNode = me.tenderTree.addNode(parent, next, mainNode.data.ID);
+                newNode.data = mainNode.data;
+                newNode.source =  mainNode.source;
+                newNode.sourceType = mainNode.sourceType;
+                newNode.mainNode = mainNode;
+                if(mainNode.children.length > 0){
+                    for(let c of mainNode.children){
+                        createTenderNode(c,newNode,null);
+                    }
+                }
+                return newNode;
+            }
+        };
+
+        for(r of mainTree.roots){
+            createTenderNode(r,null,null);
+        };
+        me.tenderTree.sortTreeItems();
+    },
     initTenderSpread:function () {
+        this.createTree();
         if(!this.tenderSpread){
             this.tenderSpread = SheetDataHelper.createNewSpread($("#tenderSpread")[0]);
             sheetCommonObj.spreadDefaultStyle(this.tenderSpread);
-        }
+        };
         this.tenderSheet = this.tenderSpread.getSheet(0);
-        this.tenderTree = cacheTree.createNew(this);
-        this.tenderTreeSetting = this.createTenderTreeSetting();
-        // console.log(this.tenderTreeSetting);
-        TREE_SHEET_HELPER.initSetting($('#tenderSpread')[0], this.tenderTreeSetting );
-        this.tenderTreeSetting.setAutoFitRow = MainTreeCol.getEvent("setAutoFitRow");
         this.tenderController = TREE_SHEET_CONTROLLER.createNew(this.tenderTree, this.tenderSheet, this.tenderTreeSetting);
         this.tenderSheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onSheetValueChange);
         this.tenderSheet.bind(GC.Spread.Sheets.Events.EnterCell, this.onEnterCell);
@@ -69,30 +96,8 @@ let tender_obj={
     },
     showTenderData:function () {
         let me = this;
-        let mainTree = projectObj.project.mainTree;
-        this.tenderTree.nodes={},this.tenderTree.selected = null,this.tenderTree.roots = [],this.tenderTree.items=[];
-        for(r of mainTree.roots){
-            createTenderNode(r,null,null);
-        }
-        me.tenderTree.sortTreeItems();
         this.tenderSheet.setRowCount(0);
         me.tenderController.showTreeData();
-
-        function createTenderNode(mainNode,parent,next) {
-            if(mainNode.sourceType != ModuleNames.ration_glj){//主材、设备的工料机不用显示
-                let newNode = me.tenderTree.addNode(parent, next, mainNode.data.ID);
-                newNode.data = mainNode.data;
-                newNode.source =  mainNode.source;
-                newNode.sourceType = mainNode.sourceType;
-                newNode.mainNode = mainNode;
-                if(mainNode.children.length > 0){
-                    for(let c of mainNode.children){
-                        createTenderNode(c,newNode,null);
-                    }
-                }
-                return newNode;
-            }
-        }
     },
     onTenderRangeChange:function (sender,info) {
         let me = tender_obj;