风险预警提前处置

This commit is contained in:
hayu 2024-12-13 21:39:01 +08:00
parent e01010858b
commit 56caa62417
9 changed files with 1000 additions and 51 deletions

View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>新增反馈</title>
</head>
<link href="../../../js/layui/css/layui.css" rel="stylesheet">
<!--拦截及公共ip-->
<script src="../../../js/public/jquery-3.6.0.js" type="text/javascript"></script>
<script src="../../../js/system/IPUtils.js"></script>
<script src="../../../js/system/ajax_intercept.js"></script>
<script src="../../../js/system/public_utils.js"></script>
<script src="../../../js/smutil/sm2Utils.js"></script>
<script src="../../../js/smutil/smUtil.js"></script>
<!--拦截及公共ip-->
<script src="../../../js/layui/layui.js"></script>
<script src="../../../js/public/public.js" type="text/javascript"></script>
<script src="../../../js/public/sm3.js" type="text/javascript"></script>
<script src="../../../js/public/aes.js" type="text/javascript"></script>
<script src="../../../js/supplement/child/riskWarningAndEarlyDisposalAdd.js" type="text/javascript"></script>
<link href="../../../css/device/deviceAdd.css" rel="stylesheet">
<style>
body {
color: #000;
padding: 20px;
}
.layui-form-label {
color: #000;
width: 120px;
}
.form-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.button-group {
grid-column: 1 / -1;
text-align: center;
margin-top: 20px;
}
.layui-btn {
margin: 0 10px;
}
</style>
<body>
<form class="layui-form" action="" lay-filter="form-risk">
<div class="form-container">
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>工程名称:</label>
<div class="layui-input-inline">
<input type="text" name="proName" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>作业票名称:</label>
<div class="layui-input-inline">
<input type="text" name="ticketName" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>风险等级:</label>
<div class="layui-input-inline">
<select name="riskGrade" lay-verify="required">
<option value="">请选择</option>
<option value="一级">一级</option>
<option value="二级">二级</option>
<option value="三级">三级</option>
<option value="四级">四级</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>风险编号:</label>
<div class="layui-input-inline">
<input type="text" name="number" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>负责人:</label>
<div class="layui-input-inline">
<input type="text" name="jobLeader" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>作业部位:</label>
<div class="layui-input-inline">
<input type="text" name="jobSite" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>作业工序:</label>
<div class="layui-input-inline">
<input type="text" name="jobGx" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>作业班组:</label>
<div class="layui-input-inline">
<input type="text" name="workingTeamName" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>风险成本:</label>
<div class="layui-input-inline">
<input type="text" name="riskCb" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>管控措施:</label>
<div class="layui-input-inline">
<input type="text" name="manageControl" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>补充措施:</label>
<div class="layui-input-inline">
<input type="text" name="supplementMeasure" required lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>是否是重点工程:</label>
<div class="layui-input-inline">
<select name="important" lay-verify="required">
<option value="">请选择</option>
<option value="1"></option>
<option value="0"></option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>预警时间:</label>
<div class="layui-input-inline">
<input type="text" name="yjDate" required readonly autocomplete="off" lay-verify="required" placeholder="选择日期" class="layui-input" id="yjDate">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><a style="color: red;">*</a>整改期限:</label>
<div class="layui-input-inline">
<input type="text" name="changeTerm" required readonly autocomplete="off" lay-verify="required" placeholder="选择日期" class="layui-input" id="changeTerm">
</div>
</div>
<div class="layui-form-item" id="contentDiv" style="display: none">
<label class="layui-form-label"><a style="color: red;">*</a>整改内容:</label>
<div class="layui-input-inline">
<input type="text" name="changeContent" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item" style="margin-top: 10px; display: none" id="imgDiv">
<label class="layui-form-label"><a style="color: red;">*</a>整改图片</label>
<input type="text" hidden id="path" name="path" value="">
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="test2">照片上传</button>
<blockquote id="preview" class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
预览图:
<div class="layui-upload-list" id="demo2"></div>
</blockquote>
</div>
<button id="hideUpload" type="button" style="display: none"></button>
</div>
</div>
<div class="layui-form-item button-group">
<button id="cancelBtn" type="button" class="layui-btn layui-btn-primary" onclick="cancel()">取消</button>
<button style="display:none;" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="saveForm">保存</button>
<button id="okBtn" type="button" class="layui-btn" lay-submit lay-filter="publishForm">发布</button>
<button id="updateBtn" style="display:none;" type="button" class="layui-btn updateBtn" lay-submit lay-filter="updateBtn">整改</button>
</div>
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../js/layui-v2.9.2/layui/css/layui.css">
<link rel="stylesheet" href="../../css/font.css">
<link rel="stylesheet" href="../../css/table-common2.css">
<!--拦截及公共ip-->
<script src="../../js/public/jquery-3.6.0.js" type="text/javascript"></script>
<script src="../../js/system/IPUtils.js"></script>
<script src="../../js/system/ajax_intercept.js"></script>
<script src="../../js/system/public_utils.js"></script>
<script src="../../js/smutil/sm2Utils.js"></script>
<script src="../../js/smutil/smUtil.js"></script>
<!--拦截及公共ip-->
<script src="../../js/public/public.js" type="text/javascript"></script>
<script src="../../js/system/htmlpermission.js"></script>
<script src="../../js/public/permission.js" type="text/javascript"></script>
<script src="../../js/public/sm3.js" type="text/javascript"></script>
<script src="../../js/layui-v2.9.2/layui/layui.js"></script>
<script src="../../js/public/commonUtils.js"></script>
<script src="../../js/public/aes.js"></script>
<script src="../../js/public/openIframe.js"></script>
<title>风险预警提前处置</title>
<style>
.layui-inline button {
width: auto;
height: auto;
font-size: 15px;
}
</style>
</head>
<body>
<div id="content">
<div class="basic-search-box layout">
<form class="layui-form basic-form" onclick="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="width: 80px;">工程名称:</label>
<div class="layui-input-inline">
<input type="text" id="proName" class="layui-input" autocomplete="off" placeholder="工程名称">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: 80px;">风险等级:</label>
<div class="layui-input-inline">
<select id="riskLevel" class="layui-select">
<option value="">全部</option>
<option value="二级">二级</option>
<option value="三级">三级</option>
<option value="四级">四级</option>
<option value="五级">五级</option>
</select>
</div>
</div>
<div class="layui-inline btns">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i class="layui-icon"></i>
</button>
<button class="layui-btn layui-add">新 增</button>
</div>
</div>
</form>
</div>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="currTable" class="table" lay-filter="currTable"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
</body>
<script type="text/html" id="device-bar">
<a title='详情' lay-event="detail">详情</a>
{{# if(d.changeContent === null || d.changeContent===''){ }}
<a title='整改' lay-event="update">整改</a>
{{# } }}
</script>
<style>
.layui-table-init {
background-color: transparent !important;
}
</style>
<script src="../../js/supplement/riskWarningAndEarlyDisposal.js"></script>
</html>

View File

@ -26,14 +26,16 @@ layui.use(['layer', 'form', 'element'], function () {
// 默认首页
// $('#iframeMain').attr('src', '../compreDisplay/compreDisplay.html');
var user = JSON.parse((us));
getWzXx(user.orgId);
// getWzXx(user.orgId);
getMarqueeData();
window.setTimeout(function () {
getWzXx(user.orgId);
// getWzXx(user.orgId);
getMarqueeData();
}, 6000 * 3);
if (user.isSup != 3) {
$("#dtaxt").css("display", "none");
}
// if (user.isSup != 3) {
// $("#dtaxt").css("display", "none");
// }
if (user.isSup == 3) {
getIsBg(user.orgId);
}
@ -142,7 +144,7 @@ layui.use(['layer', 'form', 'element'], function () {
}
});
//$("#layui-tab-title").niceScroll({cursorborder:"",cursorcolor:"#c0c4cc",boxzoom:true});
//$("#layui-tab-title").niceScroll({cursorborder:"",cursorcolor:"#c0c4cc",boxzoom:true});
})
@ -335,7 +337,7 @@ function getWzXx(orgId) {
url: dataUrl + 'proteam/pot/home/getWzXx' ,
headers: {
"encrypt": sm3(JSON.stringify({ orgId: orgId })),
'Authorization': localStorage.getItem("tokens")
'Authorization': localStorage.getItem("tokens")
},
data: {
orgId: orgId,
@ -351,9 +353,31 @@ function getWzXx(orgId) {
}
},
error: function (err) {
console.log("err")
}
error: function (err) {
console.log("err")
}
});
}
function getMarqueeData() {
$.ajax({
url: dataUrl + 'proteam/pot/badWeather/getBadWeatherData' ,
headers: {
"encrypt": sm3(JSON.stringify({ orgId: '1' })),
'Authorization': localStorage.getItem("tokens")
},
data: {
orgId: '1',
},
type: 'post',
async: true,
success: function (result) {
console.log("result:",result);
$("#dtaxt").text(result.msg);
},
error: function (err) {
console.log("err")
}
});
}
@ -446,8 +470,8 @@ function openNewTab(url, id, title) {
function closePage(){
element.tabDelete('menu-tab', '160000');
element.tabDelete('menu-tab', '190000');
element.tabDelete('menu-tab', '160000');
element.tabDelete('menu-tab', '190000');
}

View File

@ -22,15 +22,27 @@ layui.use(['layer', 'form', 'element','upload'], function(){
//多图片上传
var uploadcom1 =upload.render({
elem: '#test1',
url: dataUrl + 'proteam/pot/remoteFace/uploadFile?token='+token, //改成您自己的上传接口
url: dataUrl + 'proteam/pot/remoteFace/uploadFile', //改成您自己的上传接口
multiple: false, //是否允许多文件上传默认未false
dataType: "json",
headers: { // 自定义请求头
'Authorization': token,
"decrypt":"decrypt"
},
decrypt: false,
exts: 'jpg|png|jpeg',
acceptMime: 'image/jpg,image/png,image/jpeg',
auto: true, //是否自动上传 默认为true
number: 1, //最大上传数量
size: 1024*5, //最大文件大小单位k
field: 'file', //传到后台的字段名,默认file
before: function (obj) {
// 设置请求头
obj.data = { headerName: 'decrypt', headerValue: 'decrypt' }; // 这里是简化的方式,具体实现依赖于底层实现
// 如果底层库允许直接设置headers, 可以这样做:
// obj.config.headers = {'decrypt': 'decrypt'};
return true; // 返回true继续执行false则中断上传
},
choose: function (obj) {
var demo1 = $('#demo1');
uploadcom1.config.elem.next()[0].value = '';
@ -72,15 +84,27 @@ layui.use(['layer', 'form', 'element','upload'], function(){
var uploadcom2 =upload.render({
elem: '#test2',
url: dataUrl + 'proteam/pot/remoteFace/uploadFile?token='+token, //改成您自己的上传接口
url: dataUrl + 'proteam/pot/remoteFace/uploadFile', //改成您自己的上传接口
multiple: false, //是否允许多文件上传默认未false
dataType: "json",
headers: { // 自定义请求头
'Authorization': token,
"decrypt":"decrypt"
},
decrypt: false,
exts: 'jpg|png|jpeg',
acceptMime: 'image/jpg,image/png,image/jpeg',
auto: true, //是否自动上传 默认为true
number: 1, //最大上传数量
size: 1024*5, //最大文件大小单位k
field: 'file', //传到后台的字段名,默认file
before: function (obj) {
// 设置请求头
obj.data = { headerName: 'decrypt', headerValue: 'decrypt' }; // 这里是简化的方式,具体实现依赖于底层实现
// 如果底层库允许直接设置headers, 可以这样做:
// obj.config.headers = {'decrypt': 'decrypt'};
return true; // 返回true继续执行false则中断上传
},
choose: function (obj) {
var demo2 = $('#demo2');
uploadcom2.config.elem.next()[0].value = '';

View File

@ -4,34 +4,46 @@ let upload;
let pageNum=1,limitSize=10;
let UPLOAD_PATH="";
layui.use(['layer', 'form', 'element','upload'], function(){
//初始化下拉选
form=layui.form;
upload = layui.upload;
//检查输入的账号长度
form.verify({
account: function(value, item){
var max = item.getAttribute('lay-max');
if(value.length > max){
return '字符长度过长';
}
},
});
//初始化下拉选
form=layui.form;
upload = layui.upload;
//检查输入的账号长度
form.verify({
account: function(value, item){
var max = item.getAttribute('lay-max');
if(value.length > max){
return '字符长度过长';
}
},
});
// 调用函数以设置上传时间
setCurrentTime();
//多图片上传
var uploadcom1 =upload.render({
elem: '#test2',
url: dataUrl + 'proteam/pot/remoteFace/uploadFile?token='+token, //改成您自己的上传接口
url: dataUrl + 'proteam/pot/remoteFace/uploadFile', //改成您自己的上传接口
multiple: false, //是否允许多文件上传默认未false
dataType: "json",
headers: { // 自定义请求头
'Authorization': token,
"decrypt":"decrypt"
},
decrypt: false,
exts: 'jpg|png|jpeg',
acceptMime: 'image/jpg,image/png,image/jpeg',
auto: true, //是否自动上传 默认为true
number: 1, //最大上传数量
size: 1024*5, //最大文件大小单位k
field: 'file', //传到后台的字段名,默认file
before: function (obj) {
// 设置请求头
obj.data = { headerName: 'decrypt', headerValue: 'decrypt' }; // 这里是简化的方式,具体实现依赖于底层实现
// 如果底层库允许直接设置headers, 可以这样做:
// obj.config.headers = {'decrypt': 'decrypt'};
return true; // 返回true继续执行false则中断上传
},
choose: function (obj) {
var demo2 = $('#demo2');
uploadcom1.config.elem.next()[0].value = '';
@ -70,45 +82,45 @@ layui.use(['layer', 'form', 'element','upload'], function(){
}
});
//表单提交
form.on('submit(add-data)', function(data){
console.log(data.field);
var formData = JSON.stringify(data.field);
Ajax().post({
url: dataUrl + 'proteam/pot/remoteFace/addRemoteFace',
headers: {
"encrypt": sm3(JSON.stringify(data.field))
},
//表单提交
form.on('submit(add-data)', function(data){
console.log(data.field);
var formData = JSON.stringify(data.field);
Ajax().post({
url: dataUrl + 'proteam/pot/remoteFace/addRemoteFace',
headers: {
"encrypt": sm3(JSON.stringify(data.field))
},
data: data.field,
async : true,
success : function(data) {
success : function(data) {
if(data.code=='201'){
layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
return ;
}else if(data.code=='200') {//系统异常
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}else{
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
})
function setCurrentTime() {

View File

@ -0,0 +1,307 @@
let table;
let form;
let upload;
let laydate;
let pageNum=1,limitSize=10;
let UPLOAD_PATH="";
let updateId;
layui.use(['layer', 'form', 'element','upload'], function(){
//初始化下拉选
form=layui.form;
upload = layui.upload;
laydate = layui.laydate;
//检查输入的账号长度
form.verify({
account: function(value, item){
var max = item.getAttribute('lay-max');
if(value.length > max){
return '字符长度过长';
}
},
});
laydate.render({
elem: '#yjDate', //指定元素 元素选择器
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
trigger: 'click',
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
done: function (value, date) { //时间回调
}
});
laydate.render({
elem: '#changeTerm', //指定元素 元素选择器
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
trigger: 'click',
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
done: function (value, date) { //时间回调
}
});
//多图片上传
var uploadcom1 =upload.render({
elem: '#test2',
url: dataUrl + 'proteam/pot/remoteFace/uploadFile', //改成您自己的上传接口
multiple: false, //是否允许多文件上传默认未false
dataType: "json",
headers: { // 自定义请求头
'Authorization': token,
"decrypt":"decrypt"
},
decrypt: false,
exts: 'jpg|png|jpeg',
acceptMime: 'image/jpg,image/png,image/jpeg',
auto: true, //是否自动上传 默认为true
number: 1, //最大上传数量
size: 1024*5, //最大文件大小单位k
field: 'file', //传到后台的字段名,默认file
before: function (obj) {
// 设置请求头
obj.data = { headerName: 'decrypt', headerValue: 'decrypt' }; // 这里是简化的方式,具体实现依赖于底层实现
// 如果底层库允许直接设置headers, 可以这样做:
// obj.config.headers = {'decrypt': 'decrypt'};
return true; // 返回true继续执行false则中断上传
},
choose: function (obj) {
var demo2 = $('#demo2');
uploadcom1.config.elem.next()[0].value = '';
// 检查 #demo2 是否已经有图片
if (demo2.find('img').length > 0) {
layer.msg('已存在照片', { icon: 2 });
return; // 如果有图片则直接返回,不进行后续操作
}
files = obj.pushFile();
obj.preview(function (index, file, result) {
var imgElem = $(`<img src="${result}" id="${index}" alt="${file.name}" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img">`);
// 绑定双击删除事件
imgElem.on('dblclick', function () {
delete files[index]; // 删除指定图片
$("#path").val("");
$(this).remove(); // 移除DOM中的预览图
});
demo2.append(imgElem); // 添加预览图到页面中
});
},
done: function (res) {
if (res.resMsg != null && res.resMsg.indexOf("上传成功") !== -1) {
UPLOAD_PATH="";
console.log("obj",res.obj)
res.obj.forEach(function (obj) {
UPLOAD_PATH = obj;
});
$("#path").val(UPLOAD_PATH);
console.log(UPLOAD_PATH);
} else {
console.log("Error,上传失败" + res.resMsg);
}
}
});
//表单提交
form.on('submit(updateBtn)', function(data){
data.field.id=updateId;
console.log(data.field);
var formData = JSON.stringify(data.field);
Ajax().post({
url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/updateData',
headers: {
"encrypt": sm3(JSON.stringify(data.field))
},
data: data.field,
async : true,
success : function(data) {
if(data.code=='201'){
layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
return ;
}else if(data.code=='200') {//系统异常
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}else{
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//表单提交
form.on('submit(saveForm)', function(data){
data.field.status='0';
console.log(data.field);
var formData = JSON.stringify(data.field);
Ajax().post({
url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/addData',
headers: {
"encrypt": sm3(JSON.stringify(data.field))
},
data: data.field,
async : true,
success : function(data) {
if(data.code=='201'){
layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
return ;
}else if(data.code=='200') {//系统异常
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}else{
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//表单提交
form.on('submit(publishForm)', function(data){
data.field.status='1';
console.log(data.field);
var formData = JSON.stringify(data.field);
Ajax().post({
url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/addData',
headers: {
"encrypt": sm3(JSON.stringify(data.field))
},
data: data.field,
async : true,
success : function(data) {
if(data.code=='201'){
layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
return ;
}else if(data.code=='200') {//系统异常
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}else{
parent.layer.closeAll();
parent.reloadTable( pageNum,limitSize);
parent.layer.msg(data.msg, {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
})
function cancel() {
//关闭当前页面-->
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
//赋值
function setForm(keyId,pageNum1,limitSize1){
$("#cancelBtn").css("display", "none");
$("#okBtn").css("display", "none");
pageNum=pageNum1;
limitSize=limitSize1;
Ajax().post({
url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/getDetailById',
headers: {
"encrypt": sm3(JSON.stringify({'keyId':keyId}))
},
data: {
keyId: keyId//加密处理
},
async : true,
success : function(data) {
console.log(data);
console.log(data.changeContent)
form.val('form-risk',data);
if (data.changeContent!=null && data.changeContent!==''){
$("#contentDiv").css("display", "");
$("#imgDiv").css("display", "");
$("#test2").css("display", "none");
let path = `${photoUrl}${data.path}?token=${token}`;
console.log(path);
// 使用反引号(`)创建模板字符串,并直接插入变量
let html = `<img src="${path}" style="height: 60px;width: 60px;margin-right: 10px" class="layui-upload-img">`;
var demo2 = $('#demo2');
demo2.append(html);
}
// 禁用所有输入框和选择框
$('.layui-form input, .layui-form select').prop('disabled', true);
form.render(); //更新全部
}
})
}
//赋值
function setForms(keyId,pageNum1,limitSize1){
updateId=keyId;
$("#cancelBtn").css("display", "none");
$("#okBtn").css("display", "none");
pageNum=pageNum1;
limitSize=limitSize1;
Ajax().post({
url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/getDetailById',
headers: {
"encrypt": sm3(JSON.stringify({'keyId':keyId}))
},
data: {
keyId: keyId//加密处理
},
async : true,
success : function(data) {
console.log(data);
form.val('form-risk',data);
$("#contentDiv").css("display", "");
$("#imgDiv").css("display", "");
// 禁用所有输入框和选择框,但不禁用文件选择功能
$('.layui-form input:not([type="file"]), .layui-form select').prop('disabled', true);
enableElement("changeContent");
form.render(); //更新全部
}
})
}
function enableElement(elementName) {
$(`[name="${elementName}"]`).prop('disabled', false);
form.render(); // 重新渲染表单以更新UI
}

View File

@ -176,7 +176,8 @@ function initTable(dataList, limit, page) {
templet: function(d) {
// 假设 path 是一个有效的图片URL
if (d.regulationsPath) { // 检查路径是否为空
return `<img src="${d.regulationsPath}" alt="违章图片" style="max-width: 100%; height: auto; max-height: 80px;">`;
let path = photoUrl+d.regulationsPath + "?token=" + token;
return `<img src="${path}" alt="违章图片" style="max-width: 100%; height: auto; max-height: 80px;">`;
} else {
return '无'; // 或者返回其他默认内容
}
@ -191,7 +192,8 @@ function initTable(dataList, limit, page) {
templet: function(d) {
// 假设 path 是一个有效的图片URL
if (d.punishmentPath) { // 检查路径是否为空
return `<img src="${d.punishmentPath}" alt="处罚单" style="max-width: 100%; height: auto; max-height: 80px;">`;
let path = photoUrl+d.punishmentPath + "?token=" + token;
return `<img src="${path}" alt="处罚单" style="max-width: 100%; height: auto; max-height: 80px;">`;
} else {
return '无'; // 或者返回其他默认内容
}

View File

@ -168,7 +168,9 @@ function initTable(dataList, limit, page) {
templet: function(d) {
// 假设 path 是一个有效的图片URL
if (d.path) { // 检查路径是否为空
return `<img src="${d.path}" alt="人脸照片" style="max-width: 100%; height: auto; max-height: 80px;">`;
let path = photoUrl+d.path + "?token=" + token;
console.log(path);
return `<img src="${path}" alt="人脸照片" style="max-width: 100%; height: auto; max-height: 80px;">`;
} else {
return '无'; // 或者返回其他默认内容
}

View File

@ -0,0 +1,304 @@
let form, layer, table, laydate, tableIns, user = getUser(), tableHeight;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
laydate = layui.laydate;
pages(1, 10, 1);
// 头工具栏事件
table.on('tool(currTable)', function(obj){
console.log(obj);
var event=obj.event;
var key=obj.data.id;//唯一值
if(event=='detail'){//查看详情
layer.open({
title: '详情',
type: 2,
area: ['50%','90%'],
content: '../../html/supplement/child/riskWarningAndEarlyDisposalAdd.html',
btn: ['取消'] //只是为了演示
,success: function (layero, index) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(key);//调用子页面的方法,页面锁定
}
,btn2: function(){
layer.closeAll();
}
});
}else if(event=='update'){//修改数据
layer.open({
title: '整改',
type: 2,
area: ['50%','90%'],
content: '../../html/supplement/child/riskWarningAndEarlyDisposalAdd.html',
btn: ['确定', '取消']
,success: function (layero, index) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForms(key,pageNum,limitSize);//调用子页面的方法,页面锁定
}
,yes: function(index,leyuo){
var body = layer.getChildFrame('body', index);
body.find('#updateBtn').click();
}
,btn2: function(){
layer.closeAll();
}
});
}else if(event=='del'){//删除数据
layer.msg('确定注销该设备?', {
time: 10000, //10s后自动关闭
btn: ['确定', '取消']
,yes: function(index,leyuo){
layer.closeAll();
delData(key)
}
});
}
})
$(".layui-add").click(function(){
layer.open({
title: '新增',
type: 2,
area: ['50%','90%'],
content: '../../html/supplement/child/riskWarningAndEarlyDisposalAdd.html',
cancel: function(){
// layer.msg('捕获就是从页面已经存在的元素上包裹layer的结构', {time: 5000, icon:6});
}
});
})
})
/* 加载表格 */
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "proteam/pot/riskWarningAndEarlyDisposal/getList";
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
} else if (result.code === 500) {
layer.alert(result.msg, { icon: 2 })
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, null);
}
function reloadTable(pageNum,limitSize){
pages(pageNum, limitSize,false);
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
tableIns = table.render({
id: 'currTable',
elem: "#currTable",
height: 'full-130',
data: dataList,
limit: limit,
cols: [
[
{
title: "序号",
width: '5%',
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_NUM;
}
},
{
field: "proName",
title: "工程名称",
width: '15%',
unresize: true,
align: "center",
style: 'word-break: break-all'
},
{
field: "ticketName",
title: "作业票名称",
width: '10%',
unresize: true,
align: "center",
style: 'word-break: break-all'
},
{
field: "riskGrade",
title: "风险等级",
width: '5%',
unresize: true,
align: "center",
templet: function (d) {
return setRiskLevelColor(d.riskGrade);
}
},
{
field: "number",
title: "编号",
width: '10%',
unresize: true,
align: "center",
style: 'word-break: break-all'
},
{
field: "jobLeader",
title: "负责人",
width: '5%',
unresize: true,
align: "center",
tstyle: 'word-break: break-all'
},
{
field: "jobSite",
title: "作业部分",
width: '15%',
unresize: true,
align: "center",
templet: function (d) {
if (d.jobSite) {
if (d.jobSite.length > 60) {
return '<span title="' + d.jobSite + '">' + d.jobSite.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.jobSite + '">' + d.jobSite + '</span>'
}
} else {
return '';
}
}
},
{
field: "jobGx",
title: "工序",
width: '15%',
unresize: true,
align: "center",
templet: function (d) {
if (d.jobGx) {
if (d.jobGx.length > 60) {
return '<span title="' + d.jobGx + '">' + d.jobGx.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.jobGx + '">' + d.jobGx + '</span>'
}
} else {
return '';
}
}
},
{
field: "yjDate",
title: "时间",
width: '10%',
unresize: true,
align: "center",
style: 'word-break: break-all'
},
{
field: "status",
title: "状态",
width: '5%',
unresize: true,
align: "center",
templet: function (d) {
var status ;
if (d.status==='1'){
status='已发布';
} else {
status='未发布';
}
return '<span title="' + status + '">' + status + '</span>'
}
},
{fixed: 'right', title: '操作', width: '5%',align:'center', toolbar: '#device-bar'}
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("currTable");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
proName: $('#proName').val(),
riskLevel: $('#riskLevel').val(),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
} else {
obj = {
page: '1',
limit: '10',
proName: '',
riskLevel:'',
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
}
return obj;
}
// 查询/重置
function queryTable(type) {
if (type === 2) {
$('#proName').val('');
$('#riskLevel').val('');
layui.form.render();
}
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#proName").val())) {
$("#proName").val('');
return layer.msg('工程名称查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize)
}
// 整改详情
function rectDetail(obj) {
openIframeByParamObj("rectDetail", "整改详情", "../supplement/child/risk_rect_detail.html", "62%", "85%", obj);
}