detail.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  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/formSelects/formSelects-v4.css"/>
  10. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  11. <link rel="stylesheet" href="../../../assets/module/uParas.css?v=312"/>
  12. </head>
  13. <body>
  14. <style type="text/css">
  15. </style>
  16. <!-- 加载动画 -->
  17. <div class="page-loading">
  18. <div class="ball-loader">
  19. <span></span><span></span><span></span><span></span>
  20. </div>
  21. </div>
  22. <!-- 正文开始 -->
  23. <div class="layui-fluid">
  24. <div class="layui-card">
  25. <div class="layui-card-body">
  26. <div class="layui-card-header">
  27. 任务定义详情
  28. <div class="layui-inline pull-right">
  29. <button onclick="history.back()" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-normal"><i
  30. class="layui-icon">&#xe65c;</i>返回
  31. </button>
  32. </div>
  33. </div>
  34. <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  35. <div class="layui-tab-content" style="height: auto;">
  36. <div class="layui-tab-item layui-show">
  37. <div class="layui-row">
  38. <div class="layui-col-xs12">
  39. <div class="layui-form">
  40. <table class="layui-table">
  41. <thead>
  42. </thead>
  43. <tbody>
  44. <tr>
  45. <th width="150">任务名称</th>
  46. <td id="riskCheckDefTitle"></td>
  47. <th width="150">任务分类</th>
  48. <td id="checkMode">
  49. </td>
  50. </tr>
  51. <tr>
  52. <th width="150">执行部门</th>
  53. <td id="groupName"></td>
  54. <th width="150">执行岗位</th>
  55. <td id="positionName"></td>
  56. </tr>
  57. <tr>
  58. <th width="150">检查频率</th>
  59. <td id="checkType"></td>
  60. <th width="150">任务状态</th>
  61. <td id="status"></td>
  62. </tr>
  63. <tr>
  64. <th width="150">计划开始时间</th>
  65. <td id="startTime"></td>
  66. <th width="150">计划结束时间</th>
  67. <td id="endTime"></td>
  68. </tr>
  69. <tr>
  70. <th width="150">实际开始时间</th>
  71. <td id="executeTime"></td>
  72. <th width="150">实际完成时间</th>
  73. <td id="finishTime"></td>
  74. </tr>
  75. <tr>
  76. <th width="150">参与人员</th>
  77. <td id="riskCheckParticipantName"></td>
  78. <th width="150">检查类型</th>
  79. <td id="riskCheckTypeName"></td>
  80. </tr>
  81. <tr>
  82. <th width="150">描述</th>
  83. <td id="riskCheckDefDesc" colspan="3"></td>
  84. </tr>
  85. </tbody>
  86. </table>
  87. </div>
  88. </div>
  89. </div>
  90. <div class="layui-card-header">
  91. 任务列表
  92. </div>
  93. <!--检查记录-->
  94. <table class="layui-table text-left" id="datatable" lay-filter="datatable"></table>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <!--数据TPL-->
  102. <script type="text/html" id="checkModeTpl">
  103. {{# if(d.checkMode != null && d.checkMode == '1'){ }}
  104. 现场检查
  105. {{# } else { }}
  106. 基础检查
  107. {{# } }}
  108. </script>
  109. <!-- js部分 -->
  110. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  111. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  112. <script>
  113. layui.use(['layer', 'form', 'table', 'util', 'zTree', 'admin', 'uParas', 'element'], function () {
  114. var $ = layui.jquery;
  115. var layer = layui.layer;
  116. var form = layui.form;
  117. var util = layui.util;
  118. var admin = layui.admin;
  119. var table = layui.table;
  120. var uParas = layui.uParas;
  121. var element = layui.element;
  122. var scheduleId = uParas.getUrlParam("scheduleId");
  123. admin.req(uParas.baseUrl + '/ent/riskCheckedSchdule/detail/' + scheduleId, null, function (res) {
  124. if (res.code == 1) {
  125. var schduleDto = res.data;
  126. if (schduleDto != null) {
  127. $("#riskCheckDefTitle").text(schduleDto.riskCheckDefTitle);
  128. if (schduleDto.checkMode == '1') {
  129. if (schduleDto.checkType == 'fixed') {
  130. $("#checkMode").text("【常规】现场任务");
  131. } else if (schduleDto.checkType == 'random') {
  132. $("#checkMode").text("【临时】现场任务");
  133. }
  134. } else if (schduleDto.checkMode == '2') {
  135. if (schduleDto.checkType == 'fixed') {
  136. $("#checkMode").text("【常规】基础任务");
  137. } else if (schduleDto.checkType == 'random') {
  138. $("#checkMode").text("【临时】基础任务");
  139. }
  140. }
  141. $("#groupName").text(schduleDto.groupName);
  142. $("#positionName").text(schduleDto.riskCheckPositionName);
  143. //检查频率
  144. var checkCycle = "";
  145. if (schduleDto.checkType == 'random') {
  146. checkCycle = "临时性检查,无固定频率";
  147. } else {
  148. if (schduleDto.scheduleFrequency == 'year') {
  149. checkCycle = schduleDto.scheduleCount + "次/年";
  150. } else if (schduleDto.scheduleFrequency == 'half_year') {
  151. checkCycle = schduleDto.scheduleCount + "次/半年";
  152. } else if (schduleDto.scheduleFrequency == 'quarter') {
  153. checkCycle = schduleDto.scheduleCount + "次/季度";
  154. } else if (schduleDto.scheduleFrequency == 'month') {
  155. checkCycle = schduleDto.scheduleCount + "次/月";
  156. } else if (schduleDto.scheduleFrequency == 'week') {
  157. checkCycle = schduleDto.scheduleCount + "次/周";
  158. } else if (schduleDto.scheduleFrequency == 'day') {
  159. checkCycle = schduleDto.scheduleCount + "次/天";
  160. }
  161. }
  162. $("#checkType").text(checkCycle);
  163. //任务状态
  164. var statusStr = "";
  165. if (schduleDto.status === 2) {
  166. statusStr = "已检查";
  167. } else if (schduleDto.status === 1) {
  168. statusStr = "进行中";
  169. } else if (schduleDto.status === 0) {
  170. statusStr = "未检查";
  171. if (schduleDto.checkType === "random") {
  172. var curTime = new Date();
  173. var endtime = new Date(schduleDto.endTime);
  174. if (curTime >= endtime) {
  175. statusStr = "已逾期";
  176. }
  177. }
  178. } else if (schduleDto.status === 3) {
  179. statusStr = "已逾期";
  180. } else {
  181. statusStr = "未知"
  182. }
  183. $("#status").text(statusStr);
  184. $("#startTime").text(schduleDto.startTime);
  185. $("#endTime").text(schduleDto.endTime);
  186. if (schduleDto.executeTime != null) {
  187. $("#executeTime").text(schduleDto.executeTime);
  188. } else {
  189. $("#executeTime").text("未开始检查");
  190. }
  191. if (schduleDto.finishTime != null) {
  192. $("#finishTime").text(schduleDto.finishTime);
  193. } else {
  194. $("#finishTime").text("未检查完成");
  195. }
  196. //$("#finishTime").text(schduleDto.finishTime);
  197. $("#riskCheckParticipantName").text(schduleDto.riskCheckParticipantName);
  198. $("#riskCheckTypeName").text(schduleDto.riskCheckTypeName);
  199. $("#riskCheckDefDesc").text(schduleDto.riskCheckDefDesc);
  200. }
  201. initTable()
  202. }
  203. }, 'get');
  204. /**子任务列表*/
  205. function initTable() {
  206. // 渲染表格
  207. insTb = table.render({
  208. elem: '#datatable',
  209. url: uParas.baseUrl + '/ent/riskCheckedSchdule/querySonLevelTaskByPage',
  210. where: {
  211. "scheduleId": scheduleId
  212. },
  213. page: true,
  214. toolbar: true,
  215. title: '任务列表',
  216. cellMinWidth: 100,
  217. cols: [[
  218. {type: 'numbers', title: '序号'},
  219. // {field: 'checkMode' ,sort:false , title:'任务类型',templet:'#checkModeTpl' },
  220. // {field: 'riskCheckTypeName' , sort:false , title:'检查类型'},
  221. {field: 'checkDefName', sort: false, title: '安全专业检查表'},
  222. {field: 'groupName', sort: false, title: '执行单位'},
  223. {field: 'riskCheckPositionName', sort: false, title: '执行岗位', width: 100,},
  224. {field: 'executorName', sort: false, title: '执行人员', width: 100,},
  225. // {field: 'riskCheckGroupName', sort: false, title: '受检部门' },
  226. {
  227. field: 'status', sort: false, title: '状态', width: 100, templet: function (d) {
  228. return setStatus(d);
  229. }
  230. },
  231. {
  232. field: 'frequency', sort: false, title: '检查频率', width: 100, templet: function (d) {
  233. return setFrequency(d);
  234. }
  235. },
  236. {field: 'startTime', sort: false, title: '开始时间', width: 160},
  237. {field: 'endTime', sort: false, title: '结束时间', width: 160},
  238. {
  239. align: 'center', title: '操作', width: 110, fixed: 'right', width: 100,
  240. templet: function (d) {
  241. return setOperation(d);
  242. }
  243. }
  244. ]]
  245. });
  246. }
  247. //状态
  248. function setStatus(row) {
  249. if (row.status === 2) {
  250. return "<i class=\"layui-icon\" style=\"color: limegreen;\">&#xe617; 已检查</i> ";
  251. } else if (row.status === 1) {
  252. return "<i class=\"layui-icon\" style=\"color: #b854d4\">&#xe617; 检查中</i> ";
  253. } else if (row.status === 0) {
  254. return "<i class=\"layui-icon\" style=\"color: darkgrey;\">&#xe617; 未检查</i> ";
  255. } else if (row.status === 3) {
  256. return "<i class=\"layui-icon\" style=\"color: indianred\">&#xe617; 已逾期</i> ";
  257. } else {
  258. return "未知"
  259. }
  260. }
  261. //频率
  262. function CycleFunction(row) {
  263. if (row.checkType === 'random') {
  264. var startTime = row.startTime;
  265. var endTime = row.endTime;
  266. return "1次/临时";
  267. } else {
  268. var arrKey = ['year', 'half_year', 'quarter', 'month', 'week', 'day'];
  269. var arrVal = ['年', '半年', '季度', '月', '星期', '天'];
  270. var i = $.inArray(row.scheduleFrequency, arrKey);
  271. if (i === -1) {
  272. return "";
  273. }
  274. return row.scheduleCount + '次/' + arrVal[i];
  275. }
  276. }
  277. //状态
  278. function setFrequency(row) {
  279. var totalCheckCount = row.totalCheckCount;
  280. var scheduleCurrentCount = row.scheduleCurrentCount;
  281. var scheduleFrequency = row.scheduleFrequency;
  282. return '<i class="layui-icon" style="color: limegreen;">' + scheduleCurrentCount + '</i>' + " / " + totalCheckCount + " " + scheduleFrequency;
  283. }
  284. //操作
  285. function setOperation(row) {
  286. var html = '';
  287. html += '<a class="layui-btn layui-btn-xs bg-c-add" lay-event="baseDetail" >检查记录</a>';
  288. return html;
  289. }
  290. // 工具条点击事件
  291. table.on('tool(datatable)', function (obj) {
  292. var data = obj.data;
  293. var layEvent = obj.event;
  294. if (layEvent == 'baseDetail') { // 详情
  295. //记录明细
  296. detail(data);
  297. }
  298. });
  299. //goto 记录明细
  300. function detail(data) {
  301. location.href = "./taskCheckRecord.html" +
  302. "?scheduleId=" + data.scheduleId;
  303. }
  304. });
  305. </script>
  306. </body>
  307. </html>