| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881 | <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 userMsgPermission = false;    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">    let _param = '';    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'            },            formatter: function (p) {                _param = p            }        },        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.status === acRevise.status.checked || n.status === acRevise.status.checkNo ? '/history' : ''}/${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/plan/${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:[],            };            const newTenders = tenderList.filter(t => t.stage_count > 0);            for(const t of newTenders) {                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(newTenders.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);        }        // 处理点击事件并且弹出数据名称        myChart.getZr().on('click', function (p) {            const pointInPixel = [p.offsetX, p.offsetY];            if (myChart.containPixel('grid', pointInPixel)) {                const params = _param && _param[0] ? _param[0] : null;                if (params !== null) {                    const tender = tenders.filter(t => t.stage_count > 0)[params.dataIndex];                    console.log(tender);                    window.open(`/sp/${tender.spid}/datacollect`);                }            }        });        // 计算显示滚动条长度        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>
 |