addHdanger.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>登记隐患</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/inputTags.css"/>
  10. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  11. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  12. <style>
  13. .note.note-danger {
  14. background-color: #f9f0f0;
  15. border-color: #e4b9c0;
  16. color: #a94442;
  17. }
  18. .note.note-danger.note-bordered {
  19. background-color: #f1dada;
  20. border-color: #dca7b0;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <!-- 页面加载loading -->
  26. <div class="page-loading">
  27. <div class="ball-loader">
  28. <span></span><span></span><span></span><span></span>
  29. </div>
  30. </div>
  31. <!-- 正文开始 -->
  32. <form class="layui-form" lay-filter="editForm" id="editForm">
  33. <div class="layui-fluid">
  34. <div class="layui-card" style="padding-bottom :75px;">
  35. <div class="layui-card-header">
  36. 登记隐患
  37. </div>
  38. <div class="layui-card-body">
  39. <input type="hidden" class="layui-input" id="isScheduleCheck" name="isScheduleCheck" value="0"/>
  40. <input type="hidden" class="layui-input" id="checkRecordLogId" name="checkRecordLogId" value="0"/>
  41. <input type="hidden" class="layui-input" id="itemDetailId" name="itemDetailId" value="0"/>
  42. <!--登记隐患-->
  43. <input type="hidden" class="layui-input" id="registerHdanger" name="registerHdanger" value="1"/>
  44. <div class="layui-form-item layui-row">
  45. <div class="layui-inline layui-col-md5 p-top10px">
  46. <label class="layui-form-label"><span class="layui-badge-dot"></span> 隐患标题</label>
  47. <div class="layui-input-block">
  48. <input type="text" class="layui-input" id="hdangerTitle" name="hdangerTitle"
  49. placeholder="请输入标题" maxlength="64"
  50. lay-verType="tips" lay-verify="required" required/>
  51. </div>
  52. </div>
  53. <div class="layui-inline layui-col-md5 p-top10px">
  54. <label class="layui-form-label"><span class="layui-badge-dot"></span> 隐患类型</label>
  55. <div class="layui-input-block">
  56. <select name="hdangerCatId" id="hdangerCatId" lay-verType="tips" lay-verify="required"
  57. required class="layui-input-block ">
  58. </select>
  59. </div>
  60. </div>
  61. <div class="layui-inline layui-col-md5 p-top10px">
  62. <label class="layui-form-label"><span class="layui-badge-dot"></span> 隐患等级</label>
  63. <div class="layui-input-block">
  64. <select id="hdangerLevel" name="hdangerLevel" lay-filter="layuiForm" lay-verType="tips"
  65. lay-verify="required"
  66. class="layui-input-block ">
  67. <option value="">点击选择</option>
  68. </select>
  69. </div>
  70. </div>
  71. <div class="layui-inline layui-col-md5 p-top10px">
  72. <label class="layui-form-label"><span class="layui-badge-dot"></span> 整改期限</label>
  73. <div class="layui-input-block">
  74. <input type="text" name="hdangerRetifyDeadline" id="hdangerRetifyDeadline"
  75. lay-verType="tips" lay-verify="required" autocomplete="off"
  76. placeholder="选择整改期限"
  77. class="layui-input" readonly>
  78. </div>
  79. </div>
  80. <div class="hdanger-review">
  81. <div class="layui-inline layui-col-md5 p-top10px">
  82. <label class="layui-form-label"><span class="layui-badge-dot"></span> 评审部门</label>
  83. <div class="layui-input-block">
  84. <input type="text" id="hdangerReviewGroupName"
  85. class="layui-input work-flow-review-group-hint" name="hdangerReviewGroupName"
  86. value=""
  87. placeholder="点击选择部门"
  88. class="form-control" readonly>
  89. <input type="hidden" id="hdangerReviewGroup" name="hdangerReviewGroup">
  90. <div id="menuContentReview" class="menuContent">
  91. <ul id="threeLevelGroupReview" class="ztree" style="margin-top:0;"></ul>
  92. </div>
  93. </div>
  94. </div>
  95. <div class="layui-inline layui-col-md5 p-top10px">
  96. <label class="layui-form-label"><span class="layui-badge-dot"></span> 评审人员</label>
  97. <div class="layui-input-block">
  98. <select id="hdangerReviewBy" name="hdangerReviewBy"
  99. class="layui-input-block work-flow-review-by-hint"
  100. >
  101. <option value="">点击选择人员</option>
  102. </select>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="hdanger-retify">
  107. <div class="layui-inline layui-col-md5 p-top10px">
  108. <label class="layui-form-label"><span class="layui-badge-dot"></span> 整改部门</label>
  109. <div class="layui-input-block">
  110. <input type="text" id="hdangerRetifyGroupName"
  111. class="layui-input work-flow-retify-group-hint" name="hdangerRetifyGroupName"
  112. value=""
  113. placeholder="点击选择部门"
  114. class="form-control" readonly>
  115. <input type="hidden" id="hdangerRetifyGroup" name="hdangerRetifyGroup" readonly>
  116. <div id="menuContentRetify" class="menuContent">
  117. <ul id="threeLevelGroupRetify" class="ztree" style="margin-top:0;"></ul>
  118. </div>
  119. </div>
  120. </div>
  121. <div class="layui-inline layui-col-md5 p-top10px">
  122. <label class="layui-form-label "><span class="layui-badge-dot"></span> 整改人员</label>
  123. <div class="layui-input-block">
  124. <select id="hdangerRetifyBy" name="hdangerRetifyBy"
  125. class="layui-input-block work-flow-retify-by-hint"
  126. lay-filter="layuiFormRetify">
  127. <option value="">点击选择人员</option>
  128. </select>
  129. </div>
  130. </div>
  131. </div>
  132. <div class="hdanger-accepted">
  133. <div class="layui-inline layui-col-md5 p-top10px">
  134. <label class="layui-form-label"><span class="layui-badge-dot"></span> 验收部门</label>
  135. <div class="layui-input-block">
  136. <input type="text" id="hdangerAcceptedGroupName"
  137. class="layui-input work-flow-accepted-group-hint" name="hdangerAcceptedGroupName"
  138. value=""
  139. placeholder="点击选择部门"
  140. class="form-control" readonly>
  141. <input type="hidden" id="hdangerAcceptedGroup" name="hdangerAcceptedGroup" readonly>
  142. <div id="menuContentAccepted" class="menuContent">
  143. <ul id="threeLevelGroupAccepted" class="ztree" style="margin-top:0;"></ul>
  144. </div>
  145. </div>
  146. </div>
  147. <div class="layui-inline layui-col-md5 p-top10px">
  148. <label class="layui-form-label"><span class="layui-badge-dot"></span> 验收人员</label>
  149. <div class="layui-input-block">
  150. <select id="hdangerAcceptedBy" name="hdangerAcceptedBy"
  151. class="layui-input-block work-flow-accepted-by-hint"
  152. lay-verType="tips">
  153. <option value="">点击选择人员</option>
  154. </select>
  155. </div>
  156. </div>
  157. </div>
  158. <!--隐患所属部门-->
  159. <div class="layui-inline layui-col-md5 p-top10px">
  160. <label class="layui-form-label"><span class="layui-badge-dot"></span> 所属部门</label>
  161. <div class="layui-input-block">
  162. <input type="text" id="groupName" class="layui-input work-flow-accepted-group-hint"
  163. name="hdangerAcceptedGroupName"
  164. value=""
  165. placeholder="选择隐患所属部门"
  166. class="form-control" readonly>
  167. <input type="hidden" id="groupId" name="groupId" readonly>
  168. <div id="menuContentGroupId" class="menuContent">
  169. <ul id="threeLevelGroupId" class="ztree" style="margin-top:0;"></ul>
  170. </div>
  171. </div>
  172. </div>
  173. <div class="layui-inline layui-col-md10 p-top10px">
  174. <label class="layui-form-label"><span class="layui-badge-dot"></span> 现场描述</label>
  175. <div class="layui-input-block">
  176. <textarea class="layui-textarea" lay-verType="tips" lay-verify="required"
  177. placeholder="请输入描述"
  178. id="hdangerDesc" name="hdangerDesc" maxlength="500"></textarea>
  179. </div>
  180. </div>
  181. <!--附件-->
  182. <div class="layui-inline layui-col-md10 p-top10px">
  183. <label class="layui-form-label">现场照片</label>
  184. <div class="layui-input-block text-left">
  185. <button type="button" class="layui-btn" id="test1">
  186. <i class="layui-icon">&#xe67c;</i>上传照片
  187. </button>
  188. <span style="color: indianred;font-size: 16px;">支持图片格式:jpg / png / gif / jpeg</span>
  189. <input type="hidden" name="attachPathVal" id="attachPathVal"/>
  190. <div id="fileDiv" style="padding-top: 10px;"></div>
  191. </div>
  192. </div>
  193. </div>
  194. <div class="text-left m-left20px" style="padding-bottom: 10px;">
  195. <button type="button" class="layui-btn layui-btn-sm bg-c-add" lay-filter="formSave" lay-submit>暂存
  196. </button>
  197. <button type="button" class="layui-btn layui-btn-sm bg-c-submit" lay-filter="formSubmit" lay-submit>
  198. 直接提交
  199. </button>
  200. <!--<button type="button" class="layui-btn layui-btn-sm bg-c-back" onclick="goBack()">返回</button>-->
  201. </div>
  202. </div>
  203. </div>
  204. </div>
  205. </form>
  206. <!-- js部分 -->
  207. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  208. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  209. <script type="text/javascript" src="../../../assets/libs/jquery/jquery-3.2.1.min.js"></script>
  210. <script type="text/javascript" src="../../../assets/module/inputTags.js"></script>
  211. <script src="../../../assets/libs/wangEditor/wangEditor.js"></script>
  212. <script>
  213. layui.use(['layer', 'form', 'table', 'admin', 'laydate', 'zTree', 'uParas', 'upload', 'inputTags', 'formSelects', 'laytpl', '_groupTree'], function () {
  214. var $ = layui.jquery;
  215. var layer = layui.layer;
  216. var form = layui.form;
  217. var admin = layui.admin;
  218. var uParas = layui.uParas;
  219. var upload = layui.upload, laytpl = layui.laytpl;
  220. var _groupTree = layui._groupTree;
  221. var laydate = layui.laydate;
  222. /*整改期限*/
  223. laydate.render({
  224. elem: '#hdangerRetifyDeadline',
  225. format: 'yyyy-MM-dd HH:mm:ss',
  226. type: 'datetime',
  227. min: 'date',
  228. });
  229. /*检测 隐患评审流程*/
  230. admin.req(uParas.baseUrl + '/ent/hiddenDanger/checkedHdangerReview', null, function (res) {
  231. if (res.code == 1) {
  232. var isHdangerReview = res.data.isHdangerReview;
  233. if (isHdangerReview) {
  234. /*评审*/
  235. $(".hdanger-review").show();
  236. $(".hdanger-retify").hide();
  237. $(".hdanger-accepted").hide();
  238. $(".work-flow-review-group-hint").attr("lay-verify", 'required');
  239. $(".work-flow-review-group-hint").attr("lay-verType", 'tips');
  240. $(".work-flow-review-by-hint").attr("lay-verify", 'required');
  241. $(".work-flow-review-by-hint").attr("lay-verType", 'tips');
  242. $(".work-flow-retify-group-hint").removeAttr("lay-verify", 'required');
  243. $(".work-flow-retify-by-hint").removeAttr("lay-verType", 'tips');
  244. $(".work-flow-accepted-group-hint").removeAttr("lay-verify", 'required');
  245. $(".work-flow-accepted-by-hint").removeAttr("lay-verType", 'tips');
  246. } else {
  247. /*不评审*/
  248. $(".hdanger-review").hide();
  249. $(".hdanger-retify").show();
  250. $(".hdanger-accepted").show();
  251. $(".work-flow-review-group-hint").removeAttr("lay-verify", 'required');
  252. $(".work-flow-review-by-hint").removeAttr("lay-verType", 'tips');
  253. $(".work-flow-retify-group-hint").attr("lay-verify", 'required');
  254. $(".work-flow-retify-group-hint").attr("lay-verType", 'tips');
  255. $(".work-flow-retify-by-hint").attr("lay-verify", 'required');
  256. $(".work-flow-retify-by-hint").attr("lay-verType", 'tips');
  257. $(".work-flow-accepted-group-hint").attr("lay-verify", 'required');
  258. $(".work-flow-accepted-group-hint").attr("lay-verType", 'tips');
  259. $(".work-flow-accepted-by-hint").attr("lay-verify", 'required');
  260. $(".work-flow-accepted-by-hint").attr("lay-verType", 'tips');
  261. }
  262. }
  263. }, 'get');
  264. /*隐患等级*/
  265. uParas.initSimpleSelect("hdangerLevel", "editForm", "/admin/common/getHdangerLevelList", "keyName", "keyValue");
  266. /*隐患类型*/
  267. uParas.initSimpleSelect("hdangerCatId", "editForm", "/admin/common/getCommonClassifyesByCatType?catType=1", "catName", "catId");
  268. var groupUrl = '/admin/common/findCompanyGroupLists';
  269. /*整改部门and人员*/
  270. _groupTree.initgroupTreeAndUsers(groupUrl, "threeLevelGroupRetify", "hdangerRetifyGroupName",
  271. "hdangerRetifyGroup", "menuContentRetify", "hdangerRetifyBy", "editForm");
  272. /*评审部门and人员*/
  273. _groupTree.initgroupTreeAndUsers(groupUrl, "threeLevelGroupReview", "hdangerReviewGroupName",
  274. "hdangerReviewGroup", "menuContentReview", "hdangerReviewBy", "editForm");
  275. /*验收部门and人员*/
  276. _groupTree.initgroupTreeAndUsers(groupUrl, "threeLevelGroupAccepted", "hdangerAcceptedGroupName",
  277. "hdangerAcceptedGroup", "menuContentAccepted", "hdangerAcceptedBy", "editForm");
  278. /*隐患所属部门*/
  279. _groupTree.initgroupTreeAndUsers(groupUrl, "threeLevelGroupId", "groupName",
  280. "groupId", "menuContentGroupId", "", "editForm");
  281. // 提交
  282. form.on('submit(formSubmit)', function (data) {
  283. layer.load(2, {shade: [0.15, '#cccccc']});
  284. var url = uParas.baseUrl + "/ent/hiddenWorkFlow/saveHdanger";
  285. data.field.status = 1;
  286. var paths = $('input[name="attachPath"]');
  287. if (paths && paths.length > 0) {
  288. var attachPathVal = [];
  289. paths.each(function () {
  290. attachPathVal.push($(this).val());
  291. });
  292. data.field.attachPathVal = attachPathVal.join(",");
  293. $("#attachPathVal").val(attachPathVal.join(","));
  294. }
  295. admin.req(url, data.field, function (res) {
  296. layer.closeAll('loading');
  297. if (res.code == 1) {
  298. location.reload();
  299. layer.msg("提交成功!");
  300. } else {
  301. // alert();
  302. //console.log(res.msg);
  303. layer.msg(res.msg);
  304. }
  305. }, 'POST');
  306. return false;
  307. });
  308. // 保存至待提交
  309. form.on('submit(formSave)', function (data) {
  310. layer.load(2, {shade: [0.15, '#cccccc']});
  311. var url = uParas.baseUrl + "/ent/hiddenWorkFlow/saveHdanger";
  312. data.field.status = 0;
  313. var paths = $('input[name="attachPath"]');
  314. if (paths && paths.length > 0) {
  315. var attachPathVal = [];
  316. paths.each(function () {
  317. attachPathVal.push($(this).val());
  318. });
  319. data.field.attachPathVal = attachPathVal.join(",");
  320. $("#attachPathVal").val(attachPathVal.join(","));
  321. }
  322. admin.req(url, data.field, function (res) {
  323. layer.closeAll('loading');
  324. if (res.code == 1) {
  325. location.reload();
  326. layer.msg("保存成功!");
  327. } else {
  328. // alert();
  329. //console.log(res.msg);
  330. layer.msg(res.msg);
  331. }
  332. }, 'POST');
  333. return false;
  334. });
  335. // 上传实例
  336. var uploadFile = upload.render({
  337. elem: '#test1', //绑定元素
  338. url: uParas.baseUrl + '/admin/uploadFile', //上传接口
  339. accept: 'file',
  340. acceptMime: 'image/jpg,image/png,image/gif,image/jpeg,image/bmp,image/tga,image/fpx,image/raw,', //(只显示 jpg 和 png 文件)
  341. size: 30720,//设置文件最大可允许上传的大小,单位 KB。不支持ie8/9
  342. done: function (response) {
  343. //上传完毕回调
  344. fileHtml(response.data.ext, response.data.path, response.data.oriFileName, true);
  345. }
  346. , error: function () {
  347. //请求异常回调
  348. }
  349. });
  350. function fileHtml(ext, path, oriFileName, isNew) {
  351. var Str = '';
  352. if (isNew) {
  353. Str = '<span style="color: #1E9FFF;">(新)</span>';
  354. }
  355. //文件图标
  356. var icon = '';
  357. if (ext === 'bmp' || ext === 'jpg' || ext === 'jpeg' || ext === 'png' || ext === 'gif') {
  358. icon = '<img style="width: 60px;height: 80px;" src="' + path + '" alt="">';
  359. } else {
  360. icon = '<img style="width: 60px;height: 80px;" src="' + path + '" alt="">';
  361. }
  362. //文件信息置入隐藏域
  363. var html = '';
  364. html += '<div style="padding-top: 6px;padding-right: 10px;float: left;">';
  365. html += '<input type="hidden" name="attachPath" value="' + path + '"/>';
  366. html += icon;
  367. //html+='<br><a style="color: blueviolet;margin-left: 5px;" target="_blank" href="' + path + '">' + oriFileName + '</a>';
  368. html += '<br>' + Str + '<a style="color: indianred;float: right;margin-right: 15px;" class="delete-upImg" onclick="deleteFile(this)">删除</a>';
  369. html += '</div>';
  370. $("#fileDiv").append(html);
  371. }
  372. });
  373. //删除附件
  374. function deleteFile(obj) {
  375. var pDiv = $(obj).parent();
  376. pDiv.remove();
  377. }
  378. //返回
  379. function goBack() {
  380. history.back();
  381. }
  382. </script>
  383. </body>
  384. </html>