|
@@ -178,7 +178,7 @@ var feeRateObject={
|
|
|
sheet.getCell(row, 0).cellType(treeType);
|
|
|
visibleMap[data[row].ID] = treeType.collapsed;
|
|
|
feeRateObject.setRowVisible(data,row,visibleMap,sheet);
|
|
|
- } else if (col === 1 && commonUtil.isDef(data[row].originalRate) && data[row].originalRate !== +val) {
|
|
|
+ } else if (col === 1 && this.rateShouldMark(data[row], val)) {
|
|
|
sheet.getCell(row, col).foreColor('red');
|
|
|
}
|
|
|
}
|
|
@@ -186,6 +186,32 @@ var feeRateObject={
|
|
|
sheet.resumeEvent();
|
|
|
sheet.resumePaint();
|
|
|
},
|
|
|
+ rateShouldMark: function (rateItem, val) {
|
|
|
+ if (!rateItem) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (rateItem.rate === null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (rateItem.sum) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (rateItem.subFeeRate && rateItem.subFeeRate.recodes && rateItem.subFeeRate.recodes.length) {
|
|
|
+ const selectedSubRateValues = [];
|
|
|
+ rateItem.subFeeRate.recodes.forEach(record => {
|
|
|
+ record.optionList.forEach(opt => {
|
|
|
+ if (opt.selected) {
|
|
|
+ selectedSubRateValues.push(opt.value);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ const selectedID = selectedSubRateValues.join('-');
|
|
|
+ const valInMap = rateItem.subFeeRate.valueMaps.find(item => item.ID === selectedID);
|
|
|
+ return !!(valInMap && valInMap.value !== +val);
|
|
|
+ } else {
|
|
|
+ return commonUtil.isDef(rateItem.originalRate) && rateItem.originalRate !== +val;
|
|
|
+ }
|
|
|
+ },
|
|
|
setRowVisible:function (data,row,visibleMap,sheet) {
|
|
|
sheet.getRange(row , -1, 1, -1).visible(getVisible(data[row].ParentID));//显示或隐藏
|
|
|
function getVisible(ParentID) {
|
|
@@ -632,7 +658,7 @@ var feeRateObject={
|
|
|
}
|
|
|
temData[fieldID] = value ;
|
|
|
updateDatas.push({rateID:recode.ID,doc:temData});
|
|
|
- refreshA.push({col:c.col,row:c.row,fieldID:fieldID,value:value,originalRate:recode.originalRate,rateID:recode.ID});
|
|
|
+ refreshA.push({col:c.col,row:c.row,fieldID:fieldID,value:value,rateItem:recode,rateID:recode.ID});
|
|
|
}
|
|
|
if(updateDatas.length > 0){
|
|
|
$.bootstrapLoading.start();
|
|
@@ -641,7 +667,7 @@ var feeRateObject={
|
|
|
for(let r of refreshA){
|
|
|
me.mainFeeRateSheet.setValue(r.row, r.col, r.value);
|
|
|
if(r.fieldID == 'rate'){
|
|
|
- const foreColor = commonUtil.isDef(r.originalRate) && r.originalRate !== +r.value ? 'red' : 'black';
|
|
|
+ const foreColor = feeRateObject.rateShouldMark(r.rateItem, r.value) ? 'red' : 'black';
|
|
|
me.mainFeeRateSheet.getCell(r.row, r.col).foreColor(foreColor);
|
|
|
feerateInfo.push({rateID:r.rateID,value:r.value});
|
|
|
}
|