addHdanger.html 21 KB

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