var token = localStorage.getItem("token"); var name = localStorage.getItem("name"); var idNumber = localStorage.getItem("idNumber"); var postId = localStorage.getItem("postId"); var postName = localStorage.getItem("postName"); var certificateId = localStorage.getItem("certificateId"); var uploadCertificateName = localStorage.getItem("uploadCertificateName"); var id = localStorage.getItem("id"); var startDate = localStorage.getItem("startDate"); var stopDate = localStorage.getItem("stopDate"); var certificateFile = localStorage.getItem("certificateFile"); var certificateTypeFile = localStorage.getItem("certificateTypeFile"); var oneReviewTime = localStorage.getItem("oneReviewTime"); var twoReviewTime = localStorage.getItem("twoReviewTime"); var threeReviewTime = localStorage.getItem("threeReviewTime"); var num = 0; var photoCount = 2; //全局的页面遮盖 let loadingMsg; //证件list let cerList; $(function () { layui.use(['form', 'laydate', 'upload'], function () { var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功 var laydate = layui.laydate; var upload1 = layui.upload; var upload2 = layui.upload; form.render(); form.verify({certificateId: [/^(?!-).*$/, '请选择证件类型'],}); initData(); getPostSelect(form, certificateId); //二级联动 form.on('select(listenIsUpload)', function (data) { certificateId = data.value; setIsUploadSelect(form,data.value); for (var i = 0; i < cerList.length; i++) { if (certificateId == cerList[i].id) { setHiddenData(cerList[i]); } } }); // 验证成功后才会执行下面的操作 form.on('submit(formDemo)', function (data) { //新增 console.log(id); let lastTime = ""; if($("#threeReviewTime").val()!=""){ lastTime = $("#threeReviewTime").val(); }else if($("#twoReviewTime").val()!=""){ lastTime = $("#twoReviewTime").val(); }else if($("#oneReviewTime").val()!=""){ lastTime = $("#oneReviewTime").val(); } if(lastTime !=""){ if (new Date(lastTime) > new Date($("#stopDate").val())){ layer.msg("证件有效期必须大于复审日期"); return; } } if (id !="-1") { updateCertificateType(data); } else { insertCertificateType(data); } }); laydate.render({ elem: '#dateGroup', range: ['#startDate', '#stopDate'], type: 'date', done: function (value, date) {//时间回调 if(value != ""){ var dateGroup = value.split(" - "); if (dateGroup != null) { let basicDate = new Date(dateGroup[0]); let interval1 = $("#recheckInterval1").val(); let interval2 = $("#recheckInterval2").val(); let interval3 = $("#recheckInterval3").val(); if(interval1!=0 && interval1!=null){ let date1 = DateAdd( "y ",Number.parseInt(interval1),basicDate); $("#oneReviewTime").val(date1); if(interval2!=0 && interval1!=null){ let date2 = DateAdd( "y ",Number.parseInt(interval2),basicDate); $("#twoReviewTime").val(date2); if(interval3!=0 && interval1!=null){ let date3 = DateAdd( "y ",Number.parseInt(interval3),basicDate); $("#threeReviewTime").val(date3); } } } } } } }); //多图片上传 var uploadcom1 = upload1.render({ elem: '#test1', url: ctxPath + '/certificate/uploadFile', //改成您自己的上传接口 multiple: true, //是否允许多文件上传,默认未false dataType: "json", exts: 'jpg|png|jpeg', //acceptMime: 'image/jpg,image/png,image/jpeg,file/pdf,file/xlsx', auto: false, //是否自动上传 ,默认为true number: 1, //最大上传数量 size: 1024 * 5, //最大文件大小,单位k bindAction: '#hideUpload1', //绑定的按钮 // field: 'filePath', //传到后台的字段名,默认file choose: function (obj) { CODE_1 = 1; uploadcom1.config.elem.next()[0].value = ''; files = obj.pushFile(); obj.preview(function (index, file, result) { var length = $('#demo1 img').length; if (length > 0) { return layer.msg("附件为1张,请勿过多上传", {icon: 5}); } $('#demo1').append('' + file.name + ''); $('#' + index).bind('dblclick', function () {//双击删除指定预上传图片 delete files[index];//删除指定图片 $(this).remove(); var imgNum = $("#demo1 img").length; $("#test1").text(imgNum + "个文件"); }); var imgNum = $("#demo1 img").length; $("#test1").text(imgNum + "个文件"); }); }, before: function (obj) { this.data = { id: id, uploadType: "1" }; if ($("[name='brand']").val() == '') { return false; } else { console.log(files); var names = ''; layui.each(files, function (index, file) { console.log(file.name) names += file.name + ','; }); $("[name='image']").val(names) console.log(names); } return true; }, done: function (data) { }, allDone: function (data) { num++; console.log("num:"+num) if (num == photoCount) { num = 0; top.layer.close(loadingMsg); top.layer.msg('文件保存成功', {icon: 1, time: 2000}); setTimeout("reloading()", 2100); } }, error: function (e) { //请求异常回调 console.log(e) } }); var uploadcom2 = upload2.render({ elem: '#test2', url: ctxPath + '/certificate/uploadFile', //改成您自己的上传接口 multiple: true, //是否允许多文件上传,默认未false dataType: "json", exts: 'jpg|png|jpeg', //acceptMime: 'image/jpg,image/png,image/jpeg,file/pdf,file/xlsx', auto: false, //是否自动上传 ,默认为true number: 1, //最大上传数量 size: 1024 * 5, //最大文件大小,单位k bindAction: '#hideUpload2', //绑定的按钮 // field: 'filePath', //传到后台的字段名,默认file choose: function (obj) { CODE_2 = 3; var suffixType = ''; //后缀类型 uploadcom2.config.elem.next()[0].value = ''; files = obj.pushFile(); obj.preview(function (index, file, result) { var length = $('#demo2 img').length; if (length > 0) { return layer.msg("附件为1张,请勿过多上传", {icon: 5}); } $('#demo2').append('' + file.name + ''); $('#' + index).bind('dblclick', function () {//双击删除指定预上传图片 delete files[index];//删除指定图片 $(this).remove(); var imgNum = $("#demo2 img").length; $("#test2").text(imgNum + "个文件"); }); var imgNum = $("#demo2 img").length; $("#test2").text(imgNum + "个文件"); }); }, before: function (obj) { this.data = { id: id, uploadType: "2" }; if ($("[name='brand']").val() == '') { return false; } else { console.log(files); var names = ''; layui.each(files, function (index, file) { console.log(file.name) names += file.name + ','; }); $("[name='image']").val(names) console.log(names); } return true; }, done: function (data) { }, allDone: function (data) { num++; console.log("num:"+num) if (num == photoCount) { num = 0; top.layer.close(loadingMsg); top.layer.msg('文件保存成功', {icon: 1, time: 2000}); setTimeout("reloading()", 2100); } }, error: function (e) { //请求异常回调 console.log(e) } }); laydate.render({ elem: '#oneReviewTime' //指定元素 元素选择器 , type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) , trigger: 'click' , btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定 }); laydate.render({ elem: '#twoReviewTime' //指定元素 元素选择器 , type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) , trigger: 'click' , format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss , btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定 }); laydate.render({ elem: '#threeReviewTime' //指定元素 元素选择器 , type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) , trigger: 'click' , format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss , btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定 }); }); }); function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.example.ajax.reload( null, false ); // 刷新页面 } function initData() { $("#name").val(name); $("#idNumber").val(idNumber); $("#postName").val(postName); $("#name").attr("disabled",true) $("#idNumber").attr("disabled",true) $("#postName").attr("disabled",true) $("#isUpload").attr("disabled",true); if(id != "-1"){ selectCheck(); } } function selectCheck() { $("#id").val(id); $("#startDate").val(startDate); $("#stopDate").val(stopDate); $("#oneReviewTime").val(oneReviewTime); if(twoReviewTime==null || twoReviewTime =="null"){ twoReviewTime = ""; } $("#twoReviewTime").val(twoReviewTime); if(threeReviewTime==null || threeReviewTime =="null"){ threeReviewTime = ""; } $("#threeReviewTime").val(threeReviewTime); $("#certificateId").attr("disabled",true); var demo1 = $("#demo1"); var html = ''; if (certificateFile != '' && certificateFile != null && certificateFile != 'null') { var path = ''; if (certificateFile.indexOf("http") != -1) { path = certificateFile; } else { path = ctxPath +"/" + certificateFile; } if(certificateFile.indexOf(".pdf") != -1 || certificateFile.indexOf(".doc") != -1 || certificateFile.indexOf(".docx") != -1){ var yulan = "../../../../img/fileIcon/yulan.png"; //是否包含pdf if(certificateFile.indexOf(".pdf")){ yulan = "../../../../img/fileIcon/pdf.png"; }else if(certificateFile.indexOf(".xlsx") || certificateFile.indexOf(".xls")){ yulan = "../../../../img/fileIcon/excel.png"; }else if(certificateFile.indexOf(".docx") || certificateFile.indexOf(".doc")){ yulan = "../../../../img/fileIcon/docx.png"; } if(id>0){ html += ''; }else{ html += ''; } }else{ html += ''; } demo1.append(html); } var demo2 = $("#demo2"); html = ''; if (certificateTypeFile != '' && certificateTypeFile != null && certificateTypeFile != 'null') { var path = ''; if (certificateTypeFile.indexOf("http") != -1) { path = certificateTypeFile; } else { path = ctxPath + "/" + certificateTypeFile; } //由于单双击事件冲突,修改不能预览 if(certificateTypeFile.indexOf(".pdf") != -1 || certificateTypeFile.indexOf(".doc") != -1 || certificateTypeFile.indexOf(".docx") != -1){ var yulan = "../../../../img/fileIcon/yulan.png"; //是否包含pdf if(certificateFile.indexOf(".pdf")){ yulan = "../../../../img/fileIcon/pdf.png"; }else if(certificateFile.indexOf(".xlsx") || certificateFile.indexOf(".xls")){ yulan = "../../../../img/fileIcon/excel.png"; }else if(certificateFile.indexOf(".docx") || certificateFile.indexOf(".doc")){ yulan = "../../../../img/fileIcon/docx.png"; } if(id>0){ html += ''; }else{ html += ''; } }else{ html += ''; } demo2.append(html); } layui.form.render(); } function delPhoto1(i) { var parentcolor = document.getElementById("demo1"); var childcolor = document.getElementById(i+""); parentcolor.removeChild(childcolor); } function delPhoto2(i) { var parentcolor = document.getElementById("demo2"); var childcolor = document.getElementById(i+""); parentcolor.removeChild(childcolor); } function lookAttachment(filePath) { filePreview(filePath); } function insertCertificateType(data) { console.log($("#startDate").val()); let cerName = $("#certificateId").find("option:selected").text(); if(cerName.indexOf("(") != -1){ cerName = cerName.substring(0,cerName.indexOf("(")); } if($("#demo1").children().length!=1){ return parent.layer.msg("持证附件有且只能上传1个文件",{icon:2,time:2000}); }else if($("#demo2").children().length!=1 && $("#isUpload").val()!=0){ return parent.layer.msg("其它附件有且只能上传1个文件",{icon:2,time:2000}); }else if(uploadCertificateName.indexOf(cerName)!=-1){ return parent.layer.msg("此工种证件已经上传,请去修改",{icon:2,time:2000}); }else if($("#startDate").val()==""){ return parent.layer.msg("请填写证件有效期",{icon:2,time:2000}); } // 加载提示 loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); var formUrl = ctxPath + "/certificate/addWorkerCertificate"; $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: formUrl, // 请求地址 contentType: "application/json; charset=utf-8", dataType: 'json', // 服务器返回数据类型 data: JSON.stringify(data.field), //获取提交的表单字段 success: function (data) { if (data.resMsg == "保存成功") { id = data.obj.id; parent.layer.msg('数据已保存,上传文件中。。。', {icon: 1, time: 3000},function () { $("#hideUpload1").trigger("click"); if($("#isUpload").val()!=0){ $("#hideUpload2").trigger("click"); //触发上传文件 } setTimeout("reloading()", 3100); }); } else { top.layer.close(loadingMsg); parent.layer.msg('保存失败', {icon: 2, time: 2000}); setTimeout("reloading()", 5000); } }, error: function (XMLHttpRequest, textStatus, e) { top.layer.close(loadingMsg); layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); } }); } function updateCertificateType(data) { if($("#demo1").children().length!=1){ return parent.layer.msg("持证附件有且只能上传1个文件",{icon:2,time:2000}); }else if($("#demo2").children().length!=1 && $("#isUpload").val()!=0){ return parent.layer.msg("其它附件有且只能上传1个文件",{icon:2,time:2000}); }else if($("#startDate").val()==""){ return parent.layer.msg("请填写证件有效期",{icon:2,time:2000}); } // 加载提示 loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); var formUrl = ctxPath + "/certificate/updateWorkerCertificate"; $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: formUrl, // 请求地址 contentType: "application/json; charset=utf-8", dataType: 'json', // 服务器返回数据类型 data: JSON.stringify(data.field), //获取提交的表单字段 success: function (data) { if (data.resMsg == "保存成功") { parent.layer.msg('等待图片上传。。。', {icon: 1, time: 3000},function () { let num = 0; $("#demo1").find("img").each(function () { let newPhoto = $(this).attr("newPhoto"); if (newPhoto === undefined) { num++; } }) $("#demo2").find("img").each(function () { let newPhoto = $(this).attr("newPhoto"); if (newPhoto === undefined) { num++; } }) photoCount = num; if (num>0) { $("#hideUpload1").trigger("click"); if($("#isUpload").val()!=0){ $("#hideUpload2").trigger("click"); //触发上传文件 } }else{ reloading(); } }); } else { parent.layer.msg('保存失败', {icon: 2, time: 2000}); } }, error: function (XMLHttpRequest, textStatus, e) { layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); } }); parent.layer.close(loadingMsg); //再执行关闭 } /** * 获取岗位证件 * */ function getPostSelect(form, certificateId) { $("#certificateId").empty(); $.ajax({ type: 'POST', url: ctxPath + '/certificate/getPostBindingCertificate', contentType:"application/json", data: JSON.stringify({postId: postId}), dataType: 'json', success: function (data) { if (data != null && data.length > 0) { var str = ''; cerList = data; for (var i = 0; i < data.length; i++) { if (certificateId == data[i].id) { str += ''; setIsUploadSelect(form,data[i].id); setHiddenData(data[i]); } else { str += ''; } } } else { var str = ''; } $("#certificateId").html(str); form.render(); } }) } /** * 获取岗位证件 * */ function setIsUploadSelect(form, certificateId) { $.ajax({ type: 'POST', url: ctxPath + '/certificate/getPostBindingCertificate', contentType:"application/json", data: JSON.stringify({postId: postId,id:certificateId}), dataType: 'json', success: function (data) { if (data != null && data.length > 0) { for (var i = 0; i < data.length; i++) { $("#isUpload").find('option[value=\'' + data[i].isUpload + '\']').prop("selected", "selected"); $("#remark").html(data[i].remark); if(data[i].isUpload === '1'){ $("#test2").text("文件上传"); $("#test2").css("color","white") $("#test2").attr("disabled",false) photoCount = 2; }else{ $("#test2").text("无需上传"); $("#test2").css("color","yellow") $("#test2").attr("disabled",true) $("#demo2").empty(); photoCount = 1; } } } form.render(); } }) } function setHiddenData(data) { $("#recheckNum").val(data.recheckNum); $("#recheckInterval1").val(data.recheckInterval1); $("#recheckInterval2").val(data.recheckInterval2); $("#recheckInterval3").val(data.recheckInterval3); dynamicRecheck(data.recheckNum); } function DateAdd(interval,number,date) { /* * 功能:实现VBScript的DateAdd功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. * 参数:number,数值表达式,表示要添加的时间间隔的个数. * 参数:date,时间对象. * 返回:新的时间对象. * var now = new Date(); * var newDate = DateAdd( "d ",5,now); *--------------- DateAdd(interval,number,date) ----------------- */ switch(interval) { case "y " : { let taskStartTime; date.setFullYear(date.getFullYear()+number); if (date.getMonth() < 9) { taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-" } else { taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" } if (date.getDate() < 10) { taskStartTime += "0" + date.getDate() } else { taskStartTime += date.getDate() } return taskStartTime; break; } case "q " : { date.setMonth(date.getMonth()+number*3); return date; break; } case "m " : { date.setMonth(date.getMonth()+number); return date; break; } case "w " : { date.setDate(date.getDate()+number*7); return date; break; } case "d " : { date.setDate(date.getDate()+number); return date; break; } case "h " : { date.setHours(date.getHours()+number); return date; break; } case "m " : { date.setMinutes(date.getMinutes()+number); return date; break; } case "s " : { date.setSeconds(date.getSeconds()+number); return date; break; } default : { date.setDate(date.getDate()+number); return date; break; } } } function dynamicRecheck(recheckNum) { if (recheckNum == 1) { $("#timeDiv").css("display", ""); $("#twoReview").css("display", "none"); $("#threeReview").css("display", "none"); $("#twoReview").val(""); $("#threeReview").val(""); } else if (recheckNum == 2) { $("#timeDiv").css("display", "") $("#twoReview").css("display", "") $("#threeReview").css("display", "none") $("#threeReview").val(""); } else if (recheckNum == 3) { $("#timeDiv").css("display", "") $("#twoReview").css("display", "") $("#threeReview").css("display", "") } else if(recheckNum == 0) { $("#timeDiv").css("display", "none") $("#oneReview").val(""); $("#twoReview").val(""); $("#threeReview").val(""); }else{ layer.msg("复审次数不在范围") } }