فهرست منبع

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

zhangweicheng 7 سال پیش
والد
کامیت
74abe57afd

+ 1 - 7
modules/pm/controllers/pm_controller.js

@@ -248,14 +248,8 @@ module.exports = {
         request.session.sessionCompilation = compilationData;
         sessionCompilation = request.session.sessionCompilation;
         //更新用户的使用过的费用定额列表
-        let userData = await userModel.findOne({_id: mongoose.Types.ObjectId(request.session.sessionUser.id)}, '-_id used_list');
         //是否第一次进入该费用定额
-        let isFirst = false;
-        if (userData) {
-            isFirst = !_.find(userData.used_list, function (o) {
-                return o.compilationId === compilationData._id.toString();
-            });;
-        }
+        let isFirst = await pm_facade.isFirst(request.session.sessionUser.id, compilationData._id.toString());
         // 清单计价
         let billValuation = sessionCompilation.bill_valuation !== undefined ?
             sessionCompilation.bill_valuation : [];

+ 24 - 8
modules/pm/facade/pm_facade.js

@@ -21,6 +21,7 @@ module.exports={
     projectType: projectType,
     getPosterityProjects: getPosterityProjects,
     isShare: isShare,
+    isFirst: isFirst,
     getShareInfo: getShareInfo,
     prepareInitialData: prepareInitialData,
     changeFile:changeFile
@@ -931,17 +932,32 @@ async function isShare(userId, project){
     return false;
 }
 
+//用户是否第一次进入费用定额
+async function isFirst(userId, compilationId) {
+    let userData = await userModel.findOne({_id: mongoose.Types.ObjectId(userId)}, '-_id used_list');
+    let isFirst = false;
+    if (userData) {
+        isFirst = !_.find(userData.used_list, function (o) {
+            return o.compilationId === compilationId;
+        });;
+    }
+    return isFirst;
+}
+
 //用户第一次进入费用定额的数据准备
 async function prepareInitialData(userId, compilation, example) {
-    let prepareTask = [
-        updateUsedList(userId, compilation),
-        copyCompleRationSection(userId, compilation),
-        copyCompleGljSection(userId, compilation)
-    ];
-    if (example && example.length > 0) {
-        prepareTask.push(copyExample(userId, compilation, example));
+    let first = await isFirst(userId, compilation);
+    if (first) {
+        await updateUsedList(userId, compilation);
+        let prepareTask = [
+            copyCompleRationSection(userId, compilation),
+            copyCompleGljSection(userId, compilation)
+        ];
+        if (example && example.length > 0) {
+            prepareTask.push(copyExample(userId, compilation, example));
+        }
+        await Promise.all(prepareTask);
     }
-    await Promise.all(prepareTask);
 }
 
 async function updateUsedList(userId, compilation) {

+ 8 - 1
web/building_saas/main/js/views/block_lib.js

@@ -573,8 +573,15 @@ var blockLibObj = {
         me.mainTree.selected = me.mainTree.items[me.mainSheet.getActiveRowIndex()];
     },
     onCellDoubleClick: function (sender, args) {
+        if (blockLibObj.curIsCategory()) {
+            hintBox.infoBox('系统提示', `双击是“一对一克隆”,不支持分类操作,请在块文件上双击!`, 1);
+            return;
+        }
         let projectNode = projectObj.project.mainTree.selected;
-        if (!calcTools.isLeafBill(projectNode)) return;
+        if (!calcTools.isLeafBill(projectNode)) {
+            hintBox.infoBox('系统提示', `双击是“一对一克隆”,请在造价书界面选择最底层的分项/补项/清单进行操作!`, 1);
+            return;
+        }
         blockLibObj.cloneType = 1;
         $("#div_cloneOptions").modal({show: true});
     },

+ 0 - 2
web/building_saas/pm/html/project-management.html

@@ -6,7 +6,6 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta http-equiv="x-ua-compatible" content="ie=edge">
     <title>项目管理-纵横建筑云计价</title>
-    <!-- inject:css -->
     <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="/web/building_saas/css/main.css">
     <link rel="stylesheet" href="/web/building_saas/css/custom.css">
@@ -15,7 +14,6 @@
     <!--zTree-->
     <link rel="stylesheet" href="/lib/ztree/css/zTreeStyle.css" type="text/css">
     <link rel="stylesheet" href="/lib/jquery-contextmenu/jquery.contextMenu.css">
-    <!-- endinject -->
     <link rel="shortcut icon" href="/web/building_saas/css/favicon.ico">
     <link rel="icon" type="image/gif" href="/web/building_saas/css/animated_favicon1.gif">
     <script>

+ 6 - 6
web/over_write/js/jiangxi_2017.js

@@ -151,7 +151,7 @@ if(typeof baseFigureMap !== 'undefined'){
     baseFigureMap = {
         //与清单直接关联=======
         '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
-        '分部分项直接费': {base: 'FBFXZJF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+        //'分部分项直接费': {base: 'FBFXZJF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
         '分部分项定额人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
         '分部分项人工费': {base: 'FBFXRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
         '分部分项材料费': {base: 'FBFXCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
@@ -203,7 +203,7 @@ if(typeof baseFigureMap !== 'undefined'){
         '分包人工工日': {base: 'FBRGGR', class: 'FBF'},
         '估价项目定额人工费': {base: 'GJXMDERGF', class: 'GJXM'},
         '估价项目定额机械费': {base: 'GJXMDEJXF', class: 'GJXM'},
-        '估价项目直接费': {base: 'GJXMZJF', class: 'GJXM'},
+        //'估价项目直接费': {base: 'GJXMZJF', class: 'GJXM'},
         '估价项目人工费': {base: 'GJXMRGF', class: 'GJXM'},
         '估价项目材料费': {base: 'GJXMCLF', class: 'GJXM'},
         '估价项目机械费': {base: 'GJXMJXF', class: 'GJXM'},
@@ -212,7 +212,7 @@ if(typeof baseFigureMap !== 'undefined'){
     };
 }
 if(typeof baseFigureTemplate !== 'undefined'){
-    baseFigureTemplate['FBFXZJF'] =  function (tender) {//分部分项直接费
+    /*baseFigureTemplate['FBFXZJF'] =  function (tender) {//分部分项直接费
         if(cbTools.isUnDef(calcBase.fixedBills[fixedFlag.SUB_ENGINERRING])){
             return 0;
         }
@@ -221,7 +221,7 @@ if(typeof baseFigureTemplate !== 'undefined'){
         if(cbTools.isUnDef(bill)) return 0;
         if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
         return cbTools.isDef(bill.feesIndex.direct) && cbTools.isDef(bill.feesIndex.direct[totalFeeType]) ? bill.feesIndex.direct[totalFeeType] : 0;
-    };
+    };*/
     baseFigureTemplate['FBFXRGF'] =  function (tender) {//分部分项人工费(市场人工费)
         if(cbTools.isUnDef(calcBase.fixedBills[fixedFlag.SUB_ENGINERRING])){
             return 0;
@@ -367,7 +367,7 @@ if(typeof baseFigureTemplate !== 'undefined'){
         }
         return rst;
     };
-    baseFigureTemplate['GJXMZJF'] =  function (tender) {//估计项目直接费
+    /*baseFigureTemplate['GJXMZJF'] =  function (tender) {//估计项目直接费
         const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
         let rst = 0;
         let rations = calcBase.project.Ration.datas;
@@ -377,7 +377,7 @@ if(typeof baseFigureTemplate !== 'undefined'){
             }
         }
         return rst;
-    };
+    };*/
     baseFigureTemplate['GJXMRGF'] =  function (tender) {//估计项目人工费(市场人工费)
         const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
         let rst = 0;