فهرست منبع

改变费率不计算问题

zhangweicheng 7 سال پیش
والد
کامیت
2b6e3f8130
2فایلهای تغییر یافته به همراه20 افزوده شده و 18 حذف شده
  1. 2 2
      web/building_saas/main/js/models/fee_rate.js
  2. 18 16
      web/building_saas/main/js/views/fee_rate_view.js

+ 2 - 2
web/building_saas/main/js/models/fee_rate.js

@@ -192,7 +192,7 @@ var FeeRate = {
                     calcProgramObj.showData(node);
                 }
             }
-            project.calcProgram.calcAllNodesAndSave(calcAllType.catRations);
+            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll);
             project.markUpdateProject({projectID:project.ID(),feeRateID:this.getActivateFeeRateFileID()},"feeRate");
             socket.emit('feeRateChangeNotify', this.getActivateFeeRateFileID());
         };
@@ -205,7 +205,7 @@ var FeeRate = {
                     calcProgramObj.showData(node);
                 }
             }
-            project.calcProgram.calcAllNodesAndSave(calcAllType.catRations);
+            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll);
             if(socketObject.roomInfo){
                 //判断费率文件ID是否改变了
                 if(socketObject.roomInfo.feeRate == this.getActivateFeeRateFileID()){//如果没变,则是重选了标准

+ 18 - 16
web/building_saas/main/js/views/fee_rate_view.js

@@ -400,11 +400,13 @@ var feeRateObject={
     },
     showMainFeeRateData:function () {
         let me = this;
+        let selected = me.mainFeeRateSheet.getSelections()[0];
         me.activateFeeRate = projectObj.project.FeeRate.getActivateFeeRate();
         me.mainFeeRateData = projectObj.project.FeeRate.getActivateFeeRate().rates;
         me.mainFeeRateSheet.setRowCount(0);
         me.mainFeeRateSheet.setRowCount(me.mainFeeRateData.length);
         me.showSelectTree(me.mainFeeRateSheet,me.mainFeeRateSetting,me.mainFeeRateData);
+        me.mainFeeRateSheet.setSelection(selected.row,selected.col,selected.rowCount,selected.colCount);
     },
     reFreshRateViews:function() {
         //feeRateObject.createSpreadView();
@@ -471,20 +473,20 @@ var feeRateObject={
         }
     },
     cascadeSetRates:function(selectedItem,sourceRow,mapID,selectMap){
-        var items=[];
+        let items=[];
         items.push({rateIndex:sourceRow,rate:selectedItem});
         _.forEach(this.mainFeeRateData,function (recode,Index) {
             if(Index!=sourceRow&&recode.subFeeRate){
-                var valueMaps = recode.subFeeRate.valueMaps;
-                var valueMap = _.find(valueMaps,{ID:mapID});
+                let valueMaps = recode.subFeeRate.valueMaps;
+                let valueMap = _.find(valueMaps,{ID:mapID});
                 if(valueMap){//选项完全一样的情况
                     if(valueMap.value==recode.rate){
                         return;
                     }else {
                         recode.rate = valueMap.value;
                         _.forEach(selectMap,function (value,key) {
-                            var tempRecode =  recode.subFeeRate.recodes[key];
-                            var optionList = tempRecode.optionList;
+                            let tempRecode =  recode.subFeeRate.recodes[key];
+                            let optionList = tempRecode.optionList;
                             _.forEach(optionList,function (o) {
                                 if(o.value==value){
                                     o.selected = true;
@@ -492,17 +494,17 @@ var feeRateObject={
                                     o.selected = false;
                                 }
                             })
-                        })
+                        });
                         items.push({rateIndex:Index,rate:recode});
                     }
                 }else {//某条选项一样的情况
-                    var needUpdate = false;
-                    var selectList = mapID.split('-');
-                    var newList=[];
+                    let needUpdate = false;
+                    let selectList = mapID.split('-');
+                    let newList=[];
                     _.forEach(recode.subFeeRate.recodes,function (r) {
-                        var oList = r.optionList;
-                        var oldSelectIndex=0;
-                        var hasChange=false;
+                        let oList = r.optionList;
+                        let oldSelectIndex=0;
+                        let hasChange=false;
                         _.forEach(oList,function (o,key) {
                             if(o.selected){
                                 oldSelectIndex = key;
@@ -515,14 +517,14 @@ var feeRateObject={
                             }else {
                                 o.selected=false;
                             }
-                        })
+                        });
                         if(!hasChange){
                             oList[oldSelectIndex].selected=true;
                             newList.push(oList[oldSelectIndex].value)
                         }
-                    })
+                    });
                     if(needUpdate){
-                      var newValue =   _.find(valueMaps,{ID:newList.join("-")})//取出费率值并更新
+                      let newValue =   _.find(valueMaps,{ID:newList.join("-")})//取出费率值并更新
                         if(newValue){
                           if(recode.rate != newValue.value){
                               recode.rate = newValue.value
@@ -532,7 +534,7 @@ var feeRateObject={
                     }
                 }
             }
-        })
+        });
         projectObj.project.FeeRate.batchUpdateFeeRate(items,feeRateObject.activateFeeRate);
     },
     loadPageContent:function(){