zhangweicheng 6 years ago
parent
commit
abd5af2b67
1 changed files with 13 additions and 12 deletions
  1. 13 12
      web/building_saas/main/js/views/project_view.js

+ 13 - 12
web/building_saas/main/js/views/project_view.js

@@ -454,8 +454,7 @@ var projectObj = {
                     quantityEditObj.checkingAndUpdate(editingText,node);
                     quantityEditObj.checkingAndUpdate(editingText,node);
                    // project.quantity_detail.editMainTreeNodeQuantity(value,node,fieldName,editingText);
                    // project.quantity_detail.editMainTreeNodeQuantity(value,node,fieldName,editingText);
                     return;
                     return;
-                }
-                else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee') {
+                } else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee') {
                     if(isNaN(value)){//说明输入的是无效的字符
                     if(isNaN(value)){//说明输入的是无效的字符
                         //value == null && editingText!=null && editingText!=""
                         //value == null && editingText!=null && editingText!=""
                         alert("当前输入的数据类型不正确,请重新输入。");
                         alert("当前输入的数据类型不正确,请重新输入。");
@@ -464,15 +463,19 @@ var projectObj = {
                     }
                     }
                     if (value) {
                     if (value) {
                         if(fieldName === 'feesIndex.common.unitFee')  value = parseFloat(value).toDecimal(decimalObj.decimal("unitPrice", node));
                         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));
+                        if(fieldName === 'feesIndex.common.totalFee'){//修改了综合合价后,反算综合单价,然后再由计算程序算个综合合价出来
+                            let unitfee = 0;
+                            if(node.data.quantity){//如果工程量为0或空,综合合单直接填到综合单价
+                                let t_quantity = scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));
+                                value = scMathUtil.roundForObj(value,getDecimal("unitPrice", node));
+                                unitfee = scMathUtil.roundForObj(value/t_quantity,getDecimal("totalPrice", node));
+                            }else {
+                                unitfee = scMathUtil.roundForObj(value,getDecimal("totalPrice", node));
+                            }
                             calcTools.setFieldValue(node, 'feesIndex.common.unitFee', unitfee);
                             calcTools.setFieldValue(node, 'feesIndex.common.unitFee', unitfee);
                         }
                         }
                     }
                     }
-                }
-                else if (fieldName === 'calcBase') {
+                } else if (fieldName === 'calcBase') {
                     //zhong
                     //zhong
                     if(value === undefined ||value === null || value.toString().trim() === ''){
                     if(value === undefined ||value === null || value.toString().trim() === ''){
                         value = '';
                         value = '';
@@ -496,8 +499,7 @@ var projectObj = {
 
 
                 project.calcProgram.calcAndSave(node);
                 project.calcProgram.calcAndSave(node);
                 gljOprObj.showRationGLJSheetData();
                 gljOprObj.showRationGLJSheetData();
-            }
-            else if (node.sourceType === project.Bills.getSourceType()&&fieldName === 'unit'){//修改清单单位的时候清单工程量要重新4舍5入
+            } else if (node.sourceType === project.Bills.getSourceType()&&fieldName === 'unit'){//修改清单单位的时候清单工程量要重新4舍5入
                 node.data[fieldName] = value;
                 node.data[fieldName] = value;
                 node.changed = true;
                 node.changed = true;
                 if(node.data.quantity){
                 if(node.data.quantity){
@@ -507,8 +509,7 @@ var projectObj = {
             } else {
             } else {
                 if (node.sourceType === project.Bills.getSourceType()) {
                 if (node.sourceType === project.Bills.getSourceType()) {
                     project.Bills.updateField(node.source, fieldName, value, false);
                     project.Bills.updateField(node.source, fieldName, value, false);
-                }
-                else if (node.sourceType === project.Ration.getSourceType()) {
+                } else if (node.sourceType === project.Ration.getSourceType()) {
                     project.Ration.updateField(node.source, fieldName, value);
                     project.Ration.updateField(node.source, fieldName, value);
                 }
                 }
                 if (colSetting.data.wordWrap) {
                 if (colSetting.data.wordWrap) {