Przeglądaj źródła

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

zhangweicheng 6 lat temu
rodzic
commit
3338b310c5

+ 19 - 1
modules/pm/facade/pm_facade.js

@@ -25,7 +25,8 @@ module.exports={
     isFirst: isFirst,
     getShareInfo: getShareInfo,
     prepareInitialData: prepareInitialData,
-    changeFile:changeFile
+    changeFile:changeFile,
+    copyForSectionError: copyForSectionError,
 };
 
 
@@ -903,6 +904,23 @@ async function updateUsedList(userId, compilation) {
 async function copyCompleRationSection(userId, compilationId) {
     await sectionTreeDao.copyDataFromTemplate(userId, compilationId);
 }
+
+/*
+ * 解决问题:
+ * 发布了编办之后,才设置了人材机库模板,导致已登录的用户不存在人材机库的分类树
+ * 为该编办下,人材机分类模板为空的用户,拷贝模板数据
+ * */
+async function copyForSectionError(compilation) {
+    let users = await userModel.find({}, '_id');
+    for (let user of users) {
+        let userId = user._id.toString();
+        let existCount = await compleGljSectionModel.find({userId}).count();
+        if (existCount === 0) {
+            await copyCompleGljSection(userId, compilation);
+        }
+    }
+}
+
 //拷贝补充人材机分类树
 async function copyCompleGljSection(userId, compilationId) {
     let templateData = await compleGljSectionTModel.find({compilationId: compilationId});

+ 14 - 6
web/building_saas/main/js/views/project_view.js

@@ -496,14 +496,12 @@ var projectObj = {
                     }
                     node.data.userCalcBase = value;
                     project.calcBase.calculate(node);
-                    //删除清单基数,单价要清空
-                    if (value === '') {
-                        calcTools.setFieldValue(node, 'feesIndex.common.unitFee', 0);
-                    }
                     if(!project.calcBase.success){
                         let activeCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
                         projectObj.mainController.refreshTreeNode([node]);
                         return;
+                    } else if (value === '') {//删除清单基数,单价要清空
+                        calcTools.setFieldValue(node, 'feesIndex.common.unitFee', 0);
                     }
                     // if (value) {value = parseFloat(value).toDecimal(decimalObj.decimal("totalPrice", node))};
                 };
@@ -1359,8 +1357,14 @@ var projectObj = {
                     },
                     visible: function(key, opt){//2018-11-08  新需求,这个按钮先隐藏,有需要再放开
                         let selected = project.mainTree.selected;
-                        return selected && selected.sourceType == ModuleNames.bills &&
-                            !_.isEmpty(selected.data.flagsIndex) && selected.data.flagsIndex.fixed.flag === fixedFlag.EQUIPMENT_ACQUISITION_FEE
+                        if (selected && selected.sourceType == ModuleNames.bills) {
+                            //属于的固定清单
+                            let belongFlag = cbTools.getBelongFlag(selected);
+                            if (belongFlag && belongFlag === fixedFlag.EQUIPMENT_ACQUISITION_FEE) {
+                                return true;
+                            }
+                        }
+                        return false;
                     }
                 },
                 "spr2": '--------',
@@ -3234,6 +3238,10 @@ $('#calcBaseFeeRateConf').click(function () {
             $('#calcBaseFeeRate').modal('hide');
         }
     }
+    //删除清单基数,要清空单价
+    if (projectObj.project.calcBase.success && calcBaseValue === '') {
+        calcTools.setFieldValue(selected, 'feesIndex.common.unitFee', 0);
+    }
     if(!projectObj.project.calcBase.success && cusFeeRate==false){
         return;
     } else if((!validateFeeRate || selected.data.feeRateID === parseInt(feeRateObject.feeRateSelection.ID)) && needToSave) {