Pārlūkot izejas kodu

支付审批待办页功能

laiguoran 2 gadi atpakaļ
vecāks
revīzija
70ce740ac9

+ 2 - 0
app/controller/dashboard_controller.js

@@ -33,6 +33,7 @@ module.exports = app => {
             const auditChangeProject = ctx.session.sessionProject.page_show.openChangeProject ? await ctx.service.changeProjectAudit.getAuditChangeProject(ctx.session.sessionUser.accountId) : [];
             const auditChangeApply = ctx.session.sessionProject.page_show.openChangeApply ? await ctx.service.changeApplyAudit.getAuditChangeApply(ctx.session.sessionUser.accountId) : [];
             const auditChangePlan = ctx.session.sessionProject.page_show.openChangePlan ? await ctx.service.changePlanAudit.getAuditChangePlan(ctx.session.sessionUser.accountId) : [];
+            const auditPayments = await ctx.service.paymentDetailAudit.getAuditPayment(ctx.session.sessionUser.accountId);
             const pa = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
             const noticeList = await ctx.service.noticePush.getNotice(ctx.session.sessionProject.id, pa.id);
             const projectData = await ctx.service.project.getDataById(ctx.session.sessionProject.id);
@@ -86,6 +87,7 @@ module.exports = app => {
                 auditChangeProject,
                 auditChangeApply,
                 auditChangePlan,
+                auditPayments,
                 shenpi_count,
                 total_count,
                 last_day: ctx.helper.calcDayNum(last_time),

+ 8 - 2
app/public/css/main.css

@@ -1882,6 +1882,9 @@ overflow-y: auto;
 .bg-new-material{
     background: rgba(187, 41, 210, 0.08) !important;
 }
+.bg-new-payment{
+    background: rgba(128, 128, 0, 0.08) !important;
+}
 .text-new-advance{
   color: rgba(241, 82, 91, 1) !important;
 }
@@ -1909,6 +1912,9 @@ overflow-y: auto;
 .text-new-material{
     color: rgba(187, 41, 210, 1); !important;
 }
+.text-new-payment{
+    color: rgba(128, 128, 0, 1) !important;
+}
 .text-width{
   width: 66px;
   text-align: center;
@@ -2054,7 +2060,7 @@ animation:shake 1s .2s ease both;}
 .private-stamp-img{
   display: inline-block;
   margin: auto;
-  vertical-align: middle; 
+  vertical-align: middle;
 }
 .private-stamp-img .check-state{
   position: absolute;
@@ -2090,4 +2096,4 @@ animation:shake 1s .2s ease both;}
 }
 .form-control-width{
     min-width: 450px;
-}
+}

+ 29 - 0
app/service/payment_detail_audit.js

@@ -589,6 +589,35 @@ module.exports = app => {
                 throw error;
             }
         }
+
+        /**
+         * 获取审核人需要审核的期列表
+         *
+         * @param auditorId
+         * @return {Promise<*>}
+         */
+        async getAuditPayment(auditorId) {
+            const sql =
+                'SELECT pda.`aid`, pda.`times`, pda.`order`, pda.`begin_time`, pda.`end_time`, pda.`tender_id`, pda.`tr_id`, pda.`td_id`,' +
+                '    pd.`code` As `scode`, pd.`order` As `sorder`, pd.`status` As `sstatus`,' +
+                '    t.`name`, t.`pid`, t.`uid` ' +
+                '  FROM ?? AS pda ' +
+                '    Left Join ?? AS pd On pda.`td_id` = pd.`id` ' +
+                '    Left Join ?? As t ON pda.`tender_id` = t.`id`' +
+                '  WHERE ((pda.`aid` = ? and pda.`status` = ?) OR (pd.`uid` = ? and pda.`status` = ? and pd.`status` = ? and pda.`times` = (pd.`times`-1)))' +
+                '  ORDER BY pda.`begin_time` DESC';
+            const sqlParam = [
+                this.tableName,
+                this.ctx.service.paymentDetail.tableName,
+                this.ctx.service.paymentTender.tableName,
+                auditorId,
+                auditConst.status.checking,
+                auditorId,
+                auditConst.status.checkNo,
+                auditConst.status.checkNo,
+            ];
+            return await this.db.query(sql, sqlParam);
+        }
     }
 
     return PaymentDetailAudit;

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

@@ -66,12 +66,15 @@
                                     <% if (auditMaterial.length !== 0) { %>
                                     <option value="1">材料调差(<%- auditMaterial.length %>)</option>
                                     <% } %>
+                                    <% if (auditPayments.length !== 0) { %>
+                                        <option value="1">支付审批(<%- auditPayments.length %>)</option>
+                                    <% } %>
                                 </select>
                             </div>
                         </div>
                         <div class="card-body p-0">
                             <div class="contant-height-one">
-                                <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0 || auditChangeProject.length !== 0 || auditChangeApply.length !== 0 || auditChangePlan.length !== 0) { %>
+                                <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0 || auditChangeProject.length !== 0 || auditChangeApply.length !== 0 || auditChangePlan.length !== 0 || auditPayments.length !== 0) { %>
                                 <style>
                                     #doing-list td {
                                         word-wrap:break-word;
@@ -226,6 +229,25 @@
                                                 </tr>
                                             <% } %>
                                         <% } %>
+                                        <% for (const audit of auditPayments) { %>
+                                            <% if (audit.sstatus !== acStage.status.checkNo) { %>
+                                                <tr data-type="2">
+                                                    <td><span class="bg-new-payment text-new-payment badge text-width">支付审批</span></td>
+                                                    <td><a href="/payment/<%- audit.tender_id %>/list/<%- audit.tr_id %>"><%- audit.name %></a> <a href="/payment/<%- audit.tender_id %>/detail/<%- audit.td_id %>"><%- audit.scode %></a></td>
+                                                    <td>第<%- audit.sorder %>期</td>
+                                                    <td><%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %></td>
+                                                    <td><a href="/payment/<%- audit.tender_id %>/detail/<%- audit.td_id %>" class="btn btn-outline-primary btn-sm btn-table" role="button"><% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审 批</a></td>
+                                                </tr>
+                                            <% } else { %>
+                                                <tr data-type="2">
+                                                    <td><span class="bg-new-payment text-new-payment badge text-width">支付审批</span></td>
+                                                    <td><a href="/payment/<%- audit.tender_id %>/list"><%- audit.name %></a> <a href="/payment/<%- audit.tender_id %>/detail/<%- audit.td_id %>"><%- audit.scode %></a></td>
+                                                    <td>第<%- audit.sorder %>期</td>
+                                                    <td><%- ctx.moment(audit.end_time).format('YYYY/MM/DD HH:mm') %></td>
+                                                    <td><a href="/payment/<%- audit.tender_id %>/detail/<%- audit.td_id %>" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
+                                                </tr>
+                                            <% } %>
+                                        <% } %>
                                     </tbody>
                                 </table>
                                 <% } else { %>

+ 1 - 1
app/view/payment/detail.ejs

@@ -114,7 +114,7 @@
                     </div>
                     <div class="col-6 ml-5">
                         <div class="d-flex flex-row">
-                            <a href="javascript: void(0);" onclick="auditRptPrintHelper.showPage()" class="mr-2" >刷新</a>
+                            <!--<a href="javascript: void(0);" onclick="auditRptPrintHelper.showPage()" class="mr-2" >刷新</a>-->
                             <a href="javascript: void(0);" class="mr-2"  onclick="auditRptPrintHelper.directPDF()">导出pdf</a>
                             <a href="javascript: void(0);" onclick="auditRptPrintHelper.directPrint()">打印</a>
                         </div>