123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <% include ../tender/tender_sub_menu.ejs %>
- <div class="panel-content">
- <div class="panel-title">
- <div class="title-main d-flex">
- <% include ../tender/tender_sub_mini_menu.ejs %>
- <div>
- <div class="d-inline-block">
- <div class="btn-group" id="sort-dropdown">
- <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="bpaixu">排序:创建时间</button>
- <div class="dropdown-menu" aria-labelledby="bpaixu">
- <ul class="list-unstyled px-3 mb-0" id="sort-radio">
- <li class="mb-2">
- <div class="custom-control custom-radio">
- <input type="radio" class="custom-control-input" id="pai1" name="paizhi" value="time" checked="">
- <label class="custom-control-label" for="pai1">创建时间</label>
- </div>
- </li>
- <li class="mb-2">
- <div class="custom-control custom-radio">
- <input type="radio" class="custom-control-input" id="pai3" name="paizhi" value="code">
- <label class="custom-control-label" for="pai3">变更令号</label>
- </div>
- </li>
- </ul>
- <ul class="list-unstyled px-3 pt-2 mb-0 border-top" id="order-radio">
- <li class="mb-2">
- <div class="custom-control custom-radio">
- <input type="radio" class="custom-control-input" id="pdown" name="paixu" value="desc" checked="">
- <label class="custom-control-label" for="pdown">降序</label>
- </div>
- </li>
- <li class="mb-2">
- <div class="custom-control custom-radio">
- <input type="radio" class="custom-control-input" id="pup" name="paixu" value="asc">
- <label class="custom-control-label" for="pup">升序</label>
- </div>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="d-inline-block">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="zhankai" data-value="<%- status %>"><% if (status !== 0) { %><%- filter.statusString[status] %>(<%- filter.count[status] %>)<% } else { %>全部<% } %></button>
- <div class="dropdown-menu" aria-labelledby="zhankai" id="status_select">
- <% if (status !== 0) { %><a class="dropdown-item" data-val="0" href="javascript:void(0);">全部</a><% } %>
- <% for (const fs in filter.status) { %>
- <% const f = filter.status[fs]; %>
- <% if (f !== status) { %><a class="dropdown-item" data-val="<%- f %>" href="javascript:void(0);"><%- filter.statusString[f] %>(<%- filter.count[f] %>)</a><% } %>
- <% } %>
- </div>
- </div>
- </div>
- <% if (ctx.subProject.page_show.openChangeState) { %>
- <div class="d-inline-block">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="state_zhankai" data-value="<%- state %>">变更令状态:<% if (state !== 0) { %><%- ctx.helper._.find(changeState, { order: state }).name %>(<%- ctx.helper._.find(changeState, { order: state }).count %>)<% } else { %>全部<% } %></button>
- <div class="dropdown-menu" aria-labelledby="state_zhankai" id="state_select">
- <% if (state !== 0) { %><a class="dropdown-item" data-val="0" href="javascript:void(0);">全部</a><% } %>
- <% for (const cs of changeState) { %>
- <% if (cs.order !== state) { %><a class="dropdown-item" data-val="<%- cs.order %>" href="javascript:void(0);"><%- cs.name %>(<%- cs.count %>)</a><% } %>
- <% } %>
- </div>
- </div>
- </div>
- <% } %>
- <div class="d-inline-block">
- <span class="ml-3">本页小计:<%- page_total %>元</span><span class="ml-3">合计:<%- tp %>元</span>
- </div>
- </div>
- <div class="ml-auto">
- <% if (tender.user_id === ctx.session.sessionUser.accountId || addPermission) { %>
- <a href="#add-bj" data-toggle="modal" data-target="#add-bj" class="btn btn-sm btn-primary pull-right ml-1">新建变更令</a>
- <a href="#setting" data-toggle="modal" data-target="#setting" class="btn btn-sm btn-outline-primary pull-right ml-2"><i class="fa fa-cog"></i></a>
- <a href="#batch-sb" data-toggle="modal" data-target="#batch-sb" class="btn btn-sm btn-primary pull-right ml-2">批量上报</a>
- <% } %>
- <% if (need_checking) { %>
- <a href="#batch-sp" data-toggle="modal" data-target="#batch-sp" class="btn btn-sm btn-success pull-right">批量审批</a>
- <% } %>
- </div>
- </div>
- </div>
- <div class="content-wrap">
- <div class="c-body">
- <input id="tenderName" value="<%= tender.name %>" type="hidden">
- <input id="dealCode" value="<%= dealCode %>" type="hidden">
- <input id="tenderId" value="<%= tender.id %>" type="hidden">
- <div class="sjs-height-0">
- <table class="table table-bordered" id="change-table">
- <thead class="text-center">
- <tr><th width="3%">序号</th>
- <th width="16%" id="sort_change">申请编号/变更令号</th><th width="22%">变更工程名称</th>
- <th width="7%">变更性质</th><% if (ctx.subProject.page_show.openChangeState) { %><th width="7%">变更令状态</th><% } %>
- <th width="7%">变更金额</th><th width="7%">计价金额</th>
- <th width="7%">不计价金额</th><th width="6%">创建人</th><th width="7%">审批状态</th>
- <th width="12%">审批进度</th><th width="4%">操作</th>
- </tr>
- </thead>
- <tbody id="changeList">
- <% const qualityArray = []; %>
- <% for (const t in changeConst.quality) { %>
- <% const cQuality = changeConst.quality[t] %>
- <% qualityArray[cQuality.value] = cQuality.name %>
- <% } %>
- <% if (changes.length > 0) { %>
- <% for (const [index, c] of changes.entries()) { %>
- <tr>
- <td class="text-center"><%- (pageInfo.page-1)*pageInfo.pageSize + index+1 %></td>
- <td><a href="/tender/<%- tender.id %>/change/<%- c.cid %>/information"><% if (c.status !== auditConst.status.checked) { %><%- c.code %><% } else { %><%- c.p_code %><% } %></a></td>
- <td><%- c.name %></td>
- <td><%- qualityArray[c.quality] %><% c.quality %></td>
- <% if (ctx.subProject.page_show.openChangeState) { %>
- <td><%- ctx.helper._.find(changeState, { order: c.state }).name %></td>
- <% } %>
- <td style="text-align: right"><%= ctx.helper.roundNum(c.total_price, tpUnit) %></td>
- <td style="text-align: right"><%= ctx.helper.roundNum(c.valuation_tp, tpUnit) %></td>
- <td style="text-align: right"><%= ctx.helper.roundNum(c.unvaluation_tp, tpUnit) %></td>
- <td style="text-align: center"><%- c.username %></td>
- <td class="text-center">
- <% if (c.status === auditConst.status.uncheck && c.uid === ctx.session.sessionUser.accountId) { %>
- <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
- <% } else if ((c.status === auditConst.status.checkNo || c.status === auditConst.status.revise) && c.curAuditors && c.uid === ctx.session.sessionUser.accountId) { %>
- <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
- <% } else if (c.status === auditConst.status.checking && c.curAuditors && c.curAuditors.findIndex(x => { return x.uid === ctx.session.sessionUser.accountId; }) >= 0) { %>
- <% const curAudit = c.curAuditors.find(x => { return x.uid === ctx.session.sessionUser.accountId; }); %>
- <% if (curAudit.status === auditConst.status.checking) { %>
- <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
- <% } else { %>
- <span class="<%- auditConst.auditStringClass[c.status] %>"><%- auditConst.auditString[c.status] %></span>
- <% } %>
- <% } else if (c.status === auditConst.status.checkNoPre && c.curAuditor2 && c.curAuditor2.findIndex(x => { return x.uid === ctx.session.sessionUser.accountId; }) >= 0) { %>
- <% const curAudit = c.curAuditors2.find(x => { return x.uid === ctx.session.sessionUser.accountId; }); %>
- <% if (curAudit.status === auditConst.status.checking) { %>
- <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
- <% } else { %>
- <span class="<%- auditConst.auditStringClass[curAudit.status] %>"><%- auditConst.auditString[curAudit.status] %></span>
- <% } %>
- <% } else { %>
- <span class="<%- auditConst.auditStringClass[c.status] %>"><%- auditConst.auditString[c.status] %></span>
- <% } %>
- </td>
- <td class="<%- auditConst.auditProgressClass[c.status] %>">
- <% if (c.status === auditConst.status.checked && c.final_auditor_str) { %>
- <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- c.cid %>"><%- c.final_auditor_str %></a>
- <% } else if (c.curAuditors.length > 0) { %>
- <% if (c.curAuditors[0].audit_type === auditType.key.common) { %>
- <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- c.cid %>"><%- c.curAuditors[0].name %><%if (c.curAuditors[0].role !== '' && c.curAuditors[0].role !== null) { %>-<%- c.curAuditors[0].role %><% } %></a>
- <% } else { %>
- <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- c.cid %>"><%- ctx.helper.transFormToChinese(c.curAuditors[0].audit_order) + '审' %></a>
- <% } %>
- <% } %>
- <%- auditConst.auditProgress[c.status] %>
- </td>
- <td class="text-center"><% if (c.uid === ctx.session.sessionUser.accountId && (c.status === auditConst.status.uncheck || ((c.status === auditConst.status.checkNo || c.status === auditConst.status.revise) && c.stageChangeNum === 0 && !c.isSettle))) { %><a href="#del-bg" cid="<%= c.cid %>" data-toggle="modal" data-target="#del-bg" class="btn btn-outline-danger btn-sm delete-cid-modal">删除</a><% } %></td>
- </tr>
- <% } %>
- <% } %>
- </tbody>
- </table>
- <!--翻页-->
- <% include ../layout/page.ejs %>
- </div>
- </div>
- </div>
- </div>
- <script src="/public/js/sub_menu.js"></script>
- <script src="/public/js/colResizable/colResizable-1.6.min.js"></script>
- <link href="/public/css/bootstrap/select2.min.css" rel="stylesheet" />
- <link rel="stylesheet" href="/public/css/bootstrap/select2-bootstrap4.min.css">
- <script src="/public/js/bootstrap/select2.min.js"></script>
- <script>
- $.subMenu({
- menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
- toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
- key: 'menu.1.0.0',
- miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
- callback: function (info) {
- if (info.mini) {
- $('.panel-title').addClass('fluid');
- $('#sub-menu').removeClass('panel-sidebar');
- } else {
- $('.panel-title').removeClass('fluid');
- $('#sub-menu').addClass('panel-sidebar');
- }
- autoFlashHeight();
- }
- });
- const openChangePlan = parseInt('<%- ctx.subProject.page_show.openChangePlan %>');
- const changePlanList = JSON.parse(unescape('<%- escape(JSON.stringify(changePlanList)) %>'));
- </script>
- <script src="/public/js/change.js"></script>
|