var idNumber; var loadingMsg; var trainFileNames = []; var trainFilePaths = []; var examFileNames = []; var examFilePaths = []; var assignmentTypeStatus = ""; var workTypeValue = ""; var workMethodValue = ""; var controlLevelValue = ""; var riskLevelValue = ""; var controlMethodsValue = ""; var isSupportValue = ""; layui.use(['layer', 'form', 'upload','laydate'], function () { var laydate = layui.laydate; var upload1 = layui.upload; var upload2 = layui.upload; var form = layui.form; var layer = layui.layer; //按钮样式 btnStyle(); $("#closeBt").click(function () { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 }); // 验证成功后才会执行下面的操作 form.on('submit(formDemo)', function (data) { if($("#id").val()==''){ addData(data); // 新增 }else{ updateData(data); // 修改 } }); }); /** * 新增 * @param formData */ function addData(formData) { if (workTypeValue == "") { layer.msg("请选择作业类型", {icon: 0}) return }else if (workMethodValue == "") { layer.msg("请选择作业方式", {icon: 0}) return }else if (controlLevelValue == "") { layer.msg("请选择管控层级", {icon: 0}) return }else if (riskLevelValue == "") { layer.msg("请选择风险等级", {icon: 0}) return }else if (controlMethodsValue == "") { layer.msg("请选择管控方式", {icon: 0}) return }else if (isSupportValue == "") { layer.msg("请选择是否需要外协人员支援", {icon: 0}) return }else { console.log(formData.field); var allCheckboxStates = getAllCheckboxStates(); console.log(allCheckboxStates); // 加载提示 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:{ "proName": $("#proName").val(), "workType": workTypeValue, "workMethod": workMethodValue, "controlLevel": controlLevelValue, "riskLevel": riskLevelValue, "controlMethods": controlMethodsValue, "isSupport": isSupportValue, }, 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) { var allCheckboxStates = getAllCheckboxStates(); // 加载提示 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(), "proName": $("#proName").val(), "workType": workTypeValue, "workMethod": workMethodValue, "controlLevel": controlLevelValue, "riskLevel": riskLevelValue, "controlMethods": controlMethodsValue, "isSupport": isSupportValue, }, 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 getAllCheckboxStates() { var checkboxes = document.querySelectorAll('.bmscTrain input[type="checkbox"]'); var states = {}; checkboxes.forEach(function(checkbox) { if (checkbox.checked){ states[checkbox.name] = 1; }else { states[checkbox.name] = 0; } }); console.log(states); return states; } /** * 按钮样式,以及取值 */ function btnStyle() { $('.btnOption1 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); workTypeValue = value; }); $('.btnOption2 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); workMethodValue = value; }); $('.btnOption3 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); controlLevelValue = value; }); $('.btnOption4 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); riskLevelValue = value; }); $('.btnOption5 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); controlMethodsValue = value; }); $('.btnOption6 > div').click(function () { $(this).addClass('pass').siblings().removeClass('pass'); var value = $(this).data('value'); $(this).attr('value', value).siblings().attr('value', ''); isSupportValue = value; console.log(isSupportValue); }); } function importData() { var fileData = new FormData(); fileData.append('file', $('#file')[0].files[0]); 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); $("#proName").val(data[0].proName); 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', ''); } }); // 首先移除所有选项的 pass 类 $('.btnOption2 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption2 > div').each(function () { if ($(this).data('value') == data[0].workMethod) { $(this).addClass('pass').attr('value', data[0].workMethod); } else { $(this).attr('value', ''); } }); // 首先移除所有选项的 pass 类 $('.btnOption3 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption3 > div').each(function () { if ($(this).data('value') == data[0].controlLevel) { $(this).addClass('pass').attr('value', data[0].controlLevel); } else { $(this).attr('value', ''); } }); // 首先移除所有选项的 pass 类 $('.btnOption4 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption4 > div').each(function () { if ($(this).data('value') == data[0].riskLevel) { $(this).addClass('pass').attr('value', data[0].riskLevel); } else { $(this).attr('value', ''); } }); // 首先移除所有选项的 pass 类 $('.btnOption5 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption5 > div').each(function () { if ($(this).data('value') == data[0].controlMethods) { $(this).addClass('pass').attr('value', data[0].controlMethods); } else { $(this).attr('value', ''); } }); var checkStatus = {}; setCheckboxStates(checkStatus); console.log(checkStatus); // 首先移除所有选项的 pass 类 $('.btnOption6 > div').removeClass('pass'); // 根据 值 添加 pass 类和设置 value 属性 $('.btnOption6 > div').each(function () { if ($(this).data('value') == data[0].isSupport) { $(this).addClass('pass').attr('value', data[0].isSupport); } else { $(this).attr('value', ''); } }); } // 根据提供的状态对象来设置复选框的状态 function setCheckboxStates(states) { var checkboxes = document.querySelectorAll('.bmscTrain input[type="checkbox"]'); checkboxes.forEach(function(checkbox) { if (states.hasOwnProperty(checkbox.name)) { checkbox.checked = states[checkbox.name]; // 直接赋值布尔值 } }); } /** * 关闭页面 刷新页面 */ function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.location.reload(); }