123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862 |
- <div class="panel-content">
- <div class="panel-title fluid">
- <div class="title-main d-flex">
- <h2><%= projectData.name %></h2>
- <div class="ml-auto">
- <i class="fa fa-bell mr-1"></i><a href="#version" data-toggle="modal" data-target="#version">当前版本:<%= versionList[0].name %></a>
- <% if (sysMsgList.length > 0) { %>
- <!--系统消息通知-->
- <% for (const sm of sysMsgList) { %>
- <!--<a href="#view-msg" msg-id="<%= sm.id %>" data-toggle="modal" data-target="#view-msg" class="mr-5 mb-2 system-msg"><%- sm.title %>(<%- moment(sm.release_time*1000).format('YYYY-MM-DD') %>)</a>-->
- <a href="#view-msg" msg-id="<%= sm.id %>" data-toggle="modal" data-target="#view-msg" class="ml-3 system-msg">系统最新通知</a>
- <% } %>
- <% } %>
- </div>
- </div>
- </div>
- <div class="content-wrap my-3">
- <% if (!authMobile) { %>
- <div class="text-danger px-3 mb-3 mobile-height">
- <strong>您的账号未认证手机。</strong> 设置认证手机后,可以用于 找回密码 及 接收验证码。<a class="badge badge-danger" href="/profile/sms">点击设置</a>
- </div>
- <% } %>
- <% if (maintainData.status !== maintainConst.status.notset && new Date().getTime() + (86400*1000) > parseFloat(maintainData.maintain_time)) { %>
- <!--系统维护信息-->
- <div class="card mb-3 bg-danger text-white mx-3 maintain-height">
- <div class="card-body">
- <h4><i class="fa fa-wrench"></i> 系统将于 <%- moment(parseFloat(maintainData.maintain_time)).format('YYYY年MM月DD日 HH:mm') %> 开始停机维护,<%- (maintainData.duration !== maintainConst.duration.forever ? '持续'+ maintainConst.durationString[maintainData.duration] +'。' : '') %>造成不便敬请谅解。</h4>
- <p class="ml-4 mb-0"><%- maintainData.msg %></p>
- </div>
- </div>
- <% } %>
- <div class="dashboard-height mx-3">
- <div class="row agency-partheight">
- <div class="col-9 px-0">
- <div class="row ml-0">
- <div class="col-2 px-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext" style="white-space: nowrap;text-overflow: ellipsis;text-overflow: ellipsis;max-width: 200px;"><span class="card-icon mr-2"></span><%- ctx.helper.getTimePeriod(); %>好 <%- ctx.session.sessionUser.name %></div>
- </div>
- <div class="card-body p-0">
- <div class="contant-height-one">
- <div class=""> </div>
- <div class="">
- <h6 class="mt-2 text-muted text-center">参与标段</h6>
- <div class="row w-100">
- <div class="col-7 pr-2 text-right">
- <span class="d-inline-block ws-icon ws-icon-primary">
- <i class="fa fa-list-ul"></i>
- </span>
- </div>
- <h4 class="col-5 pl-2 pr-0 my-0 data_tender_num"><%- dashboardStatus.all %></h4>
- </div>
- </div>
- <hr>
- <div class="">
- <h6 class="text-muted text-center">待办处理</h6>
- <div class="row w-100">
- <div class="col-7 pr-2 text-right">
- <span class="d-inline-block ws-icon ws-icon-primary">
- <i class="fa fa-check-square-o"></i>
- </span>
- </div>
- <h4 class="col-5 pl-2 pr-0 my-0"><%- dashboardStatus.dashboard %></h4>
- </div>
- </div>
- <hr>
- <div class="">
- <h6 class="text-muted text-center">紧急审批</h6>
- <div class="row w-100">
- <div class="col-7 pr-2 text-right">
- <span class="d-inline-block ws-icon ws-icon-danger">
- <i class="fa fa-exclamation-triangle"></i>
- </span>
- </div>
- <h4 class="col-5 pl-2 pr-0 my-0 text-danger"><%- dashboardStatus.worry %></h4>
- </div>
- </div>
- <hr>
- <div class="">
- <h6 class="text-muted text-center">预警审批</h6>
- <div class="row w-100">
- <div class="col-7 pr-2 text-right">
- <span class="d-inline-block ws-icon ws-icon-warning">
- <i class="fa fa-bell"></i>
- </span>
- </div>
- <h4 class="col-5 pl-2 pr-0 my-0 text-warning"><%- dashboardStatus.early %></h4>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-10 pl-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext"><span class="card-icon mr-2"></span>需要你处理</div>
- <div>
- <select class="form-control form-control-sm" id="select-doing-type">
- <option value="0">全部</option>
- <% if (dashboardStatus.shenpi.advance !== 0) { %>
- <option value="advance">预付款(<%- dashboardStatus.shenpi.advance %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.ledger !== 0) { %>
- <option value="ledger">台账审批(<%- dashboardStatus.shenpi.ledger %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.revise !== 0) { %>
- <option value="revise">台账修订(<%- dashboardStatus.shenpi.revise %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.stage !== 0) { %>
- <option value="stage">计量审批(<%- (dashboardStatus.shenpi.stage) %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.change !== 0) { %>
- <option value="change">变更审批(<%- dashboardStatus.shenpi.change %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.changeProject !== 0) { %>
- <option value="changeProject">变更立项(<%- dashboardStatus.shenpi.changeProject %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.changeApply !== 0) { %>
- <option value="changeApply">变更申请(<%- dashboardStatus.shenpi.changeApply %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.changePlan !== 0) { %>
- <option value="changePlan">变更方案(<%- dashboardStatus.shenpi.changePlan %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.material !== 0) { %>
- <option value="material">材料调差(<%- dashboardStatus.shenpi.material %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.payment !== 0) { %>
- <option value="payment">支付审批(<%- dashboardStatus.shenpi.payment %>)</option>
- <% } %>
- <% if (dashboardStatus.shenpi.financial !== 0) { %>
- <option value="financial">资金支付(<%- dashboardStatus.shenpi.financial %>)</option>
- <% } %>
- </select>
- </div>
- </div>
- <div class="card-body p-0">
- <div class="contant-height-one">
- <% if (dashboardStatus.dashboard !== 0) { %>
- <style>
- #doing-list td {
- word-wrap:break-word;
- }
- </style>
- <table style="table-layout:fixed;" class="table table-middle">
- <thead class="thead-light">
- <tr>
- <th width="50" class="text-center">紧急</th>
- <th width="110" class="pl-3">类型</th>
- <th>所属项目</th>
- <th>标段名称</th>
- <th width="60">状态</th>
- <th width="125">创建时间</th>
- <th width="90">操作</th>
- </tr>
- </thead>
- <tbody id="doing-list">
- <% for (const db of dashboardShenpis) { %>
- <% if (db.shenpi_type === 'ledger') { %>
- <% const t = db; %>
- <% if (t.ledger_status === acLedger.status.checking) { %>
- <tr data-type="ledger">
- <% if (t.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (t.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-ledger text-new-ledger badge text-width">台账审批</span></td>
- <td><a href="/sp/<%- t.spid %>/dashboard"><%- t.sp_name %></a></td>
- <td><a href="/tender/<%- t.id %>"><%- t.name %></a></td>
- <td>台账</td>
- <td><%- (t.begin_time ? ctx.moment(t.begin_time).format('YYYY/MM/DD HH:mm') : '') %></td>
- <td><a href="/tender/<%- t.id %>/ledger" class="btn btn-outline-primary btn-sm btn-table" role="button">审批</a></td>
- </tr>
- <% } else { %>
- <tr data-type="ledger">
- <% if (t.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (t.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-ledger text-new-ledger badge text-width">台账审批</span></td>
- <td><a href="/sp/<%- t.spid %>/dashboard"><%- t.sp_name %></a></td>
- <td><a href="/tender/<%- t.id %>"><%- t.name %></a></td>
- <td>台账</td>
- <td><%- (t.end_time ? ctx.moment(t.end_time).format('YYYY/MM/DD HH:mm') : '') %></td>
- <td><a href="/tender/<%- t.id %>/ledger" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'revise') { %>
- <% const revise = db; %>
- <tr data-type="revise">
- <% if (revise.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (revise.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-revise text-new-revise badge text-width">台账修订</span></td>
- <td><a href="/sp/<%- revise.spid %>/dashboard"><%- revise.sp_name %></a></td>
- <td><a href="/tender/<%- revise.t_id %>"><%- revise.t_name %></a> <a href="/tender/<%- revise.t_id %>/revise/<%- revise.id %>/info">第<%- revise.corder %>次</a></td>
- <td>第<%- revise.corder %>次</td>
- <td><%- (
- revise.status === acRevise.status.checking
- ? (revise.begin_time ? ctx.moment(revise.begin_time).format('YYYY/MM/DD HH:mm') : '')
- : (revise.end_time ? ctx.moment(revise.end_time).format('YYYY/MM/DD HH:mm') : '')
- ) %></td>
- <td><a href="/tender/<%- revise.t_id %>/revise/<%- revise.id %>/info" class="btn btn-sm btn-table <% if (revise.status === acRevise.status.checkNo) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (revise.status === acRevise.status.checking) { %>审批<% } else if (revise.status === acRevise.status.checkNo) { %>重新上报<% } %></a></td>
- </tr>
- <% } else if (db.shenpi_type === 'stage') { %>
- <% const audit = db; %>
- <% if (audit.sstatus === acStage.status.checkNo) { %>
- <tr data-type="stage">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-stage text-new-stage badge text-width">计量审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <td><a href="/tender/<%- audit.tid %>"><%- audit.name %></a> <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">第<%- audit.sorder %>期</a></td>
- <td>第<%- audit.sorder %>期</td>
- <td><%- ctx.moment(audit.end_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- </tr>
- <% } else if (audit.sstatus === acStage.status.uncheck) { %>
- <tr data-type="stage">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-stage text-new-stage badge text-width">计量审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <td><a href="/tender/<%- audit.tid %>"><%- audit.name %></a> <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">第<%- audit.sorder %>期</a></td>
- <td>第<%- audit.sorder %>期</td>
- <td><%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>" class="btn btn-outline-primary btn-sm btn-table" role="button">上报</a></td>
- </tr>
- <% } else { %>
- <tr data-type="stage">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-stage text-new-stage badge text-width">计量审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <td><a href="/tender/<%- audit.tid %>"><%- audit.name %></a> <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">第<%- audit.sorder %>期</a></td>
- <td>第<%- audit.sorder %>期</td>
- <td><%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>" class="btn btn-outline-primary btn-sm btn-table" role="button"><% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批</a></td>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'stageAss') { %>
- <% const audit = db; %>
- <% if (audit.sstatus !== acStage.status.checkNo) { %>
- <tr data-type="stage">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-stage text-new-stage badge text-width">计量审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <td><a href="/tender/<%- audit.tid %>"><%- audit.tender_name %></a> <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">第<%- audit.sorder %>期</a></td>
- <td>第<%- audit.sorder %>期</td>
- <td><%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>" class="btn btn-outline-primary btn-sm btn-table" role="button">协同审批</a></td>
- </tr>
- <% } else { %>
- <tr data-type="stage">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-stage text-new-stage badge text-width">计量审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <td><a href="/tender/<%- audit.tid %>"><%- audit.tender_name %></a> <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">第<%- audit.sorder %>期</a></td>
- <td>第<%- audit.sorder %>期</td>
- <td><%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">协同上报</a></td>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'change') { %>
- <% const change = db; %>
- <tr data-type="change">
- <% if (change.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (change.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-change text-new-change badge text-width">变更审批</span></td>
- <td><a href="/sp/<%- change.spid %>/dashboard"><%- change.sp_name %></a></td>
- <td><a href="/tender/<%- change.tid %>"><%- change.name %></a> <a href="/tender/<%- change.tid %>/change/<%- change.cid %>/information"><%- change.ccode %></a></td>
- <td>变更</td>
- <td><%- change.begin_time ? ctx.moment(change.begin_time).format('YYYY/MM/DD HH:mm') : (change.cin_time ? ctx.moment.unix(change.cin_time).format('YYYY/MM/DD HH:mm') : '') %></td>
- <td><a href="/tender/<%- change.tid %>/change/<%- change.cid %>/information" class="btn btn-sm btn-table <% if (change.cstatus !== acChange.status.checking && change.cstatus !== acChange.status.checkNoPre) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (change.cstatus === acChange.status.checking) { %>审批<% } else if (change.cstatus === acChange.status.checkNoPre) { %>重新审批<% } else { %>重新上报<% } %></a></td>
- </tr>
- <% } else if (db.shenpi_type === 'changeProject') { %>
- <% const acp = db; %>
- <tr data-type="changeProject">
- <% if (acp.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (acp.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-changeProject text-new-changeProject badge text-width">变更立项</span></td>
- <td><a href="/sp/<%- acp.spid %>/dashboard"><%- acp.sp_name %></a></td>
- <td><a href="/tender/<%- acp.tid %>"><%- acp.name %></a> <a href="/tender/<%- acp.tid %>/change/project/<%- acp.cpid %>/information"><%- acp.mcode %></a></td>
- <td>变更</td>
- <td><%- (
- acp.status !== acChangeProject.status.back
- ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '')
- : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '')
- ) %></td>
- <td><a href="/tender/<%- acp.tid %>/change/project/<%- acp.cpid %>/information" class="btn btn-sm btn-table <% if (acp.mstatus === acChangeProject.status.back) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (acp.mstatus !== acChangeProject.status.back) { %>审批<% } else { %>重新上报<% } %></a></td>
- </tr>
- <% } else if (db.shenpi_type === 'changeApply') { %>
- <% const aca = db; %>
- <tr data-type="changeApply">
- <% if (aca.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (aca.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-changeApply text-new-changeApply badge text-width">变更申请</span></td>
- <td><a href="/sp/<%- aca.spid %>/dashboard"><%- aca.sp_name %></a></td>
- <td><a href="/tender/<%- aca.tid %>"><%- aca.name %></a> <a href="/tender/<%- aca.tid %>/change/apply/<%- aca.caid %>/information"><%- aca.mcode %></a></td>
- <td>变更</td>
- <td><%- (
- aca.mstatus !== acChangeApply.status.checkNo
- ? (aca.begin_time ? ctx.moment(aca.begin_time).format('YYYY/MM/DD HH:mm') : '')
- : (aca.end_time ? ctx.moment(aca.end_time).format('YYYY/MM/DD HH:mm') : '')
- ) %></td>
- <td><a href="/tender/<%- aca.tid %>/change/apply/<%- aca.caid %>/information" class="btn btn-sm btn-table <% if (aca.mstatus === acChangeApply.status.checkNo) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (aca.mstatus !== acChangeApply.status.checkNo) { %>审批<% } else { %>重新上报<% } %></a></td>
- </tr>
- <% } else if (db.shenpi_type === 'changePlan') { %>
- <% const acp = db; %>
- <tr data-type="changePlan">
- <% if (acp.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (acp.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-changePlan text-new-changePlan badge text-width">变更方案</span></td>
- <td><a href="/sp/<%- acp.spid %>/dashboard"><%- acp.sp_name %></a></td>
- <td><a href="/tender/<%- acp.tid %>"><%- acp.name %></a> <a href="/tender/<%- acp.tid %>/change/plan/<%- acp.cpid %>/information"><%- acp.mcode %></a></td>
- <td>变更</td>
- <td><%- (
- acp.mstatus !== acChangePlan.status.checkNo
- ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '')
- : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '')
- ) %></td>
- <td><a href="/tender/<%- acp.tid %>/change/plan/<%- acp.cpid %>/information" class="btn btn-sm btn-table <% if (acp.mstatus === acChangePlan.status.checkNo) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (acp.mstatus !== acChangePlan.status.checkNo) { %>审批<% } else { %>重新上报<% } %></a></td>
- </tr>
- <% } else if (db.shenpi_type === 'material') { %>
- <% const am = db; %>
- <% if (am.mstatus !== acMaterial.status.checkNo) { %>
- <tr data-type="material">
- <% if (am.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (am.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-material text-new-material badge text-width">材料调差</span></td>
- <td><a href="/sp/<%- am.spid %>/dashboard"><%- am.sp_name %></a></td>
- <td><a href="/tender/<%- am.tid %>"><%- am.name %></a> <a href="/tender/<%- am.tid %>/measure/material/<%- am.morder %>">第<%- am.morder %>期</a></td>
- <td>第<%- am.morder %>期</td>
- <td><%- ctx.moment(am.begin_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- am.tid %>/measure/material/<%- am.morder %>" class="btn btn-outline-primary btn-sm btn-table" role="button">审批</a></td>
- </tr>
- <% } else { %>
- <tr data-type="material">
- <% if (am.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (am.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-material text-new-material badge text-width">材料调差</span></td>
- <td><a href="/sp/<%- am.spid %>/dashboard"><%- am.sp_name %></a></td>
- <td><a href="/tender/<%- am.tid %>"><%- am.name %></a> <a href="/tender/<%- am.tid %>/measure/material/<%- am.morder %>">第<%- am.morder %>期</a></td>
- <td>第<%- am.morder %>期</td>
- <td><%- ctx.moment(am.end_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- am.tid %>/measure/material/<%- am.morder %>" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'advance') { %>
- <% const am = db; %>
- <% if (am.mstatus !== acAdvance.status.checkNo) { %>
- <tr data-type="advance">
- <% if (am.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (am.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-advance text-new-advance badge text-width">预付款</span></td>
- <td><a href="/sp/<%- am.spid %>/dashboard"><%- am.sp_name %></a></td>
- <td><a href="/tender/<%- am.tid %>"><%- am.name %></a> <a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail"><%- typeColMap[am.mtype].text %>第<%- am.morder %>期</a></td>
- <td>第<%- am.morder %>期</td>
- <td><%- ctx.moment(am.create_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail" class="btn btn-outline-primary btn-sm btn-table" role="button">审批</a></td>
- </tr>
- <% } else { %>
- <tr data-type="advance">
- <% if (am.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (am.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-advance text-new-advance badge text-width">预付款</span></td>
- <td><a href="/sp/<%- am.spid %>/dashboard"><%- am.sp_name %></a></td>
- <td><a href="/tender/<%- am.tid %>"><%- am.name %></a> <a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail"><%- typeColMap[am.mtype].text %>第<%- am.morder %>期</a></td>
- <td>第<%- am.morder %>期</td>
- <td><%- ctx.moment(am.end_time).format('YYYY/MM/DD HH:mm') %></td>
- <td><a href="/tender/<%- am.tid %>/advance/<%- am.vid %>/detail" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'payment') { %>
- <% const audit = db; %>
- <% if (audit.sstatus !== acStage.status.checkNo) { %>
- <tr data-type="payment">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-payment text-new-payment badge text-width">支付审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <% if (audit.type) { %>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/list/<%- audit.tr_id %>"><%- audit.name %> <%- audit.rpt_name %></a> <a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/safe/<%- audit.td_id %>/bills"><%- audit.scode %></a></td>
- <% } else { %>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/list/<%- audit.tr_id %>"><%- audit.name %> <%- audit.rpt_name %></a> <a href="/sp/<%- audit.spid %>/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>
- <% if (audit.type) { %>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/safe/<%- audit.td_id %>/bills" class="btn btn-outline-primary btn-sm btn-table" role="button"><% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批</a></td>
- <% } else { %>
- <td><a href="/sp/<%- audit.spid %>/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="payment">
- <% if (audit.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (audit.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-payment text-new-payment badge text-width">支付审批</span></td>
- <td><a href="/sp/<%- audit.spid %>/dashboard"><%- audit.sp_name %></a></td>
- <% if (audit.type) { %>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/list"><%- audit.name %> <%- audit.rpt_name %></a> <a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/safe/<%- audit.td_id %>/bills"><%- audit.scode %></a></td>
- <% } else {%>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/list"><%- audit.name %> <%- audit.rpt_name %></a> <a href="/sp/<%- audit.spid %>/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>
- <% if (audit.type) { %>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/safe/<%- audit.td_id %>/bills" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- <% } else {%>
- <td><a href="/sp/<%- audit.spid %>/payment/<%- audit.tender_id %>/detail/<%- audit.td_id %>" class="btn btn-outline-warning btn-sm btn-table text-warning" role="button">重新上报</a></td>
- <% } %>
- </tr>
- <% } %>
- <% } else if (db.shenpi_type === 'financial') { %>
- <% const af = db; %>
- <tr data-type="financial">
- <% if (af.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (af.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
- <td><span class="bg-new-financial text-new-financial badge text-width">资金支付</span></td>
- <td><a href="/sp/<%- af.spid %>/dashboard"><%- af.sp_name %></a></td>
- <td><a href="/sp/<%- af.spid %>/financial/pay"><%- af.name %></a> <a href="/sp/<%- af.spid %>/financial/pay/<%- af.fpid %>/detail"><%- af.fpcode %></a></td>
- <td>支付</td>
- <td><%- (
- af.fpcstatus !== acFinancial.status.checkNo
- ? (af.begin_time ? ctx.moment(af.begin_time).format('YYYY/MM/DD HH:mm') : '')
- : (af.end_time ? ctx.moment(af.end_time).format('YYYY/MM/DD HH:mm') : '')
- ) %></td>
- <td><a href="/sp/<%- af.spid %>/financial/pay/<%- af.fpid %>/detail" class="btn btn-sm btn-table <% if (af.fpstatus === acFinancial.status.checkNo) { %>btn-outline-warning text-warning<% } else { %>btn-outline-primary<% } %>" role="button"><% if (af.fpstatus !== acFinancial.status.checkNo) { %>审批<% } else { %>重新上报<% } %></a></td>
- </tr>
- <% } %>
- <% } %>
- </tbody>
- </table>
- <% } else { %>
- <div class="p-5 text-center text-muted">
- <img src="/public/images/nulllogo.png" />
- <div class="pt-3">暂时没有需要你处理的事项</div>
- </div>
- <% } %>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--项目消息通知-->
- <div class="col-3 pl-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext"><span class="card-icon mr-2"></span>项目通知</div>
- <!-- <div class="mt-1"><a class="text-secondary" href="/dashboard/msg">查看全部</a></div>-->
- </div>
- <div class="card-body p-0">
- <div class="contant-height-three">
- <ul class="list-group list-group-flush msg-height-list">
- <% if (msgList.length === 0) { %>
- <!--没有通知-->
- <li class="list-group-item text-muted text-center p-5">
- <img src="/public/images/nulllogo.png" />
- <p class="pt-2 text-center mb-0">暂时没有通知</p>
- </li>
- <% } else { %>
- <% for (const msg of msgList) { %>
- <li class="list-group-item text-muted">
- <a href="#view-msg" msg-id="<%= msg.id %>" data-toggle="modal" data-target="#view-msg"<% if (msg.istop !== '0') { %> class="text-danger">
- <i class="fa fa-exclamation-triangle" ></i> <% } else { %>><% } %><%- msg.title %></a><br><%- moment(msg.release_time*1000).format('YYYY/MM/DD HH:mm') %></li>
- <% } %>
- <% } %>
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="row agency-partheight">
- <div class="col-6 px-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext"><span class="card-icon mr-2"></span>参与的标段进度</div>
- </div>
- <div class="card-body p-0">
- <div class="contant-height-one">
- <div id="jlchart" style="height: 100%; width: 100%;overflow: hidden"></div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-3 px-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext"><span class="card-icon mr-2"></span>审批日历</div>
- </div>
- <div class="card-body p-0">
- <div class="contant-height-one">
- <div class="mx-4 mt-2 text-center">
- <style>
- #calendar .datepicker {
- width: 100%;
- min-width: 250px;
- text-align: center;
- }
- #calendar .datepicker--cell {
- height: 45px;
- }
- .shenpi-calendar {
- background-color: #ffb8ff;
- }
- .shenpi-calendar:hover {
- background-color: #fda5fd;
- }
- </style>
- <div id="calendar"></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-3 pl-0">
- <div class="card ml-3">
- <div class="card-header card-white d-flex justify-content-between">
- <div class="card-big-htext"><span class="card-icon mr-2"></span>技术支持</div>
- </div>
- <div class="card-body p-0">
- <!--<h6 class="card-subtitle mb-2 text-muted"><%= salesmanData.username %></h6>-->
- <div class="contant-height-one">
- <div class="mx-4">
- <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>
- <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="手机号码"><i class="fa fa-tablet"></i> <%=salesmanData.telephone%></li>
- <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="固定电话"><i class="fa fa-phone"></i> <%=salesmanData.fixedphone%></li>
- <% if (projectData.qrcode_json) { %>
- <li class="list-group-item container-fluid">
- <div class="row qrcode-height">
- <% for (const qr of JSON.parse(projectData.qrcode_json)) { %>
- <div class="col-sm text-center"><img src="/<%= qr.path %>" width="100%" style="max-width: 180px"><div class="text-center"><%= qr.name %></div></div>
- <% } %>
- </div>
- </li>
- <% } else { %>
- <li class="list-group-item container-fluid">
- <div class="row qrcode-height">
- <div class="col-sm text-center"><img src="/public/images/erweima.jpg" width="100%" style="max-width: 180px"><div class="text-center">虾米造价</div></div>
- </div>
- </li>
- <% } %>
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script>
- autoFlashHeight();
- const msgList = JSON.parse('<%- JSON.stringify(msgList) %>');
- const sysMsgList = JSON.parse('<%- JSON.stringify(sysMsgList) %>');
- const pushType = JSON.parse('<%- JSON.stringify(pushType) %>');
- const noticeList = JSON.parse(unescape('<%- escape(JSON.stringify(noticeList)) %>'));
- const noticeDayList = JSON.parse(unescape('<%- escape(JSON.stringify(noticeDayList)) %>'));
- const acLedger = JSON.parse(unescape('<%- escape(JSON.stringify(acLedger)) %>'));
- const acStage = JSON.parse(unescape('<%- escape(JSON.stringify(acStage)) %>'));
- const acChange = JSON.parse(unescape('<%- escape(JSON.stringify(acChange)) %>'));
- const acRevise = JSON.parse(unescape('<%- escape(JSON.stringify(acRevise)) %>'));
- const acMaterial = JSON.parse(unescape('<%- escape(JSON.stringify(acMaterial)) %>'));
- const acAdvance = JSON.parse(unescape('<%- escape(JSON.stringify(acAdvance)) %>'));
- const acChangeProject = JSON.parse(unescape('<%- escape(JSON.stringify(acChangeProject)) %>'));
- const acChangeApply = JSON.parse(unescape('<%- escape(JSON.stringify(acChangeApply)) %>'));
- const acChangePlan = JSON.parse(unescape('<%- escape(JSON.stringify(acChangePlan)) %>'));
- const acFinancial = JSON.parse(unescape('<%- escape(JSON.stringify(acFinancial)) %>'));
- const typeColMap = JSON.parse(unescape('<%- escape(JSON.stringify(typeColMap)) %>'));
- const uid = '<%- uid %>';
- const type = 1;
- </script>
- <script type="text/javascript">
- $(function () {
- function setDashboardHeight() {
- function getObjHeight(select) {
- return select.length > 0 ? select.outerHeight(true) : 0;
- }
- var mobileHeight = getObjHeight($(".mobile-height"));
- var maintainHeight = getObjHeight($(".maintain-height"));
- $('.dashboard-height').height($(window).height()- mobileHeight - maintainHeight - 34 - 16);
- $('.agency-partheight').height($('.dashboard-height').height()/2);
- // $('.agency-partheight').eq(1).height($('.sjs-height-0').height() - $('.agency-partheight').eq(0).height());
- $('.contant-height-one').height($('.agency-partheight').height() - 52 - 20);
- $('.contant-height-two').height($('.agency-partheight').height() - 52 - getObjHeight($(".echart-height")) - 20);
- $('.contant-height-three').height($('.agency-partheight').height() - 52 - getObjHeight($(".addmsg-height")) - 20);
- $('.qrcode-height').height($('.contant-height-one').height() - 43 - 44 - 44 - 25);
- $('.qrcode-height .col-sm').css('padding-top', ($('.qrcode-height').height()/2 - ($('.qrcode-height img').height()+18)/2) + 'px');
- // resizeChart();
- }
- setDashboardHeight();
- $(window).resize(setDashboardHeight);
- $('#select-doing-type').change(function () {
- const type = $(this).val();
- if(type === '0') {
- $('#doing-list tr').show();
- return;
- } else {
- $('#doing-list tr').hide();
- $('#doing-list tr[data-type="' + type + '"]').show();
- }
- });
- })
- </script>
- <script type="text/javascript">
- const option = {
- color: ['rgba(38, 217, 217,0.7)','rgba(78, 139, 229,0.7)','rgba(78, 229, 139,0.7)','rgba(108, 78, 229,0.7)','rgba(164, 229, 78,0.7)','rgba(199, 78, 229,0.7)','rgba(229, 92, 174,0.7)','rgba(229, 214, 78,0.7)','rgba(241, 87, 96,0.7)','rgba(242, 179, 82,0.7)'],
- //backgroundColor: '#343a40 ',
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- legend: {},
- grid: {
- top:'25%',
- left: '3%',
- right: '4%',
- bottom: '12%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: [],
- axisLabel: {
- show: true,
- interval: 0,
- formatter: function(value) {
- var res = value;
- if(res.length > 6) {
- res = res.substring(0, 5) + "..";
- }
- return res;
- }
- }
- }
- ],
- yAxis: [
- {
- type: 'value',
- name:'金额',
- position: 'left',
- axisLabel : {
- formatter: function (value, index) {
- if (value < 0) {
- let newValue = Math.abs(value);
- if (newValue >= 10000 && newValue < 10000000) {
- newValue = newValue / 10000 + "万";
- } else if (newValue >= 10000000) {
- newValue = newValue / 10000000 + "千万";
- }
- value = '-' + newValue;
- }
- if (value >= 10000 && value < 10000000) {
- value = value / 10000 + "万";
- } else if (value >= 10000000) {
- value = value / 10000000 + "千万";
- }
- return value;
- }
- },
- splitArea : {show : true}
- }
- ],
- dataZoom: [
- {
- brushSelect:false,
- // zoomLock: false,
- type: 'slider',
- show: true,
- // realtime: true,
- // showdetail: false,
- // showDataShadow: false,
- // dataZoomIndex: 10,
- start: 0,
- end: 8,
- handleSize: 0,
- height: 10,
- bottom: '5%',
- }
- ],
- series: [
- {
- name: '台账',
- type: 'bar',
- emphasis: {
- focus: 'series'
- },
- data: []
- },
- {
- name: '截止合同计量',
- type: 'bar',
- stack: '计量',
- emphasis: {
- focus: 'series'
- },
- data: []
- },
- {
- name: '截止变更计量',
- type: 'bar',
- stack: '计量',
- emphasis: {
- focus: 'series'
- },
- data: []
- }
- ]
- };
- const myChart = echarts.init(document.getElementById('jlchart'));
- myChart.setOption(option);
- function echartsReset() {
- myChart.resize();
- }
- let resizeTimer = null;
- $(window).bind('resize', function () {
- if (resizeTimer) clearTimeout(resizeTimer);
- resizeTimer = setTimeout(function () {
- echartsReset();
- }, 500);
- })
- let tenders = '';
- // let noticeList = '';
- $(function () {
- $('#calendar').datepicker({
- navTitles: {
- days: '<span>yyyy</span><span>年</span><span>MM</span><span>月</span>',
- },
- classes: 'text-center',
- language: 'zh',
- onRenderCell(date, cellType) {
- const isDay = cellType === 'day';
- const _date = moment(date).format('YYYY-MM-DD');
- const shouldChangeContent = isDay && noticeDayList.includes(_date);
- return {
- classes: shouldChangeContent ? 'shenpi-calendar' : undefined,
- }
- },
- onSelect(date) {
- const _date = moment(date).format('YYYY-MM-DD');
- if (noticeDayList.includes(_date)) {
- const notices = noticeList.filter(item => moment(new Date(item.shenpi_time)).format('YYYY-MM-DD') === _date);
- if (notices) {
- $('#notice-day').text(_date);
- $('#notice-list').empty();
- const html = [];
- for (const n of notices) {
- if (n.id) {
- switch (n.shenpi_type) {
- case 'ledger':
- html.push(`<li class="list-group-item">
- <span class="${acLedger.auditStringClass[n.status]}">${acLedger.auditString[n.status]}</span> <a href="/tender/${n.id}/ledger" target="_blank">${n.name}</a> 台账分解<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'stage':
- html.push(`<li class="list-group-item">
- <span class="${acStage.auditStringClass[n.status]}">${acStage.auditString[n.status]}</span> <a href="/tender/${n.id}/measure/stage/${n.sorder}" target="_blank">${n.name}</a> 计量台账第${n.sorder}期<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'revise':
- html.push(`<li class="list-group-item">
- <span class="${acRevise.auditStringClass[n.status]}">${acRevise.auditString[n.status]}</span> <a href="/tender/${n.id}/revise/${n.rid}/info" target="_blank">${n.name}</a> 台账修订第${n.corder}次<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'change':
- html.push(`<li class="list-group-item">
- <span class="${acChange.auditStringClass[n.status]}">${n.audit_order === 0 && n.status === acChange.status.checked ? '成功上报' : acChange.auditString[n.status]}</span> <a href="/tender/${n.id}/change/${n.cid}/information" target="_blank">${n.name}</a> 变更令${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'changeProject':
- html.push(`<li class="list-group-item">
- <span class="${acChangeProject.auditStringClass[n.status]}">${acChangeProject.auditString[n.status]}</span> <a href="/tender/${n.id}/change/project/${n.cpid}/information" target="_blank">${n.name}</a> 变更立项${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'changeApply':
- html.push(`<li class="list-group-item">
- <span class="${acChangeApply.auditStringClass[n.status]}">${acChangeApply.auditString[n.status]}</span> <a href="/tender/${n.id}/change/apply/${n.caid}/information" target="_blank">${n.name}</a> 变更申请${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'changePlan':
- html.push(`<li class="list-group-item">
- <span class="${acChangePlan.auditStringClass[n.status]}">${acChangePlan.auditString[n.status]}</span> <a href="/tender/${n.id}/change/project/${n.cpid}/information" target="_blank">${n.name}</a> 变更方案${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'advance':
- html.push(`<li class="list-group-item">
- <span class="${acAdvance.auditStringClass[n.status]}">${acAdvance.auditString[n.status]}</span> <a href="/tender/${n.id}/advance/${n.vid}/detail" target="_blank">${n.name}</a> ${typeColMap[n.type].text}第${n.vorder}期<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'material':
- html.push(`<li class="list-group-item">
- <span class="${acChangePlan.auditStringClass[n.status]}">${acChangePlan.auditString[n.status]}</span> <a href="/tender/${n.id}/measure/material/${n.morder}" target="_blank">${n.name}</a> 材料调差第${n.morder}期<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'payment':
- html.push(`<li class="list-group-item">
- <span class="${acStage.auditStringClass[n.status]}">${acStage.auditString[n.status]}</span> <a href="/sp/${n.spid}/payment/${n.id}${ n.type === 1 ? '/safe/' + n.td_id + '/bills' : '/detail/' + n.td_id}" target="_blank">${n.name}</a> 支付审批${n.rpt_name} ${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- case 'financial':
- html.push(`<li class="list-group-item">
- <span class="${acFinancial.auditStringClass[n.status]}">${acFinancial.auditString[n.status]}</span> <a href="/sp/${n.spid}/financial/pay/${n.fpid}/detail" target="_blank">${n.name}</a> 资金监管${n.code}<span class="float-right">${moment(new Date(n.shenpi_time)).format('HH:mm:ss')}</span></li>`);
- break;
- default: continue;
- }
- }
- }
- $('#notice-list').html(html.join(''));
- $('#notice-modal').modal('show');
- }
- }
- }
- })
- postData(`/dashboard/load`, {}, function (result) {
- tenders = result.tenderList;
- for (const t of tenders) {
- calculateTender(t);
- }
- setData(tenders);
- myChart.resize();
- });
- function calculateTender(tender) {
- if (tender.stage_tp) {
- tender.gather_tp = ZhCalc.sum([tender.stage_tp.contract_tp, tender.stage_tp.qc_tp, tender.stage_tp.pc_tp]);
- tender.end_contract_tp = ZhCalc.sum([tender.stage_tp.pre_contract_tp, tender.stage_tp.contract_tp, tender.stage_tp.contract_pc_tp]);
- tender.end_qc_tp = ZhCalc.sum([tender.stage_tp.pre_qc_tp, tender.stage_tp.qc_tp, tender.stage_tp.qc_pc_tp]);
- tender.end_gather_tp = ZhCalc.add(tender.end_contract_tp, tender.end_qc_tp);
- tender.pre_gather_tp = ZhCalc.add(tender.stage_tp.pre_contract_tp, tender.stage_tp.pre_qc_tp);
- tender.yf_tp = ZhCalc.add(tender.stage_tp.yf_tp);
- tender.end_yf_tp = ZhCalc.add(tender.stage_tp.pre_yf_tp, tender.yf_tp);
- }
- }
- function setData(tenderList) {
- const chart_option_name = [];
- const chart_option2_data = {
- total_price: [],
- contract_tp:[],
- qc_tp:[],
- };
- for(const t of tenderList) {
- chart_option_name.push(t.name);
- chart_option2_data.total_price.push(t.total_price ? t.total_price : 0);
- chart_option2_data.contract_tp.push(t.end_contract_tp ? t.end_contract_tp : 0);
- chart_option2_data.qc_tp.push(t.end_qc_tp ? t.end_qc_tp : 0);
- }
- // console.log(tenderList);
- $('.data_tender_num').text(tenderList.length);
- // 图表数据赋值
- const option2 = myChart.getOption();
- option2.dataZoom[0].start = 0;
- option2.dataZoom[0].end = computedPosition(tenderList.length);
- option2.xAxis[0].data = chart_option_name;
- option2.series[0].data = chart_option2_data.total_price;
- option2.series[1].data = chart_option2_data.contract_tp;
- option2.series[2].data = chart_option2_data.qc_tp;
- option2.series[2].data = chart_option2_data.qc_tp;
- if (tenderList.length >= 8) {
- option2.dataZoom[0].show = true;
- } else {
- option2.dataZoom[0].show = false;
- }
- myChart.setOption(option2);
- }
- // 计算显示滚动条长度
- function computedPosition(xArrayLength) {
- if (xArrayLength >= 8) {
- return Math.floor(8 / xArrayLength * 100) > 100 ? 100 : Math.floor(8 / xArrayLength * 100);
- // return length <= 10 ? 35 : 100 - Math.floor(35 / length * 100);
- } else {
- return 100;
- }
- }
- });
- </script>
|