462 lines
15 KiB
Plaintext
462 lines
15 KiB
Plaintext
let form, layer, laydate, upload, formSelects, classId, riskLevel = null, teamName = null,bidCode = null,signCode = null,
|
||
fileList = new Array(), imgListUp = new Array(), orgList, vioTypeList, voiLevelList, typeList,typeChildList;
|
||
// 违章类别默认手动输入
|
||
let checkVoiType = '1';
|
||
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;
|
||
orgList = getOrgSelect();
|
||
vioTypeList = getRiskLevelSelect('voi_category');
|
||
voiLevelList = getRiskLevelSelect('voi_level');
|
||
typeList = getRiskLevelSelect('voi_type');
|
||
typeChildList = getTypeChildSelect('');
|
||
setOrg();
|
||
setLevelId();
|
||
setVioType();
|
||
setType();
|
||
setTypeChild();
|
||
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) { //时间回调
|
||
}
|
||
});
|
||
$('#createTime').val(getNowTime())
|
||
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)
|
||
})
|
||
form.on('select(type)', function (data) {
|
||
typeChildList = getTypeChildSelect(data.value);
|
||
setTypeChild();
|
||
})
|
||
});
|
||
|
||
// 根据选择的违章等级赋值整改要求
|
||
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/todayTask/uploadNoticeVio?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();
|
||
let childType = $('#childType').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 (fileList.length === 0) {
|
||
layer.msg("请上传督查照片", {icon: 5})
|
||
return true;
|
||
}
|
||
let obj = {
|
||
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,
|
||
riskLevel: riskLevel,
|
||
teamName: teamName,
|
||
bidCode:bidCode,
|
||
signCode:signCode,
|
||
childType:childType
|
||
}
|
||
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');
|
||
$.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() {
|
||
if (!classId) {
|
||
return layer.msg('请选择作业票编号', {icon: 7})
|
||
}
|
||
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 chooseTicketNo() {
|
||
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: 'violationTicket.html',
|
||
area: [width, height],
|
||
maxmin: false,
|
||
move: false,
|
||
success: function (layero, index) {
|
||
let iframeWin = window["layui-layer-iframe" + layerIndex];
|
||
iframeWin.setParams();
|
||
}
|
||
});
|
||
}
|
||
|
||
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
|
||
});
|
||
layui.form.render();
|
||
}
|
||
|
||
/* 违章等级赋值 */
|
||
function setLevelId() {
|
||
let html = '<option value="" selected>请选择</option>';
|
||
$.each(voiLevelList, function (index, item) {
|
||
html += '<option value="' + item.id + '">' + item.name + '</option>';
|
||
})
|
||
$('#levelId').empty().append(html);
|
||
layui.form.render();
|
||
}
|
||
|
||
/* 违章类型赋值 */
|
||
function setType() {
|
||
let html = '<option value="" selected>请选择</option>';
|
||
$.each(typeList, function (index, item) {
|
||
html += '<option value="' + item.id + '">' + item.name + '</option>';
|
||
})
|
||
$('#type').empty().append(html);
|
||
layui.form.render();
|
||
}
|
||
|
||
/* 违章子类型赋值 */
|
||
function setTypeChild() {
|
||
let html = '<option value="" selected>请选择</option>';
|
||
$.each(typeChildList, function (index, item) {
|
||
html += '<option value="' + item.name + '">' + item.name + '</option>';
|
||
})
|
||
$('#childType').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 setTicketInfo(classIdParam, ticketNoParam, proNameParam, orgParam, riskLevelParam, teamNameParam,bidCodeParam,signCodeParam) {
|
||
classId = classIdParam
|
||
riskLevel = riskLevelParam
|
||
teamName = teamNameParam
|
||
bidCode = bidCodeParam
|
||
signCode = signCodeParam
|
||
$('#ticketNo').val(ticketNoParam)
|
||
$('#bidName').val(proNameParam)
|
||
$('#org').val(orgParam)
|
||
layui.form.render()
|
||
}
|
||
|
||
// 违章类别切换下拉选或输入框
|
||
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()
|
||
}
|
||
} |