chenshilong пре 7 година
родитељ
комит
c7e6826316

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

@@ -480,7 +480,7 @@
                                     <div class="row px-3 modal-toolbar">
                                         <select class="col-4 form-control form-control-sm" id="std_labour_coe_files"><option>渝建[2016]71号</option><option>渝建[2017]78号</option></select>
                                     </div>
-                                    <div class="modal-auto-height"  style="overflow: hidden" id="labourCoeSpread" ></div>
+                                    <div class="modal-auto-height pt-1"  style="overflow: hidden" id="labourCoeSpread" ></div>
                                 </div>
                                 <!--呈现选项-->
                                 <div class="tab-pane fade" id="display-setting" role="tabpanel">

+ 62 - 52
web/building_saas/main/js/views/project_property_labour_coe_view.js

@@ -8,7 +8,7 @@ let labourCoeView = {
     sheet: null,
     needUpdateDatas: [],
 
-    init(){
+    buildSelect(){
         let me = this;
 
         function getStdLabourCoeFilesHtml(stdLabourCoeLibs) {
@@ -26,7 +26,6 @@ let labourCoeView = {
         let stdLCHtml = getStdLabourCoeFilesHtml(projectInfoObj.projectInfo.engineeringInfo.artificial_lib);
         $("#std_labour_coe_files").html(stdLCHtml);
     },
-
     buildSheet: function (){
         let me = this;
         if (me.spread) {
@@ -51,48 +50,7 @@ let labourCoeView = {
         sheet.resumeEvent();
         sheet.resumePaint();
     },
-
-    onCellChanged: function(sender, args){
-        var me = labourCoeView;
-        if (args.propertyName !== "value"){return;};
-        let cell = me.sheet.getCell(args.row, args.col);
-        let value = args.newValue;
-        let oValue = args.oldValue;
-        if (number_util.isNumber(value)) {
-            value = value.toDecimal(2);
-            me.sheet.suspendEvent();
-            cell.value(value);
-            me.sheet.resumeEvent();
-            me.addNeedUpdateData({ID: cell.tag(), coe: value});
-        } else {
-            me.sheet.suspendEvent();
-            cell.value(oValue);  // 屏蔽事件,否则这句会导致死循环
-            me.sheet.resumeEvent();
-            alert('当前输入的数据类型不正确,请重新输入。');
-        }
-    },
-
-    addNeedUpdateData: function (data) {
-        let me = this;
-        let isExist = false;
-        for (let el of me.needUpdateDatas){
-             if (el.ID == data.ID){
-                 isExist = true;
-                 el.coe = data.coe;
-                 return;
-             };
-        };
-        if (!isExist){
-            me.needUpdateDatas.push(data);
-        }
-    },
-
-    needSave: function (){
-        let me = this;
-        return me.needUpdateDatas.length > 0;
-    },
-
-    loadData(datas){          // 树结构转换二维表显示,行列转换
+    loadCrossData(datas){          // 交叉表:树结构转换二维表显示,行列转换
         let me = this;
         me.spread.suspendEvent();
         me.datas = datas;
@@ -135,40 +93,92 @@ let labourCoeView = {
         };
         me.spread.resumeEvent();
     },
-
     showData(){
         let me = this;
         let datas = projectObj.project.labourCoe.datas !== null ? projectObj.project.labourCoe.datas.coes : [];
-        me.init();
+        me.buildSelect();
         me.buildSheet();
-        me.loadData(datas);
+        me.loadCrossData(datas);
+    },
+    addNeedUpdateData: function (data) {
+        let me = this;
+        let isExist = false;
+        for (let el of me.needUpdateDatas){
+             if (el.ID == data.ID){
+                 isExist = true;
+                 el.coe = data.coe;
+                 return;
+             };
+        };
+        if (!isExist){
+            me.needUpdateDatas.push(data);
+        }
+    },
+    needSave: function (){
+        let me = this;
+        return me.needUpdateDatas.length > 0;
+    },
+    clearSave: function(){
+        let me = this;
+        me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
     },
-
     refresh(){
         let me = this;
         me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
         $("#std_labour_coe_files").val('');
         calcProgramManage.buildSheet();
+    },
+    onCellChanged: function(sender, args){
+        var me = labourCoeView;
+        if (args.propertyName !== "value"){return;};
+        let cell = me.sheet.getCell(args.row, args.col);
+        let value = args.newValue;
+        let oValue = args.oldValue;
+        if (number_util.isNumber(value)) {
+            value = value.toDecimal(2);
+            me.sheet.suspendEvent();
+            cell.value(value);
+            me.sheet.resumeEvent();
+            me.addNeedUpdateData({ID: cell.tag(), coe: value});
+        } else {
+            me.sheet.suspendEvent();
+            cell.value(oValue);  // 屏蔽事件,否则这句会导致死循环
+            me.sheet.resumeEvent();
+            alert('当前输入的数据类型不正确,请重新输入。');
+        }
     }
 };
 
 $(document).ready(function(){
-    $("#tab_poj-settings-6").on('shown.bs.tab', function (e) {
+    $('#poj-set').on('shown.bs.modal', function (e) {
         labourCoeView.showData();
     });
 
+    $('#poj-set').on('hidden.bs.modal', function (e) {
+        if(labourCoeView.spread){
+            labourCoeView.spread.destroy();
+            labourCoeView.spread = null;
+        }
+        labourCoeView.datas = [];
+        labourCoeView.clearSave();
+    });
+
+    $("#tab_poj-settings-6").on('shown.bs.tab', function (e) {
+        labourCoeView.spread.refresh();
+    });
+
     $("#std_labour_coe_files").change(function() {
         // 取标准库数据过来显示。
         let libID = $(this).val();
         if (libID == ''){
-            labourCoeView.loadData([]);
+            labourCoeView.loadCrossData([]);
             return false;
         };
 
         CommonAjax.post('/labourCoe/getStdLabourCoe', {"ID": libID}, function (data) {
             labourCoeView.buildSheet();
-            labourCoeView.loadData(data.coes);
-            labourCoeView.needUpdateDatas.splice(0, labourCoeView.needUpdateDatas.length);
+            labourCoeView.loadCrossData(data.coes);
+            labourCoeView.clearSave();
             labourCoeView.needUpdateDatas.push(...data.coes);
         });
     });

+ 3 - 7
web/building_saas/main/js/views/project_view.js

@@ -1400,22 +1400,18 @@ $('#poj-set').on('show.bs.modal', function () {
     let setCalcFlag = function (obj, val, curFlag) {
         obj.val(val);
         if (val === curFlag) {
-            obj.attr('checked', true);
+            obj.prop('checked', true);
         } else {
-            obj.removeAttr('checked');
+            obj.prop('checked', false);
         }
     }
     if (projectObj.project) {
-        // let mode = projectObj.project.projSetting.billsCalcMode;
-        // let settingConst = projectObj.project.projSetting.settingConst;、
         let ft = projectObj.project.property.billsCalcMode ? projectObj.project.property.billsCalcMode : leafBillGetFeeType.rationContent;
+        let zg = projectObj.project.property.zanguCalcMode ? projectObj.project.property.zanguCalcMode : zanguCalcType.common;
         setCalcFlag($('#rationContent'), leafBillGetFeeType.rationContent, ft);
         setCalcFlag($('#rationPriceConverse'), leafBillGetFeeType.rationPriceConverse, ft);
         setCalcFlag($('#rationPrice'), leafBillGetFeeType.rationPrice, ft);
         setCalcFlag($('#billsPrice'), leafBillGetFeeType.billsPrice, ft);
-
-        // mode = projectObj.project.projSetting.zanguCalcType;
-        let zg = projectObj.project.property.zanguCalcMode ? projectObj.project.property.zanguCalcMode : zanguCalcType.common;
         setCalcFlag($('#zangu_common'), zanguCalcType.common, zg);
         setCalcFlag($('#zangu_gatherMaterial'), zanguCalcType.gatherMaterial, zg);
         projDisplayView.init();