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(
'
' +
'
' +
'

' +
'
'
);
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: ['选择违章人员
', '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: ['选择违章依据
', '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: ['选择作业票
', '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 = '';
$.each(orgList, function (index, item) {
if (org === item.code) {
html += '';
} else {
html += '';
}
})
$('#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 = '';
$.each(voiLevelList, function (index, item) {
html += '';
})
$('#levelId').empty().append(html);
layui.form.render();
}
/* 违章类型赋值 */
function setType() {
let html = '';
$.each(typeList, function (index, item) {
html += '';
})
$('#type').empty().append(html);
layui.form.render();
}
/* 违章子类型赋值 */
function setTypeChild() {
let html = '';
$.each(typeChildList, function (index, item) {
html += '';
})
$('#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()
}
}