hn_cloud_web/smz-web/js/work/person/BaseManagerForm.js

139 lines
5.7 KiB
JavaScript
Raw Normal View History

2025-11-27 16:55:35 +08:00
var id = localStorage.getItem("id");
$(function () {
layui.use(['form', 'laydate'], function () {
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var laydate = layui.laydate;
form.render();
//^1[3456789]\d{9}$
form.verify({
phone: [/^((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}$/, '请正确输入电话'],
idNumber: [/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, '请正确输入身份证'],
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
var id = $("#id").val();
if (id == '') {
addProject(data); // 新增工程
} else {
updateProject(data);
}
// 提交成功后返回信息,关闭弹出层
//当你在iframe页面关闭自身时
// var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
// parent.layer.close(index);
});
var minListDate = $('#hidMinListDate').val();//最小可选时间1990-02-01
var maxListDate = $('#hidMaxListDate').val();//最大可选时间2200-12-31
var begin = "#signDate", end = "#expiryDate";//开始时间选择框、结束时间选择框:文本框
laydate.render({
elem: "#signDate",
format: "yyyy-MM-dd"
});
laydate.render({
elem: "#expiryDate",
format: "yyyy-MM-dd"
});
laydate.render({
elem: '#birthday' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy年MM月dd日' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
// , value: new Date() //初始值 今天
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date) {//时间回调
console.log(date);
}
});
});
})
;
//新增工程
function addProject(formData) {
// 加载提示
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
2025-12-09 18:44:29 +08:00
var formUrl = smz_ht_url + "/BaseManager";
2025-11-27 16:55:35 +08:00
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址project
contentType: "application/json; charset=utf-8",
dataType: 'text', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data == 'success') {
parent.layer.alert('保存成功', {icon: 1});
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
} else {
parent.layer.msg('保存失败', {icon: 2});
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 updateProject(formData) {
// 加载提示
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
2025-12-09 18:44:29 +08:00
var formUrl = smz_ht_url + "/BaseManager/updateWorker?id=" + id;
2025-11-27 16:55:35 +08:00
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data.obj == "修改成功") {
parent.layer.msg("修改成功", {icon: 1});
setTimeout("reloading()", 2100);
} else {
parent.layer.msg(data.obj, {icon: 2});
setTimeout("reloading()", 2100);
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('身份证重复,请重试', {icon: 16, scrollbar: false});
}
});
}
// 表单赋值
function setData(data) {
console.log("data", data);
$("#idNumber").val(data.idNumber);
$("#name").val(data.name);
$("#sex").val(data.sex); //
$("#ethnic").val(data.ethnic); // 工程名称
$("#birthday").val(data.birthday); //
$("#issureAuthority").val(data.issureAuthority); // 省
$("#signDate").val(data.signDate); // 劳资专管员身份证
$("#expiryDate").val(data.expiryDate); // 经度
$("#address").val(data.address); // 住址
$("#phone").val(data.phone); //
$("#id").val("11");
// layui.form.render();
}
//设置弹窗关闭
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.example.ajax.reload( null, false ); // 刷新页面
}