소스 검색

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

TonyKang 6 년 전
부모
커밋
d77f5e8a8d

+ 27 - 0
modules/all_models/vehicle_vessel_tax_items.js

@@ -0,0 +1,27 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2019/2/18
+ * @version
+ */
+const mongoose = require('mongoose');
+const Schema = mongoose.Schema;
+
+const vehicleVesselTax = new Schema({
+    libID: String,
+    ID: String,
+    code: String,
+    name: String,
+    spec: String,
+    unit: String,
+    vehicleVesselTax: Number, //车船税
+    useTax: Number, //使用税
+    useTaxMeasure: Number, //使用税计量吨
+    annualMonth: Number, //年工作月
+    annualMachine: Number, //年工作台班
+}, {versionKey: false});
+
+mongoose.model('std_vehicleVesselTax_items', vehicleVesselTax, 'std_vehicleVesselTax_items');

+ 26 - 0
modules/all_models/vehicle_vessel_tax_lib.js

@@ -0,0 +1,26 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2019/2/18
+ * @version
+ */
+
+/*
+* 车船税编辑器
+* */
+const mongoose = require('mongoose');
+const Schema = mongoose.Schema;
+const oprSchema = require('../all_schemas/opr_schema');
+
+const vehicleVesselTaxLib = new Schema({
+    ID: String,
+    name: String,
+    creator: String,
+    createDate: Date,
+    recentOpr: [oprSchema]
+}, {versionKey: false});
+
+mongoose.model('std_vehicleVesselTax_lib', vehicleVesselTaxLib, 'std_vehicleVesselTax_lib');

+ 1 - 1
modules/glj/controllers/glj_controller.js

@@ -145,7 +145,7 @@ class GLJController extends BaseController {
                             }
                         }
                         let unitPriceUpdate = {
-                            base_price: basePrice,
+                           // base_price: basePrice, ---- 20190218 修改机械台班的组成物,仅重新计算机械预算价,定额价保持不变。
                             market_price: marketPrice
                         };
                         let unitPriceModel = new UnitPriceModel();

+ 8 - 1
modules/glj/models/glj_list_model.js

@@ -786,7 +786,14 @@ class GLJListModel extends BaseModel {
             let u_index = this.getIndex(tmp,['code','name','specs','unit','type']);
             unitPriceData[u_index] = tmp;
         }
-        return [gljData,mixRatioData,unitPriceData];
+        let c_gljData = [];
+        for(let g of gljData){//过滤掉不是组成物的工料机
+            let g_index =  this.getIndex(g,['code','name','specs','unit','type']);
+            if(mixRatioData[g_index]) c_gljData.push(g);
+        }
+
+
+        return [c_gljData,mixRatioData,unitPriceData];
 
     }
 

+ 5 - 2
web/building_saas/main/js/controllers/block_controller.js

@@ -537,10 +537,13 @@ let BlockController = {
 
         function createBillsData(billsData) { //ID、重新生成code
             let temData = _.cloneDeep(billsData);
+            console.log(temData.children);
             //删除旧数据
+            if(temData.children && temData.children.length>0){//如果是有子项,说明是计算得到的,要删除重新计算,没有子项,但是fees有值,说明是自已输入的,值要一起粘贴
+                delete  temData.fees;
+                delete  temData.feesIndex;
+            }
             delete  temData._id;
-            delete  temData.fees;
-            delete  temData.feesIndex;
             delete  temData.children;
             delete  temData.quantity_details;
             delete  temData.__v;

+ 3 - 3
web/building_saas/main/js/models/calc_base.js

@@ -583,21 +583,21 @@ let baseFigureTemplate = {
         'LXGCJLF': function (tender) {
             let baseFee = this['DEJZAZGCSBSS'](tender),
                 fee = cbTools.getProgressiveFee(baseFee, '路线工程监理费');
-            return fee < 20000 ? 20000 : fee;
+            return fee > 0 && fee < 20000 ? 20000 : fee;
         },
         //{独立桥梁隧道工程监理费}
         //使用累进办法计算,不足2万按2万,计算基数为{定额建筑安装工程(其中定额设备购置费按 40%计)}
         'QLSDGCJLF': function (tender) {
             let baseFee = this['DEJZAZGCSBSS'](tender),
                 fee = cbTools.getProgressiveFee(baseFee, '独立桥梁隧道工程监理费');
-            return fee < 20000 ? 20000 : fee;
+            return fee > 0 && fee < 20000 ? 20000 : fee;
         },
         //{设计文件审查费}
         // 使用累进办法计算,不足3千按3千,计算基数为{定额建筑安装工程(其中定额设备购置费按 40%计)}
         'SJWJSCF': function (tender) {
             let baseFee = this['DEJZAZGCSBSS'](tender),
                 fee = cbTools.getProgressiveFee(baseFee, '设计文件审查费');
-            return fee < 3000 ? 3000 : fee;
+            return fee > 0 && fee < 3000 ? 3000 : fee;
         },
         //{路线勘察设计费}
         // 使用累进办法计算,计算基数为{定额建筑安装工程(其中定额设备购置费按 40%计)}

+ 4 - 0
web/building_saas/main/js/models/calc_program.js

@@ -233,6 +233,10 @@ let calcTools = {
             if (treeNode.data.feesIndex[arr[1]][arr[2]] != value) {
                 treeNode.data.feesIndex[arr[1]][arr[2]] = value;
                 treeNode.updateData.feesIndex = treeNode.data.feesIndex;
+                if(fieldName == 'feesIndex.common.unitFee'){
+                    let fee = _.find(treeNode.updateData.fees,{'fieldName':arr[1]});
+                    if(fee) fee[arr[2]] = value;
+                }
                 treeNode.changed = true;
             }
         }

+ 1 - 1
web/building_saas/main/js/models/composition.js

@@ -133,7 +133,7 @@ Composition.prototype.updateConsumptionInCache = function (pid,recode,updateData
         }
         // 设置父级3个价格
         parentGlj.unit_price.market_price =  updateData.market_price;
-        parentGlj.unit_price.base_price =  updateData.base_price;
+       // parentGlj.unit_price.base_price =  updateData.base_price;
         return mglj.id;
     }
 }

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

@@ -591,6 +591,10 @@ let ration_glj = {
                         repositoryId: glj.repositoryId
                     };
                     if(pEngineer) new_glj.programID = pEngineer;
+                    let belongFlag = cbTools.getBelongFlag(selected);
+                    if (belongFlag && belongFlag === fixedFlag.EQUIPMENT_ACQUISITION_FEE) {
+                        new_glj.programID = projectObj.project.calcProgram.compiledTemplateMaps['设备购置'];
+                    }
                     if (glj.hasOwnProperty("compilationId")) {
                         new_glj.from = "cpt";
                         if (glj.code.indexOf('-') != -1) {//这条工料机是用户通过修改名称、规格、型号等保存到补充工料机库的

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

@@ -767,7 +767,7 @@ projectGljObject={
         }
         value = scMathUtil.roundToString(value,getDecimal("glj.quantity"));
         let [parentMarketPrice, parentBasePrice] = me.getCompositionSumPrice('modify', row, value);
-        let updateData ={id: recode.mix_ratio_id, field: 'mix_ratio.' + dataCode, value: value, market_price: parentMarketPrice, base_price: parentBasePrice};
+        let updateData ={id: recode.mix_ratio_id, field: 'mix_ratio.' + dataCode, value: value, market_price: parentMarketPrice};//, base_price: parentBasePrice ---20190218 修改机械台班的组成物,仅重新计算机械预算价,定额价保持不变。
         let prow = parentSheet.getActiveRowIndex();//取父机械或组成物的下标
         let prowData = parentSheet.name() == 'projectGljSheet'?me.projectGljSheetData[prow]:me.materialTree.items[prow].data;
         composition.updateConsumption(updateData,recode,prowData.id,function (sid) {

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

@@ -1344,26 +1344,35 @@ var projectObj = {
                         return !project.Ration.canAdd(project.mainTree.selected);
                     },
                     callback: function (key, opt) {
-                        var selected = project.mainTree.selected;
-                        if(selected.sourceType == ModuleNames.bills){
+                        let selected = project.mainTree.selected;
+                       /* if(selected.sourceType == ModuleNames.bills){
                             if(selected.data.type == billType.FX||selected.data.type ==billType.BILL){
                                 if(selected.data.calcBase&&selected.data.calcBase!=""){
                                     alert("当前有基数计算,不能插入定额/量价/人材机。");
                                     return;
                                 }
                             }
+                        }*/
+                        if(selected.data.calcBase&&selected.data.calcBase!=""){
+                            alert("当前有基数计算,不能插入定额/量价/人材机。");
+                            return;
                         }
                         getGLJData('insert');// ProjectController.addRation(project, controller, rationType.volumePrice);
                     },
                     visible: function(key, opt){//2018-11-08  新需求,这个按钮先隐藏,有需要再放开
                         let selected = project.mainTree.selected;
-                        if (selected && selected.sourceType == ModuleNames.bills) {
+                        //属于的固定清单
+                        let belongFlag = cbTools.getBelongFlag(selected);
+                        if (belongFlag && belongFlag === fixedFlag.EQUIPMENT_ACQUISITION_FEE) {
+                            return true;
+                        }
+                        /*if (selected && selected.sourceType == ModuleNames.bills) {
                             //属于的固定清单
                             let belongFlag = cbTools.getBelongFlag(selected);
                             if (belongFlag && belongFlag === fixedFlag.EQUIPMENT_ACQUISITION_FEE) {
                                 return true;
                             }
-                        }
+                        }*/
                         return false;
                     }
                 },

+ 2 - 2
web/building_saas/pm/js/pm_newMain.js

@@ -961,7 +961,7 @@ const projTreeObj = {
                 hitinfo.sheet.repaint();
             }
         };
-        TreeNodeCellType.prototype.processMouseMove = function (hitInfo) {
+        /*TreeNodeCellType.prototype.processMouseMove = function (hitInfo) {
             let sheet = hitInfo.sheet;
 
             let div = sheet.getParent().getHost();
@@ -975,7 +975,7 @@ const projTreeObj = {
                 canvas.style.cursor='default';
             }
             return false;
-        };
+        };*/
         TreeNodeCellType.prototype.processMouseEnter = function (hitinfo) {
             let text = hitinfo.sheet.getText(hitinfo.row, hitinfo.col);
             let value = hitinfo.sheet.getValue(hitinfo.row, hitinfo.col);

+ 2 - 2
web/building_saas/pm/js/pm_share.js

@@ -389,7 +389,7 @@ const pmShare = (function () {
                 hitinfo.sheet.repaint();
             }
         };
-        TreeNodeCellType.prototype.processMouseMove = function (hitInfo) {
+        /*TreeNodeCellType.prototype.processMouseMove = function (hitInfo) {
             let sheet = hitInfo.sheet;
             let div = sheet.getParent().getHost();
             let canvasId = div.id + "vp_vp";
@@ -402,7 +402,7 @@ const pmShare = (function () {
                 canvas.style.cursor='default';
             }
             return false;
-        };
+        };*/
         TreeNodeCellType.prototype.processMouseEnter = function (hitinfo) {
             let text = hitinfo.sheet.getText(hitinfo.row, hitinfo.col);
             let value = hitinfo.sheet.getValue(hitinfo.row, hitinfo.col);