Explorar o código

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

zhongzewei %!s(int64=7) %!d(string=hai) anos
pai
achega
e00b5ea386

+ 5 - 1
modules/all_models/user.js

@@ -55,6 +55,10 @@ let schema = {
         type: Number,
         default: -1
     },
-    create_time: Number
+    create_time: Number,
+    user_type:{
+        type:String,
+        default:'normal'//  normal : 普通用户,test:测试用户
+    }
 };
 mongoose.model(collectionName, new Schema(schema, {versionKey: false}));

+ 15 - 11
web/building_saas/main/js/models/calc_program.js

@@ -261,8 +261,10 @@ let calcTools = {
         let price = 0, temp = 0, temp2 = 0;
         for (let glj of treeNode.data.gljList) {
             if (gljTypes.indexOf(glj.type) >= 0) {
-                calcTools.calcGLJTenderPrice(glj);
-                calcTools.calcGLJTenderQty(treeNode, glj);
+                if (isTender){
+                    calcTools.calcGLJTenderPrice(glj);
+                    calcTools.calcGLJTenderQty(treeNode, glj);
+                };
                 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"]);
@@ -284,7 +286,8 @@ let calcTools = {
         };
 
         if (priceType == priceTypes.ptDiffPrice){
-            result = (temp.toDecimal(decimalObj.ration.unitPrice) - temp2.toDecimal(decimalObj.ration.unitPrice)).toDecimal(decimalObj.ration.unitPrice);
+            // result = (temp.toDecimal(decimalObj.ration.unitPrice) - temp2.toDecimal(decimalObj.ration.unitPrice)).toDecimal(decimalObj.ration.unitPrice);
+            result = (temp - temp2).toDecimal(decimalObj.ration.unitPrice);
         }
         else{
             result = result.toDecimal(decimalObj.ration.unitPrice);
@@ -709,14 +712,15 @@ let calcTools = {
         glj.tenderQuantity = (glj.quantity * qCoe).toDecimal(decimalObj.glj.quantity);
     },
     calcGLJTenderPrice: function (glj) {
-        // let pCoe = 1;
-        // if (projectObj.project.property.tenderSetting && projectObj.project.property.tenderSetting.gljPriceTenderCoe)
-        //     pCoe = projectObj.project.property.tenderSetting.gljPriceTenderCoe;
-        // if (compositionTypes.indexOf(glj.type) >= 0)
-        //
-        // else
-        //     glj.tenderPrice = (glj.marketPrice * pCoe).toDecimal(decimalObj.glj.unitPrice);
-        glj.tenderPrice = projectObj.project.projectGLJ.getTenderMarketPrice(projectObj.project.projectGLJ.getDataByID(glj.projectGLJID));
+        if (!glj.projectGLJID){   // 量价定额虚拟出来的工料机,没有projectGLJID,在项目工料机中查不到。
+            let pCoe = 1;
+            if (projectObj.project.property.tenderSetting && projectObj.project.property.tenderSetting.gljPriceTenderCoe)
+                pCoe = projectObj.project.property.tenderSetting.gljPriceTenderCoe;
+            glj.tenderPrice = (glj.marketPrice * pCoe).toDecimal(decimalObj.glj.unitPrice);
+        }else{
+            let projGLJ = projectObj.project.projectGLJ.getDataByID(glj.projectGLJID);
+            glj.tenderPrice = projectObj.project.projectGLJ.getTenderMarketPrice(projGLJ);
+        };
     },
     // 界面显示的工料机价格,包括定额价、市场价等。参数 price 传入一个普通的价格数值即可。
     uiGLJPrice: function (price){

+ 3 - 0
web/building_saas/main/js/models/ration_glj.js

@@ -85,6 +85,9 @@ var ration_glj = {
                     let glj = JSON.parse(JSON.stringify(ration));
                     glj.type = glj.subType;
                     glj.totalQuantity = parseFloatPlus(ration.quantity);
+                    glj.markertPrice = glj.marketUnitFee;
+                    glj.basePrice = glj.marketUnitFee;
+                    glj.adjustPrice = glj.marketUnitFee;
                     result.push(glj);
                 }
                 else{

+ 1 - 1
web/building_saas/main/js/views/glj_col.js

@@ -39,7 +39,7 @@ let gljCol = {
             {headerName: "是否暂估", headerWidth: 60, dataCode: "is_evaluate", hAlign: "center", dataType: "String",cellType:'checkBox'},
             {headerName: "主要材料", headerWidth: 60, dataCode: "is_main_material", hAlign: "center", dataType: "String",cellType:'checkBox'},
             {headerName: "供货方式", headerWidth: 80, dataCode: "supply", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:supplyComboMap},
-            {headerName: "甲供数量", headerWidth: 100, dataCode: "supply_quantity", hAlign: "right", dataType: "Number",validator:"number"},
+            {headerName: "甲供数量", headerWidth: 100, dataCode: "supply_quantity", hAlign: "right", dataType: "Number",validator:"number",decimalField:'glj.quantity'},
             {headerName: "三材类别", headerWidth: 80, dataCode: "materialType", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:materialComboMap},
             {headerName: "三材系数", headerWidth: 100, dataCode: "materialCoe", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'material'
             {headerName: "交货方式", headerWidth: 90, dataCode: "delivery", hAlign: "left", dataType: "String"},

+ 1 - 1
web/building_saas/main/js/views/project_glj_view.js

@@ -401,7 +401,7 @@ projectGljObject={
             if(recode[c.dataCode] == c.value){
                 continue;
             }
-            me.getUpdateData(recode.id,c.value,c.dataCode,c.quantity,updateMap);
+            me.getUpdateData(recode.id,c.value,c.dataCode,recode.quantity,updateMap);
         }
         if(_.isEmpty(updateMap)){
             callback?callback():'';