yn_hxy_web/hxy-web/js/wireManager/project/projectAdd.js

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();
}