var idNumber; var loadingMsg; var trainFileNames = []; var trainFilePaths = []; var examFileNames = []; var examFilePaths = []; var staffType = ""; var tree; layui.use(['layer', 'form', 'upload','laydate','tree'], function () { var laydate = layui.laydate; var upload = layui.upload; var form = layui.form; var layer = layui.layer; tree = layui.tree; $("#line").attr("disabled",true); $('#area').attr('disabled', true); $('#chonsenBtn').show() form.render(); //人员类型选择 $('.btnOption1 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); staffType = value; console.log(staffType) if(staffType==2){ $('#line').attr("disabled",false); $('#area').attr('disabled', false); $('#chonsenBtn').hide() } if(staffType==1){ $("#line").attr("disabled",true); $('#area').attr('disabled', true); $('#chonsenBtn').show() } form.render(); }); //文件上传 var uploadInst = upload.render({ elem: '#contractFile' //绑定元素 ,url: '' //上传接口 ,auto: false //选择文件后不自动上传 ,bindAction: '#submitBt' //指向一个按钮触发上传 ,choose: function(obj){ //将每次选择的文件追加到文件队列 var files = obj.pushFile(); //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9) obj.preview(function(index, file, result){ console.log(index); //得到文件索引 console.log(file); //得到文件对象 console.log(result); //得到文件base64编码,比如图片 //这里还可以做一些 append 文件列表 DOM 的操作 //obj.upload(index, file); //对上传失败的单个文件重新上传,一般在某个事件中使用 //delete files[index]; //删除列表中对应的文件,一般在某个事件中使用 }); }, done: function(res){ //上传完毕回调 }, error: function(){ //请求异常回调 } }); // 渲染开始时间选择器 laydate.render({ elem: '#startTime', type: 'date', format: 'yyyy-MM-dd', fullPanel: true, done: function(value) { // 当选择开始时间大于结束时间,将结束时间置为空 var statrTime = value; var endTime= $("#endTime").val(); if (statrTime != '') { if (endTime != '') { if (statrTime > endTime) { $("#endTime").val(''); } } } // 当选择开始时间后,更新结束时间选择器的最小值 // 当选择开始时间后,更新结束时间选择器的最小值 var endTimePicker = laydate.render({ elem: '#endTime', type: 'date', format: 'yyyy-MM-dd', fullPanel: true, // 将开始时间作为结束时间选择器的最小值,包括时分 min: value, // 设置结束日期最大值为下个月的最后一天 max: getNextMonthLastDay(), done: function(value) { var startTime = $("#startTime").val(); if (startTime != '' && value != '') { if (value < startTime) { $("#startTime").val(''); } } } }); }, // 设置开始日期最小值为下个月的第一天 min: getNextMonthFirstDay(), // 设置开始日期最大值为下个月的最后一天 max: getNextMonthLastDay() }); // 渲染结束时间选择器 laydate.render({ elem: '#endTime', type: 'date', format: 'yyyy-MM-dd', fullPanel: true, // 设置结束日期最小值为下个月的第一天 min: getNextMonthFirstDay(), // 设置结束日期最大值为下个月的最后一天 max: getNextMonthLastDay() }); //监听填写事件-身份证号码 $('#idCard').on('input', function() { let inputVal = $(this).val(); let IDNu = document.getElementById('idCard'); if (inputVal==''){ $(this).val(''); } var re =/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/; if (re.test(inputVal)) { // layer.msg('身份证号码填写完成'); //出生日期 let age = inputVal.substring(6, 10) + "-" + inputVal.substring(10, 12) + "-" + inputVal.substring(12, 14); $('#ages').val(age) //性别 let sew = '' var sec = inputVal.substring(16, 17); if (sec % 2 == 0) { sew = "女"; } else { sew = "男"; } $('#sex').val(sew) } }); //监听填写事件 $('#payAll').on('input', function() { var inputVal = $(this).val(); if (inputVal==''){ $(this).val(''); } // 转换为数字,并检查是否超出范围 var numVal = Number(inputVal); if (isNaN(numVal) || numVal < 0 || numVal > 10000) { // 如果值不合法,清空输入框 layer.msg('请输入不超过10000的正整数', {icon: 5}); $(this).val(''); } }); //监听填写事件 $('#payDay').on('input', function() { var inputVal = $(this).val(); if (inputVal==''){ $(this).val(''); } // 转换为数字,并检查是否超出范围 var numVal = Number(inputVal); if (isNaN(numVal) || numVal < 0 || numVal > 10000) { // 如果值不合法,清空输入框 layer.msg('请输入不超过10000的正整数', {icon: 5}); $(this).val(''); } }); form.verify({ //数组的两个值分别代表:[正则匹配、匹配不符时的提示文字] phoneNum: [/^1[3-9]\d{9}$/,'手机号格式不正确'], idCard:[/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/,'身份证号码不正确'] }); //取消按钮 $("#closeBt").click(function () { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 }); // 提交按钮 // 验证成功后才会执行下面的操作 form.on('submit(formDemo)', function (data) { console.log(data) // if($("#id").val()==''){ // addData(data); // 新增 // }else{ // updateData(data); // 修改 // } }); }); /** * 获取下个月第一天 * @returns {string} */ function getNextMonthFirstDay() { var today = new Date(); var nextMonth = new Date(today.getFullYear(), today.getMonth() + 1, 1); return nextMonth.getFullYear() + '-' + (nextMonth.getMonth() + 1) + '-01 00:00'; } /** * 获取下个月最后一天 * @returns {string} */ function getNextMonthLastDay() { var today = new Date(); var nextMonth = new Date(today.getFullYear(), today.getMonth() + 2, 0); return nextMonth.getFullYear() + '-' + (nextMonth.getMonth() + 1) + '-' + nextMonth.getDate() + ' 23:59'; } //打开人员选择工程弹窗 function openChosenBox(){ var height = '90%'; var width = '60%'; var index = layer.open({ title: [`选择工程、杆塔 `, 'color:#3B70A1;background-color:#fff;font-size:20px'], type: 1, content: $("#chosenLine").html(), btn: ['确认', '取消'], closeBtn: 1, area: [width, height], success: function (layero, index) { initTree() /*var myIframe = parent.window[layero.find('iframe')[0]['name']]; var json = {'proIds': proId} myIframe.setParams(json)*/ }, yes: function (index, layero) {//确认 console.log(1) layer.close(index); }, btn2: function (index, layero) {//取消 console.log(2) layer.close(index); }, cancel: function(index, layero){//关闭 console.log(3) layer.close(index); }, }); } //工程树Tree function initTree(){ layui.use(['tree'], function () { var tree = layui.tree; var data = [ { title: "丽江运检站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, { title: "迪庆运检站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, { title: "昆明运检一站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, { title: "昆明运检二站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, { title: "怒江运检站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, { title: "怒江运检站",id: 1,spread:true, children: [{title: "±500kV永富直流线"}, {title: "500kV草宝甲线 "},{title: "500kV草宝乙线 "}, {title: "500kV大宝Ⅰ回线"}, {title: "500kV大宝Ⅱ回线"}] }, ]; var renderTree = function (data) { tree.render({ elem: '#lineTree', data: data, id: 'lineTree', showCheckbox: false, accordion: false, click: function (obj) { console.log(obj); initGtList([]) } }); } renderTree(data); }); } function initGtList(arr){ layui.use(['transfer'], function () { var transfer = layui.transfer ; arr = [ {value:'1',title:'N1',name:'N111-500kV草宝甲线'}, {value:'2',title:'N2',name:'N111-500kV草宝甲线'}, {value:'3',title:'N3',name:'N111-500kV草宝甲线'}, {value:'4',title:'N4',name:'N111-500kV草宝甲线'}, {value:'5',title:'N5',name:'N111-500kV草宝甲线'}, {value:'6',title:'N6',name:'N111-500kV草宝甲线'}, {value:'7',title:'N7',name:'N111-500kV草宝甲线'}, {value:'8',title:'N8',name:'N111-500kV草宝甲线'}, {value:'9',title:'N9',name:'N111-500kV草宝甲线'}, {value:'10',title:'N10',name:'N111-500kV草宝甲线'}, {value:'11',title:'N11',name:'N111-500kV草宝甲线'}, {value:'12',title:'N12',name:'N111-500kV草宝甲线'}, {value:'13',title:'N13',name:'N111-500kV草宝甲线'}, ] transfer.render({ elem: '#gtList', data: arr, showSearch: true, title: ['杆塔', '已选'] //自定义标题 }) }); } /** * 新增 * @param formData */ function addData(formData) { if (staffType == "") { layer.msg("请选择人员类型", {icon: 0}) return }else { console.log(formData.field); // 加载提示 // let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); // form请求地址 // let formUrl = oiPlanUrl + "/monthlyPlanSubmission/add"; // $.ajax({ // type: 'POST', // async: false, // 默认异步true,false表示同步 // url: formUrl, // 请求地址 // data:{ // "userName": $("#userName").val(), // "idCard": $("#idCard").val(), // "sex": $("#sex").val(), // "ages": $("#ages").val(), // "phone": $("#phone").val(), // "address": $("#address").val(), // "health": $("#health").val(), // "level": $("#level").val(), // "line": $("#line").val(), // "area": $("#area").val(), // "payAll": $("#payAll").val(), // "payDay": $("#payDay").val(), // "startTime": $("#startTime").val(), // "endTime": $("#endTime").val(), // }, // success: function (data) { // layer.close(loadingMsg); // 关闭提示层 // if(data.code == 200){ // top.layer.msg("添加成功"); // reloading(); // }else{ // layer.alert(data.msg); // } // }, // error: function (XMLHttpRequest, textStatus, e) { // layer.close(loadingMsg); // layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); // } // }); } } /** * 修改 * @param formData * @returns {boolean} */ function updateData(formData) { // 加载提示 let loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); // form请求地址 let formUrl = oiPlanUrl + "/monthlyPlanSubmission/update"; $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: formUrl, // 请求地址 data:{ "id": $("#id").val(), "userName": $("#userName").val(), "idCard": $("#idCard").val(), "sex": $("#sex").val(), "ages": $("#ages").val(), "phone": $("#phone").val(), "address": $("#address").val(), "health": $("#health").val(), "level": $("#level").val(), "staffType": staffType, "startTime": $("#startTime").val(), "endTime": $("#endTime").val(), }, success: function (data) { layer.close(loadingMsg); // 关闭提示层 if(data.code == 200){ top.layer.msg("修改成功"); reloading(); }else{ layer.alert(data.msg); } }, error: function (XMLHttpRequest, textStatus, e) { layer.close(loadingMsg); layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); } }); } function importData() { var fileData = new FormData(); fileData.append('file', $('#file')[0].files[0]); fileData.append('remark', $("#remark").val()); fileData.append('trainFileName', trainFileNames.toString()); fileData.append('trainFilePath', trainFilePaths.toString()); fileData.append('examFileName', examFileNames.toString()); fileData.append('examFilePath', examFilePaths.toString()); // 加载提示 loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); // form请求地址 var formUrl = oiPlanUrl + "/offlineResUpload/importData"; $.ajax({ type: 'POST', url: formUrl, // 请求地址 data: fileData, processData: false, contentType: false, success: function (data) { top.layer.close(loadingMsg); //再执行关闭 if (data.code == 200) { top.layer.alert(data.msg); reloading(); } else { top.layer.alert(data.msg, {icon: 2}); } }, error: function (XMLHttpRequest, textStatus, e) { layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); top.layer.close(addLoadingMsg); //再执行关闭 } }); } /** * 获取任务来源-下拉数据 * @param id * @param key */ function getTaskSource(id,key) { $("#"+id).empty(); $.ajax({ type: 'get', url: oiPlanUrl + '/monthlyPlanSubmission/getTaskSource', async: false, success: function (data) { if(data.code == 200){ var html = '' for (let i = 0; i < data.data.length; i++) { if (key == data.data[i].id) { html += ''; } else { html += ''; } } $("#"+id).append(html); }else{ $("#"+id).append(''); } layui.form.render(); }, error: function (err) { console.log("获取字典表出错:", err); } }); } /** * 隐藏提交按钮和关闭按钮 */ function hideSubmit() { // 使用getElementById根据ID选择按钮 var submitButton = document.getElementById('submitBt'); var closeButton = document.getElementById('closeBt'); // 如果按钮存在,则隐藏它 if (submitButton) { submitButton.style.display = 'none'; } if (closeButton) { closeButton.style.display = 'none'; } } /** * 设置数据 * @param data */ function setData(data) { console.log(data); $("#id").val(data[0].id); $("#userName").val(data[0].userName); $("#content").val(data[0].content); // getTaskSource("taskSourceId",data[0].taskSourceId); // $("#taskSourceId").val(data[0].taskSourceId); // 首先移除所有选项的 pass 类 $('.btnOption1 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption1 > div').each(function () { if ($(this).data('value') === data[0].workType) { $(this).addClass('pass').attr('value', data[0].workType); } else { $(this).attr('value', ''); } }); $("#startTime").val(data[0].startTime); $("#endTime").val(data[0].endTime); } /** * 关闭页面 刷新页面 */ function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.location.reload(); }