Browse Source

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhongzewei 7 years ago
parent
commit
06843d72ea

+ 8 - 2
web/building_saas/main/js/models/calc_program.js

@@ -244,6 +244,12 @@ let calcTools = {
             treeNode.changed = true;
         };
     },
+    hasAdjustPrice: function(){      // 编办是否有材料的调整价发文
+        if (projectObj.project.projSetting.glj_col && projectObj.project.projSetting.glj_col.showAdjustPrice == true)
+            return true
+        else
+            return false;
+    },
     // 参数fieldName值: 'common.totalFee'、'equipment.unitFee'
     getFee: function (treeNode, fieldName) {
         if (!treeNode) return 0;
@@ -267,7 +273,7 @@ let calcTools = {
                 };
                 let qty = isTender ? me.uiGLJQty(glj["tenderQuantity"]) : me.uiGLJQty(glj["quantity"]);
                 let mprice = isTender ? me.uiGLJPrice(glj["tenderPrice"]) : me.uiGLJPrice(glj["marketPrice"]);
-                let aprice = me.uiGLJPrice(glj["adjustPrice"]);
+                let aprice = calcTools.hasAdjustPrice() ? me.uiGLJPrice(glj["adjustPrice"]) : me.uiGLJPrice(glj["basePrice"]);
 
                 if (priceType == priceTypes.ptDiffPrice){
                     if (aprice != mprice){
@@ -496,7 +502,7 @@ let calcTools = {
                 (treeNode.data.subType === gljType.MAIN_MATERIAL && baseName === calcBaseNames.ZCFJC) ||
                 (treeNode.data.subType === gljType.EQUIPMENT && baseName === calcBaseNames.SBFJC))
         ) {
-            let aprice = me.uiGLJPrice(treeNode.data.adjustPrice);
+            let aprice = me.uiGLJPrice(treeNode.data.basePrice);   // 量价虚拟的工料机不可能有发文,这里直接取定额价。
             let mprice = me.uiGLJPrice(treeNode.data.marketUnitFee);
             result = (mprice - aprice).toDecimal(decimalObj.ration.unitPrice);
         }

+ 11 - 6
web/building_saas/main/js/views/calc_base_view.js

@@ -130,9 +130,14 @@ let calcBaseView = {
     isDef: function (v) {
         return v !== undefined && v !== null;
     },
-    ifEdit: function () {
-        var selected = projectObj.project.mainTree.selected;
-        return MainTreeCol.readOnly.forCalcBase(selected)?false:true;
+    ifEdit: function (type) {
+        if (type == 'ration'){
+            return true;
+        }
+        else{
+            var selected = projectObj.project.mainTree.selected;
+            return MainTreeCol.readOnly.forCalcBase(selected)?false:true;
+        }
     },
     bindClassBtn: function () {
         let me = this;
@@ -338,7 +343,7 @@ let calcBaseView = {
             // ctx.fillText(value,x+w-3,y+h-3);
             GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, arguments);
             // }
-            if(calcBaseView.editingCell && !projectReadOnly && calcBaseView.ifEdit()){
+            if(calcBaseView.editingCell && !projectReadOnly && calcBaseView.ifEdit(type)){
                 if(calcBaseView.editingCell.row==options.row&&calcBaseView.editingCell.col==options.col){
                     var image = document.getElementById('f_btn'),imageMagin = 3;
                     var imageHeight = h-2*imageMagin;
@@ -374,7 +379,7 @@ let calcBaseView = {
             if(me.editingCell==null){
                 var showSelectBtn = true;
                 if(hitinfo.sheet.name()!='calc_detail'){
-                    showSelectBtn=me.ifEdit();
+                    showSelectBtn=me.ifEdit(type);
                 }
                 if(showSelectBtn){
                     me.editingCell={
@@ -390,7 +395,7 @@ let calcBaseView = {
                 var imageHeight = hitinfo.cellRect.height-2*imageMagin;
                 var imageWidth = hitinfo.cellRect.width*2/7;
                 if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
-                    if(!projectReadOnly && me.ifEdit()){
+                    if(!projectReadOnly && me.ifEdit(type)){
                         calcBaseView.initCalctor(type);
                     }
                 }