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

x

' + '' + '
' ); 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 += '
' + '

x

' + '' + '
' } $('#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: ['
选择违章人员
', '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 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 }); formSelects.value('voiType', [voiType]) layui.form.render(); } /* 违章等级赋值 */ function setLevelId(levelId) { let html = ''; $.each(voiLevelList, function (index, item) { if (levelId === item.id) { html += ''; } else { html += ''; } }) $('#levelId').empty().append(html); layui.form.render(); } /* 违章类型赋值 */ function setType(type) { let html = ''; $.each(typeList, function (index, item) { if (type === item.id) { html += ''; } else { html += ''; } }) $('#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() } }