audit.html 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <!DOCTYPE HTML>
  2. <html xmlns:th="http://www.thymeleaf.org"
  3. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  4. layout:decorate="~{admin/common/common}">
  5. <head>
  6. <title>详情</title>
  7. <style>
  8. .childTit{
  9. font-size:14px;
  10. color:#333;
  11. padding:8px 5px;
  12. /*margin: 15px 0;*/
  13. border-left: 3px solid #409EFF;
  14. background: rgba(240,240,240,0.9);
  15. text-align: left;
  16. }
  17. .line {
  18. display: block;
  19. text-align: left;
  20. background-color: #fff;
  21. color: #333;
  22. border-bottom: 1px solid #0a6999;
  23. border-color: #fff;
  24. border-bottom: 1px solid #0a6999;
  25. margin-top: 10px;
  26. vertical-align: middle;
  27. padding: 4px 12px;
  28. height: 31px;
  29. line-height: 31px;
  30. font-size: 14px;
  31. font-weight: bold;
  32. }
  33. </style>
  34. </head>
  35. <body layout:fragment="content">
  36. <article class="page-container">
  37. <form class="form form-horizontal" id="form-add">
  38. <input type="hidden" name = "id" th:value="${retreatOptimization.id}" readonly/>
  39. <div class="line">基本信息</div>
  40. <div class="row cl">
  41. <div class="col-xs-6 col-sm-6">
  42. <label class="form-label col-xs-3 col-sm-3">板块:</label>
  43. <div class="formControls col-xs-6 col-sm-6">
  44. <input type="test" class="input-text" name = "plateName" th:value="${retreatOptimization.plateName}" readonly/>
  45. </div>
  46. </div>
  47. <div class="col-xs-6 col-sm-6">
  48. <label class="form-label col-xs-3 col-sm-3">上传用户:</label>
  49. <div class="formControls col-xs-6 col-sm-6">
  50. <input type="test" class="input-text" name = "userNsme" th:value="${retreatOptimization.userName}" readonly/>
  51. </div>
  52. </div>
  53. </div>
  54. <div class="row cl">
  55. <div class="col-xs-6 col-sm-6">
  56. <label class="form-label col-xs-3 col-sm-3">上传时间:</label>
  57. <div class="formControls col-xs-6 col-sm-6">
  58. <input type="test" class="input-text" name = "createTime" th:value="${retreatOptimization.commit_time}" readonly/>
  59. </div>
  60. </div>
  61. <div class="col-xs-6 col-sm-6">
  62. <label class="form-label col-xs-3 col-sm-3">状态:</label>
  63. <div class="formControls col-xs-6 col-sm-6">
  64. <input type="test" class="input-text" name = "statusStr" th:value="${retreatOptimization.statusStr}" readonly/>
  65. </div>
  66. </div>
  67. </div>
  68. <div class="row cl">
  69. <div class="col-xs-6 col-sm-6">
  70. <label class="form-label col-xs-3 col-sm-3">类型:</label>
  71. <div class="formControls col-xs-6 col-sm-6">
  72. <input type="test" class="input-text" name = "typeStr" th:value="${retreatOptimization.typeStr}" readonly/>
  73. </div>
  74. </div>
  75. </div>
  76. <!--<div class="row cl">-->
  77. <!--<h2 class="childTit">文件资料</h2>-->
  78. <!--</div>-->
  79. <div class="line">文件资料</div>
  80. <!--<div class="row cl" id="template">-->
  81. <table class="table table-border table-bordered table-bg table-hover" style="margin-top: 15px">
  82. <thead>
  83. <tr class="text-c">
  84. <th>编号</th>
  85. <th>模版</th>
  86. <th>上传材料</th>
  87. </tr>
  88. </thead>
  89. <tbody>
  90. <tr class="text-c" th:each="model,iterStat:${materials}" th:object="${model}">
  91. <td th:text="${iterStat.index+1}"></td>
  92. <td>
  93. <div>
  94. <a th:href="${fileUrl} + *{url}" target="_blank" style="color: #5b98dd;">[[*{item_name}]]</a>
  95. </div>
  96. </td>
  97. <td class="td_material">
  98. <div th:if="*{fileDown}">
  99. <a th:href="${fileUrl} + *{fileDown.file_url}" target="_blank" style="color: #5b98dd;">[[*{fileDown.file_name}]]</a>
  100. </div>
  101. </td>
  102. </tr>
  103. </tbody>
  104. </table>
  105. <!--</div>-->
  106. <!--<div class="row cl">-->
  107. <!--<h2 class="childTit">流程信息</h2>-->
  108. <!--</div>-->
  109. <div class="line">流程信息</div>
  110. <!--<div class="row cl" id="approval">-->
  111. <table class="table table-border table-bordered table-bg table-hover processTb" style="margin-top: 15px">
  112. <thead>
  113. <tr class="text-c">
  114. <th>单位</th>
  115. <th>用户</th>
  116. <th>时间</th>
  117. <th>操作</th>
  118. <th>意见与建议</th>
  119. </tr>
  120. </thead>
  121. <tbody>
  122. <tr class="text-c" th:each="model,iterStat:${approvals}" th:object="${model}">
  123. <td th:text="*{department}"></td>
  124. <td th:text="*{create_name}"></td>
  125. <td th:text="*{create_time}"></td>
  126. <td th:text="*{oper_type}"></td>
  127. <td class="viewComment" th:data="*{approval_comment}" th:text="*{approval_comment}"></td>
  128. </tr>
  129. </tbody>
  130. </table>
  131. <!--</div>-->
  132. <div>
  133. <!--<h2 class="childTit">意见与建议</h2>-->
  134. <div class="line">意见与建议</div>
  135. <textarea id="approvalComment" name="approval_comment" style="height: 150px;width: 100%;" th:value="${lastApproval.approval_comment}"></textarea>
  136. </div>
  137. <div class="row cl">
  138. <div class="col-xs-12 col-sm-9 col-xs-offset-5 col-sm-offset-5">
  139. <button onClick="removeIframe();" class="btn btn-default radius" type="button">&nbsp;&nbsp;取消&nbsp;&nbsp;</button>
  140. <a th:if="${userType}==4 and ${retreatOptimization.status}==1" class="btn btn-primary radius" onclick="retreat()">&nbsp;&nbsp;退回&nbsp;&nbsp;</a>
  141. <a th:if="${userType}==4 and ${retreatOptimization.status}==1" class="btn btn-primary radius" onclick="approve()">&nbsp;&nbsp;审核通过&nbsp;&nbsp;</a>
  142. <a th:if="${userType}==0 and ${retreatOptimization.status}==3" class="btn btn-primary radius" onclick="retreat()">&nbsp;&nbsp;退回&nbsp;&nbsp;</a>
  143. <a th:if="${userType}==0 and ${retreatOptimization.status}==3" class="btn btn-primary radius" onclick="approve()">&nbsp;&nbsp;确认已接收&nbsp;&nbsp;</a>
  144. </div>
  145. </div>
  146. </form>
  147. </article>
  148. <script type="text/javascript" th:src="@{/js/common/page.js}"></script>
  149. <script th:inline="javascript">
  150. var fileUrl = [[${fileUrl}]];
  151. var approvalComment = [[${lastApproval.approval_comment}]];
  152. $("#approvalComment").val(approvalComment)
  153. var status = [[${retreatOptimization.status}]];
  154. if (status == 2){
  155. $("#approvalComment").attr('readonly','readonly');
  156. }
  157. function retreat() {
  158. var id = [[${retreatOptimization.id}]];
  159. var approvalComment = $("#approvalComment").val();
  160. $.ajax({
  161. url :pagePath+"/retreatOpt/retreat/"+id,
  162. type : "post",
  163. data : {
  164. 'approvalComment': approvalComment
  165. },
  166. dataType : "json",
  167. success: function (result) {
  168. if (result.success) {
  169. succeedMessage(result.message);
  170. setTimeClose();
  171. }
  172. else {
  173. errorMessage(result.message);
  174. }
  175. },
  176. error: function () {
  177. errorMessage('系统错误!');
  178. }
  179. })
  180. }
  181. function approve() {
  182. var id = [[${retreatOptimization.id}]];
  183. var approvalComment = $("#approvalComment").val();
  184. $.ajax({
  185. url :pagePath+"/retreatOpt/approve/"+id,
  186. type : "post",
  187. data : {
  188. 'approvalComment': approvalComment
  189. },
  190. dataType : "json",
  191. success: function (result) {
  192. if (result.success) {
  193. succeedMessage(result.message);
  194. setTimeClose();
  195. }
  196. else {
  197. errorMessage(result.message);
  198. }
  199. },
  200. error: function (e) {
  201. errorMessage(e.msg);
  202. }
  203. })
  204. }
  205. //查看完整意见
  206. $(".viewComment").on("click", function () {
  207. layer.alert(
  208. $(this).attr('data'),
  209. {area: ['800px', '500px']}
  210. )
  211. });
  212. /**
  213. * 取消
  214. */
  215. function removeIframe(){
  216. var index = parent.layer.getFrameIndex(window.name);
  217. parent.layer.close(index);
  218. }
  219. </script>
  220. </body>
  221. </html>