pre_approve.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  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. .line {
  9. display: block;
  10. text-align: left;
  11. background-color: #fff;
  12. color: #333;
  13. border-bottom: 1px solid #0a6999;
  14. border-color: #fff;
  15. border-bottom: 1px solid #0a6999;
  16. margin-top: 10px;
  17. vertical-align: middle;
  18. padding: 4px 12px;
  19. height: 31px;
  20. line-height: 31px;
  21. font-size: 14px;
  22. font-weight: bold;
  23. }
  24. </style>
  25. </head>
  26. <body layout:fragment="content">
  27. <article class="page-container">
  28. <form class="form form-horizontal">
  29. <div class="line">基本信息 <span style="float:right">项目来源:[[${data?.resource}]]</span></div>
  30. <div class="row cl">
  31. <label class="form-label col-xs-4 col-sm-2">项目标题:</label>
  32. <div class="formControls col-xs-4 col-sm-2">
  33. <p>[[${data?.title}]]</p>
  34. </div>
  35. <label class="form-label col-xs-2 col-sm-2">项目阶段:</label>
  36. <div class="formControls col-xs-4 col-sm-2">
  37. <p>[[${data?.process_stage_desc}]]</p>
  38. </div>
  39. </div>
  40. <div class="row cl">
  41. <label class="form-label col-xs-4 col-sm-2">项目用地:</label>
  42. <div class="formControls col-xs-8 col-sm-2">
  43. <p>[[${data?.location}]]</p>
  44. </div>
  45. <label class="form-label col-xs-2 col-sm-2">项目状态:</label>
  46. <div class="formControls col-xs-4 col-sm-2">
  47. <p>[[${data?.approve_status_desc}]]</p>
  48. </div>
  49. </div>
  50. <div class="row cl">
  51. <label class="form-label col-xs-4 col-sm-2"><span>项目介绍:</span></label>
  52. <div class="formControls col-xs-8 col-sm-9">
  53. <div th:utext="${data.content}">
  54. </div>
  55. </div>
  56. </div>
  57. <div class="row cl">
  58. <label class="form-label col-xs-4 col-sm-2"><span>附件:</span></label>
  59. <div class="formControls col-xs-8 col-sm-9">
  60. <!-- <div class="uploader-list">-->
  61. <!-- <th:block th:unless="${data.fileDown==null || data.fileDown.file_url== null}">-->
  62. <!-- <a style="color: #0c80fe;" th:href="${fileUrl} + ${data.fileDown.file_url}" target="_blank">[[${data.fileDown.file_name}]]</a>-->
  63. <!-- </th:block>-->
  64. <!-- </div>-->
  65. <div class="uploader-list">
  66. <th:block th:unless="${data.fileList==null}"
  67. th:each="item,itemStat: ${data.fileList}">
  68. <p><a style="color: #0c80fe;" th:href="${fileUrl} + ${item.file_url}" target="_blank">[[${item.file_name}]]</a></p>
  69. </th:block>
  70. </div>
  71. </div>
  72. </div>
  73. <div class="line">项目信息补充</div>
  74. <div class="row cl">
  75. <label class="form-label col-xs-4 col-sm-2"><span>补充信息:</span></label>
  76. <div class="formControls col-xs-8 col-sm-9">
  77. <div th:utext="${data.supplement}">
  78. </div>
  79. </div>
  80. </div>
  81. <div class="row cl">
  82. <label class="form-label col-xs-4 col-sm-2"><span>补充附件:</span></label>
  83. <div class="formControls col-xs-8 col-sm-9">
  84. <div class="uploader-list">
  85. <th:block th:unless="${data.supplement_file==null || data.supplement_file.file_url== null}">
  86. <a style="color: #0c80fe;" th:href="${fileUrl} + ${data.supplement_file.file_url}"
  87. target="_blank">[[${data.supplement_file.file_name}]]</a>
  88. </th:block>
  89. </div>
  90. </div>
  91. </div>
  92. <div class="line">咨询问题</div>
  93. <div class="row cl">
  94. <label class="form-label col-xs-4 col-sm-2"></label>
  95. <div class="formControls col-xs-8 col-sm-9">
  96. <table class="table table-border table-bordered table-bg table-hover processTb">
  97. <thead>
  98. <tr class="text-c">
  99. <th>咨询部门</th>
  100. <th>咨询问题</th>
  101. <th>反馈内容</th>
  102. <th>反馈文件</th>
  103. <th>剩余答复时间</th>
  104. <th>答复时间</th>
  105. <th>咨询时间</th>
  106. </tr>
  107. </thead>
  108. <tbody>
  109. <tr class="text-c" th:each="item : ${data.consultationList}">
  110. <td th:text="${item.department_name}"></td>
  111. <td th:text="${item.consultation}" class="viewComment" th:data="*{item.consultation}"></td>
  112. <td th:text="${item.feedback}" class="viewComment" th:data="*{item.feedback}"></td>
  113. <td>
  114. <th:block th:unless="${item.fileDown==null || item.fileDown.file_url== null}">
  115. <a style="color: #0c80fe;" th:href="${fileUrl} + ${item.fileDown.file_url}"
  116. target="_blank">[[${item.fileDown.file_name}]]</a>
  117. </th:block>
  118. </td>
  119. <td th:text="${item.remain_time}"></td>
  120. <td th:text="${item.feedback_time}"></td>
  121. <td th:text="${item.consultation_time}"></td>
  122. </tr>
  123. </tbody>
  124. </table>
  125. </div>
  126. </div>
  127. <div class="line">咨询汇总</div>
  128. <div class="row cl">
  129. <label class="form-label col-xs-4 col-sm-2"><span>汇总意见:</span></label>
  130. <div class="formControls col-xs-8 col-sm-9">
  131. <div th:utext="${data.consultation_summary}">
  132. </div>
  133. </div>
  134. </div>
  135. <div class="row cl">
  136. <label class="form-label col-xs-4 col-sm-2"><span>附件:</span></label>
  137. <div class="formControls col-xs-8 col-sm-9">
  138. <div class="uploader-list">
  139. <th:block
  140. th:unless="${data.consultation_summary_file==null || data.consultation_summary_file.file_url== null}">
  141. <a style="color: #0c80fe;" th:href="${fileUrl} + ${data.consultation_summary_file.file_url}"
  142. target="_blank">[[${data.consultation_summary_file.file_name}]]</a>
  143. </th:block>
  144. </div>
  145. </div>
  146. </div>
  147. <th:block th:if="*{data.approve_status=='11'}">
  148. <div class="line">预审审批</div>
  149. <div class="row cl">
  150. <label class="form-label col-xs-4 col-sm-2"></label>
  151. <div class="formControls col-xs-8 col-sm-9">
  152. <table class="table table-border table-bordered table-bg table-hover processTb">
  153. <thead>
  154. <tr class="text-c">
  155. <th>审批角色</th>
  156. <th>审批结果</th>
  157. <th>审批意见</th>
  158. <th>文件</th>
  159. </tr>
  160. </thead>
  161. <tbody>
  162. <!-- <tr class="text-c">-->
  163. <!-- <td>商务局分管领导</td>-->
  164. <!-- <td th:text="${data.commerce_leader_pre_approve_operate}" class="viewComment"-->
  165. <!-- th:data="*{data.commerce_leader_pre_approve_operate}"></td>-->
  166. <!-- <td th:text="${data.commerce_leader_pre_approve_comment}" class="viewComment"-->
  167. <!-- th:data="*{data.commerce_leader_pre_approve_comment}"></td>-->
  168. <!-- <td>-->
  169. <!-- <th:block-->
  170. <!-- th:unless="${data.commerce_leader_pre_approve_file==null || data.commerce_leader_pre_approve_file.file_url== null}">-->
  171. <!-- <a style="color: #0c80fe;"-->
  172. <!-- th:href="${fileUrl} + ${data.commerce_leader_pre_approve_file.file_url}"-->
  173. <!-- target="_blank">[[${data.commerce_leader_pre_approve_file.file_name}]]</a>-->
  174. <!-- </th:block>-->
  175. <!-- </td>-->
  176. <!-- </tr>-->
  177. </tbody>
  178. </table>
  179. </div>
  180. </div>
  181. </th:block>
  182. </form>
  183. <form class="form form-horizontal" id="form-approve">
  184. <input id="status" type="hidden" name="status"/>
  185. <input id="type" type="hidden" name="type"/>
  186. <input id="apply_id" type="hidden" name="apply_id" th:value="${data.id}"/>
  187. <th:block th:if="*{data.approve_status=='11'}">
  188. <div class="line">会签</div>
  189. <!--<div class="row cl">
  190. <label class="form-label col-xs-4 col-sm-2"><span>会签说明:</span></label>
  191. <div class="formControls col-xs-8 col-sm-9">
  192. <textarea id="countersign_comment" name="countersign_comment"
  193. >[[${data.countersign_comment}]]</textarea>
  194. </div>
  195. </div>
  196. <div class="row cl">
  197. <label class="form-label col-xs-4 col-sm-2"><span>会签单下载:</span></label>
  198. <div class="formControls col-xs-8 col-sm-9">
  199. <a th:onclick="'javascript:exportWord(\''+${data.id}+'\');'"
  200. class="btn btn-secondary radius" type="button">下载</a>
  201. </div>
  202. </div>
  203. <div class="row cl">
  204. <label class="form-label col-xs-4 col-sm-2"><span>会签单上传:</span></label>
  205. <div class="formControls col-xs-8 col-sm-9">
  206. <div class="uploader-thum-container">
  207. <input class="uploadFileName btn btn-upload radius" name="uploadFileName" readonly="readonly"
  208. type="text" value="上传文件"
  209. th:onclick="'javascript:addFileByName(\'/land_supply/addApplyFile'+'\',this);'"/>
  210. <input class="uploadFileId" type="hidden"
  211. th:name="'countersign_file.file_id'"/>
  212. <a style="color: #0c80fe;" th:onclick="'javascript:deleteFile(this)'">删除</a>
  213. </div>
  214. </div>
  215. </div>-->
  216. <div class="row cl">
  217. <label class="form-label col-xs-4 col-sm-2"><span>会签单下载:</span></label>
  218. <div class="formControls col-xs-8 col-sm-9">
  219. <a th:onclick="'javascript:exportWord(\''+${data.id}+'\');'"
  220. class="btn btn-secondary radius" type="button">下载</a>
  221. </div>
  222. </div>
  223. </th:block>
  224. <!--<div th:if="*{data.approve_status=='8' || data.approve_status=='11'}" class="line">流程信息</div>
  225. <div th:if="*{data.approve_status=='8' || data.approve_status=='11'}" class="row cl">
  226. <div class="col-xs-8 col-sm-9 col-xs-offset-2 col-sm-offset-1">
  227. <table class="table table-border table-bordered table-bg table-hover processTb">
  228. <thead>
  229. <tr class="text-c">
  230. <th>时间</th>
  231. &lt;!&ndash; <th>审核状态</th> &ndash;&gt;
  232. <th>单位</th>
  233. <th>操作人</th>
  234. <th>操作</th>
  235. <th>审核意见</th>
  236. </tr>
  237. </thead>
  238. <tbody>
  239. <tr class="text-c" th:each="model,iterStat:${approvalList}" th:object="${model}">
  240. <td th:text="*{create_time}"></td>
  241. &lt;!&ndash; <td th:text="*{before_approvalstatus_str}"></td> &ndash;&gt;
  242. <td th:text="*{department}"></td>
  243. <td th:text="*{create_name}"></td>
  244. <td th:text="*{oper_type}"></td>
  245. <td class="viewComment" th:data="*{approval_comment}" th:text="*{approval_comment}"></td>
  246. </tr>
  247. </tbody>
  248. </table>
  249. </div>
  250. </div>-->
  251. <div th:if="*{data.approve_status=='8' || data.approve_status=='11'}" class="line">审核意见</div>
  252. <div th:if="*{data.approve_status=='8' || data.approve_status=='11'}" class="row cl">
  253. <label class="form-label col-xs-4 col-sm-2"><span>审核意见:</span></label>
  254. <div class="formControls col-xs-8 col-sm-9">
  255. <textarea class="textarea" id="approval_comment" th:name="approval_comment"
  256. placeholder="请输入审核意见"></textarea>
  257. </div>
  258. </div>
  259. <div class="row cl">
  260. <label class="form-label col-xs-4 col-sm-2">审核材料:</label>
  261. <div class="formControls col-xs-8 col-sm-9">
  262. <div class="uploader-thum-container">
  263. <!-- <div id="fileListPre" class="uploader-list">-->
  264. <!-- </div>-->
  265. <!-- <div id="filePicker">选择文件</div>-->
  266. <input class="uploadFileName btn btn-upload radius" name="uploadFileName" readonly="readonly"
  267. type="text" value="上传文件"
  268. th:onclick="'javascript:addFileByName(\'/land_supply/addApplyFile'+'\',this);'"/>
  269. <input class="uploadFileId" type="hidden"
  270. th:name="'fileDown.file_id'"/>
  271. <a style="color: #0c80fe;" th:onclick="'javascript:deleteFile(this)'">删除</a>
  272. </div>
  273. </div>
  274. </div>
  275. <div class="row cl text-c" style="background-color: white">
  276. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
  277. <a onclick="audit(2,1)" class="btn btn-primary radius"
  278. th:if="*{data.approve_status=='8'}">通过 </a>
  279. <a onclick="audit(1,1)" class="btn btn-primary radius"
  280. th:if="*{data.approve_status=='8'}">退回 </a>
  281. <a onclick="audit(3,1)" class="btn btn-primary radius"
  282. th:if="*{data.approve_status=='8'}">不通过 </a>
  283. <a onclick="audit(2,2)" class="btn btn-primary radius"
  284. th:if="*{data.approve_status=='11'}">通过 </a>
  285. <a onclick="audit(1,2)" class="btn btn-primary radius"
  286. th:if="*{data.approve_status=='11'}">退回 </a>
  287. <a onclick="audit(3,2)" class="btn btn-primary radius"
  288. th:if="*{data.approve_status=='11'}">不通过 </a>
  289. <a onClick="removeIframe();" class="btn btn-default radius" type="button">&nbsp;&nbsp;返回&nbsp;&nbsp;</a>
  290. </div>
  291. </div>
  292. </form>
  293. </article>
  294. <script type="text/javascript" th:src="@{/h-ui/lib/webuploader/0.1.5/webuploader.min.js}"></script>
  295. <script th:inline="javascript">
  296. function exportWord(id) {
  297. window.open(pagePath + "/land_supply/management_committee_leader_export/" + id);
  298. }
  299. //添加相应name的文件
  300. function addFileByName(url, obj) {
  301. var name = $(obj).next().attr("name");
  302. url += "?fileIdName=" + name;
  303. layer_show('添加文件', pagePath + url, 800, 350);
  304. }
  305. function deleteFile(item) {
  306. $(item).parent().find(".uploadFileName").val("上传文件")
  307. $(item).parent().find(".uploadFileId").val(null)
  308. }
  309. //status 1退回,2通过,3不通过
  310. function audit(status, type) {
  311. $("#status").val(status);
  312. $("#type").val(type);
  313. if ($("#approval_comment").val() && $("#approval_comment").val().length > 5000) {
  314. errorMessage('审核意见最多支持5000个字符!');
  315. return false;
  316. }
  317. if (status == 1 || status == 3) {
  318. //退回、不通过审核意见必填
  319. if ($.trim($("#approval_comment").val()) == "") {
  320. errorMessage('请填写审核意见!');
  321. return false;
  322. }
  323. var str = "确定操作吗?"
  324. if (status == 1) {
  325. str = "确定退回吗?"
  326. } else if (status == 3) {
  327. str = "确定不通过吗?"
  328. }
  329. layer.confirm(str, function (index) {
  330. $("#form-approve").submit();
  331. layer.close(index);
  332. });
  333. } else if (status == 2) {
  334. $("#form-approve").submit();
  335. }
  336. }
  337. $(function () {
  338. type = $("#type").val();
  339. $("#form-approve").validate({
  340. rules: {},
  341. messages: {},
  342. onkeyup: false,
  343. focusCleanup: true,
  344. success: "valid",
  345. data: {
  346. type: type
  347. },
  348. submitHandler: function (form) {
  349. $(form).ajaxSubmit({
  350. type: 'post',
  351. url: pagePath + "/land_supply/approve",
  352. dataType: "json",
  353. success: function (data) {
  354. if (data.success) {
  355. succeedMessage(data.message);
  356. setTimeClose();
  357. } else {
  358. errorMessage(data.message);
  359. }
  360. },
  361. error: function () {
  362. errorMessage('系统错误!');
  363. }
  364. });
  365. return false; // 非常重要,如果是false,则表明是不跳转,在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
  366. }
  367. });
  368. //查看完整意见
  369. $(".viewComment").on("click", function () {
  370. layer.alert(
  371. $(this).attr('data'),
  372. {area: ['800px', '500px']}
  373. )
  374. });
  375. });
  376. $(function () {
  377. //查看完整意见
  378. $(".viewComment").on("click", function () {
  379. layer.alert(
  380. $(this).attr('data'),
  381. {area: ['800px', '500px']}
  382. )
  383. });
  384. });
  385. //富文本kindeditor初始化
  386. var editor;
  387. KindEditor.ready(function (K) {
  388. editor = K.create('#countersign_comment', {
  389. uploadJson: pagePath + '/upload/kindEditorUpload',
  390. cssData: 'body {font-family: "微软雅黑"; font-size: 14px}',
  391. allowFileManager: false,
  392. allowUpload: true,
  393. width: "100%",
  394. height: "350px",
  395. items: array,
  396. syncType: "auto",
  397. filterMode: false,
  398. afterBlur: function () {
  399. this.sync();
  400. }
  401. });
  402. });
  403. /**
  404. * 取消
  405. */
  406. function removeIframe() {
  407. var index = parent.layer.getFrameIndex(window.name);
  408. parent.layer.close(index);
  409. }
  410. $(function () {
  411. // 初始化上传
  412. var options = {
  413. uploadBtnId: '#filePicker',
  414. picturePreId: 'fileListPre',
  415. hiddenPictureUrl: 'img',
  416. hiddenPictureName: 'imgName',
  417. width: 81,
  418. height: 81,
  419. fileSizeLimit: 100 * 1024 * 1024,
  420. fileSingleSizeLimit: 100 * 1024 * 1024
  421. };
  422. var webUploadDoc = new $WebUploadDoc(options);
  423. webUploadDoc.init();
  424. });
  425. </script>
  426. </body>
  427. </html>