Jelajahi Sumber

Merge branch 'master' of http://192.168.1.12:3000/SmartCost/ConstructionCost

TonyKang 7 tahun lalu
induk
melakukan
969da356c4

+ 2 - 1
modules/main/controllers/calc_program_controller.js

@@ -32,8 +32,9 @@ async function getProjectCalcProgram(req, res) {
 async function getStdCalcProgram(req, res) {
     let result = {error: 0, message: '', data: null};
 
+    let data = JSON.parse(req.body.data);
     try {
-        let stdCP = await calcProgramFacade.getStdCalcProgramFile(req.body.ID);
+        let stdCP = await calcProgramFacade.getStdCalcProgramFile(data.ID);
         result.data= stdCP;
     }catch (err){
         result.error = 1;

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

@@ -46,7 +46,17 @@ module.exports = {
              * userId(String): Session.userID
              */
             //result._doc.userID == userId &&
-            if (result._doc.projType === projType.tender) {
+            let isShare = false;
+            if(userId !== result.userID){
+                //判断是否是打开分享的项目
+                for(let shareData of result.shareInfo){
+                    if(shareData.userID === userId){
+                        isShare = true;
+                        break;
+                    }
+                }
+            }
+            if ((userId === result.userID || isShare) && result._doc.projType === projType.tender) {
                 callback(true);
             } else {
                 callback(false);

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

@@ -1351,7 +1351,7 @@ let cbParser = {
             exps.push(exp);
         }
         //去{}
-        v = v.replace(/[{, }]/g, '');
+        v = v.replace(/[{, },]/g, '');
         for(let i = 0, len = exps.length;i < len; i++){
             exps[i].compileExp = '$CBC.base(\'' + exps[i].orgExp + '\')';
             //暂估材料费作特殊处理
@@ -1487,7 +1487,7 @@ let calcBase = {
             node.changed = true;
         }
         catch (err){
-            alert(me.errMsg);
+            alert(err);
         }
     }
 };

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

@@ -1465,7 +1465,6 @@ class CalcProgram {
 
             for (let i = 0; i < template.calcItems.length; i++) {
                 let item = template.calcItems[i];
-                // item.expression = analyzer.getExpression(item.dispExpr, template);
                 item.dispExpr = analyzer.getDispExpr(item.expression, template);
                 template.compiledCalcItems[item.ID] = item;
                 template.compiledCalcItems[item.ID + "_idx"] = i;

+ 2 - 1
web/building_saas/main/js/views/calc_base_view.js

@@ -135,8 +135,9 @@ let calcBaseView = {
             return true;
         }
         else{
+
             var selected = projectObj.project.mainTree.selected;
-            return MainTreeCol.readOnly.forCalcBase(selected)?false:true;
+            return selected && MainTreeCol.readOnly.forCalcBase(selected)?false:true;
         }
     },
     bindClassBtn: function () {

+ 33 - 0
web/building_saas/main/js/views/calc_program_manage.js

@@ -86,6 +86,22 @@ let calcProgramManage = {
             disableSpread(me.detailSpread);
         }
     },
+    getStdCalcProgramFiles: function(){
+        function getStdCPFilesHtml(stdCPLibs) {
+            let result = '<option value="">请选择计算程序标准库</option>';
+            if (stdCPLibs.length <= 0) {
+                return result;
+            };
+
+            for (let lib of stdCPLibs){
+                result += '<option value='+ lib.id +'>'+ lib.name +'</option>';
+            };
+            return result;
+        };
+
+        let stdCPHtml = getStdCPFilesHtml(projectInfoObj.projectInfo.engineeringInfo.program_lib);
+        $("#calcProgramFileSelect").html(stdCPHtml);
+    },
     onMainEnterCell: function(sender, args) {
         var me = calcProgramManage;
         var row = args.sheet.getActiveRowIndex();
@@ -474,6 +490,23 @@ $(document).ready(function(){
         sessionStorage.setItem('mainTab', '#tab_calc_program_manage');
         $(e.relatedTarget.hash).removeClass('active');
         calcProgramManage.buildSheet();
+        calcProgramManage.getStdCalcProgramFiles();
+    });
+
+    $("#calcProgramFileSelect").change(function() {
+        // 取标准库数据过来显示。
+        let libID = $(this).val();
+        if (libID == ''){
+
+            return false;
+        };
+
+        CommonAjax.post('/calcProgram/getStdCalcProgram', {"ID":  parseFloat(libID)}, function (data) {
+            projectObj.project.calcProgram.datas.templates = data.templates;
+            projectObj.project.calcProgram.compileAllTemps();
+            calcProgramManage.buildSheet();
+            // $('#this').val(libID);
+        });
     });
 });
 

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

@@ -366,7 +366,7 @@ var feeRateObject={
     },
     ifFeeRateEdit:function () {
         var selected = projectObj.project.mainTree.selected;
-        return MainTreeCol.readOnly.forFeeRate(selected)?false:true;
+        return selected&&MainTreeCol.readOnly.forFeeRate(selected)?false:true;
     },
     createSpreadView:function () {
         if (this.mainViews) {

+ 0 - 3
web/building_saas/main/js/views/project_view.js

@@ -1051,9 +1051,6 @@ var projectObj = {
         if(row == null || col == null){
             row = 0;
             col = 0;
-
-
-
        }
         row = parseInt(row);
         col = parseInt(col);

+ 2 - 2
web/users/html/login.html

@@ -17,10 +17,10 @@
             <h1 class="d-flex justify-content-center">Smartcost</h1>
             <h4 class="d-flex justify-content-center mb-2">用户登录</h4>
             <div class="form-group">
-                <input id="inputEmail" class="form-control " name="inputEmail" placeholder="通行账号 邮箱/手机" autofocus="" value="laiku123@qq.com" />
+                <input id="inputEmail" class="form-control " name="inputEmail" placeholder="通行账号 邮箱/手机" autofocus="" />
             </div>
             <div class="form-group">
-                <input id="inputPassword" class="form-control " name="inputPassword" placeholder="输入密码" type="password" value="19930523" />
+                <input id="inputPassword" class="form-control " name="inputPassword" placeholder="输入密码" type="password"/>
             </div>
             <div class="form-group" id="error-tips" style="display: none;">
                 <div class="alert alert-danger" role="alert">