|
@@ -197,7 +197,7 @@ var projectObj = {
|
|
|
return value;
|
|
|
},
|
|
|
checkSpreadEditingText: function (editingText, colSetting) {
|
|
|
- if (colSetting.data.field === 'contain') {//colSetting.data.field === 'quantity'
|
|
|
+ if (colSetting.data.field === 'contain'||colSetting.data.field === 'feesIndex.common.unitFee'|| colSetting.data.field === 'feesIndex.common.totalFee') {//colSetting.data.field === 'quantity'
|
|
|
return this.checkFormulaValidField(editingText, colSetting);
|
|
|
}
|
|
|
else if (colSetting.data.field === 'programID') {
|
|
@@ -448,15 +448,29 @@ var projectObj = {
|
|
|
else if(fieldName ==='contain'){//编辑含量
|
|
|
project.Ration.updateContain(value,node);
|
|
|
}
|
|
|
- else if (fieldName === 'quantity' || fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee' || fieldName === 'programID' ||
|
|
|
+ else if (fieldName === 'quantity' || fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee' || fieldName === 'programID' ||
|
|
|
fieldName === 'subType' || fieldName === 'calcBase' || fieldName === 'isSubcontract'){
|
|
|
if (fieldName === 'quantity') {
|
|
|
quantityEditObj.checkingAndUpdate(editingText,node);
|
|
|
// project.quantity_detail.editMainTreeNodeQuantity(value,node,fieldName,editingText);
|
|
|
return;
|
|
|
}
|
|
|
- else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee') {
|
|
|
- if (value) {value = parseFloat(value).toDecimal(decimalObj.decimal("unitPrice", node))};
|
|
|
+ else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee') {
|
|
|
+ if(isNaN(value)){//说明输入的是无效的字符
|
|
|
+ //value == null && editingText!=null && editingText!=""
|
|
|
+ alert("当前输入的数据类型不正确,请重新输入。");
|
|
|
+ projectObj.mainController.refreshTreeNode([node]);
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (value) {
|
|
|
+ if(fieldName === 'feesIndex.common.unitFee') value = parseFloat(value).toDecimal(decimalObj.decimal("unitPrice", node));
|
|
|
+ if(fieldName === 'feesIndex.common.totalFee' && node.data.quantity){//修改了综合合价后,反算综合单价,然后再由计算程序算个综合合价出来
|
|
|
+ let t_quantity = scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));
|
|
|
+ value = scMathUtil.roundForObj(value,getDecimal("unitPrice", node));
|
|
|
+ let unitfee = scMathUtil.roundForObj(value/t_quantity,getDecimal("totalPrice", node));
|
|
|
+ calcTools.setFieldValue(node, 'feesIndex.common.unitFee', unitfee);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
else if (fieldName === 'calcBase') {
|
|
|
//zhong
|
|
@@ -490,8 +504,7 @@ var projectObj = {
|
|
|
node.data.quantity =scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));
|
|
|
}
|
|
|
project.calcProgram.calcAndSave(node);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
if (node.sourceType === project.Bills.getSourceType()) {
|
|
|
project.Bills.updateField(node.source, fieldName, value, false);
|
|
|
}
|
|
@@ -503,11 +516,9 @@ var projectObj = {
|
|
|
}
|
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
|
}
|
|
|
- }
|
|
|
- else if(value==null && fieldName ==='feeRate'){
|
|
|
+ } else if(value==null && fieldName ==='feeRate'){
|
|
|
project.FeeRate.cleanFeeRateID(node);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
|
}
|
|
|
},
|