index.html 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839
  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/admin.css?v=312"/>
  10. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  11. <style>
  12. .layui-table-cell {
  13. height: auto;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <!-- 页面加载loading -->
  19. <div class="page-loading">
  20. <div class="ball-loader">
  21. <span></span><span></span><span></span><span></span>
  22. </div>
  23. </div>
  24. <!-- 正文开始 -->
  25. <div class="layui-fluid">
  26. <div class="layui-card-header" style="background-color: #fff;padding-top: 10px;padding-bottom: 10px;">
  27. <div class="layui-inline pull-left">
  28. <h3 id="htmlHeader">现场类检查任务配置</h3>
  29. </div>
  30. <div class="layui-inline pull-right">
  31. <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
  32. </div>
  33. </div>
  34. <div class="layui-card">
  35. <div class="layui-card-body">
  36. <!--<form class="layui-form m-top10px m-bottom10px" lay-filter="filterForm" id="filterForm">-->
  37. <div class="layui-form toolbar" lay-filter="filterForm">
  38. <div class="layui-form-item">
  39. <div class="layui-inline layui-col-md3 text-left" style="margin-left: -40px;">
  40. <label class="layui-form-label">部门</label>
  41. <div class="layui-input-inline mr0">
  42. <input type="text" id="groupName" name="groupName" value=""
  43. placeholder="点击选择"
  44. class="layui-input" readonly>
  45. <input type="hidden" id="groupId" name="groupId">
  46. <div id="menuContent" class="menuContent">
  47. <ul id="groupTree" class="ztree" style="margin-top:0;"></ul>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="layui-inline layui-col-md2 text-left m-left-20px">
  52. <label class="layui-form-label">状态</label>
  53. <div class="layui-input-block">
  54. <select name="isOpen" lay-verType="isOpen">
  55. <option value="">全部</option>
  56. <option value="0">未执行</option>
  57. <option value="1">执行中</option>
  58. </select>
  59. </div>
  60. </div>
  61. <div class="layui-inline layui-col-md2 m-left-20px">
  62. <label class="layui-form-label">岗位</label>
  63. <div class="layui-input-block">
  64. <select name="positionId" id="positionId" lay-filter="positionId" lay-search=""
  65. required></select>
  66. </div>
  67. </div>
  68. <div class="text-right">
  69. <div class="layui-inline">
  70. <label class="layui-form-label w-auto">搜索:</label>
  71. <div class="layui-input-inline mr0">
  72. <input name="keyword" id="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
  73. </div>
  74. </div>
  75. <div class="layui-inline">
  76. <button class="layui-btn icon-btn" lay-filter="formSubSearch" lay-submit
  77. style="background-color: #007DDB;">
  78. <i class="layui-icon">&#xe615;</i>搜索
  79. </button>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. <!--</form>-->
  85. <table class="layui-table" id="datatable" lay-filter="datatable"></table>
  86. </div>
  87. </div>
  88. </div>
  89. <!--数据TPL-->
  90. <script type="text/html" id="checkModeTpl">
  91. {{# if(d.checkMode != null && d.checkMode == '1'){ }}
  92. 现场检查
  93. {{# } else { }}
  94. 基础检查
  95. {{# } }}
  96. </script>
  97. <!--状态TPL-->
  98. <script type="text/html" id="statusTpl">
  99. {{# if(d.isOpen != null && d.isOpen == '1'){ }}
  100. <span class="layui-bg-orange" style="padding: 4px 4px; font-size: 13px;">执行中</span>
  101. {{# } else { }}
  102. <span class="layui-bg-blue" style="padding: 4px 4px; font-size: 13px;">未执行</span>
  103. {{# } }}
  104. </script>
  105. <!-- 表单弹窗 -->
  106. <script type="text/html" id="modelTpl">
  107. <form id="modelForm" lay-filter="modelForm" class="layui-form model-form">
  108. <input type="hidden" id="riskCheckDefId" name="riskCheckDefId"/>
  109. <input type="hidden" name="checkType" id="checkType"/>
  110. <input type="hidden" name="checkMode" id="checkMode"/>
  111. <input type="hidden" name="filterWeek" id="filterWeek"/>
  112. <div class="layui-form-item">
  113. <label class="layui-form-label"><span class="layui-badge-dot"></span>任务名称</label>
  114. <div class="layui-input-block">
  115. <input type="text" class="layui-input" id="riskCheckDefTitle" name="riskCheckDefTitle"
  116. placeholder="请输入任务名称" maxlength="128"
  117. lay-verType="tips" lay-verify="required" required/>
  118. </div>
  119. </div>
  120. <div class="layui-form-item">
  121. <label class="layui-form-label"><span class="layui-badge-dot"></span>检查类型</label>
  122. <div class="layui-input-block">
  123. <select name="riskCheckType" id="riskCheckType" lay-verType="tips" lay-verify="required"
  124. class="layui-input-block ">
  125. </select>
  126. </div>
  127. </div>
  128. <div class="layui-form-item" id="riskCheckGroupDiv" style="display: none">
  129. <label class="layui-form-label"><span class="layui-badge-dot"></span>执行部门</label>
  130. <div class="layui-input-block">
  131. <input type="text" id="riskCheckGroupName" class="layui-input" name="riskCheckGroupName" value=""
  132. placeholder="点击选择" class="form-control" readonly lay-verify="group">
  133. <input type="hidden" id="riskCheckGroup" name="riskCheckGroup" readonly>
  134. <div id="menuContent2" class="menuContent">
  135. <ul id="groupTree2" class="ztree" style="margin-top:0;"></ul>
  136. </div>
  137. </div>
  138. </div>
  139. <div class="layui-form-item">
  140. <label class="layui-form-label"><span class="layui-badge-dot"></span>执行岗位</label>
  141. <div class="layui-input-block">
  142. <select name="riskCheckPosition" id="riskCheckPosition" lay-verType="tips"
  143. lay-verify="required|Position"
  144. class="layui-input-block " lay-filter="riskCheckPosition">
  145. </select>
  146. </div>
  147. </div>
  148. <div class="layui-form-item" id="executorDiv" style="display: none">
  149. <label class="layui-form-label">执行人</label>
  150. <div class="layui-input-block">
  151. <select name="executor" id="executor" lay-verType="tips" class="layui-input-block" xm-select="executor"
  152. xm-select-search>
  153. </select>
  154. </div>
  155. </div>
  156. <div class="layui-form-item" id="bizCheckDefIdDiv" style="display: none">
  157. <label class="layui-form-label"><span class="layui-badge-dot"></span>检查表</label>
  158. <div class="layui-input-block">
  159. <select name="bizCheckDefId" id="bizCheckDefId" lay-verType="tips" class="layui-input-block ">
  160. </select>
  161. </div>
  162. </div>
  163. <div class="layui-form-item">
  164. <label class="layui-form-label"><span class="layui-badge-dot"></span>检查频率</label>
  165. <div class="layui-input-block">
  166. <div style="display: inline-block;">
  167. <input class="layui-input" id="scheduleCount" name="scheduleCount"
  168. style="width:100px;" type="number" min="1" lay-verify="required" required/>
  169. </div>
  170. <div style="display: inline-block;">&nbsp;次数/每&nbsp;</div>
  171. <div style="display: inline-block;">
  172. <select name="scheduleFrequency" id="scheduleFrequency" lay-filter="scheduleFrequency"
  173. lay-verify="required">
  174. <option value="year">年</option>
  175. <option value="half_year">半年</option>
  176. <option value="quarter">三个月</option>
  177. <option value="month">月</option>
  178. <option value="week">星期</option>
  179. <option value="day">天</option>
  180. </select>
  181. </div>
  182. </div>
  183. </div>
  184. <div class="layui-form-item">
  185. <label class="layui-form-label"><span class="layui-badge-dot"></span>开始时间</label>
  186. <div class="layui-input-block">
  187. <input type="text" name="startDate" id="startDate" autocomplete="off" lay-verify="required" required
  188. placeholder="请选择时间" class="layui-input">
  189. </div>
  190. </div>
  191. <div class="layui-form-item">
  192. <label class="layui-form-label">参与人员</label>
  193. <div class="layui-input-block">
  194. <select name="riskCheckParticipant" id="riskCheckParticipant" xm-select="riskCheckParticipant"
  195. lay-verType="tips" class="layui-input-block" xm-select-search>
  196. </select>
  197. </div>
  198. </div>
  199. <div class="layui-form-item">
  200. <label class="layui-form-label">排除任务</label>
  201. <div class="layui-input-block">
  202. <input type="checkbox" name="week[2]" value="2" lay-filter="week" title="星期一">
  203. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期一</span><i
  204. class="layui-icon layui-icon-ok"></i></div>
  205. <input type="checkbox" name="week[3]" value="3" lay-filter="week" title="星期二">
  206. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期二</span><i
  207. class="layui-icon layui-icon-ok"></i></div>
  208. <input type="checkbox" name="week[4]" value="4" lay-filter="week" title="星期三">
  209. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期三</span><i
  210. class="layui-icon layui-icon-ok"></i></div>
  211. <input type="checkbox" name="week[5]" value="5" lay-filter="week" title="星期四">
  212. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期四</span><i
  213. class="layui-icon layui-icon-ok"></i></div>
  214. <input type="checkbox" name="week[6]" value="6" lay-filter="week" title="星期五">
  215. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期五</span><i
  216. class="layui-icon layui-icon-ok"></i></div>
  217. <input type="checkbox" name="week[7]" value="7" lay-filter="week" title="星期六">
  218. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期六</span><i
  219. class="layui-icon layui-icon-ok"></i></div>
  220. <input type="checkbox" name="week[1]" value="1" lay-filter="week" title="星期日">
  221. <div class="layui-unselect layui-form-checkbox layui-form-checked"><span>星期日</span><i
  222. class="layui-icon layui-icon-ok"></i></div>
  223. <p style="margin: 5px 0 5px 0; color: red">说明:选中即表示跳过检查任务!</p>
  224. </div>
  225. </div>
  226. <div class="layui-form-item">
  227. <label class="layui-form-label">任务描述</label>
  228. <div class="layui-input-block">
  229. <textarea id="riskCheckDefDesc" name="riskCheckDefDesc"
  230. placeholder="最多输入1024个汉字"
  231. class="layui-textarea" maxlength="1000"></textarea>
  232. </div>
  233. </div>
  234. <div class="layui-form-item text-right">
  235. <button type="button" class="layui-btn" lay-filter="modelSubmit" lay-submit>保存</button>
  236. <button type="button" class="layui-btn layui-btn-primary" ew-event="closePageDialog">取消</button>
  237. </div>
  238. </form>
  239. </script>
  240. <!-- 详情弹窗 -->
  241. <script type="text/html" id="viewTpl">
  242. <div class="layui-fluid">
  243. <div class="layui-card">
  244. <div class="layui-card-body">
  245. <div class="layui-tab-item layui-show">
  246. <div class="layui-row">
  247. <table class="layui-table">
  248. <colgroup>
  249. <col width="150">
  250. <col>
  251. <thead>
  252. </thead>
  253. <tbody>
  254. <tr>
  255. <th width="150">任务名称</th>
  256. <td id="riskCheckDefTitleView"></td>
  257. </tr>
  258. <tr>
  259. <th width="150">任务类型</th>
  260. <td id="checkTypeView"></td>
  261. </tr>
  262. <tr>
  263. <th width="150">检查类型</th>
  264. <td id="riskCheckTypeView"></td>
  265. </tr>
  266. <tr>
  267. <th width="150">执行单位</th>
  268. <td id="_groupName"></td>
  269. </tr>
  270. <tr>
  271. <th width="150">执行岗位</th>
  272. <td id="riskCheckPositionView"></td>
  273. </tr>
  274. <tr>
  275. <th width="150">任务类型</th>
  276. <td id="checkCycleView"></td>
  277. </tr>
  278. <tr>
  279. <th width="150">检查频率</th>
  280. <td id="scheduleFrequencyView"></td>
  281. </tr>
  282. <tr>
  283. <th width="150">开始时间</th>
  284. <td id="startTime"></td>
  285. </tr>
  286. <tr>
  287. <th width="150">参与人员</th>
  288. <td id="riskCheckParticipantView"></td>
  289. </tr>
  290. <tr>
  291. <th width="150">排除任务(不检查)</th>
  292. <td id="_filterWeek"></td>
  293. </tr>
  294. <tr>
  295. <th width="150">描述:</th>
  296. <td id="riskCheckDefDescView"></td>
  297. </tr>
  298. </tbody>
  299. </colgroup>
  300. </table>
  301. </div>
  302. </div>
  303. </div>
  304. </div>
  305. </div>
  306. </script>
  307. <!-- js部分 -->
  308. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  309. <!--<script type="text/javascript" src="../../../assets/libs/jquery/jquery-3.2.1.min.js"></script>-->
  310. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  311. <script>
  312. layui.use(['layer', 'form', 'table', 'admin', 'uParas', '_groupTree', 'util', 'laydate', 'formSelects', '_zTree'], function () {
  313. var $ = layui.jquery;
  314. var layer = layui.layer;
  315. var form = layui.form;
  316. var table = layui.table;
  317. var admin = layui.admin;
  318. var laydate = layui.laydate;
  319. var uParas = layui.uParas;
  320. var util = layui.util;
  321. var _groupTree = layui._groupTree;
  322. var formSelects = layui.formSelects;
  323. var _zTree = layui._zTree;
  324. //临时性(random)、常规性(fixed)
  325. var checkType = uParas.getUrlParam("checkType");
  326. //var checkType = "fixed";
  327. //检查方式 1,现场检查2、基础检查
  328. var checkMode = uParas.getUrlParam("checkMode");
  329. if (checkMode == '2') {
  330. $("#htmlHeader").html("基础管理类检查任务配置");
  331. }
  332. //var checkMode = 1;
  333. //岗位
  334. var getPositionList = uParas.getSendData("/admin/common/getPositionByGroup");
  335. uParas.initSimpleSelectX("positionId", "filterForm", getPositionList, "positionTitle", "pId");
  336. form.verify({
  337. Position: function (value, item) { //value:表单的值、item:表单的DOM对象
  338. //校验当前岗位是否管控风险,不管控给提示信息
  339. var re;
  340. var url1 = uParas.baseUrl + '/ent/riskCtrlLevel/check/' + value;
  341. $.ajax({
  342. type: "GET",
  343. dataType: "json",
  344. url: url1,
  345. success: function (obj) {
  346. if (obj.data.length === 0) {
  347. re = false;
  348. }
  349. }
  350. });
  351. if (re === false) {
  352. return "当前岗位无管控风险,请更换!";
  353. }
  354. },
  355. group: function (value, item) { //value:表单的值、item:表单的DOM对象
  356. if (checkMode == 1) {
  357. if (!value) {
  358. return "请选择执行部门!";
  359. }
  360. }
  361. }
  362. });
  363. // 渲染表格数据
  364. var insTb = table.render({
  365. elem: '#datatable',
  366. url: uParas.baseUrl + '/ent/riskCheckedSchduleDef/queryPage',
  367. where: {"checkType": checkType, "checkMode": checkMode},
  368. page: true,
  369. height: 635,
  370. toolbar: true,
  371. title: "任务定义列表",
  372. cellMinWidth: 100,
  373. cols: [[
  374. {type: 'numbers', title: '序号'},
  375. {
  376. field: 'checkMode', sort: false, title: '任务分类', width: 150,
  377. templet: function (d) {
  378. return setCheckMode(d);
  379. }
  380. },
  381. {field: 'riskCheckDefTitle', sort: false, title: '名称'},
  382. // {field: 'checkMode', sort: false, title: '任务类型', templet: '#checkModeTpl'},
  383. {field: 'riskCheckTypeName', sort: false, title: '检查类型', width: 100},
  384. {field: 'checkDefName', sort: false, title: '安全专业检查表'},
  385. {field: 'groupName', sort: false, title: '执行单位',},
  386. {field: 'riskCheckPositionName', sort: false, title: '岗位', width: 150},
  387. {
  388. field: 'scheduleFrequency', align: 'center', sort: false, title: '检查频率', width: 100,
  389. templet: function (d) {
  390. return CycleFunction(d);
  391. }
  392. },
  393. {field: 'startDate', sort: false, title: '计划开始时间', width: 120, align: 'center'},
  394. {field: 'isOpen', sort: false, title: '状态', templet: '#statusTpl', width: 90},
  395. {
  396. align: 'right', title: '操作', width: 200, fixed: 'right', width: 150,
  397. templet: function (d) {
  398. return setOperation(d);
  399. }
  400. }
  401. ]]
  402. });
  403. /***部门*/
  404. _groupTree.init(insTb);
  405. //任务分类
  406. function setCheckMode(row) {
  407. var checkModeStr = "";
  408. var checkTypeStr = "";
  409. if (row.checkMode === 1) {
  410. checkModeStr = "现场任务";
  411. } else if (row.checkMode === 2) {
  412. checkModeStr = "基础任务";
  413. }
  414. if (row.checkType === "fixed") {
  415. checkTypeStr = "【常规】";
  416. } else if (row.checkType === "random") {
  417. checkTypeStr = "【临时】";
  418. }
  419. return checkTypeStr + checkModeStr;
  420. }
  421. //操作
  422. function setOperation(row) {
  423. var html = '';
  424. if (row.isOpen == 1) {
  425. //打开状态
  426. html += '<a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="stop">停止</a>';
  427. } else if (row.isOpen == 0) {
  428. //关闭状态
  429. html += '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="start">执行</a>';
  430. html += '<a class="layui-btn layui-btn-danger layui-btn-xs " lay-event="del">删除</a>';
  431. }
  432. // html += '<a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="edit" >编辑</a>';
  433. html += '<a class="layui-btn layui-btn-xs bg-c-add" lay-event="detail" >详情</a>';
  434. return html;
  435. }
  436. //频率
  437. function CycleFunction(row) {
  438. if (row.checkType === 'random') {
  439. var startTime = row.startTime;
  440. var endTime = row.endTime;
  441. return startTime + ' 至 ' + endTime;
  442. } else {
  443. var arrKey = ['year', 'half_year', 'quarter', 'month', 'week', 'day'];
  444. var arrVal = ['年', '半年', '季度', '月', '星期', '天'];
  445. var i = $.inArray(row.scheduleFrequency, arrKey);
  446. if (i === -1) {
  447. return "";
  448. }
  449. return row.scheduleCount + '次/' + arrVal[i];
  450. }
  451. }
  452. // 搜索
  453. form.on('submit(formSubSearch)', function (data) {
  454. insTb.reload({where: data.field}, 'data');
  455. });
  456. // 工具条点击事件
  457. table.on('tool(datatable)', function (obj) {
  458. //debugger
  459. var data = obj.data;
  460. var layEvent = obj.event;
  461. if (layEvent == 'stop') { // 停止
  462. doStop(data);
  463. } else if (layEvent == 'start') { // 开始
  464. doStart(data);
  465. } else if (layEvent == 'del') { // 删除
  466. doDel(data);
  467. } else if (layEvent == 'detail') { // 详情
  468. detail(data);
  469. }/*else if(layEvent == 'edit'){ // 编辑
  470. doEdit(data);
  471. }*/
  472. });
  473. // 删除
  474. function doDel(data) {
  475. layer.confirm('确定要删除“' + data.riskCheckDefTitle + '”任务吗?', {
  476. skin: 'layui-layer-admin',
  477. shade: .1
  478. }
  479. , function (i) {
  480. layer.close(i);
  481. layer.load();
  482. admin.req(uParas.baseUrl + '/ent/riskCheckedSchduleDef/delete/' + data.riskCheckDefId, {}, function (res) {
  483. layer.closeAll('loading');
  484. if (res.code == 1) {
  485. layer.msg(res.msg);
  486. insTb.reload({}, 'data');
  487. } else {
  488. layer.msg(res.msg);
  489. }
  490. }, 'GET');
  491. });
  492. }
  493. // 停止
  494. function doStop(data) {
  495. layer.confirm('确定要停止“' + data.riskCheckDefTitle + '”任务吗?', {
  496. skin: 'layui-layer-admin',
  497. shade: .1
  498. }
  499. , function (i) {
  500. layer.close(i);
  501. layer.load();
  502. admin.req(uParas.baseUrl + '/ent/riskCheckedSchduleDef/stop/' + data.riskCheckDefId, {}, function (res) {
  503. layer.closeAll('loading');
  504. if (res.code == 1) {
  505. layer.msg(res.msg);
  506. insTb.reload({}, 'data');
  507. } else {
  508. layer.msg(res.msg);
  509. }
  510. }, 'GET');
  511. });
  512. }
  513. // 执行
  514. function doStart(data) {
  515. var click = false;
  516. layer.confirm('确定要执行“' + data.riskCheckDefTitle + '”任务吗?', {
  517. skin: 'layui-layer-admin',
  518. shade: .1
  519. }
  520. , function (i) {
  521. if (!click) {
  522. click = true;
  523. layer.close(i);
  524. layer.load();
  525. admin.req(uParas.baseUrl + '/ent/riskCheckedSchduleDef/start/' + data.riskCheckDefId, {}, function (res) {
  526. layer.closeAll('loading');
  527. if (res.code == 1) {
  528. layer.msg(res.msg);
  529. insTb.reload({}, 'data');
  530. } else {
  531. layer.msg(res.msg);
  532. }
  533. }, 'GET');
  534. }
  535. });
  536. }
  537. // 编辑
  538. // function doEdit(data) {
  539. // showEditModel(data);
  540. // }
  541. // 添加
  542. $('#btnAdd').click(function () {
  543. showAddModel();
  544. });
  545. //新增具体方法
  546. function showAddModel() {
  547. var title = "新增现场任务";
  548. if (checkMode == 2) {
  549. title = "新增基础任务";
  550. }
  551. admin.open({
  552. type: 1,
  553. title: title,
  554. offset: 'auto',
  555. area: '500px',
  556. content: $('#modelTpl').html(),
  557. success: function (layero, dIndex) {
  558. form.render();
  559. //检查表 检查方式 1,现场检查2、基础检查
  560. if (checkMode == 2) {
  561. $("#bizCheckDefIdDiv").show();
  562. uParas.initSimpleSelect("bizCheckDefId", "modelForm", "/ent/bizCheckDef/findList?controlTable=1", "checkDefName", "checkDefId");
  563. //执行岗位
  564. uParas.initSimpleSelect("riskCheckPosition", "modelForm", "/admin/common/getPositionListByCondition?type=0", "positionTitle", "pId");
  565. } else {
  566. $("#riskCheckGroupDiv").show();
  567. $("#executorDiv").show();
  568. var groupVal = '';//执行单位
  569. var positionVal = '';//执行岗位
  570. //执行岗位
  571. var changeGroup = {
  572. reload: function (data) {
  573. groupVal = data.where.gId;
  574. console.log("dataId......" + groupVal);
  575. //执行岗位
  576. uParas.initSimpleSelect("riskCheckPosition", "modelForm", "/admin/common/getPositionByGroup?groupId=" + groupVal, "positionTitle", "pId");
  577. //执行人员
  578. uParas.initFormSelects("executor", "/admin/common/getAccountByGroupAndPId?groupId=" + groupVal + "&positionId=", "accountRealName", "aId");
  579. form.render();
  580. }
  581. };
  582. //现场检查 选择部门,选择岗位
  583. /***执行单位*/
  584. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree2", changeGroup, "menuContent2", "riskCheckGroupName", "riskCheckGroup");
  585. //执行岗位select监听
  586. form.on('select(riskCheckPosition)', function (data) {
  587. console.log(data.value); //得到被选中的值
  588. //岗位id
  589. positionVal = data.value;
  590. //执行人员
  591. uParas.initFormSelects("executor", "/admin/common/getAccountByGroupAndPId?groupId=" + groupVal + "&positionId=" + positionVal, "accountRealName", "aId");
  592. form.render();
  593. });
  594. }
  595. $("#checkMode").val(checkMode);
  596. $("#checkType").val(checkType);
  597. //时间选择
  598. laydate.render({
  599. elem: '#startDate',
  600. //min:new Date().getMilliseconds()/1000//设置一个默认最大值
  601. min: 0 //设置一个默认最大值
  602. });
  603. //检查类型
  604. uParas.initSimpleSelect("riskCheckType", "modelForm", "/admin/common/getCommonClassifyesByCatType?catType=4", "catName", "catId");
  605. //参与人员
  606. uParas.initFormSelects("riskCheckParticipant", "/admin/common/getAllAccount", "accountRealName", "aId");
  607. var weeks = [];
  608. form.on('checkbox(week)', function (data) {
  609. console.log(data.elem.checked); //是否被选中,true或者false
  610. console.log(data.value); //复选框value值,也可以通过data.elem.value得到
  611. if (data.elem.checked == true) {
  612. weeks.push(data.value);
  613. } else {
  614. weeks.splice($.inArray(data.value, weeks), 1);
  615. }
  616. if (weeks.length == 7) {
  617. layer.msg("排除任务不能全选!");
  618. return false;
  619. }
  620. console.log(weeks);
  621. });
  622. var url = uParas.baseUrl + '/ent/riskCheckedSchduleDef/save';
  623. //保存处理
  624. form.on('submit(modelSubmit)', function (data) {
  625. layer.load();
  626. data.field.filterWeek = weeks.toString();
  627. admin.req(url, data.field, function (resp) {
  628. layer.closeAll('loading');
  629. if (resp.code == 1) {
  630. layer.close(dIndex);
  631. layer.msg(resp.msg);
  632. insTb.reload({}, 'data');
  633. } else {
  634. layer.msg(resp.msg);
  635. }
  636. }, 'POST');
  637. return false;
  638. });
  639. }
  640. });
  641. }
  642. //修改具体方法
  643. // function showEditModel(data) {
  644. // var riskCheckDefId = data.riskCheckDefId;
  645. // admin.open({
  646. // type: 1,
  647. // title: '修改现场任务',
  648. // offset: 'auto',
  649. // area: '500px',
  650. // content: $('#modelTpl').html(),
  651. // success: function (layero, dIndex) {
  652. // //debugger
  653. // form.render();
  654. // //获取详情
  655. // var url = uParas.baseUrl + '/ent/riskCheckedSchduleDef/get/'+riskCheckDefId;
  656. // admin.req(url, null, function(resp) {
  657. // layer.closeAll('loading');
  658. // if (resp.code == 1) {
  659. // var riskCheckSchduleDef = resp.data;
  660. // form.val('modelForm', riskCheckSchduleDef); // 回显数据
  661. // //$("#checkMode").val(checkMode);
  662. // //$("#checkType").val(checkType);
  663. // //时间选择初始化
  664. // laydate.render({
  665. // elem: '#startDate',
  666. // min: 0, //设置一个默认最大值
  667. // value:riskCheckSchduleDef.startDate
  668. // });
  669. // //检查频率赋值
  670. // //var scheduleFrequency = 'week';
  671. // //var select = 'dd[lay-value=' + scheduleFrequency + ']';
  672. // //$('#scheduleFrequency').siblings("div.layui-form-select").find('dl').find(select).click()
  673. //
  674. //
  675. // //检查类型初始化赋值
  676. // uParas.initSimpleSelect("riskCheckType", "modelForm", "/admin/common/getCommonClassifyesByCatType?catType=4", "catName", "catId",riskCheckSchduleDef.riskCheckType);
  677. //
  678. // //执行岗位初始化赋值
  679. // uParas.initSimpleSelect("riskCheckPosition", "modelForm", "/admin/common/getPositionListByCondition?type=0", "positionTitle", "positionId",riskCheckSchduleDef.riskCheckPosition);
  680. //
  681. // //参与人员初始化赋值
  682. // uParas.initFormSelects("riskCheckParticipant", "/admin/common/getAllAccount", "accountRealName", "accountId",riskCheckSchduleDef.riskCheckParticipant);
  683. //
  684. // var url = uParas.baseUrl + '/ent/riskCheckedSchduleDef/save';
  685. // //保存处理
  686. // form.on('submit(modelSubmit)', function(data) {
  687. // //debugger
  688. // if (data.field.riskCheckType == -1){
  689. // //检查类型
  690. // layer.msg("请选择检查类型");
  691. // return false;
  692. // }
  693. // if (data.field.riskCheckPosition == -1){
  694. // //执行岗位
  695. // layer.msg("请选择执行岗位");
  696. // return false;
  697. // }
  698. // layer.load();
  699. // admin.req(url, data.field, function(resp) {
  700. // layer.closeAll('loading');
  701. // if (resp.code == 1) {
  702. // layer.close(dIndex);
  703. // layer.msg(resp.msg);
  704. // insTb.reload({}, 'data');
  705. // } else {
  706. // layer.msg(resp.msg);
  707. // }
  708. // },'POST');
  709. //
  710. // return false;
  711. // });
  712. // } else {
  713. // layer.msg(resp.msg);
  714. // }
  715. // },'GET');
  716. //
  717. // }
  718. // });
  719. // }
  720. //详情
  721. function detail(data) {
  722. var riskCheckDefId = data.riskCheckDefId;
  723. admin.open({
  724. type: 1,
  725. title: '检查定义详情',
  726. offset: 'auto',
  727. area: '600px',
  728. content: $('#viewTpl').html(),
  729. success: function (layero, dIndex) {
  730. var url = uParas.baseUrl + '/ent/riskCheckedSchduleDef/get/' + riskCheckDefId;
  731. admin.req(url, null, function (resp) {
  732. layer.closeAll('loading');
  733. if (resp.code == 1) {
  734. var riskCheckSchduleDef = resp.data;
  735. $("#riskCheckDefTitleView").text(riskCheckSchduleDef.riskCheckDefTitle);
  736. if (riskCheckSchduleDef.checkMode == 1) {
  737. $("#checkTypeView").text("现场检查");
  738. } else {
  739. $("#checkTypeView").text("基础检查");
  740. }
  741. $("#riskCheckTypeView").text(riskCheckSchduleDef.riskCheckTypeName);
  742. $("#startTime").text(riskCheckSchduleDef.startTime);
  743. $("#_groupName").text(riskCheckSchduleDef.groupName);
  744. $("#riskCheckPositionView").text(riskCheckSchduleDef.riskCheckPositionName);
  745. //检查星期期
  746. if (riskCheckSchduleDef.checkType == 'fixed') {
  747. $("#checkCycleView").text("常规任务");
  748. } else {
  749. $("#checkCycleView").text("临时任务");
  750. }
  751. var fw = riskCheckSchduleDef.filterWeek.split(",");
  752. if (fw.length > 0) {
  753. var _fw = [];
  754. for (let i = 0; i < fw.length; i++) {
  755. if (fw[i] == 1) {
  756. _fw.push("星期日");
  757. } else if (fw[i] == 2) {
  758. _fw.push("星期一");
  759. } else if (fw[i] == 3) {
  760. _fw.push("星期二");
  761. } else if (fw[i] == 4) {
  762. _fw.push("星期三");
  763. } else if (fw[i] == 5) {
  764. _fw.push("星期四");
  765. } else if (fw[i] == 6) {
  766. _fw.push("星期五");
  767. } else if (fw[i] == 7) {
  768. _fw.push("星期六");
  769. } else {
  770. _fw.push("暂未选择");
  771. }
  772. }
  773. //任务排除
  774. $("#_filterWeek").text(_fw.toString());
  775. }
  776. //检查频率
  777. $("#scheduleFrequencyView").text(riskCheckSchduleDef.scheduleCount + "次/" + riskCheckSchduleDef.scheduleFrequencyStr);
  778. $("#riskCheckParticipantView").text(riskCheckSchduleDef.riskCheckParticipantName);
  779. $("#riskCheckDefDescView").text(riskCheckSchduleDef.riskCheckDefDesc);
  780. } else {
  781. layer.msg(resp.msg);
  782. }
  783. }, 'GET');
  784. }
  785. });
  786. }
  787. });
  788. </script>
  789. </body>
  790. </html>