Chenshilong 7 лет назад
Родитель
Сommit
f36fabb484

+ 2 - 1
modules/main/models/project_consts.js

@@ -33,7 +33,8 @@ let projectConstList = [
     'properties',
     'volume_price',
     'feeRate',
-    'labour_coe'
+    'labour_coe',
+    'calc_program'
 ];
 
 let commonConst = {

+ 1 - 0
public/web/sheet/sheet_common.js

@@ -9,6 +9,7 @@ var sheetCommonObj = {
         var spreadBook = new GC.Spread.Sheets.Workbook(container, { sheetCount: SheetCount });
         spreadBook.options.tabStripVisible = false;
         spreadBook.options.showHorizontalScrollbar = true;
+        spreadBook.options.showVerticalScrollbar = true;
         spreadBook.options.allowCopyPasteExcelStyle = false;
         spreadBook.options.allowUserDragDrop = true;
         return spreadBook;

+ 1 - 1
web/building_saas/main/html/calc_program_manage.html

@@ -9,7 +9,7 @@
 
 <body>
 <div style="">
-    <img id="f_btn" src="/web/dest/css/img/feeRate_btn.jpg" alt="" style="display: block" />
+    <img id="f_btn" src="/web/dest/css/img/feeRate_btn.jpg" alt="" style="display: none" />
 </div>
     <div class="toolsbar px-1">
     </div>

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

@@ -27,6 +27,7 @@ class CalcProgram {
         }
     };
 
+    // 经测试,全部编译一次耗时0.003~0.004秒。耗时基本忽略不计。
     compileAllTemps(){
         let calcFeeRates = this.project.FeeRate.datas.rates;
         let calcLabourCoes = this.project.labourCoe.datas.coes;

+ 7 - 0
web/building_saas/main/js/models/ration.js

@@ -339,6 +339,13 @@ var Ration = {
 
             this.project.endUpdate();
         };
+
+        ration.prototype.calcAll = function (){
+            for (let ration of this.datas){
+                let node = this.project.mainTree.findNode(ration.ID);
+                 this.project.calcProgram.calculate(node);
+            };
+        };
         
         return new ration(project);
     }

+ 2 - 1
web/building_saas/main/js/views/project_property_labour_coe_view.js

@@ -46,7 +46,7 @@ let labourCoeView = {
         sheet.setColumnWidth(0, 180, sheetArea.viewport);
         sheet.setRowCount(1, sheetArea.colHeader);
         sheet.setRowCount(20, sheetArea.viewport);
-        sheet.setRowHeight(0, 30, sheetArea.colHeader);
+        sheet.setRowHeight(0, 40, sheetArea.colHeader);
         sheet.bind(GC.Spread.Sheets.Events.CellChanged, me.onCellChanged);
         sheet.resumeEvent();
         sheet.resumePaint();
@@ -141,6 +141,7 @@ let labourCoeView = {
                 projectObj.project.labourCoe.refreshData(data);
                 me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
                 projectObj.project.calcProgram.compileAllTemps();
+                projectObj.project.ration.calcAll();
                 rationPM.buildSheet();
                 $("#std_labour_coe_files").val('');
             });

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

@@ -145,7 +145,8 @@ var projectObj = {
             calc.calcNode(node, true);
             nodes = getNodes(node);
             project.Bills.updateNodes(nodes, true);
-        } else if (node.sourceType === projectObj.project.VolumePrice.getSourceType()) {
+        }
+        else if (node.sourceType === projectObj.project.VolumePrice.getSourceType()) {
             project.beginUpdate('VolumePrice_QuantityChange');
             project.VolumePrice.updateField(node.source, fieldName, value, false);
             calc.calcNode(node.parent, true);
@@ -153,14 +154,15 @@ var projectObj = {
             project.Bills.updateNodes(nodes, false);
             project.endUpdate();
             nodes.push(node);
-        } else if (node.sourceType === projectObj.project.Ration.getSourceType()) {
+        }
+        else if (node.sourceType === projectObj.project.Ration.getSourceType()) {
             project.beginUpdate('Ration_QuantityChange');
             calcFees.setFee(node.data, fieldName, value);
             node.data.gljList = project.ration_glj.getGljArrByRation(node.data.ID);
             // calcProgram.calculate的传参必须是cacheNode类型,故无法将计算放在Ration模块中。
             project.calcProgram.calculate(node);
-            project.Ration.updateRation(node.source, false);
-            calc.calcNode(node.parent, true);
+            project.Ration.updateRation(node.source, false);    // 加入待存储队列
+            calc.calcNode(node.parent, true);       //
             nodes = getNodes(node.parent);
             project.Bills.updateNodes(nodes, false);
             project.endUpdate();