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

358 lines
12 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}