<!DOCTYPE html>
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
<head>
|
<th:block th:include="include :: header('定时隐患排查列表')"/>
|
</head>
|
<body class="gray-bg">
|
<div class="container-div">
|
<div class="row">
|
<div class="col-sm-12 search-collapse">
|
<form id="formId">
|
<div class="select-list">
|
<ul>
|
<li>
|
<label>风险单元:</label>
|
<input type="text" name="riskName"/>
|
</li>
|
<li>
|
状态:<select name="scheduleCheckStatus">
|
<option value="">所有</option>
|
<option value="0">未排查</option>
|
<option value="1">已排查</option>
|
</select>
|
</li>
|
<li class="select-time">
|
<label>时间:</label>
|
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="checkBeginTime"/>
|
<span>-</span>
|
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="checkEndTime"/>
|
</li>
|
<li>
|
<label>排查人:</label>
|
<input type="text" name="checkUserName"/>
|
</li>
|
<li>
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
class="fa fa-search"></i> 搜索</a>
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
class="fa fa-refresh"></i> 重置</a>
|
</li>
|
</ul>
|
</div>
|
</form>
|
</div>
|
|
|
<div class="btn-group-sm" id="toolbar" role="group">
|
<a class="btn btn-warning" onclick="$.table.exportExcel()">
|
<i class="fa fa-download"></i> 导出
|
</a>
|
</div>
|
|
<div class="col-sm-12 select-table table-striped">
|
<table id="bootstrap-table"></table>
|
</div>
|
</div>
|
</div>
|
<th:block th:include="include :: footer"/>
|
<script th:inline="javascript">
|
var prefix = ctx + "tr/hiddenDangerCheck/dangerSchedule";
|
|
var userId;
|
var role;
|
var companyId;
|
|
$(function () {
|
userId = [[${userId}]];
|
role = [[${role}]];
|
companyId = [[${companyId}]];
|
var options = {
|
url: prefix + "/list",
|
createUrl: prefix + "/add",
|
updateUrl: prefix + "/edit/{id}",
|
removeUrl: prefix + "/remove",
|
exportUrl: prefix + "/export",
|
detailUrl: prefix + "/detailDangerSchedule/{id}",
|
modalName: "定时隐患排查",
|
rowStyle: rowStyle,//通过自定义函数设置行样式
|
columns: [{
|
checkbox: true
|
},
|
{
|
field: 'checkId',
|
title: '隐患排查ID',
|
visible: false
|
},
|
{
|
field: 'checkType',
|
title: '排查方式',
|
formatter: function (value, row, index) {
|
if (value == "1") {
|
return "基础清单排查";
|
} else if (value == "2") {
|
return "选择风险单元清单排查";
|
}
|
}
|
},
|
{
|
field: 'riskName',
|
title: '基础清单名称',
|
formatter: function (value, row, index) {
|
if (row && row.checkType == "1" && value) {
|
return value;
|
}
|
}
|
},
|
{
|
field: 'riskName',
|
title: '风险单元',
|
formatter: function (value, row, index) {
|
if (row && row.checkType != "1" && value) {
|
return value;
|
}
|
}
|
},
|
{
|
field: 'riskType',
|
title: '风险单元类型',
|
formatter: function (value, item, index) {
|
var label = "";
|
if (value == "1") {
|
label = "设备设施清单";
|
} else if (value == "2") {
|
label = "作业活动清单";
|
} else if (value == "3") {
|
label = "工艺节点清单";
|
} else if (value == "5") {
|
label = "区域、作用场所";
|
}
|
return label;
|
}
|
},
|
{
|
field: 'troubleshootTypeCycleNum',
|
title: '排查周期',
|
formatter: function (value, row, index) {
|
var typeCycleNum = row.troubleshootTypeCycleNum;
|
var typeCycleType = row.troubleshootTypeCycleType;
|
|
var typeCycleTypeLabel = "";
|
if (typeCycleType == "1") {
|
typeCycleTypeLabel = "小时";
|
} else if (typeCycleType == "2") {
|
typeCycleTypeLabel = "日";
|
} else if (typeCycleType == "3") {
|
typeCycleTypeLabel = "周";
|
} else if (typeCycleType == "4") {
|
typeCycleTypeLabel = "月";
|
} else if (typeCycleType == "5") {
|
typeCycleTypeLabel = "年";
|
}
|
|
var troubleshootCycleInfo = typeCycleNum + typeCycleTypeLabel + "1次";
|
return troubleshootCycleInfo;
|
}
|
},
|
{
|
field: 'dangerDeptName',
|
title: '隐患责任部门'
|
},
|
|
{
|
field: 'dangerPlaceName',
|
title: '隐患地点'
|
},
|
|
{
|
field: 'scheduleCheckUserName',
|
title: '排查人'
|
},
|
{
|
field: 'createTime',
|
title: '创建时间'
|
},
|
{
|
field: 'scheduleCheckStatus',
|
title: '状态',
|
align: 'center',
|
formatter: function (value, row, index) {
|
if (value == "0") {
|
return "未排查";
|
} else if (value == "1") {
|
return "已排查";
|
}
|
}
|
},
|
{
|
title: '操作',
|
align: 'center',
|
formatter: function (value, row, index) {
|
var actions = [];
|
if (row.scheduleCheckStatus == 0) {
|
if (row.scheduleCheckUserId == userId) {
|
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="editDangerSchedule(\'' + row.checkId + '\')"><i class="fa fa-edit"></i>操作</a> ');
|
}
|
if (role == "common") {
|
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.checkId + '\')"><i class="fa fa-remove"></i>删除</a> ');
|
}
|
return actions.join('');
|
} else if (row.scheduleCheckStatus == 1) {
|
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.checkId + '\')"><i class="fa fa-search"></i>查看</a>');
|
return actions.join('');
|
}
|
}
|
}]
|
};
|
$.table.init(options);
|
});
|
|
//操作定时隐患排查
|
function editDangerSchedule(id) {
|
var editDangerScheduleUrl = prefix + "/editDangerSchedule/{id}";
|
$.modal.open("操作定时隐患排查", editDangerScheduleUrl.replace("{id}", id));
|
}
|
|
|
function rowStyle(row, index) {
|
var style = {};
|
if (companyId == "116" || companyId == "117" || companyId == "118" || companyId == "99") {
|
if (row.createTime && (row.scheduleCheckStatus == 0)) {
|
timeDiff(row.createTime, transformTimeStr(new Date()), function (dateDiff) {
|
if (dateDiff > 7200000) {
|
style = {css: {'color': '#ed5565'}};
|
}
|
});
|
}
|
}
|
return style;
|
}
|
|
|
function timeDiff(d1, d2, callback) {//di作为一个变量传进来
|
//如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
|
var dateBegin = new Date(d1.replace(/-/g, "/"));//将-转化为/,使用new Date
|
var dateEnd = new Date(d2.replace(/-/g, "/"));//将-转化为/,使用new Date
|
var dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数
|
var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
|
var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
|
var hours = Math.floor(leave1 / (3600 * 1000))//计算出小时数
|
//计算相差分钟数
|
var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
|
var minutes = Math.floor(leave2 / (60 * 1000))//计算相差分钟数
|
//计算相差秒数
|
var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
|
var seconds = Math.round(leave3 / 1000)
|
// console.log(" 相差 " + dayDiff + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒")
|
// console.log(dateDiff + "时间差的毫秒数", dayDiff + "计算出相差天数", leave1 + "计算天数后剩余的毫秒数"
|
// , hours + "计算出小时数", minutes + "计算相差分钟数", seconds + "计算相差秒数");
|
if (callback) {
|
callback(dateDiff, dayDiff, leave1, hours, minutes, seconds);
|
}
|
}
|
|
var transformTimeStr = function (val) {
|
var d;
|
if (val & val instanceof Date) {
|
d = val;
|
} else {
|
d = new Date();
|
}
|
;
|
var year = d.getFullYear();
|
var mouth = (d.getMonth() + 1) < 10 ? ('0' + (d.getMonth() + 1)) : (d.getMonth() + 1);
|
var day = d.getDate() < 10 ? ('0' + d.getDate()) : d.getDate();
|
var hour = d.getHours() < 10 ? '0' + d.getHours() : d.getHours();
|
var minutes = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes();
|
var second = d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds();
|
var curTime = year + '-' + mouth + '-' + day + ' ' + hour + ':' + minutes + ':' + second;
|
return curTime;
|
};
|
|
|
</script>
|
</body>
|
</html>
|