IntelligentRecognition/ah-jjsp-web/.svn/pristine/e6/e60159bc391b82f06f4ccc33c10...

507 lines
17 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let form, layer, laydate, upload,formSelects, orgList, vioTypeList, voiLevelList,typeList,
noticeVoiData = {}, idParam, classId, delImgIdList = [];
let fileList = new Array(), imgListUp = new Array();
// 违章类别默认手动输入
let checkVoiType = '1';
function setParams(id) {
idParam = id;
layui.config({
base: "../../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
formSelects: 'formSelects-v4'
}).use(['form', 'layer', 'laydate', 'upload','formSelects'], function () {
layer = layui.layer;
form = layui.form;
laydate = layui.laydate;
upload = layui.upload;
formSelects = layui.formSelects;
getNoticeVoiById();
orgList = getOrgSelect();
vioTypeList = getRiskLevelSelect('voi_category');
voiLevelList = getRiskLevelSelect('voi_level');
typeList = getRiskLevelSelect('voi_type');
setFormData();
form.render();
laydate.render({
elem: '#createTime', //指定元素 元素选择器
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
trigger: 'click',
min: Date.parse(new Date()),
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
done: function (value, date) { //时间回调
}
});
let uploadObj = upload.render({
elem: '#test2',
multiple: true,
dataType: "json",
exts: 'jpg|png|jpeg',
acceptMime: 'image/jpg,image/png,image/jpeg',
// number: 3, //最大上传数量
size: 1024 * 100, //最大文件大小单位k
auto: false, //是否自动上传 默认为true
bindAction: '#hideUpload', //绑定的按钮
choose: function (obj) {
uploadObj.config.elem.next()[0].value = '';
obj.preview(function (index, file, result) {
$('#uploader-list').append(
'<div id="" class="file-iteme">' +
'<div class="handle"><p>x</p></div>' +
'<img class="img" style="width: 130px;height: 100px;" data-index=' + index + ' data-name=' + file.name + ' src=' + result + '>' +
'</div>'
);
let map = new Map();//将选择的图片索引和图片写成对象存入集合
map.index = index;
map.file = file;
fileList.push(map);
});
}
});
form.on('select(levelId)', function (data) {
setRecRequirementData(data.value)
})
});
}
/*表单赋值*/
function setFormData() {
$('#ticketNo').val(noticeVoiData.ticketNo);
$('#bidName').val(noticeVoiData.proName);
$('#createTime').val(noticeVoiData.createTime);
$('#voiYj').val(noticeVoiData.voiYj);
$('#content').val(noticeVoiData.content);
$('#recRequirement').val(noticeVoiData.recRequirement);
$('#vioUsers').val(noticeVoiData.vioUsers);
$('#idNumber').val(noticeVoiData.idNumber);
$('#score').val(noticeVoiData.score);
setOrg(noticeVoiData.org);
if(!noticeVoiData.voiType){ // 违章类别手动录入
setVioType();
$('#voiTypeHand').val(noticeVoiData.voiTypeHand);
$('#auto').css('display', 'none');
$('#hand').removeAttr('style');
$('#voiTypeTitle').removeAttr('style');
$('#changeType').attr('title','切换自动录入')
$('#changeType').find('p').eq(0).html('切换自动录入')
$('#changeType').css('display','inherit');
checkVoiType = '1';
}else{
setVioType(noticeVoiData.voiType);
$('#auto').removeAttr('style');
$('#hand').css('display', 'none');
$('#voiTypeTitle').removeAttr('style');
$('#changeType').attr('title','切换手动录入')
$('#changeType').find('p').eq(0).html('切换手动录入')
$('#changeType').css('display','inherit');
$('#voiYj').next().removeAttr('style')
checkVoiType = '2';
}
setLevelId(noticeVoiData.levelId);
setType(noticeVoiData.type)
classId = noticeVoiData.classId;
let imgPath = noticeVoiData.imgPath, imgId = noticeVoiData.imgId;
let imgPathArr = imgPath.split(','), imgIdArr = imgId.split(',');
let html = '';
for (let i = 0; i < imgPathArr.length; i++) {
let path = photoUrl + imgPathArr[i] + '?token=' + token
html += '<div id="" class="file-iteme">' +
'<div class="handle"><p>x</p></div>' +
'<img class="img" style="width: 130px;height: 100px;" isOld = ' + imgIdArr[i] + ' data-index=' + (10000001 + i) + ' src=' + path + '>' +
'</div>'
}
$('#uploader-list').append(html);
// 驳回原因
let remark = noticeVoiData.remark;
if(remark){
let strArr = remark.split('@');
$('#bhTime').html(strArr[0]);
$('#bhRemark').html(strArr[1]);
}
}
/*根据违章单id获取违章单信息*/
function getNoticeVoiById() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify({
params:idParam
}))
},
url: dataUrl + 'proteam/pot/superStatistics/getNoticeVoiById?token=' + token,
data: {
params: idParam,
},
type: 'POST',
async: false,
success: function (result) {
layer.close(loadingMsg);
console.error(result)
if (result.data) {
noticeVoiData = result.data;
}
}, error: function () {
layer.close(loadingMsg);
}
});
}
// 根据选择的违章等级赋值整改要求
function setRecRequirementData(value) {
let recRequirement = '';
if (value) {
let recDate = '';
if (value === '一般违章' || value === '建议整改') {
recDate = setDate(addDate(getNowTime(), 3))
} else if (value === '严重违章') {
recDate = setDate(addDate(getNowTime(), 6))
}
recRequirement = '请立即组织整改,并举一反三,避免同类违章重复出现。' + recDate + '前将《' + value + '分析报告及整改反馈单》报省公司建设部和本中心审查备案。若存在异议请于1日内以书面形式向本中心陈述理由提供证明材料。'
}
$('#recRequirement').val(recRequirement)
}
function addDate(date, days) {
if (days == undefined || days == '') {
days = 1;
}
var date = new Date(date);
date.setDate(date.getDate() + days);
var month = date.getMonth() + 1;
var day = date.getDate();
return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
}
// 日期月份/天的显示如果是1位数则在前面加上'0'
function getFormatDate(arg) {
if (arg == undefined || arg == '') {
return '';
}
let re = arg + '';
if (re.length < 2) {
re = '0' + re;
}
return re;
}
// 提交数据
function saveData() {
let objStr = verifyData()
if (objStr === true) {
return false;
}
let formData = new FormData();
//遍历最终图片集合
for (let i = 0; i < fileList.length; i++) {
formData.append("file[]", fileList[i].file)
}
formData.append("params", objStr)
// 加载提示
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$.ajax({
url: dataUrl + 'proteam/pot/superStatistics/editUploadNoticeVio?token=' + token,
type: 'POST',
data: formData,
dataType: 'json',
processData: false,
contentType: false,
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.msg === 'success') {
closePage(1);
parent.layer.msg('违章单修改成功', {icon: 1});
} else {
layer.msg('违章单修改出错,请稍后重试', {icon: 2});
$('.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 verifyData() {
let ticketNo = $('#ticketNo').val();
let bidName = $('#bidName').val();
let createTime = $('#createTime').val();
let voiType = formSelects.value('voiType', 'val').toString();
let voiTypeHand = $('#voiTypeHand').val();
let voiTypeId = $('#voiTypeId').val();
let voiYj = $('#voiYj').val();
let levelId = $('#levelId').val();
let type = $('#type').val();
let content = $('#content').val();
let org = $('#org').val();
let vioUsers = $('#vioUsers').val();
let idNumber = $('#idNumber').val();
let score = $('#score').val();
let recRequirement = $('#recRequirement').val();
if (!ticketNo) {
layer.msg("请填写作业票编号", {icon: 5})
return true;
}
if (!bidName) {
layer.msg("请填写工程名称", {icon: 5})
return true;
}
if (!createTime) {
layer.msg("请填写督查时间", {icon: 5})
return true;
}
if (checkVoiType === '1') {
if (!voiTypeHand) {
layer.msg("请填写违章类别", {icon: 5})
return true;
}
} else {
if (!voiType) {
layer.msg("请选择违章类别", {icon: 5})
return true;
}
}
if (!voiYj) {
layer.msg("请填写或选择违章依据", {icon: 5})
return true;
}
if (!levelId) {
layer.msg("请选择违章等级", {icon: 5})
return true;
}
if (!type) {
layer.msg("请选择违章类型", {icon: 5})
return true;
}
if (!content) {
layer.msg("请填写违章内容", {icon: 5})
return true;
}
if (!org) {
layer.msg("请选择违章单位", {icon: 5})
return true;
}
if (!vioUsers) {
layer.msg("请选择违章人员", {icon: 5})
return true;
}
if (!recRequirement) {
layer.msg("请填写整改要求", {icon: 5})
return true;
}
if ($('.file-iteme').length === 0) {
layer.msg("请上传督查照片", {icon: 5})
return true;
}
let obj = {
id: idParam,
classId: classId,
ticketNo: ticketNo,
proName: bidName,
createTime: createTime,
voiYj: voiYj,
levelId: levelId,
type: type,
content: content,
org: org,
vioUsers: vioUsers,
idNumber: idNumber,
score: score,
recRequirement: recRequirement,
delImgIdList: delImgIdList.toString(),
oldIdNumber: noticeVoiData.idNumber,
oldScore: noticeVoiData.score,
voiStatus:'7'
}
if (checkVoiType === '1') {
obj.voiTypeHand = voiTypeHand
} else {
obj.voiType = voiType
}
return JSON.stringify(obj);
}
// 删除图片
$(document).on("click", ".file-iteme .handle", function (event) {
imgListUp.splice(0, imgListUp.length);
let index = $(this).next().attr('data-index');
let isOld = $(this).next().attr('isOld');
if (isOld) {
delImgIdList.push(isOld);
console.log(delImgIdList)
$(this).parent().remove();
} else {
$.each(fileList, function (inx, ele) {
//对比删除图片索引
//将未删除的存入新集合
if (index != ele.index) {
imgListUp.push(ele);
}
});
$(this).parent().remove();
//将新图片集合替换老集合
fileList.splice(0, fileList.length);
$.each(imgListUp, function (inx, ele) {
fileList.push(ele)
});
}
});
// 选择违章人员
function openViolatorsPerson() {
let width = '664px';
let height = '444px';
let layerIndex = layer.open({
id: 'violatorsPerson',
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: 2,
shade: 0.1,
shadeClose: false,
content: '../remotePatrol/violatorsPerson.html',
area: [width, height],
maxmin: false,
move: false,
success: function (layero, index) {
let idNumber = $('#idNumber').val();
let score = $('#score').val();
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(classId, score, idNumber);
}
});
}
/*违章依据页面*/
function openViolationBasis() {
let voiTypeId = formSelects.value('voiType', 'val').toString();
if (!voiTypeId) {
return layer.msg('请选择违章类别', {icon: 7})
}
let width = '664px';
let height = '444px';
let layerIndex = layer.open({
id: 'violationBasis',
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: 2,
shade: 0.1,
shadeClose: false,
content: '../remotePatrol/violationBasis.html',
area: [width, height],
maxmin: false,
move: false,
success: function (layero, index) {
let voiTypeSelId = $('#voiTypeId').val()
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(voiTypeId, voiTypeSelId);
}
});
}
function setOrg(org) {
let html = '<option value="">请选择</option>';
$.each(orgList, function (index, item) {
if (org === item.code) {
html += '<option value="' + item.code + '" selected>' + item.name + '</option>';
} else {
html += '<option value="' + item.code + '">' + item.name + '</option>';
}
})
$('#org').empty().append(html);
layui.form.render();
}
function setVioType(voiType) {
let keys = [];
$.each(vioTypeList, function (index, item) {
let temp = {
"name": item.name,
"value": item.code
};
keys.push(temp);
})
formSelects.data('voiType', 'local', {
arr: keys
});
formSelects.value('voiType', [voiType])
layui.form.render();
}
/* 违章等级赋值 */
function setLevelId(levelId) {
let html = '<option value="" selected>请选择</option>';
$.each(voiLevelList, function (index, item) {
if (levelId === item.id) {
html += '<option value="' + item.id + '" selected>' + item.name + '</option>';
} else {
html += '<option value="' + item.id + '">' + item.name + '</option>';
}
})
$('#levelId').empty().append(html);
layui.form.render();
}
/* 违章类型赋值 */
function setType(type) {
let html = '<option value="" selected>请选择</option>';
$.each(typeList, function (index, item) {
if (type === item.id) {
html += '<option value="' + item.id + '" selected>' + item.name + '</option>';
} else {
html += '<option value="' + item.id + '">' + item.name + '</option>';
}
})
$('#type').empty().append(html);
layui.form.render();
}
/* 违章人员赋值 */
function setViolatorsPerson(id, name, score8) {
$('#vioUsers').val(name);
$('#idNumber').val(id);
$('#score').val(score8);
}
/*违章依据赋值*/
function setVioInfo(name) {
let value = $('#voiYj').val();
if (value) {
value = value + ";"
}
$('#voiYj').val(value + "" + name)
}
// 违章类别切换下拉选或输入框
function changeVoiType(that) {
if (checkVoiType === '1') {
checkVoiType = '2'
$(that).find('p').eq(0).html('切换手动录入')
$(that).attr('title', '切换手动录入')
$('#voiYj').next().removeAttr('style')
$('#hand').css('display', 'none');
$('#auto').removeAttr('style');
} else {
checkVoiType = '1'
$(that).find('p').eq(0).html('切换自动录入')
$(that).attr('title', '切换自动录入')
$('#voiYj').next().css('display', 'none');
$('#hand').removeAttr('style');
$('#auto').css('display', 'none');
}
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
if (type === 1) {
window.parent.reloadData()
}
}