<!DOCTYPE html>
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
<head>
|
<th:block th:include="include :: header('新增登记隐患')"/>
|
<th:block th:include="include :: datetimepicker-css"/>
|
|
<!--多图上传样式-->
|
<link rel="stylesheet" href="/ajax/libs/layui/css/layui.css" media="all">
|
</head>
|
<body class="white-bg">
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
<form class="form-horizontal m" id="form-hiddenDangerCheck-add">
|
|
<!--<div class="form-group">-->
|
<!--<label class="col-sm-3 control-label">风险单元类型:</label>-->
|
<!--<div class="col-sm-8">-->
|
<!--<select name="riskType" id="riskType" class="form-control m-b">-->
|
<!--<option value="">--请选择--</option>-->
|
<!--<option value="1">设备设施清单</option>-->
|
<!--<option value="2">作业活动清单</option>-->
|
<!--<option value="3">工艺节点清单</option>-->
|
<!--</select>-->
|
<!--</div>-->
|
<!--</div>-->
|
<!--<div class="form-group">-->
|
<!--<label class="col-sm-3 control-label">风险单元:</label>-->
|
<!--<div class="col-sm-8">-->
|
<!--<input id="checkPointName" name="riskName" placeholder="选择风险单元" class="form-control" type="text"-->
|
<!--onclick="selectRiskPoint()" maxlength="30" readonly="true">-->
|
<!--<input id="checkPointId" name="riskId" type="hidden">-->
|
<!--</div>-->
|
<!--</div>-->
|
|
|
<!-- <div class="form-group">
|
<label class="col-sm-3 control-label is-required">排查项目:</label>
|
<div class="col-sm-8">
|
<input value="功能是否正常" class="form-control" type="text" readonly="readonly">
|
</div>
|
</div>-->
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患名称:</label>
|
<div class="col-sm-8">
|
<input name="dangerName" class="form-control" type="text" required>
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">排查方法:</label>
|
<div class="col-sm-8">
|
<select name="remark" class="form-control m-b" required>
|
<option style="display: none"></option>
|
<option value="查现场">查现场</option>
|
<option value="查行为">查行为</option>
|
<option value="查事故">查事故</option>
|
<option value="查图纸">查图纸</option>
|
<option value="查制度">查制度</option>
|
<option value="查标准">查标准</option>
|
</select>
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患描述:</label>
|
<div class="col-sm-8">
|
<textarea name="dangerDescription" maxlength="500" class="form-control" rows="3" required></textarea>
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患来源:</label>
|
<div class="col-sm-8">
|
<select name="dangerSrc" class="form-control m-b" th:with="type=${@dict.getType('danger_source')}" required>
|
<option value="">--请选择隐患来源--</option>
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
</select>
|
</div>
|
</div>
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患责任部门:</label>
|
<div class="col-sm-8">
|
<input name="dangerDeptId" id="dangerDeptId" type="hidden">
|
<input name="dangerDeptName" placeholder="选择隐患责任部门"
|
onclick="selectRectifyDeptTree()" id="dangerDeptName"
|
class="form-control" type="text"
|
readonly="readonly" required>
|
</div>
|
</div>
|
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患地点:</label>
|
<div class="col-sm-8">
|
<input name="dangerPlaceId" id="dangerPlaceId" type="hidden">
|
<input name="dangerPlaceName" placeholder="选择隐患地点"
|
onclick="selectRegionTree()" id="dangerPlaceName"
|
class="form-control" type="text"
|
readonly="readonly" required>
|
</div>
|
</div>
|
|
|
<!--<div class="form-group">-->
|
<!--<label class="col-sm-3 control-label is-required">区域/位置:</label>-->
|
<!--<div class="col-sm-8">-->
|
<!--<div class="input-group">-->
|
<!--<input name="regionName" onclick="selectRegionTree()" id="regionTreeName" type="text" placeholder="请选择区域/位置" class="form-control" required>-->
|
<!--<span class="input-group-addon"><i class="fa fa-search"></i></span>-->
|
<!--</div>-->
|
<!--</div>-->
|
<!--</div>-->
|
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label">隐患整改前照片:</label>
|
<div class="col-sm-8">
|
<input name="preRectifyPhoto" id="preRectifyPhoto" type="hidden">
|
<!-- <button type="button" class="layui-btn" id="preRectifyPhotoUpload">上传</button>-->
|
<!-- <div class="layui-upload-list">-->
|
<!-- <img class="layui-upload-img" style="width: 92px; height: 92px;" id="ThumbImg">-->
|
<!-- <p id="msgText"></p>-->
|
<!-- </div>-->
|
<button type="button" class="layui-btn layui-btn-normal" id="preChooseList">选择文件(不超过3张)</button>
|
<button type="button" class="layui-btn" id="preUpAction">确认上传(上传后不可修改)</button>
|
<div id="preFileList"></div>
|
</div>
|
</div>
|
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患责任人(判定人):</label>
|
<div class="col-sm-8">
|
<input id="judgeUserName" name="judgeUserName" placeholder="选择隐患责任人(判定人)" class="form-control" type="text" onclick="selectJudgeUser()" maxlength="30" readonly="true" required>
|
<input id="judgeUserId" name="judgeUserId" type="hidden">
|
</div>
|
</div>
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">隐患发现时间:</label>
|
<div class="col-sm-8">
|
<input name="findTime" placeholder="请选择隐患发现时间" class="form-control" type="text"
|
readonly="readonly" required>
|
</div>
|
</div>
|
|
<div class="form-group">
|
<label class="col-sm-3 control-label is-required">检查人:</label>
|
<div class="col-sm-8">
|
<input id="checkPerson" name="checkPerson" placeholder="选择检查人" class="form-control" type="text" onclick="selectCheckPerson()" maxlength="30" readonly="true" required>
|
<!-- <input id="checkPersonId" name="checkPersonId" type="hidden">-->
|
</div>
|
</div>
|
</form>
|
</div>
|
<th:block th:include="include :: footer"/>
|
<th:block th:include="include :: datetimepicker-js"/>
|
<script type="text/javascript">
|
|
|
/*隐患责任部门 选择 start*/
|
function selectRectifyDeptTree() {
|
var treeId = $("#dangerDeptId").val();
|
var deptId = $.common.isEmpty(treeId) ? "100" : $("#dangerDeptId").val();
|
var url = ctx + "system/dept/selectDeptTreeByCompanyId/" + deptId;
|
var options = {
|
title: '选择部门',
|
width: "380",
|
url: url,
|
callBack: doSubmitBeCheckedDept
|
};
|
$.modal.openOptions(options);
|
}
|
|
function doSubmitBeCheckedDept(index, layero) {
|
var tree = layero.find("iframe")[0].contentWindow.$._tree;
|
// if ($.tree.notAllowParents(tree)) {
|
var body = layer.getChildFrame('body', index);
|
$("#dangerDeptId").val(body.find('#treeId').val());
|
$("#dangerDeptName").val(body.find('#treeName').val());
|
layer.close(index);
|
// }
|
}
|
|
/*隐患责任部门 选择 end*/
|
|
|
/*区域/位置 选择 start*/
|
function selectRegionTree() {
|
var treeId = $("#dangerPlaceId").val();
|
var regionTreeId = $.common.isEmpty(treeId) ? "100" : $("#dangerPlaceId").val();
|
var url = ctx + "tr/region/selectRegionTreeByCompanyId/" + regionTreeId;
|
var options = {
|
title: '选择区域/位置',
|
width: "380",
|
url: url,
|
callBack: doSubmitRegion
|
};
|
$.modal.openOptions(options);
|
}
|
|
function doSubmitRegion(index, layero) {
|
var tree = layero.find("iframe")[0].contentWindow.$._tree;
|
// if ($.tree.notAllowParents(tree)) {
|
var body = layer.getChildFrame('body', index);
|
$("#dangerPlaceId").val(body.find('#treeId').val());
|
$("#dangerPlaceName").val(body.find('#treeName').val());
|
layer.close(index);
|
// }
|
}
|
|
/*区域/位置 选择 end*/
|
|
|
// 选择风险单元
|
function selectRiskPoint() {
|
var riskType = $('#riskType').val();
|
if (riskType) {
|
var url = "/tr/riskList/selectRiskListByDangerReport/" + riskType;
|
$.modal.openNoConfirm("选择风险单元", url, '700', '500');
|
} else {
|
// $("#checkPointId").val("");
|
// $("#checkPointName").val("");
|
// $("#dangerDeptId").val("");
|
// $("#dangerDeptName").val("");
|
// $("#dangerPlaceName").val("");
|
$.modal.alertWarning("请先选择风险单元类型");
|
}
|
}
|
|
|
/*隐患责任人 选择 start*/
|
function selectJudgeUser() {
|
var url = ctx + "system/user/selectUserListByParentSonCompany";
|
var options = {
|
title: '用户选择',
|
width: "800",
|
url: url,
|
};
|
$.modal.openOptionsByCallback(options, function (layero, index) {
|
var body = layer.getChildFrame('body', index);
|
body.on("click", ".selectUser", function () {
|
var userId = $(this).data("userid");
|
var userName = $(this).data("username");
|
$("#judgeUserId").val(userId);
|
$("#judgeUserName").val(userName);
|
layer.close(index);
|
});
|
});
|
}
|
/*隐患责任人 选择 end*/
|
|
function selectCheckPerson() {
|
var url = ctx + "system/user/selectUserListByParentSonCompany";
|
var options = {
|
title: '用户选择',
|
width: "800",
|
url: url,
|
};
|
$.modal.openOptionsByCallback(options, function (layero, index) {
|
var body = layer.getChildFrame('body', index);
|
body.on("click", ".selectUser", function () {
|
var userId = $(this).data("userid");
|
var userName = $(this).data("username");
|
// $("#checkPersonId").val(userId);
|
$("#checkPerson").val(userName);
|
layer.close(index);
|
});
|
});
|
}
|
|
|
var prefix = ctx + "tr/hiddenDangerCheck/dangerReport";
|
$("#form-hiddenDangerCheck-add").validate({
|
focusCleanup: true
|
});
|
|
function submitHandler() {
|
if ($.validate.form()) {
|
var data = $('#form-hiddenDangerCheck-add').serializeArray();
|
$.operate.save(prefix + "/addDangerReportSave", data);
|
}
|
}
|
|
|
<!--layui图片文件上传-->
|
// layui.use('upload', function () {
|
// var $ = layui.jquery
|
// , upload = layui.upload;
|
//
|
// //普通图片上传
|
// var uploadInst = upload.render({
|
// elem: '#preRectifyPhotoUpload'
|
// , url: ctx + 'tr/upload'
|
// , before: function (obj) {
|
// //预读本地文件示例,不支持ie8
|
// obj.preview(function (index, file, result) {
|
// $('#ThumbImg').attr('src', result); //图片链接(base64)
|
// });
|
// }
|
// , done: function (res) {
|
// //如果上传失败
|
// if (res.code > 0) {
|
// return layer.msg('上传失败');
|
// }
|
// //上传成功
|
// $('#preRectifyPhoto').val(res.imageUrl);
|
// }
|
// , error: function () {
|
// //演示失败状态,并实现重传
|
// var msgText = $('#msgText');
|
// msgText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
// msgText.find('.demo-reload').on('click', function () {
|
// uploadInst.upload();
|
// });
|
// }
|
// });
|
// });
|
|
$("input[name='findTime']").datetimepicker({
|
format: "yyyy-mm-dd",
|
minView: "month",
|
autoclose: true
|
});
|
|
layui.use('upload', function() {
|
var $ = layui.jquery;
|
upload = layui.upload;
|
var uploadList = {};
|
var urls = []
|
//多文件列表示例
|
var preFileListDom = $('#preFileList')
|
var uploadListIns = upload.render({
|
elem: '#preChooseList',
|
url: ctx + 'tr/upload' ,
|
accept: 'file',
|
multiple: true,
|
number: 3,
|
auto: false,
|
bindAction: '#preUpAction',
|
choose: function(obj) {
|
// 展示上传按钮
|
$('#preUpAction').show();
|
// 将每次选择的文件追加到文件队列
|
uploadList = obj.pushFile();
|
const len = preFileListDom.find('.file-list-item1').length;
|
// 还可以上传的文件数量
|
const limit = 3 - len;
|
var number = 0;
|
// 预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
|
obj.preview(function(index, file, result){
|
if (number < limit){
|
number++;
|
appendFile(index, file.name, result);
|
}else{
|
deleteTempFile(index)
|
}
|
})
|
},
|
// before: function(obj){
|
// layer.load(1);
|
// },
|
//上传完毕回调
|
//当文件全部被提交后,才触发
|
allDone: function (obj) {
|
layer.msg("已上传 "+obj.successful+" 个文件");
|
layer.closeAll('loading');
|
deleteTempFile(0)
|
},
|
done: function(res, index, upload){
|
preFileListDom.find('.file-temp1').each(function () {
|
if (!res || res.code > 0){
|
// 若上传失败,则直接移除
|
return layer.msg('上传失败');
|
$(this).remove();
|
}else{
|
//上传成功
|
// 添加上传返回的数据到对应的文件中
|
// var hidden = '<input type="hidden" name="path[]" value="'+res.imageUrl+'"/>';
|
// $(this).append(hidden);
|
// 修改预览文件样式
|
$(this).removeClass('file-temp1');
|
// $(this).find('.file-cancel').removeClass('layui-btn-primary');
|
// $(this).find('.file-cancel').addClass('layui-btn-danger');
|
// $(this).find('.file-cancel').val('删除');
|
$(this).find('.file-cancel1').remove();
|
$(this).find('.layui-badge1').remove();
|
urls.push(res.imageUrl)
|
}
|
$('#preRectifyPhoto').val(urls.join(','));
|
})
|
},
|
error: function(index, upload) {
|
var tr = preFileListDom.find('tr#upload-' + index),
|
tds = tr.children();
|
tds.eq(1).html('<span style="color: #FF5722;">上传失败</span>');
|
tds.eq(2).find('.demo-reload').removeClass('layui-hide'); //显示重传
|
}
|
});
|
|
// 预览选择的文件
|
function appendFile(index, name, result) {
|
const dom = '<div class="file-list-item1 file-temp1" data-index="'+index+'"><div><img src="'+result+'" alt="'+name+'"><span class="layui-badge1 layui-bg-blue">待上传</span></div>' +
|
'<div><input type="button" class="file-cancel1" value="删除"></div></div>';
|
preFileListDom.append(dom);
|
fileCancelEvent();
|
}
|
// 为待上传文件【取消】按钮添加点击事件
|
function fileCancelEvent() {
|
preFileListDom.find('.file-cancel1').each(function () {
|
const event = $._data($(this)[0],"events");
|
// 仅对未绑定事件的按钮进行绑定
|
if (!event || !event["click"]){
|
$(this).click(function () {
|
var fileDom = $(this).parent().parent();
|
var index = fileDom.data('index');
|
if (index){
|
deleteTempFile(index);
|
}
|
fileDom.remove();
|
})
|
}
|
})
|
}
|
// 删除待上传的文件(从文件队列中删除文件)
|
function deleteTempFile(index){
|
if (index === 0){
|
// 清空文件队列中所有数据
|
for (const key in uploadList) {
|
delete uploadList[key];
|
}
|
// 隐藏上传按钮
|
$('#preUpAction').hide();
|
}else{
|
delete uploadList[index];
|
var number = Object.keys(uploadList).length;
|
// 若上传文件队列中无数据则隐藏上传按钮
|
if (number <= 0){
|
$('#preUpAction').hide();
|
}
|
}
|
}
|
});
|
</script>
|
</body>
|
</html>
|