Browse Source

Merge branch 'master' of http://192.168.1.41:3000/maixinrong/Calculation

MaiXinRong 5 years ago
parent
commit
10415a5dbf

+ 3 - 1
app/extend/helper.js

@@ -878,7 +878,9 @@ module.exports = {
         if (mobiles.length > 0) {
             const sms = new SMS(this.ctx);
             const tenderName = await sms.contentChange(this.ctx.tender.data.name);
-            const content = '【纵横计量支付】' + tenderName + msg;
+            let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+            projectName = projectName !== '' ? projectName + ',' : '';
+            const content = '【纵横计量支付】' + projectName + tenderName + msg;
             sms.send(mobiles, content);
         }
     },

+ 0 - 1
app/lib/sms.js

@@ -95,7 +95,6 @@ class SMS {
      * @return {Object} - 解析结果
      */
     async contentChange(content) {
-        console.log(content);
         let str = content.replace(/【/g, '(');
         str = str.replace(/】/g, ')');
         str = str.replace(/工程款/g, '***');

+ 2 - 2
app/public/js/material.js

@@ -220,7 +220,7 @@ $(document).ready(() => {
             const sheet = materialSpread.getActiveSheet();
             const select = SpreadJsObj.getSelectObject(sheet);
             // 还需判断是否已被调差清单调用
-            setObjEnable($('#del'), !readOnly && select && materialBase.isEdit(select));
+            setObjEnable($('#del'), !readOnly && select && materialBase.isUsed(select));
         },
         add: function () {
             const sheet = materialSpread.getActiveSheet();
@@ -521,7 +521,7 @@ $(document).ready(() => {
                         const sheet = materialSpread.getActiveSheet();
                         const select = SpreadJsObj.getSelectObject(sheet);
                         materialSpreadObj.refreshActn();
-                        if (!readOnly && select && materialBase.isEdit(select)) {
+                        if (!readOnly && select && materialBase.isUsed(select)) {
                             return false;
                         } else {
                             return true;

+ 37 - 24
app/service/ledger_audit.js

@@ -214,17 +214,20 @@ module.exports = app => {
                 });
 
                 // 添加短信通知-需要审批提醒功能
-                const smsUser = await this.ctx.service.projectAccount.getDataById(audit.audit_id);
-                if (smsUser.auth_mobile !== '' && smsUser.auth_mobile !== undefined && smsUser.sms_type !== '' && smsUser.sms_type !== null) {
-                    const smsType = JSON.parse(smsUser.sms_type);
-                    if (smsType[smsTypeConst.const.TZ] !== undefined && smsType[smsTypeConst.const.TZ].indexOf(smsTypeConst.judge.approval.toString()) !== -1) {
-                        const tenderInfo = await this.ctx.service.tender.getDataById(tenderId);
-                        const sms = new SMS(this.ctx);
-                        const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '台帐需要您审批。';
-                        sms.send(smsUser.auth_mobile, content);
-                    }
-                }
+                await this.ctx.helper.sendUserSms(audit.audit_id, smsTypeConst.const.TZ,
+                    smsTypeConst.judge.approval.toString(), '台帐需要您审批。');
+                // const smsUser = await this.ctx.service.projectAccount.getDataById(audit.audit_id);
+                // if (smsUser.auth_mobile !== '' && smsUser.auth_mobile !== undefined && smsUser.sms_type !== '' && smsUser.sms_type !== null) {
+                //     const smsType = JSON.parse(smsUser.sms_type);
+                //     if (smsType[smsTypeConst.const.TZ] !== undefined && smsType[smsTypeConst.const.TZ].indexOf(smsTypeConst.judge.approval.toString()) !== -1) {
+                //         const tenderInfo = await this.ctx.service.tender.getDataById(tenderId);
+                //         const projectName = await this.ctx.service.tenderInfo.getDealInfoBuildName(tenderId);
+                //         const sms = new SMS(this.ctx);
+                //         const tenderName = await sms.contentChange(tenderInfo.name);
+                //         const content = '【纵横计量支付】' + (projectName !== '' ? projectName + '-' : '') + tenderName + '台帐需要您审批。';
+                //         sms.send(smsUser.auth_mobile, content);
+                //     }
+                // }
 
                 await transaction.commit();
             } catch (err) {
@@ -263,17 +266,19 @@ module.exports = app => {
                         await transaction.update(this.tableName, {id: nextAudit.id, status: auditConst.status.checking, begin_time: time});
 
                         // 添加短信通知-需要审批提醒功能
-                        const smsUser = await this.ctx.service.projectAccount.getDataById(nextAudit.audit_id);
-                        if (smsUser.auth_mobile !== '' && smsUser.auth_mobile !== undefined && smsUser.sms_type !== '' && smsUser.sms_type !== null) {
-                            const smsType = JSON.parse(smsUser.sms_type);
-                            if (smsType[smsTypeConst.const.TZ] !== undefined && smsType[smsTypeConst.const.TZ].indexOf(smsTypeConst.judge.approval.toString()) !== -1) {
-                                const tenderInfo = await this.ctx.service.tender.getDataById(tenderId);
-                                const sms = new SMS(this.ctx);
-                                const tenderName = await sms.contentChange(tenderInfo.name);
-                                const content = '【纵横计量支付】' + tenderName + '台帐需要您审批。';
-                                sms.send(smsUser.auth_mobile, content);
-                            }
-                        }
+                        // const smsUser = await this.ctx.service.projectAccount.getDataById(nextAudit.audit_id);
+                        // if (smsUser.auth_mobile !== '' && smsUser.auth_mobile !== undefined && smsUser.sms_type !== '' && smsUser.sms_type !== null) {
+                        //     const smsType = JSON.parse(smsUser.sms_type);
+                        //     if (smsType[smsTypeConst.const.TZ] !== undefined && smsType[smsTypeConst.const.TZ].indexOf(smsTypeConst.judge.approval.toString()) !== -1) {
+                        //         const tenderInfo = await this.ctx.service.tender.getDataById(tenderId);
+                        //         const sms = new SMS(this.ctx);
+                        //         const tenderName = await sms.contentChange(tenderInfo.name);
+                        //         const content = '【纵横计量支付】' + this.ctx.session.sessionProject.name + '-' + tenderName + '台帐需要您审批。';
+                        //         sms.send(smsUser.auth_mobile, content);
+                        //     }
+                        // }
+                        await this.ctx.helper.sendUserSms(nextAudit.audit_id, smsTypeConst.const.TZ,
+                            smsTypeConst.judge.approval.toString(), '台帐需要您审批。');
                     } else {
                         // 同步标段信息
                         await transaction.update(this.ctx.service.tender.tableName, {id: tenderId, ledger_status: checkType});
@@ -301,9 +306,15 @@ module.exports = app => {
                         if (mobile_array.length > 0) {
                             const sms = new SMS(this.ctx);
                             const tenderName = await sms.contentChange(tenderInfo.name);
-                            const content = '【纵横计量支付】' + tenderName + '台账审批通过,请登录系统处理。';
+                            let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                            projectName = projectName !== '' ? projectName + ',' : '';
+                            const content = '【纵横计量支付】' + projectName + tenderName + '台账审批通过,请登录系统处理。';
                             sms.send(mobile_array, content);
                         }
+                        // const auditList = await this.getAuditors(tenderId, times);
+                        // const users = this._.pull(this._.map(auditList, 'user_id'), audit.id);
+                        // await this.ctx.helper.sendUserSms(users, smsTypeConst.const.TZ,
+                        //     smsTypeConst.judge.result.toString(), '台账审批通过,请登录系统处理。');
                     }
                 } else {
                     // 同步标段信息
@@ -341,7 +352,9 @@ module.exports = app => {
                     if (mobile_array.length > 0) {
                         const sms = new SMS(this.ctx);
                         const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '台账审批退回,请登录系统处理。';
+                        let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                        projectName = projectName !== '' ? projectName + ',' : '';
+                        const content = '【纵横计量支付】' + projectName + tenderName + '台账审批退回,请登录系统处理。';
                         sms.send(mobile_array, content);
                     }
                 }

+ 1 - 1
app/service/material_list.js

@@ -232,7 +232,7 @@ module.exports = app => {
             for (const ml of materialListData) {
                 // 获取小计值
                 let gather_qty = null;
-                if (ml.mx_id !== null) {
+                if (ml.mx_id !== null && ml.mx_id !== '') {
                     gather_qty = await this.ctx.service.stagePos.getGatherQtyByMaterial(ml.tid, newMaterial.stage_id, ml.gcl_id, ml.mx_id);
                 } else {
                     gather_qty = await this.ctx.service.stageBills.getGatherQtyByMaterial(ml.tid, newMaterial.stage_id, ml.gcl_id);

+ 18 - 6
app/service/stage_audit.js

@@ -243,7 +243,9 @@ module.exports = app => {
                         const stageInfo = await this.ctx.service.stage.getDataById(audit.sid);
                         const sms = new SMS(this.ctx);
                         const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,需要您审批。';
+                        let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                        projectName = projectName !== '' ? projectName + ',' : '';
+                        const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,需要您审批。';
                         sms.send(smsUser.auth_mobile, content);
                     }
                 }
@@ -299,7 +301,9 @@ module.exports = app => {
                             const stageInfo = await this.ctx.service.stage.getDataById(nextAudit.sid);
                             const sms = new SMS(this.ctx);
                             const tenderName = await sms.contentChange(tenderInfo.name);
-                            const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,需要您审批。';
+                            let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                            projectName = projectName !== '' ? projectName + ',' : '';
+                            const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,需要您审批。';
                             sms.send(smsUser.auth_mobile, content);
                         }
                     }
@@ -343,7 +347,9 @@ module.exports = app => {
                         const tenderInfo = await this.ctx.service.tender.getDataById(stageInfo.tid);
                         const sms = new SMS(this.ctx);
                         const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,审批通过。';
+                        let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                        projectName = projectName !== '' ? projectName + ',' : '';
+                        const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,审批通过。';
                         sms.send(mobile_array, content);
                     }
                 }
@@ -420,7 +426,9 @@ module.exports = app => {
                     const tenderInfo = await this.ctx.service.tender.getDataById(stageInfo.tid);
                     const sms = new SMS(this.ctx);
                     const tenderName = await sms.contentChange(tenderInfo.name);
-                    const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,审批退回。';
+                    let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                    projectName = projectName !== '' ? projectName + ',' : '';
+                    const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,审批退回。';
                     sms.send(mobile_array, content);
                 }
 
@@ -503,7 +511,9 @@ module.exports = app => {
                         const stageInfo = await this.ctx.service.stage.getDataById(audit.sid);
                         const sms = new SMS(this.ctx);
                         const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,需要您审批。';
+                        let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                        projectName = projectName !== '' ? projectName + ',' : '';
+                        const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,需要您审批。';
                         sms.send(smsUser.auth_mobile, content);
                     }
                 }
@@ -717,7 +727,9 @@ module.exports = app => {
                         const stageInfo = await this.ctx.service.stage.getDataById(audit.sid);
                         const sms = new SMS(this.ctx);
                         const tenderName = await sms.contentChange(tenderInfo.name);
-                        const content = '【纵横计量支付】' + tenderName + '第' + stageInfo.order + '期,需要您审批。';
+                        let projectName = await sms.contentChange(this.ctx.tender.info.deal_info.buildName);
+                        projectName = projectName !== '' ? projectName + ',' : '';
+                        const content = '【纵横计量支付】' + projectName + tenderName + '第' + stageInfo.order + '期,需要您审批。';
                         sms.send(smsUser.auth_mobile, content);
                     }
                 }

+ 2 - 2
app/view/dashboard/index.ejs

@@ -275,8 +275,8 @@
                 <div class="col-2">
                     <div class="card">
                         <div class="card-body">
-                            <h4 class="card-title"><%= salesmanData.username %></h4>
-                            <h6 class="card-subtitle mb-2 text-muted"><%= officeName %></h6>
+                            <h5 class="card-title">纵横技术支持</h5>
+                            <!--<h6 class="card-subtitle mb-2 text-muted"><%= salesmanData.username %></h6>-->
                         </div>
                         <ul class="list-group list-group-flush">
                             <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="腾讯QQ"><i class="fa fa-qq"></i> <%=salesmanData.qq%></li>

+ 15 - 8
app/view/material/list_modal.ejs

@@ -7,22 +7,29 @@
                 <h5 class="modal-title">选择调差工料</h5>
             </div>
             <div class="modal-body">
-                <div class="input-group input-group-sm mb-2">
-                    <input type="text" class="form-control form-control-sm" name="search" id="search_input" placeholder="输入 工料编号 / 名称 检索" aria-describedby="button-addon2">
-                    <div class="input-group-append">
-                        <button class="btn btn-outline-secondary btn-sm" type="button" id="search_btn"><i class="fa fa-search"></i></button>
-                    </div>
-                </div>
+                <!--<div class="input-group input-group-sm mb-2">-->
+                    <!--<input type="text" class="form-control form-control-sm" name="search" id="search_input" placeholder="输入 工料编号 / 名称 检索" aria-describedby="button-addon2">-->
+                    <!--<div class="input-group-append">-->
+                        <!--<button class="btn btn-outline-secondary btn-sm" type="button" id="search_btn"><i class="fa fa-search"></i></button>-->
+                    <!--</div>-->
+                <!--</div>-->
                 <div class="modal-height-300">
                     <table class="table table-sm table-bordered">
                         <thead>
-                        <tr class="text-center"><th>基数</th><th>选择</th><th>编号</th><th>名称</th><th>单位</th><th>规格</th></tr>
+                        <tr class="text-center"><th>选择</th><th>编号</th><th>名称</th><th>单位</th><th>规格</th></tr>
                         </thead>
                         <tbody id="materialBills">
                         <% for (const [index,m] of materialBillsData.entries()) { %>
                         <% if (m.code !== null && m.code !== '') { %>
                         <tr class="table-secondary">
-                            <td><%= index+1 %></td>
+                            <td><input type="checkbox" checked disabled value="<%= m.id %>"></td>
+                            <td><%= m.code %></td>
+                            <td><%= m.name %></td>
+                            <td><%= m.unit %></td>
+                            <td><%= m.spec %></td>
+                        </tr>
+                        <% } else { %>
+                        <tr class="table-secondary" style="display: none">
                             <td><input type="checkbox" checked disabled value="<%= m.id %>"></td>
                             <td><%= m.code %></td>
                             <td><%= m.name %></td>