|
|
@@ -120,29 +120,10 @@ var subRateObject={
|
|
|
$('#'+item.ID).val(selectvalue);
|
|
|
})
|
|
|
},
|
|
|
- subRateChange:function(select){
|
|
|
- let me = subRateObject;
|
|
|
- let selectValueList=[];
|
|
|
- let selectMap={};
|
|
|
- if(me.datas&&me.datas.length>0){
|
|
|
- $.bootstrapLoading.start();
|
|
|
- _.forEach(me.datas,function (d,key) {
|
|
|
- let selectValue = $('#'+d.ID).val();
|
|
|
- selectValueList.push(selectValue);
|
|
|
- selectMap[key]=selectValue;
|
|
|
- })
|
|
|
- let mapID =selectValueList.join('-');
|
|
|
- let rate = me.valueMap[mapID];
|
|
|
- feeRateObject.updateBySelect(rate,selectMap,mapID);
|
|
|
- }
|
|
|
- },
|
|
|
onSubRateValueChange:function (e,info) {
|
|
|
- let me = subRateObject, selectValueList=[],selectMap={};
|
|
|
+ let me = subRateObject, subList=null;
|
|
|
let value = info.newValue;
|
|
|
let subRate = me.datas[info.row];
|
|
|
- if(subRate.isSub == true){//是树节点的子节点,计算父节点的值
|
|
|
-
|
|
|
- }
|
|
|
if(subRate.editable == true || subRate.isSub == true){//是可编辑的,要检查数据类型
|
|
|
let checkResult = scMathUtil.isNumOrFormula(value);
|
|
|
if(checkResult!=null && !isNaN(checkResult)){
|
|
|
@@ -154,23 +135,26 @@ var subRateObject={
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- feeRateObject.setRateFromSub(subRate,value)
|
|
|
-
|
|
|
-
|
|
|
- /* if(me.datas&&me.datas.length>0){
|
|
|
- _.forEach(me.datas,function (d,key) {
|
|
|
- if(info.row == key){
|
|
|
- selectMap[key]=info.newValue;
|
|
|
- }else {
|
|
|
- let o = _.find(d.optionList,{'selected':true});
|
|
|
- selectMap[key]=o.value;
|
|
|
+ if(subRate.isSub == true){//是树节点的子节点,计算父节点的值
|
|
|
+ let parentRate = _.find(me.datas,{"ID":subRate.ParentID});//找到父节点
|
|
|
+ if(parentRate){
|
|
|
+ let sum = 0;
|
|
|
+ subList = _.cloneDeep(parentRate.subList);
|
|
|
+ for(let s of subList){//按比例计算
|
|
|
+ if(s.ID == subRate.ID) s.value = value;//当前项要用新输入的值
|
|
|
+ let v_a = scMathUtil.roundForObj(s.value * s.amount,getDecimal("process"))
|
|
|
+ sum = scMathUtil.roundForObj(sum + v_a,getDecimal("feeRate"));
|
|
|
}
|
|
|
- selectValueList.push(selectMap[key]);
|
|
|
- })
|
|
|
- let mapID =selectValueList.join('-');
|
|
|
- let rate = me.valueMap[mapID];
|
|
|
- feeRateObject.updateBySelect(rate,selectMap,mapID);
|
|
|
- }*/
|
|
|
+ value = sum;
|
|
|
+ subRate = parentRate;//把subRate 指向parentRate
|
|
|
+ }
|
|
|
+ } else if(subRate.subList && subRate.subList.length > 0){//输入树节结的父结点,子结点都等于父节点的值
|
|
|
+ subList = _.cloneDeep(subRate.subList);
|
|
|
+ for(let t of subList){
|
|
|
+ t.value = value
|
|
|
+ }
|
|
|
+ }
|
|
|
+ feeRateObject.setRateFromSub(subRate,value,subList);
|
|
|
},
|
|
|
|
|
|
destorySpreadView:function () {
|