Browse Source

feat: 首页待关注、待处理预付款推送接入

lanjianrong 5 years ago
parent
commit
bf3ec90752

+ 2 - 0
app/controller/dashboard_controller.js

@@ -28,6 +28,7 @@ module.exports = app => {
             const auditChanges = await ctx.service.changeAudit.getAuditChange(ctx.session.sessionUser.accountId);
             const auditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.session.sessionUser.accountId);
             const auditMaterial = await ctx.service.materialAudit.getAuditMaterial(ctx.session.sessionUser.accountId);
+            const auditAdvance = await ctx.service.advanceAudit.getAuditAdvance(ctx.session.sessionUser.accountId);
             const pa = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
             // const lastNotice = pa.last_notice ? pa.last_notice : (pa.last_notice === 0 ? new Date() : new Date(pa.last_login * 1000));
             // const noticeLedger = await ctx.service.ledgerAudit.getNoticeTender(ctx.session.sessionProject.id, pa.id);
@@ -62,6 +63,7 @@ module.exports = app => {
                 auditChanges,
                 auditRevise,
                 auditMaterial,
+                auditAdvance,
                 role: pa.role,
                 authMobile: pa.auth_mobile,
                 acLedger: auditConst.ledger,

+ 1 - 1
app/public/js/advance_audit.js

@@ -108,7 +108,7 @@ $(document).ready(function () {
         }
         const prev_amount = prevAdvance && prevAdvance.prev_total_amount || 0
         const prev_total_amount = ZhCalc.add(cur_amount, prev_amount)
-        const remark = $('#ad-remark').val().replace(/(\r\n)|(\n)/g, '<br/>').replace(/\s/g, ' ') || null
+        const remark = filterText($('#ad-remark').val())
         const data = {pay_ratio, cur_amount, prev_amount, prev_total_amount, remark, status: auditConst.status.checking}
         postData(preUrl + '/audit/start', data, (data) => {
             window.location.reload()

+ 16 - 0
app/service/advance_audit.js

@@ -262,6 +262,7 @@ module.exports = app => {
                     await transaction.update(this.ctx.service.advance.tableName, {
                         id: advanceId,
                         status: checkData.checkType,
+                        end_time: time,
                     });
                 }
                 await transaction.commit();
@@ -478,6 +479,21 @@ module.exports = app => {
             const sqlParam = [tenderId];
             return this.db.query(sql, sqlParam);
         }
+
+        /**
+         * 获取待处理审核列表
+         * @param {Number} auditorId 审核人id
+         */
+        async getAuditAdvance(auditorId) {
+            const sql = 'SELECT ma.`audit_id`, ma.`times`, ma.`order`, ma.`create_time`, ma.`end_time`, ma.`tid`, ma.`vid`,' +
+                        '    m.`order` As `morder`, m.`status` As `mstatus`,' +
+                        '    t.`name`, t.`project_id`, t.`type`, t.`user_id` ' +
+                        '  FROM ?? AS ma, ?? AS m, ?? As t ' +
+                        '  WHERE ((ma.`audit_id` = ? and ma.`status` = ?) OR (m.`uid` = ? and ma.`status` = ? and m.`status` = ? and ma.`times` = (m.`times`-1)))' +
+                        '    and ma.`vid` = m.`id` and ma.`tid` = t.`id`';
+            const sqlParam = [this.tableName, this.ctx.service.advance.tableName, this.ctx.service.tender.tableName, auditorId, auditConst.status.checking, auditorId, auditConst.status.checkNo, auditConst.status.checkNo];
+            return await this.db.query(sql, sqlParam);
+        }
     }
     return AdvanceAudit;
 };

+ 7 - 1
app/view/advance/modal_audit.ejs

@@ -1180,12 +1180,18 @@
         }
         const prev_amount = prevAdvance && prevAdvance.prev_total_amount || 0
         const prev_total_amount = ZhCalc.add(cur_amount, prev_amount)
-        const remark = $('#ad-remark').val() || null
+        const remark = filterText($('#ad-remark').val())
         const data = { pay_ratio, cur_amount, prev_amount, prev_total_amount, remark, status: auditConst.status.checking }
         postData('<%- preUrl %>/audit/start', data, (data) => {
             window.location.reload()
         }, () => {
             window.location.reload()
         })
+        return false
+    }
+
+    function filterText(text) {
+        if (!text) return null
+        return text.replace(/(\r\n)|(\n)/g, '<br/>').replace(/\s/g, ' ')
     }
 </script>

+ 30 - 1
app/view/dashboard/index.ejs

@@ -28,7 +28,7 @@
                     <div class="card">
                         <div class="card-header">需要你处理</div>
                         <div class="card-body">
-                            <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0) { %>
+                            <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0) { %>
                                 <ul class="list-unstyled m-0">
                                     <% for (const t of auditTenders) { %>
                                         <% if (t.ledger_status === acLedger.status.checking) { %>
@@ -145,6 +145,35 @@
                                             </li>
                                         <% } %>
                                     <% } %>
+                                    <% for (const am of auditAdvance) { %>
+                                        <% if (am.mstatus !== acAdvance.status.checkNo) { %>
+                                            <li class="media pb-3 mb-3 border-bottom-1">
+                                                <div class="media-body">
+                                                    <div class="row">
+                                                        <div class="col-auto"><span class="badge badge-warning">预付款</span></div>
+                                                        <div class="col-6"><a href="/tender/<%- am.tid %>"><%- am.name %></a> 第<%- am.morder %>期</div>
+                                                        <div class="col-3 ml-auto text-right pl-0"><a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail" class="btn btn-sm btn-outline-primary">审批</a></div>
+                                                    </div>
+                                                    <p class="mt-1 mb-0"><%- ctx.session.sessionUser.name %><small class="ml-1 text-muted"><%- (role ? '- ' + role : '') %></small>
+                                                        <span class="pull-right text-muted"><%- am.create_time.toLocaleString() %></span>
+                                                    </p>
+                                                </div>
+                                            </li>
+                                        <% } else { %>
+                                            <li class="media pb-3 mb-3 border-bottom-1">
+                                                <div class="media-body">
+                                                    <div class="row">
+                                                        <div class="col-auto"><span class="badge badge-warning">预付款</span></div>
+                                                        <div class="col-6"><a href="/tender/<%- am.tid %>"><%- am.name %></a> 第<%- am.morder %>期</div>
+                                                        <div class="col-3 ml-auto text-right pl-0"><a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail" class="btn btn-sm btn-outline-primary">重新上报</a></div>
+                                                    </div>
+                                                    <p class="mt-1 mb-0"><%- ctx.session.sessionUser.name %><small class="ml-1 text-muted"><%- (role ? '- ' + role : '') %></small>
+                                                        <span class="pull-right text-muted"><%- am.end_time.toLocaleString() %></span>
+                                                    </p>
+                                                </div>
+                                            </li>
+                                        <% } %>
+                                    <% } %>
                             </ul>
                             <% } else { %>
                             <!--没有处理信息-->

+ 1 - 1
config/web.js

@@ -591,7 +591,7 @@ const JsFiles = {
                 mergeFile: 'advance',
             },
             info: {
-                files: ['/public/js/decimal.min.js', '/public/js/global.js'],
+                files: ['/public/js/decimal.min.js'],
                 mergeFiles: ['/public/js/zh_calc.js', '/public/js/advance_audit.js'],
                 mergeFile: 'advance_audit',
             },