Преглед изворни кода

①调价UI和Data模块分离导致的问题:调价树与造价树数据不同步。
②项目工料机勾选“不调价”,实时计算调后总消耗量

chenshilong пре 5 година
родитељ
комит
5e989edb2e

+ 7 - 2
web/building_saas/main/js/views/project_glj_view.js

@@ -1100,10 +1100,15 @@ let projectGljObject={
         let callback=function (impactList) {
             info.sheet.suspendPaint();
             info.sheet.suspendEvent();
+            if (dataCode === 'is_adjust_price'){
+                projectGLJ.calcQuantity();
+            };
+
             if(info.sheetName =="materialTreeSheet"){
                 me.showMaterialTreeData();
             }else {
-                me.refreshProjectGljRow(row);
+                // me.refreshProjectGljRow(row);
+                me.showProjectGljData();
                 for(let g of impactList){
                     me.refreshProjectGljRowByID(g.id,row);
                 }
@@ -1115,7 +1120,7 @@ let projectGljObject={
                 projectObj.project.calcProgram.calcNodesAndSave(rations, function () {
                     projectObj.mainController.refreshTreeNode(projectObj.project.mainTree.roots);
                 });
-            }
+            };
             gljOprObj.refreshView();
         };
         if(dataCode=='basePrice'||dataCode=='marketPrice'){//修改市场价和修改定额价时需要重新记算很多受影响的树节点,现在改成与定字额工料机那里调相同的方法。

+ 20 - 14
web/building_saas/main/js/views/tender_price_view.js

@@ -40,39 +40,41 @@ let tender_obj={
         "headRowHeight" : [21],
         "cols" : []
     },
-    createTree:function () {
+    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 );
+        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=[];
+        me.createTreeNodes();
+    },
+    createTreeNodes() {
+        let me = this;
+        me.tenderTree.nodes = {}, me.tenderTree.selected = null, me.tenderTree.roots = [], me.tenderTree.items = [];
 
-        function createTenderNode(mainNode,parent,next) {
-            if(mainNode.sourceType != ModuleNames.ration_glj){//主材、设备的工料机不用显示
+        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.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);
+                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);
+        for (r of projectObj.project.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);
@@ -434,11 +436,15 @@ $(function () {
         sessionStorage.setItem('mainTab', '#tab_tender_price');
         $(e.relatedTarget.hash).removeClass('active');
         if(!tender_obj.tenderSpread){
+            tender_obj.createTree();
             tender_obj.initTenderSpread();
             tender_obj.showTenderData();
             tender_obj.initPageContent();
         }
-        else tender_obj.showTenderData();
+        else {
+            tender_obj.createTreeNodes();
+            tender_obj.showTenderData();
+        };
 
         autoFlashHeight();
         tender_obj.tenderSpread.refresh();