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(''); var jldw=getUnitSelect('2'); var sgdw=getUnitSelect('1'); setUnitSelect(jldw,'','bidCode'); setUnitSelect(sgdw,'','signCode'); 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( '
' + '

x

' + '' + '
' ); 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 bidName = $('#proName').val(); let createTime = $('#createTime').val(); let remark2=$("#remark2").val(); let org = $('#org').val(); let bidCode = $('#bidCode').val(); let signCode = $('#signCode').val(); let content = $('#content').val(); let voiYj = $('#voiYj').val(); let recRequirement = $('#recRequirement').val(); if (!bidName) { layer.msg("请填写工程名称", {icon: 5}) return true; } if (!remark2) { layer.msg("请填写施工内容及施工部位", {icon: 5}) return true; } if (!createTime) { layer.msg("请填写督查时间", {icon: 5}) return true; } if (!org) { layer.msg("请选择主送单位", {icon: 5}) return true; } if (!bidCode) { layer.msg("请选择施工单位", {icon: 5}) return true; } if (!signCode) { layer.msg("请选择监理单位", {icon: 5}) return true; } if (!content) { layer.msg("请填写发现问题", {icon: 5}) return true; } if (!voiYj) { 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 = { proName: bidName, remark2: remark2, createTime: createTime, voiYj: voiYj, content: content, org: org, recRequirement: recRequirement, bidCode:bidCode, signCode:signCode, supType:3, } 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 setUnitSelect(list,data,id) { let html = ''; $.each(list, function (index, item) { if (data === item.name) { html += ''; } else { html += ''; } }) $('#'+id).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() } }