400 lines
13 KiB
JavaScript
400 lines
13 KiB
JavaScript
|
|
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 += '<option selected value=\'' + data.data[i].id + '\'>' + data.data[i].name + '</option>';
|
|||
|
|
} else {
|
|||
|
|
html += '<option value=\'' + data.data[i].id + '\'>' + data.data[i].name + '</option>';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$("#"+id).append(html);
|
|||
|
|
}else{
|
|||
|
|
$("#"+id).append('<option value="">--无数据--</option>');
|
|||
|
|
}
|
|||
|
|
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();
|
|||
|
|
}
|