inspection_information_modal.ejs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <!--添加附件-->
  2. <div class="modal fade" id="addfujian">
  3. <div class="modal-dialog" role="document">
  4. <div class="modal-content">
  5. <div class="modal-header">
  6. <h5 class="modal-title" id="myModalLabel">上传附件</h5>
  7. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  8. <span aria-hidden="true">&times;</span>
  9. </button>
  10. </div>
  11. <div class="modal-body">
  12. <div class="form-group">
  13. <label for="file-modal">单个文件大小限制:50MB,支持office等文档格式、图片格式、压缩包格式</label>
  14. <!-- <p><a href="javascript: void(0);" class="btn btn-primary" id="file-modal-target">选择文件</a></p> -->
  15. <input type="file" id="file-modal" multiple="multiple">
  16. </div>
  17. </div>
  18. <div class="modal-footer">
  19. <button id="file-cancel" type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">取消</button>
  20. <button id="file-ok" type="button" class="btn btn-primary btn-sm">添加</button>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. <% if (!inspection.readOnly) { %>
  26. <!--删除巡检-->
  27. <div class="modal fade" id="del" data-backdrop="static">
  28. <div class="modal-dialog" role="document">
  29. <div class="modal-content">
  30. <div class="modal-header">
  31. <h5 class="modal-title">删除巡检</h5>
  32. </div>
  33. <div class="modal-body">
  34. <p class="mb-2">删除后,数据无法恢复,请谨慎操作。</p>
  35. <p class="mb-2">请在下方文本框输入文本「<span class="text-danger">确认删除本次巡检</span>」,以此确认删除操作。</p>
  36. <p class="mb-2"><input type="text" class="form-control form-control-sm" id="del-inspection-text" placeholder="输入文本,确认删除"></p>
  37. </div>
  38. <div class="modal-footer">
  39. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  40. <button type="button" class="btn btn-sm btn-danger" id="del-inspection-btn">确定删除</button>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. <!--提交审批-->
  46. <div class="modal fade" id="sp-done" data-backdrop="static">
  47. <div class="modal-dialog" role="document">
  48. <div class="modal-content">
  49. <div class="modal-header">
  50. <h5 class="modal-title">提交审批</h5>
  51. </div>
  52. <div class="modal-body">
  53. 请确认审批流程及信息无误。
  54. </div>
  55. <div class="modal-footer">
  56. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  57. <button type="button" class="btn btn-sm btn-success" id="start-btn">确认提交</button>
  58. </div>
  59. </div>
  60. </div>
  61. </div>
  62. <% } %>
  63. <% if (inspection.shenpiPower) { %>
  64. <div class="modal fade" id="sp-back" data-backdrop="static">
  65. <div class="modal-dialog" role="document">
  66. <div class="modal-content">
  67. <div class="modal-header">
  68. <h5 class="modal-title">审批退回</h5>
  69. </div>
  70. <div class="modal-body">
  71. <div class="form-group">
  72. <label>审批意见</label>
  73. <textarea class="form-control form-control-sm" name="opinion" rows="5">不同意</textarea>
  74. </div>
  75. <!--退回至上一审批人-->
  76. <% if (inspection.curAuditorIds.indexOf(ctx.session.sessionUser.accountId) >= 0) { %>
  77. <div id="reject-process" class="alert alert-warning"
  78. style="margin-top: 15px;">
  79. <div class="form-check form-check-inline">
  80. <input class="form-check-input" type="radio" name="checkType"
  81. id="inlineRadio1" value="<%- auditConst.status.checkNo %>">
  82. <label class="form-check-label" for="inlineRadio1">退回原报
  83. <%- inspection.user.name %></label>
  84. </div>
  85. <% if (inspection.curAuditors[0].audit_order > 1) { %>
  86. <div class="form-check form-check-inline">
  87. <input class="form-check-input" type="radio" name="checkType" id="inlineRadio2" value="<%- auditConst.status.checkNoPre %>">
  88. <label class="form-check-label" for="inlineRadio2">退回上一审批人
  89. <% const pre = inspection.auditHistory[inspection.auditHistory.length - 1].find(x => { return x.audit_order === inspection.curAuditors[0].audit_order - 1}); %>
  90. <%- (pre.audit_type === auditType.key.common ? pre.auditors[0].name : `${pre.audit_order}审`)%></label>
  91. </label>
  92. </div>
  93. <% } %>
  94. </div>
  95. <% } %>
  96. </div>
  97. <div class="modal-footer">
  98. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  99. <button type="button" class="btn btn-sm btn-warning" id="approval-back-btn">确认退回</button>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <div class="modal fade" id="sp-done" data-backdrop="static">
  105. <div class="modal-dialog" role="document">
  106. <div class="modal-content">
  107. <div class="modal-header">
  108. <h5 class="modal-title">审批通过</h5>
  109. </div>
  110. <div class="modal-body">
  111. <div class="form-group">
  112. <label>审批意见</label>
  113. <textarea class="form-control form-control-sm" name="opinion" rows="5">同意</textarea>
  114. </div>
  115. <% if (inspection.finalAuditorIds.indexOf(ctx.session.sessionUser.accountId) !== -1) { %>
  116. <div class="alert alert-success">审批通过并指派人员整改:
  117. <input type="hidden" id="rectification-uid" value="<%- inspection.rectification_uid ? inspection.rectification_uid : '' %>">
  118. <span class="d-inline-block" id="rectification-user-set">
  119. <% if (inspection.rectification_uid && inspection.rectification_user) { %>
  120. <span class="badge">
  121. <%- inspection.rectification_user.name %>
  122. <span class="dropdown">
  123. <a href="javascript:void(0)" class="btn-sm text-danger px-1" title="移除" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-remove"></i></a>
  124. <div class="dropdown-menu">
  125. <a class="dropdown-item" href="javascript:void(0);">确认移除整改人?</a>
  126. <div class="dropdown-divider"></div>
  127. <div class="px-2 py-1 text-center">
  128. <button class="btn btn-sm btn-danger remove-btn">移除</button>
  129. <button class="btn btn-sm btn-secondary">取消</button>
  130. </div>
  131. </div>
  132. </span>
  133. </span>
  134. <% } %>
  135. </span>
  136. <div class="d-inline-block dropdown" <% if (inspection.rectification_user) { %>style="display: none!important;" <% } %>>
  137. <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button"
  138. id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
  139. aria-expanded="false">
  140. 选择整改人
  141. </button>
  142. <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton"
  143. style="width:220px">
  144. <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
  145. placeholder="姓名/手机 检索" autocomplete="off"></div>
  146. <dl class="list-unstyled book-list">
  147. <% accountGroup.forEach((group, idx) => { %>
  148. <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>
  149. <div class="dd-content" data-toggleid="<%- idx %>">
  150. <% group.groupList.forEach(item => { %>
  151. <% if (item.id !== inspection.uid) { %>
  152. <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>" >
  153. <p class="mb-0 d-flex">
  154. <span class="text-primary"><%- item.name %></span>
  155. <span class="ml-auto"><%- item.mobile %></span></p>
  156. <span class="text-muted"><%- item.role %></span>
  157. </dd>
  158. <% } %>
  159. <% });%>
  160. </div>
  161. <% }) %>
  162. </dl>
  163. </div>
  164. </div>
  165. </div>
  166. <% } else if (inspection.nextAuditors.length > 0) { %>
  167. <div class="alert alert-success">下一个审批人:
  168. <% const next = inspection.auditHistory[inspection.auditHistory.length - 1].find(x => { return x.audit_order === inspection.curAuditors[0].audit_order + 1}); %>
  169. <%- (next.audit_type === auditType.key.common ? next.auditors[0].name : `${next.audit_order}审`)%></div>
  170. <% } %>
  171. </div>
  172. <div class="modal-footer">
  173. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  174. <button type="button" class="btn btn-sm btn-success" id="approval-success-btn">确认通过</button>
  175. </div>
  176. </div>
  177. </div>
  178. </div>
  179. <div class="modal fade" id="sp-close" data-backdrop="static">
  180. <div class="modal-dialog" role="document">
  181. <div class="modal-content">
  182. <div class="modal-header">
  183. <h5 class="modal-title">审批关闭</h5>
  184. </div>
  185. <div class="modal-body">
  186. <div class="form-group">
  187. <label>关闭原因</label>
  188. <textarea class="form-control form-control-sm" name="opinion" rows="5"></textarea>
  189. </div>
  190. <div class="alert alert-danger">审批关闭,将直接停止该巡检流程。</div>
  191. </div>
  192. <div class="modal-footer">
  193. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  194. <button type="button" class="btn btn-sm btn-danger" id="approval-stop-btn">确认关闭</button>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. <% } %>
  200. <% if (inspection.rectificationPower) { %>
  201. <div class="modal fade" id="sp-back" data-backdrop="static">
  202. <div class="modal-dialog" role="document">
  203. <div class="modal-content">
  204. <div class="modal-header">
  205. <h5 class="modal-title">审批退回</h5>
  206. </div>
  207. <div class="modal-body">
  208. <div class="form-group">
  209. <label>审批意见</label>
  210. <textarea class="form-control form-control-sm" name="opinion" rows="5">不同意</textarea>
  211. </div>
  212. <!--退回至上一审批人-->
  213. <% if (inspection.curAuditorIds.indexOf(ctx.session.sessionUser.accountId) >= 0) { %>
  214. <div id="reject-process" class="alert alert-warning"
  215. style="margin-top: 15px;">
  216. 退回上一审批人
  217. <% const pre = inspection.auditHistory[inspection.auditHistory.length - 1].find(x => { return x.audit_order === inspection.curAuditors[0].audit_order - 1}); %>
  218. <%- (pre.audit_type === auditType.key.common ? pre.auditors[0].name : `${pre.audit_order}审`)%>
  219. </div>
  220. <% } %>
  221. </div>
  222. <div class="modal-footer">
  223. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  224. <button type="button" class="btn btn-sm btn-warning" id="rectification-back-btn">确认退回</button>
  225. </div>
  226. </div>
  227. </div>
  228. </div>
  229. <div class="modal fade" id="sp-done" data-backdrop="static">
  230. <div class="modal-dialog" role="document">
  231. <div class="modal-content">
  232. <div class="modal-header">
  233. <h5 class="modal-title">整改完成</h5>
  234. </div>
  235. <div class="modal-body">
  236. <div class="form-group">
  237. <label>整改意见</label>
  238. <textarea class="form-control form-control-sm" name="opinion" rows="5">已整改</textarea>
  239. </div>
  240. </div>
  241. <div class="modal-footer">
  242. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  243. <button type="button" class="btn btn-sm btn-success" id="rectification-success-btn">确认通过</button>
  244. </div>
  245. </div>
  246. </div>
  247. </div>
  248. <% } %>