Преглед на файлове

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/YangHuCost

zhongzewei преди 6 години
родител
ревизия
85000801cf

+ 1 - 1
modules/reports/rpt_component/jpc_flow_tab.js

@@ -935,7 +935,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
             if (removeCellIds.length > 0) {
                 //排序,保证一定的顺序,不能用默认的方式(默认方式是针对字符串的简单排序)
                 removeCellIds.sort(function (idx1, idx2) {
-                    return idx1 - idx2;
+                    return parseInt(idx1) - parseInt(idx2);
                 });
                 for (let idx = removeCellIds.length - 1; idx >= 0; idx--) {
                     rstPageCells.splice(removeCellIds[idx], 1);

+ 12 - 0
modules/reports/util/rpt_pdf_util.js

@@ -150,6 +150,7 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
                     restTopH = restH;
                 }
             }
+            let spaceIdxArr = [];
             for (let i = 0; i < values.length; i++) {
                 // area[JV.IDX_TOP] = cell[JV.PROP_AREA][JV.PROP_TOP] + i * (height / values.length) + offsetY;
                 // area[JV.IDX_BOTTOM] = cell[JV.PROP_AREA][JV.PROP_TOP] + (i + 1) * (height / values.length) + offsetY;
@@ -158,7 +159,18 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
                 if (values[i] === null || values[i] === undefined || values[i] === 'null') {
                     values[i] = "";
                 }
+                // 因pdfkit输出空格只有一半宽度,需要额外加空格补上 -----------------------------
+                if (typeof(values[i]) === "string") {
+                    for (let j = 0; j < values[i].length; j++) {
+                        if (values[i][j] === ' ') spaceIdxArr.push(j);
+                    }
+                }
+                for (let j = spaceIdxArr.length - 1; j >= 0; j--) {
+                    values[i] = values[i].slice(0, spaceIdxArr[j]) + ' ' + values[i].slice(spaceIdxArr[j]);
+                }
+                // -----------------------------
                 private_drawText(values[i], area, font, control);
+                spaceIdxArr = [];
             }
         }
     }

+ 2 - 1
modules/users/models/log_model.js

@@ -121,7 +121,8 @@ class LogModel extends BaseModel {
         }
         let getData = {
             url: 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip,
-            encoding: 'utf8'
+            encoding: 'utf8',
+            timeout:2000
         };
         return new Promise(function (resolve, reject) {
             try {

+ 6 - 6
modules/users/models/user_model.js

@@ -67,10 +67,10 @@ class UserModel extends BaseModel {
                 Request.post(postData, function (err, postResponse, body) {
                     if (err) {
                         console.log('111');
-                        throw '请求错误';
+                        reject('请求错误');
                     }
                     if (postResponse.statusCode !== 200) {
-                        throw '通行证验证失败!';
+                        reject('通行证验证失败!');
                     }
                     resolve(body);
                 });
@@ -103,10 +103,10 @@ class UserModel extends BaseModel {
                 Request.post(postData, function (err, postResponse, body) {
                     if (err) {
                         console.log('111');
-                        throw '请求错误';
+                        reject('请求错误');
                     }
                     if (postResponse.statusCode !== 200) {
-                        throw '通行证验证失败!';
+                        reject('通行证验证失败!');
                     }
                     resolve(body);
                 });
@@ -135,10 +135,10 @@ class UserModel extends BaseModel {
                 Request.post(postData, function (err, postResponse, body) {
                     if (err) {
                         console.log('111');
-                        throw '请求错误';
+                        reject('请求错误');
                     }
                     if (postResponse.statusCode !== 200) {
-                        throw '通行证验证失败!';
+                        reject('通行证验证失败!');
                     }
                     resolve(body);
                 });

+ 1 - 1
web/building_saas/main/html/main.html

@@ -1452,7 +1452,7 @@
                         </label>
                     </div>
                     <div class="form-check">
-                        <input class="form-check-input zlfb-check" type="checkbox" checked id="bill_recode"  >
+                        <input class="form-check-input zlfb-check" type="checkbox"  id="bill_recode"  >
                         <label class="form-check-label">
                             清单重新编码
                         </label>

+ 4 - 3
web/building_saas/main/js/models/bills.js

@@ -801,14 +801,15 @@ var Bills = {
                 me.tree.m_delete(idTreeNodes);
                 $.bootstrapLoading.end();
                 //重新计算
-                project.installation_fee.calcInstallationFee(function (isChange) {
+            /*    project.installation_fee.calcInstallationFee(function (isChange) { 养护没有安装增加费,同时计算安装增加费的clone 那里性能很低
                     project.calcProgram.calcAllNodesAndSave();
                     if(!isChange) {
                         project.projectGLJ.loadData();
                     }
                     gljOprObj.refreshView();
-                });
-
+                });*/
+                project.calcProgram.calcNodesAndSave(parentNodes);
+                gljOprObj.refreshView();
                 if (isDeleteChild){
                     calcTools.forceSelect(parentNode);
                 }

+ 13 - 7
web/building_saas/main/js/models/calc_program.js

@@ -468,15 +468,21 @@ let calcTools = {
             sumU = undefined;
         }
         else if (me.isLeafBill(treeNode)){
-            if (isGather){
-                me.getGLJList(treeNode, false);
-                sumT = eTFee();
+            if (projectObj.project.Bills.isEngineerEst(treeNode)){
+                sumT = treeNode.data.feesIndex['common'].totalFee;
+                sumU = treeNode.data.feesIndex['common'].unitFee;
             }
-            else
-                sumT = eTFeeByChildren();
+            else{
+                if (isGather){
+                    me.getGLJList(treeNode, false);
+                    sumT = eTFee();
+                }
+                else
+                    sumT = eTFeeByChildren();
 
-            let q = nodeQ ? nodeQ : 1;
-            sumU = (sumT / q).toDecimal(decimalObj.bills.totalPrice);
+                let q = nodeQ ? nodeQ : 1;
+                sumU = (sumT / q).toDecimal(decimalObj.bills.totalPrice);
+            }
         }
         else if (me.isRationCategory(treeNode)){
             me.getGLJList(treeNode, false);

+ 4 - 4
web/building_saas/main/js/models/installation_fee.js

@@ -223,6 +223,10 @@ var installation_fee = {
             }
         };
        installation_fee.prototype.calcInstallationFee=function(callback){
+            if(!projectObj.project.isInstall()){//如果不是安装工程,则不用计算
+                if(callback) callback(false);
+                return;
+            }
             let project = projectObj.project,me = this;
             let engineering = projectObj.project.projectInfo.property.engineering;
             let installSetting = projectObj.project.projectInfo.property.installSetting;
@@ -235,10 +239,6 @@ var installation_fee = {
             let FBMap = {};//保存分部下对应的补项
             let usedBXMap = {};//有使用到的补项
             let startTime =  +new Date();
-            if(!projectObj.project.isInstall()){//如果不是安装工程,则不用计算
-                if(callback) callback(false);
-                return;
-            }
             for(let bx of BXs){//把补项放入映射表中
                 FBMap[bx.ParentID] = bx;
             }

+ 5 - 1
web/building_saas/main/js/views/project_view.js

@@ -285,7 +285,7 @@ var projectObj = {
         let stdMatchCode, formatCode, matchs;
         let searchStdBillsAndUpdate = function (stdCode, formatCode) {
             let orgCode = node.data.code?node.data.code.substr(0, 9):"";
-            if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length === 0) {
+            if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length === 0 || updateCodeCheck(value,stdCode === orgCode)) {
                 normalUpdate(node,value,stdCode === orgCode);
             } else if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length > 0) {
                 let libId = projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id;
@@ -384,6 +384,10 @@ var projectObj = {
             project.Bills.updateField(billnode.source, 'code', codeValue, toBX);
             me.mainController.refreshTreeNode([billnode], false);
         }
+
+        function updateCodeCheck(value,sameStdCode) {//如果前9位相同,只改前三位,则只更新编号就行了,不用做其它处理
+            return sameStdCode && value && value.length == 12
+        }
     },
     updateRationCode: function (node, value) {
         if(!isDef(node.data.code) && (!isDef(value) || value.toString().trim() == '')){

+ 5 - 0
web/building_saas/main/js/views/sub_view.js

@@ -12,6 +12,7 @@ let subObj = {
     fisrtLinked: true,  //提升焦点变换性能 2019年4月15日
     TZJNRrePercent:null,
     showGljSubTab:false,
+    firstOpen:true,
     initSubSpread:function () {
         //清单精灵
         BillsElf.buildSheet();
@@ -128,6 +129,10 @@ let subObj = {
         if (gljOprObj.activeTab !== gljOprObj.preActiveTab) {   //提高焦点变换性能 2019年4月15日
             refreshSubSpread();
         }
+        if(this.firstOpen == true){
+            $("#zmhs_toogle").click();
+            this.firstOpen = false;
+        }
     }
 };