123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <div class="panel-content">
- <div class="panel-title fluid">
- <div class="title-main d-flex justify-content-between">
- <div class="d-inline-block">
- <a href="/sp/<%- ctx.subProject.id %>/construction/<%- ctx.constructionTender.id %>/list" class="mr-2"><i class="fa fa-chevron-left mr-2"></i>
- <span>返回</span></a><%- (ctx.constructionTender.name.length > 20 ? ctx.constructionTender.name.substring(0,20) + '...' : ctx.constructionTender.name) %> / <%- logInfo.code %></div>
- <div>
- <% if (ctx.session.sessionUser.accountId === logInfo.shenpi_uid && logInfo.status === constructionConst.status.checking) { %>
- <a href="javascript:void(0);" id="check-btn" class="btn btn-sm btn-success pull-right mr-2">确认审签</a>
- <% } else if (ctx.session.sessionUser.accountId === logInfo.report_uid && logInfo.status === constructionConst.status.uncheck) { %>
- <a href="javascript:void(0);" id="start-btn" class="btn btn-sm btn-primary pull-right mr-2">提交审签</a>
- <% } else { %>
- <span class="pull-right <%- constructionConst.statusClass[logInfo.status] %>"><%- constructionConst.statusString[logInfo.status] %></span>
- <% } %>
- <!-- 提交审签后,可再次编辑,提供取消按钮 -->
- <% if (logInfo.report_uid === ctx.session.sessionUser.accountId && logInfo.status === constructionConst.status.checking) { %>
- <span class=" pull-right mr-2">|</span>
- <!--<a href="javascript:void(0);" id="edit-end" class="btn btn-sm btn-secondary pull-right mr-2" style="display: none">取消</a>-->
- <a href="javascript:void(0);" id="edit-start" data-target="#" class="btn btn-sm btn-outline-primary pull-right mr-2">编辑</a>
- <% } %>
- </div>
- </div>
- </div>
- <div class="content-wrap">
- <div class="c-body">
- <div class="sjs-height-0">
- <div class="col-9 px-3 mx-auto">
- <div class="card">
- <div class="card-header">
- 基本内容
- </div>
- <div class="card-body">
- <div class="row">
- <div class="col-6 form-group row mb-2 mr-2">
- <label class="col-form-label col-2 text-right px-0">日志编号:</label>
- <input type="text" class="form-control form-control-sm col" value="<%- logInfo.code %>" readonly>
- </div>
- <div class="col-6 form-group row mb-2">
- <label class="col-form-label col-2 text-right px-0">日志类型:</label>
- <input type="text" class="form-control form-control-sm col" value="<%- constructionConst.type[logInfo.type] %>" readonly>
- </div>
- </div>
- <div class="row">
- <div class="col-6 form-group row mb-2 mr-2">
- <label class="col-form-label col-2 text-right px-0">施工日期:</label>
- <input type="text" class="form-control form-control-sm col" value="<%- logInfo.period %>" readonly>
- </div>
- <div class="col-6 form-group row mb-2">
- <label class="col-form-label col-2 text-right px-0">施工部位:</label>
- <input type="text" class="form-control form-control-sm col edit-input" value="<%- logInfo.log_json.parts %>" data-id="parts"
- <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>>
- </div>
- </div>
- <div class="row">
- <div class="col-6 form-group row mb-2 mr-2">
- <label class="col-form-label col-2 text-right px-0">填报人:</label>
- <input type="text" class="form-control form-control-sm col" value="<%- logInfo.report_username %>" readonly>
- </div>
- <div class="col-6 form-group row mb-2">
- <label class="col-form-label col-2 text-right px-0">审签人:</label>
- <% if (logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId && logInfo.start_time === null) { %>
- <div class="dropdown text-right align-middle pt-1" id="show-shenpi-btn" <% if (logInfo.shenpi_uid) { %>style="display: none" <% } %>>
- <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- 选择审批人
- </button>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton" style="width:220px">
- <div class="mb-2 p-2"><input class="form-control form-control-sm" placeholder="姓名/手机 检索"
- id="gr-search" autocomplete="off"></div>
- <dl class="list-unstyled book-list">
- <% accountGroup.forEach((group, idx) => { %>
- <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
- data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
- <div class="dd-content" data-toggleid="<%- idx %>">
- <% group.groupList.forEach(item => { %>
- <% if (item.id !== logInfo.report_uid) {%>
- <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>">
- <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
- class="ml-auto"><%- item.mobile %></span></p>
- <span class="text-muted"><%- item.role %></span>
- </dd>
- <% } %>
- <% });%>
- </div>
- <% }) %>
- </dl>
- </div>
- </div>
- <div class="col-2" id="show-shenpi" <% if (!logInfo.shenpi_uid) { %>style="display: none" <% } %>>
- <label class="col-form-label"><span><%- logInfo.shenpi_username %></span><i class="fa fa-remove text-danger px-1 remove-shenpi-btn" style="cursor: pointer"></i></label>
- </div>
- <% } else { %>
- <input type="text" id="show-shenpi-input" class="form-control form-control-sm col" value="<%- logInfo.shenpi_username %>" readonly>
- <% } %>
- </div>
- </div>
- <div class="row">
- <div class="col-6 form-group row mb-2 mr-2">
- <label class="col-form-label col-2 text-right px-0">天气:</label>
- <textarea class="form-control form-control-sm col edit-textarea" data-id="weather" rows="3" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.weather %></textarea>
- </div>
- <div class="col-6 form-group row mb-2">
- <label class="col-form-label col-2 text-right px-0">温度:</label>
- <textarea class="form-control form-control-sm col edit-textarea" data-id="temperature" rows="3" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.temperature %></textarea>
- </div>
- </div>
- </div>
- </div>
- <div class="card">
- <div class="card-header">
- 施工情况记录(施工内容、机械作业、班组工作、施工存在问题)
- </div>
- <div class="card-body p-0">
- <textarea class="form-control form-control-sm edit-textarea" data-id="condition" rows="5" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.condition %></textarea>
- </div>
- </div>
- <div class="card">
- <div class="card-header">
- 技术、质量、安全工作记录(技术质量安全活动、检查评定验收、技术质量安全问题)
- </div>
- <div class="card-body p-0">
- <textarea class="form-control form-control-sm edit-textarea" data-id="work" rows="5" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.work %></textarea>
- </div>
- </div>
- <div class="card">
- <div class="card-header">
- 人员、材料(构配件)、机械到场及运行情况
- </div>
- <div class="card-body p-0">
- <textarea class="form-control form-control-sm edit-textarea" data-id="run" rows="5" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.run %></textarea>
- </div>
- </div>
- <div class="card">
- <div class="card-header">
- 其他事宜
- </div>
- <div class="card-body p-0">
- <textarea class="form-control form-control-sm edit-textarea" data-id="other" rows="5" <% if (!(logInfo.status === constructionConst.status.uncheck && logInfo.report_uid === ctx.session.sessionUser.accountId)) { %>readonly<% } %>><%- logInfo.log_json.other %></textarea>
- </div>
- </div>
- <div class="card">
- <div class="card-header d-flex">
- <span>附件</span>
- <% if (filePermission) { %>
- <div class="ml-auto">
- <a href="#upload" data-toggle="modal" class="btn btn-sm btn-light text-primary" data-placement="bottom" title="" data-original-title="添加清单"><i class="fa fa-cloud-upload" aria-hidden="true"></i> 上传附件</a>
- </div>
- <% } %>
- </div>
- <div class="card-body p-0">
- <table class="table table-bordered m-0" id="attList">
- <% if (attList.length !== 0) { %>
- <% for (const [index, att] of attList.entries()) { %>
- <tr class="text-center">
- <td width="5%"><%- index+1 %></td>
- <td class="text-left"><a href="<%- att.filepath %>" target="_blank"><%- att.filename %><%- att.fileext %></a></td>
- <td width="15%"><%- moment(att.upload_time).format("YYYY-MM-DD HH:mm:ss") %></td>
- <td width="10%"><a href="/sp/<%- ctx.subProject.id %>/construction/<%- ctx.constructionTender.id %>/log/<%- logInfo.id %>/file/<%- att.id %>/download" class="mr-2" title="下载"><i class="fa fa-download"></i></a>
- <% if (att.uid === ctx.session.sessionUser.accountId && (logInfo.status === constructionConst.status.checked ? Boolean(att.extra_upload) : true )) { %>
- <a href="javascript:void(0)" class="mr-2 delete-file" data-attid="<%- att.id %>" title="删除附件"><span class="fa fa-trash text-danger"></span></a>
- <% } %>
- </td>
- </tr>
- <% } %>
- <% } %>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script>
- const tender_id = <%- ctx.constructionTender.id %>;
- const log_id = <%- logInfo.id %>;
- const cur_uid = <%- logInfo.report_uid %>;
- const accountId = parseInt('<%- ctx.session.sessionUser.accountId %>');
- const logStatus = parseInt('<%- logInfo.status %>');
- const filePermission = <%- filePermission %>;
- const constructionStatusConst = JSON.parse(unescape('<%- escape(JSON.stringify(constructionConst.status)) %>'));
- <% if (ctx.session.sessionUser.accountId === logInfo.report_uid && logInfo.status === constructionConst.status.uncheck) { %>
- const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
- const accountList = JSON.parse(unescape('<%- escape(JSON.stringify(accountList)) %>'));
- <% } %>
- const whiteList = JSON.parse('<%- JSON.stringify(whiteList) %>');
- let attData = JSON.parse(unescape('<%- escape(JSON.stringify(attList)) %>'));
- </script>
|