zhangweicheng 6 år sedan
förälder
incheckning
d8c9177890

+ 7 - 3
web/building_saas/main/js/models/fee_rate.js

@@ -227,10 +227,14 @@ var FeeRate = {
                     calcProgramObj.refreshCalcProgram(node, 3);
                     calcProgramObj.refreshCalcProgram(node, 3);
                 }
                 }
             }
             }
-            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll);
-            project.markUpdateProject({projectID:project.ID(),feeRateID:this.getActivateFeeRateFileID()},"feeRate",function () {
-                socket.emit('feeRateChangeNotify', {projectID:project.ID(),feeRateID:me.getActivateFeeRateFileID(),userID:userID});
+            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll,function () {
+                $.bootstrapLoading.start();
+                project.markUpdateProject({projectID:project.ID(),feeRateID:me.getActivateFeeRateFileID()},"feeRate",function () {
+                    $.bootstrapLoading.end();
+                    socket.emit('feeRateChangeNotify', {projectID:project.ID(),feeRateID:me.getActivateFeeRateFileID(),userID:userID});
+                });
             });
             });
+
         };
         };
 
 
 
 

+ 6 - 2
web/building_saas/main/js/views/fee_rate_view.js

@@ -409,6 +409,7 @@ var feeRateObject={
         this.mainFeeRateSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onMainFeeRateRangeChanged);
         this.mainFeeRateSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onMainFeeRateRangeChanged);
         this.mainFeeRateSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (e,args) {
         this.mainFeeRateSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (e,args) {
             let me =feeRateObject;
             let me =feeRateObject;
+            if($.bootstrapLoading.isLoading())  args.cancel = true;
             if(!me.mainFeeRateEditChecking(args.row,args.col)){
             if(!me.mainFeeRateEditChecking(args.row,args.col)){
                 args.cancel = true;
                 args.cancel = true;
             }
             }
@@ -635,8 +636,11 @@ var feeRateObject={
                 }
                 }
                 subRateObject.showSubRateData();
                 subRateObject.showSubRateData();
                 me.showMainFeeRateData();
                 me.showMainFeeRateData();
-                feerateInfo.length > 0 ?feeRate.onFeeRatesChange(feerateInfo):'';
-                $.bootstrapLoading.end();
+                if(feerateInfo.length > 0){
+                    feeRate.onFeeRatesChange(feerateInfo);
+                }else {
+                    $.bootstrapLoading.end();
+                }
             })
             })
         }
         }
         function getRateByStep(ltValue,total,share,step) { //min值 ,计算值的总区间, 区间中占比,步长--后端重选标准也要用到
         function getRateByStep(ltValue,total,share,step) { //min值 ,计算值的总区间, 区间中占比,步长--后端重选标准也要用到

+ 21 - 4
web/building_saas/main/js/views/sub_fee_rate_views.js

@@ -5,6 +5,7 @@
 var subRateObject={
 var subRateObject={
     views:null,
     views:null,
     datas:null,
     datas:null,
+    timeStamp:null,
     valueMap:null,
     valueMap:null,
     canEdit:true,
     canEdit:true,
     subRateSpread:null,
     subRateSpread:null,
@@ -46,6 +47,7 @@ var subRateObject={
             this.subRateSheet = this.subRateSpread.getSheet(0);
             this.subRateSheet = this.subRateSpread.getSheet(0);
             sheetCommonObj.initSheet(this.subRateSheet, this.subRateSetting, 30);
             sheetCommonObj.initSheet(this.subRateSheet, this.subRateSetting, 30);
             this.subRateSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, this.onSubRateSelectChanged);
             this.subRateSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, this.onSubRateSelectChanged);
+            this.subRateSheet.bind(GC.Spread.Sheets.Events.EditStarting,this.onSubRateEditStarting);
             this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onSubRateValueChange);
             this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onSubRateValueChange);
             //this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, me.onSheetValueChange);
             //this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, me.onSheetValueChange);
             this.subRateSheet.name('subRateSheet');
             this.subRateSheet.name('subRateSheet');
@@ -118,6 +120,10 @@ var subRateObject={
             $('#'+item.ID).val(selectvalue);
             $('#'+item.ID).val(selectvalue);
         })
         })
     },
     },
+    onSubRateEditStarting :function(e,info){
+        if($.bootstrapLoading.isLoading())  info.cancel = true;
+    },
+
     onSubRateValueChange:function (e,info) {
     onSubRateValueChange:function (e,info) {
         let me = subRateObject, subList=null;
         let me = subRateObject, subList=null;
         let value = info.newValue;
         let value = info.newValue;
@@ -128,11 +134,9 @@ var subRateObject={
                 value = scMathUtil.roundForObj(checkResult,getDecimal("feeRate"));
                 value = scMathUtil.roundForObj(checkResult,getDecimal("feeRate"));
             }else {
             }else {
                 alert('当前输入的数据类型不正确,请重新输入。');
                 alert('当前输入的数据类型不正确,请重新输入。');
-                me.showSubRateData();
-                return;
+                return me.showSubRateData();
             }
             }
         }
         }
-
         if(subRate.isSub == true){//是树节点的子节点,计算父节点的值
         if(subRate.isSub == true){//是树节点的子节点,计算父节点的值
             let parentRate = _.find(me.datas,{"ID":subRate.ParentID});//找到父节点
             let parentRate = _.find(me.datas,{"ID":subRate.ParentID});//找到父节点
             if(parentRate){
             if(parentRate){
@@ -152,7 +156,20 @@ var subRateObject={
                 t.value = value
                 t.value = value
             }
             }
         }
         }
-        feeRateObject.setRateFromSub(subRate,value,subList,info.newValue);
+        if(me.timeStamp = null){
+            me.timeStamp =  +new Date()
+            feeRateObject.setRateFromSub(subRate,value,subList,info.newValue);
+        }else {
+            let now = +new Date();
+            if(now - me.timeStamp < 500){
+                setTimeout(function () {
+                    feeRateObject.setRateFromSub(subRate,value,subList,info.newValue);
+                },500)
+            }else {
+                feeRateObject.setRateFromSub(subRate,value,subList,info.newValue);
+            }
+            me.timeStamp = now;
+        }
     },
     },
 
 
     destorySpreadView:function () {
     destorySpreadView:function () {