HnRealNameBmwWeb/js/work/migrant/workInfoReleaseForm.js

185 lines
7.8 KiB
JavaScript

var size = 0; //序号
$(function () {
//safeNumber();//默认加载一行数据
layui.use(['form'], function () {
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
form.render();
form.verify({
number: [/^\+?[1-9][0-9]*$/, '请输入正确人数'],
contactWay: [/^((13[0-9])|(14(0|[5-7]|9))|(15[0-9])|(16(2|[5-7]))|(17[0-8])|(18[0-9])|(19([0-3]|[5-9])))\d{8}$/, '请正确输入联系方式'],
userName:[/^[\u4e00-\u9fa5_a-zA-Z]{2,15}$/,'请输入2-15位中英文用户名'],//用户名
objName:[/^[\u4e00-\u9fa5_a-zA-Z0-9]{1,20}$/,'请输入1-20位的长度'],//企业事业单位名称
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
addReleaseWorkInfo(data); // 新增工程
});
});
})
;
/**
* 新增务工信息
* @param formData
*/
function addReleaseWorkInfo(formData) {
// 加载提示
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
var formUrl = ctxPath + "/migrant/addWorkInfoRelease";
var m = [];
var data1 = paramConversionToObjOfForm("gradeForm"); //获取Form表单数据项
for(var i = 1; i <= size; i++) {
var trueName= $("#getsafelist").find(".pa"+i+"").find(".trueName").find("input").val();
var sex= $("#getsafelist").find(".pa"+i+"").find(".sex").find("select").val();
var old= $("#getsafelist").find(".pa"+i+"").find(".old").find("input").val();
if (old <0 || old > 100){
layer.close(loadingMsg);
layer.msg('请输入合法的年龄', {icon: 5, scrollbar: false});
return false;
}
var typeWork= $("#getsafelist").find(".pa"+i+"").find(".typeWork").find("input").val();
var holder= $("#getsafelist").find(".pa"+i+"").find(".holder").find("input").val();
var workHistory= $("#getsafelist").find(".pa"+i+"").find(".workHistory").find("input").val();
if(trueName == undefined || trueName == undefined || sex == undefined || old == undefined || typeWork == undefined || workHistory == undefined ){
continue;
}
if(trueName != null && trueName !="" && sex!= null && sex!= "" && old!= null&& old!="" && typeWork!= null&& typeWork!="" && workHistory!= null &&workHistory!="") {
let obj = {'trueName':trueName,'sex':sex,'old':old,'typeWork':typeWork,'holder':holder,'workHistory':workHistory};
m.push(obj);
}else {
layer.msg("施工人员信息填写完整")
return false;
}
}
var data = {} ;
data["oneArr"] = m;
if(data["oneArr"] == ""){
layer.msg("请填写施工人员信息")
return false;
}
data["mainArr"] = data1;
// alert(JSON.stringify(data))
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址project
contentType: "application/json; charset=utf-8",
dataType:"json",
// data: JSON.stringify(formData.field), //获取提交的表单字段
data:JSON.stringify(data),
success: function (data) {
var html = '';
html += '<span style="color:red;">'+data.resMsg+'</span>'
parent.layer.alert(html, {icon: 1}, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.location.reload();//刷新父页面
});
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
function safeNumber() {
$("#getsafelist").append(getInfosafeNumber());
}
function getInfosafeNumber() {
var html = "";
size++;
html += "<tr class='pa"+size+"' >";
html += "<td class='titleData trueName' style='width: 15%' ><input style=\"width: 100%; height: 100%;text-align: center;\" class=\"dataDiv\" name= \"trueName\"/></td>"
html += "<td class='titleData sex' style='width: 8%'><select style=\"width: 100%; height: 100%;text-align: center;\" class=\"\" name= \"sex\"><option value='男'>男</option><option value='女'>女</option></select></td>"
html += "<td class='titleData old' style='width: 8%'><input type='number' style=\"width: 100%; height: 100%;text-align: center;\" class=\"dataDiv\" name= \"old\"/></td>"
html += "<td class='titleData typeWork' style='width: 15%'><input style=\"width: 100%; height: 100%;text-align: center;\" class=\"dataDiv\" name= \"typeWork\"/></td>"
html += "<td class='titleData holder' style='width: 15%'><input style=\"width: 100%; height: 100%;text-align: center;\" class=\"dataDiv\" name= \"holder\"/></td>"
html += "<td class='titleData workHistory'style='width: 30%'><input style=\"width: 100%; height: 100%;text-align: center;\" class=\"dataDiv\" name= \"workHistory\"/></td> "
html += "<td class='titleData' style='width: 10%'><a center; style='color: red' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
return html;
}
function delPartData(that){
var indexMsg = layer.confirm("<h4 style='color:red'>您确定删除此行吗?</h4>", {btn: ['确定','取消']},function(){
layer.close(indexMsg);
$(that).parent().parent().remove();
});
}
/**
* @author 柳青
* @date 2022-09-05
* @function 将参数设置继承对象 可多级
* @returns
*/
function paramConversionToObjOfForm(formId){
var id;
var obj = {};
$("#"+formId).find("[name]").each(function(){
var param = $(this).attr("name");
var value = $(this).val();
if(value != "" || value !=null){
if(param == 'id'){
id = value;
}
if(param.indexOf(".") != -1){
var arr = param.split(".");
var size = arr.length;
var a={};
var b={};
for(var i = size ; i > 1 ; i--){
if(i==size){
a[arr[i-1]] = value;
}else{
b[arr[i-1]] = a;
a = b;
b = {};
}
}
var c = obj[arr[0]];
var cc = obj[arr[0]];
var f = false;
for(var i = 0 ; i < size ; i++){
if(JY.Object.notNull(c)){
cc = c;
c = c[arr[i+1]];
}else{
if(i == 0){
obj[arr[0]] = a;
}else{
var k = a;
var key = arr[i];//name
for(var j = 0 ; j < i ; j++){
k = k[arr[j+1]];
}
cc[key] = k;
var l={};
for(var m = i ; m > 0 ; m--){
if(m-1 == 0){
obj[arr[0]] = cc;
f =true;
}else{
l[arr[m-1]] = cc;
k=l;
l={};
}
}
}
break;
}
if(f){
break;
}
}
}else{
obj[param] = value;
}
}
});
return obj;
}