IntelligentRecognition/ah-jjsp-web/.svn/pristine/ec/ecfc712155505eb3ca5131da1a8...

358 lines
12 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
let form, layer, idParam, warnInfoParam, num = 0, isDel = '0';
let delRemarkList = [], warnInfoList = [], addRemarkList = [], oldRemarkList = [], delRemarkList2 = [],
mergeRemarkList = [];
function setParams(id, warnInfo) {
idParam = id;
layui.use(['form', 'layer'], function () {
layer = layui.layer;
form = layui.form;
form.render();
getWarnInfoByClassId();
});
}
layui.use(['form', 'layer', 'table'], function () {
$ = layui.jquery;
var layer = layui.layer,
form = layui.form;
form.on('checkbox(checkbox)', function (data) {
let checkbox=false;
if( data.elem.checked){ 
checkbox=true; //确定
}else{//取消了
checkbox=false;
} 
var value = data.value; //获取选中的value值
// updeWarnConfirm(value,checkbox);
});
})
//
function updeWarnConfirm(value,confirm){
console.log(idParam);
console.log(value,confirm);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify({
classId: idParam,
num:value,
confirm:confirm
}))
},
url: dataUrl + 'proteam/pot/todayTask/updeWarnConfirm?token=' + token,
data: {
classId: idParam,
num:value,
confirm:confirm
},
type: 'POST',
async: false,
success: function (result) {
}, error: function () {
layer.close(loadingMsg);
}
});
}
function getWarnInfoByClassId() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify({
classId: idParam
}))
},
url: dataUrl + 'proteam/pot/todayTask/getWarnInfo?token=' + token,
data: {
classId: idParam,
},
type: 'POST',
async: false,
success: function (result) {
layer.close(loadingMsg);
console.error(result)
if (result.data) {
if (result.data.curWarnList.length > 0) {
$.each(result.data.curWarnList, function (index, item) {
let value = item.trim().substring(item.trim().lastIndexOf('@') + 1, item.trim().length)
if (value) {
addLine(2, item);
} else {
addLine(1, item);
}
})
}
if (result.data.delWarnList.length > 0) {
$.each(result.data.delWarnList, function (index, item) {
addDelLine(item);
})
} else {
$('.del-form').append('<p style="text-align: center;padding: 210px 0;font-size: 16px;">无预警信息删除数据</p>');
}
}
}, error: function () {
layer.close(loadingMsg);
}
});
}
// 新增一行 1.原有 2.新增-入库 3.新增
function addLine(type, item) {
num++;
let html = '', warnInfo = '', remark = '', color = '#fff' ,checkbox=false;
if (item) {
var items= item.split("@");
if(items.length>1){
checkbox=true;
}
warnInfo =items[0];
//remark = item.split("@")[1];
color = '#eee';
}
let checkHtml="";
if(checkbox){
checkHtml= '<input type="checkbox" lay-filter="checkbox" checked="true" name="checkbox" value='+num+' title="确定">';
}else{
checkHtml= '<input type="checkbox" lay-filter="checkbox" name="checkbox" value='+num+' title="确定">';
}
html += '<div class="layui-form-item" isAdd = "' + type + '" num="' + num + '" >' +
'<div class="layui-inline">' +
'<div class="layui-input-inline layout">' +
'<input class="layui-input input' + num + '" name="warnInfo" maxlength="200" autocomplete="off" placeholder="请填写预警信息" value="' + warnInfo + '" style="background-color: ' + color + ';">' +
'<span style="margin: 0 5px;">-</span>' +
// '<textarea class="layui-textarea textarea' + num + '" name="remark" maxlength="500" autocomplete="off" placeholder="备注" style="background-color: ' + color + ';">' + remark + '</textarea>' +
checkHtml+
'<img src="../../../img/remotePatrol/del.png" title="删除" onclick="delLine(this)">' +
'</div>' +
'</div>' +
'</div>';
$('.add-form').append(html);
layui.form.render();
if (item && (type === 1 || type === 2)) {
$('.input' + num + '').prop('readonly', true)
$('.textarea' + num + '').prop('readonly', true)
}
}
// 预警信息-删除
function addDelLine(item) {
let html = '', warnInfo = '', remark = '';
if (item) {
warnInfo = item.split("@")[0];
remark = item.split("@")[1];
}
html += '<div class="layui-form-item">' +
'<div class="layui-inline">' +
'<div class="layui-input-inline layout">' +
'<input class="layui-input" readonly name="warnInfo2" value="' + warnInfo + '" style="background-color: #eee;">' +
'<span style="margin: 0 5px;">-</span>' +
'<textarea class="layui-textarea" name="remark2" readonly style="background-color: #eee;" >' + remark + '</textarea>' +
'</div>' +
'</div>' +
'</div>';
$('.del-form').append(html);
}
// 删除一行
function delLine(that) {
let remark = $(that).prev().val();
let warnInfo = $(that).prev().prev().prev().prev().val();
let isAdd = $(that).parents('.layui-form-item').attr('isAdd');
if(isAdd === '1' || isAdd === '2'){
let index = layer.open({
title: ['<div style="border-left: 3px solid #2F82FB;display: flex;align-items: center;height: 20px;padding: 0 10px;">删除备注填写</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
type: 1,
maxmin: false,
shade: 0.1,
shadeClose: false,
content: addContent(warnInfo),
area: ["450px", "230px"],
move: false,
success: function (layero, index) {
layui.form.render();
}, end: function () {
if (isDel === '1') {
$(that).parents('.layui-form-item').remove()
isDel = '0'
}
}
});
}else{
$(that).parents('.layui-form-item').remove()
}
}
function addContent(warnInfo) {
console.log(warnInfo)
let html = '<div class="add-form layui-form" style="padding-top: 3%">' +
'<form class="layui-form" action="#" onsubmit="return false;">' +
'<div class="layui-form-item" style="margin-left: 5%;">' +
'<label class="layui-form-label">备注</label>' +
'<div class="layui-inline" style="width: 255px;">' +
'<textarea class="layui-textarea" id="delRemark" maxlength="500">' +
'</textarea>' +
'</div>' +
'</div>' +
'<div class="layui-form-item" style="padding-left: 0%;margin-top: 8%;margin-left: 35%;justify-content: center;">' +
'<button type="button" class="layui-btn layui-btn-normal" id="save" onclick="saveRemark(\'' + warnInfo + '\')">确定</button>' +
'<button type="button" class="layui-btn layui-btn-primary" id="cancel" onclick="layer.closeAll()">取消</button>' +
'</div>' +
'</form>' +
'</div>';
layui.form.render();
return html;
}
function saveRemark(warnInfo) {
let delRemark = $('#delRemark').val()
if (!delRemark.trim()) {
return layer.msg('删除预警信息,请填写备注', {icon: 7});
} else {
delRemarkList.push('2@' + warnInfo + '@' + delRemark)
isDel = '1'
}
layer.closeAll();
}
function isRepeat(arr) {
let hash = {};
for (let i in arr) {
if (hash[arr[i]]) {
return true
}
hash[arr[i]] = true;
}
return false;
}
// 提交数据
function saveData(data) {
var checkList=[];
warnInfoList.splice(0, warnInfoList.length);
addRemarkList.splice(0, addRemarkList.length);
oldRemarkList.splice(0, oldRemarkList.length);
delRemarkList2.splice(0, delRemarkList2.length);
mergeRemarkList.splice(0, mergeRemarkList.length);
let flag = false, flag2 = false, flag3 = false;
$('input[name="warnInfo"]').each(function () {
if (!$(this).val().trim()) {
flag = true;
} else {
warnInfoList.push($(this).val().trim())
}
})
$('input[name="checkbox"]:checked').each(function (e) {
checkList.push($(this).val());
})
$('textarea[name="remark"]').each(function () {
if ($(this).parents('.layui-form-item').attr('isAdd') === '3') {
if (!$(this).val().trim()) {
flag2 = true;
} else {
addRemarkList.push('1@' + $(this).prev().prev().val().trim() + "@" + $(this).val().trim())
}
} else if ($(this).parents('.layui-form-item').attr('isAdd') === '2') {
if ($(this).val().trim()) {
oldRemarkList.push('1@' + $(this).prev().prev().val().trim() + "@" + $(this).val().trim())
}
}
})
$('input[name="warnInfo2"]').each(function () {
delRemarkList2.push('2@' + $(this).val() + '@' + $(this).next().next().val())
})
flag3 = isRepeat(warnInfoList);
if (flag) {
return layer.msg('存在未填写的预警信息', {icon: 7});
}
if (flag2) {
return layer.msg('新增的预警信息存在未填写的备注', {icon: 7});
}
if (flag3) {
return layer.msg('预警信息存在相同数据', {icon: 7});
}
if (addRemarkList.length > 0) {
addRemarkList.forEach(function (item, index) {
mergeRemarkList.push(item)
})
}
if (delRemarkList.length > 0) {
delRemarkList.forEach(function (item, index) {
mergeRemarkList.push(item)
})
}
if (oldRemarkList.length > 0) {
oldRemarkList.forEach(function (item, index) {
mergeRemarkList.push(item)
})
}
if (delRemarkList2.length > 0) {
delRemarkList2.forEach(function (item, index) {
mergeRemarkList.push(item)
})
}
checkListStr=checkList.join("@")+"@";
for (var i = 0; i < warnInfoList.length; i++) {
var j=i+1+"@";
if(checkListStr.indexOf(j)!='-1'){
warnInfoList[i]=warnInfoList[i]+"@1";
}
}
let formData = {
classId: idParam,
warnType: warnInfoList.toString(),
remark: mergeRemarkList.toString()
};
// 加载提示
let loadingMsg = layer.msg('数据提交中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$.ajax({
url: dataUrl + 'proteam/pot/todayTask/updateWarnInfoByClassId?token=' + token,
type: 'POST',
data: formData,
dataType: 'json',
beforeSend: function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
},
success: function (result) {
console.log(result);
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
closePage(1);
parent.layer.msg(result.msg, {icon: 1});
} else {
layer.msg(result.msg, {icon: 5});
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
},
error: function (result) {
layer.close(loadingMsg); // 关闭提示层
layer.msg('数据上传发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
});
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
if (type === 1) {
let frameId = parent.document.getElementById('remotePatrol').getElementsByTagName("iframe")[0];
frameId.contentWindow.reloadWarnInfo();
}
}