2025-11-27 16:55:35 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en" xmlns="http://www.w3.org/1999/html">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<title>分包商人员库表单</title>
|
|
|
|
|
<link rel="stylesheet" href="../../layui-v2.8.18/layui/css/layui.css" media="all"/>
|
|
|
|
|
</head>
|
|
|
|
|
<style>
|
|
|
|
|
.layui-form-label {
|
|
|
|
|
position: relative;
|
|
|
|
|
float: left;
|
|
|
|
|
display: block;
|
|
|
|
|
padding: 9px 15px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
line-height: 20px;
|
|
|
|
|
text-align: right;
|
|
|
|
|
}
|
|
|
|
|
.layui-form-item .layui-input-inline {
|
|
|
|
|
margin-right: 22px;
|
|
|
|
|
}
|
|
|
|
|
/* 弹出层外部容器样式 */
|
|
|
|
|
.layui-layer {
|
|
|
|
|
border-radius: 10px; /* 设置圆角半径,根据需要调整 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 弹出层内部容器样式(如果需要) */
|
|
|
|
|
.layui-layer-content {
|
|
|
|
|
border-radius: 10px; /* 设置圆角半径,根据需要调整 */
|
|
|
|
|
overflow: hidden; /* 防止内容溢出圆角区域 */
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<body>
|
|
|
|
|
<form class="layui-form" action="" onsubmit="return false">
|
|
|
|
|
<div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>分包商:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<select id="subId" class="layui-select" name="subId" lay-verify="required">
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>姓名:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input class="teamName layui-input" id="personName" name="personName"
|
|
|
|
|
lay-verify="required" placeholder="填写姓名">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>性别:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="sex" class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input type="radio" name="sex" value="0" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: rgb(160, 207, 255);">男性 ♂</span>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="radio" name="sex" value="1" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: pink;">女性 ♀</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>民族:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input class="teamName layui-input" id="nation" name="nation"
|
|
|
|
|
lay-verify="required" placeholder="填写民族">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>身份证:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input class="teamName layui-input" id="idCard" name="idCard"
|
|
|
|
|
lay-verify="required" placeholder="填写身份证">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>执照情况:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input class="teamName layui-input" id="certificate" name="certificate"
|
|
|
|
|
lay-verify="required" placeholder="填写执照情况">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>职称/技能等级:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input class="teamName layui-input" id="level" name="level"
|
|
|
|
|
lay-verify="required" placeholder="填写职称/技能等级">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>是否有社保:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="isEmploymentAgreement" class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input type="radio" name="isEmploymentAgreement" value="0" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: rgb(160, 207, 255);">是</span>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="radio" name="isEmploymentAgreement" value="1" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: pink;">否</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>是否有用工协议:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="isSocialSecurity" class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input type="radio" name="isSocialSecurity" value="0" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: rgb(160, 207, 255);">是</span>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="radio" name="isSocialSecurity" value="1" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: pink;">否</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-form-item" style="margin-top: 1%;">
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<label class="layui-form-label"><i class="tip-required"
|
|
|
|
|
style="color: red;font-size: 20px">*</i>工资发放证明:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="isSalaryPaymentCertificate" class="layui-input-inline" style="border: 0px dashed dimgrey;width: 74%;">
|
|
|
|
|
<input type="radio" name="isSalaryPaymentCertificate" value="0" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: rgb(160, 207, 255);">是</span>
|
|
|
|
|
</div>
|
|
|
|
|
<input type="radio" name="isSalaryPaymentCertificate" value="1" title="默认">
|
|
|
|
|
<div lay-radio>
|
|
|
|
|
<span style="color: pink;">否</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="layui-form-item" style="display: none">
|
|
|
|
|
<div class="layui-input-block">
|
|
|
|
|
<button type="submit" class="layui-btn subBtn" id="commit" lay-submit lay-filter="formDemo">提交</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<table id="demo" lay-filter="test" style="padding: 10px"></table>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
<script src="../../js/jquery/jquery-3.6.0.js"></script>
|
|
|
|
|
<script src="../../layui-v2.8.18/layui/layui.js"></script>
|
|
|
|
|
<script type="text/javascript" src="../../js/jq.js"></script>
|
|
|
|
|
<script src="../../js/common_methon.js"></script>
|
2025-12-09 18:44:29 +08:00
|
|
|
<script type="text/javascript" src="../../../public/public.js"></script>
|
2025-11-27 16:55:35 +08:00
|
|
|
<script type="text/javascript" src="../../js/publicJs.js"></script>
|
|
|
|
|
<script type="text/javascript" src="../../js/select.js"></script>
|
|
|
|
|
<script type="text/javascript" src="../../js/my/permission.js"></script>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
layui.config({
|
|
|
|
|
base: '../../js/layuiModules/', // 第三方模块所在目录
|
|
|
|
|
version: 'v1.6.4' // 插件版本号
|
|
|
|
|
}).extend({
|
|
|
|
|
soulTable: 'notice,layNotify,notice', // 模块
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var form;
|
|
|
|
|
var table;
|
|
|
|
|
var newData;
|
|
|
|
|
var laydate
|
|
|
|
|
var notice;
|
|
|
|
|
var layarea;
|
|
|
|
|
var layNotify;
|
|
|
|
|
let id = localStorage.getItem("id");
|
|
|
|
|
let subId = localStorage.getItem("subId");
|
|
|
|
|
let nation = localStorage.getItem("nation");
|
|
|
|
|
let personName = localStorage.getItem("personName");
|
|
|
|
|
let sex = localStorage.getItem("sex");
|
|
|
|
|
let certificate = localStorage.getItem("certificate");
|
|
|
|
|
let level = localStorage.getItem("level");
|
|
|
|
|
let isEmploymentAgreement = localStorage.getItem("isEmploymentAgreement");
|
|
|
|
|
let isSocialSecurity = localStorage.getItem("isSocialSecurity");
|
|
|
|
|
let isSalaryPaymentCertificate = localStorage.getItem("isSalaryPaymentCertificate");
|
|
|
|
|
|
|
|
|
|
var finalData;
|
|
|
|
|
var type = "1";
|
|
|
|
|
|
|
|
|
|
layui.use(['table', 'form','notice', 'layNotify', 'layer'], function () {
|
|
|
|
|
table = layui.table;
|
|
|
|
|
form = layui.form;
|
|
|
|
|
var layer = layui.layer;
|
|
|
|
|
laydate = layui.laydate;
|
|
|
|
|
notice = layui.notice;
|
|
|
|
|
layNotify = layui.layNotify;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isEmpty(id)) {
|
|
|
|
|
//新增
|
|
|
|
|
getSub(form,"");
|
|
|
|
|
} else {
|
|
|
|
|
type = "2";
|
|
|
|
|
//修改
|
|
|
|
|
getSub(form,subId);
|
|
|
|
|
$("#personName").val(personName);
|
|
|
|
|
$("#idCard").val(id);
|
|
|
|
|
$("#nation").val(nation);
|
|
|
|
|
$("#certificate").val(certificate);
|
|
|
|
|
$("#level").val(level);
|
|
|
|
|
if (sex === "男") {
|
|
|
|
|
$("#sex").find("input[type='radio']").eq(0).prop("checked", true);
|
|
|
|
|
} else if (sex === "女") {
|
|
|
|
|
$("#sex").find("input[type='radio']").eq(1).prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
if (isEmploymentAgreement === "是") {
|
|
|
|
|
$("#isEmploymentAgreement").find("input[type='radio']").eq(0).prop("checked", true);
|
|
|
|
|
} else if (isEmploymentAgreement === "否") {
|
|
|
|
|
$("#isEmploymentAgreement").find("input[type='radio']").eq(1).prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
if (isSocialSecurity === "是") {
|
|
|
|
|
$("#isSocialSecurity").find("input[type='radio']").eq(0).prop("checked", true);
|
|
|
|
|
} else if (isSocialSecurity === "否") {
|
|
|
|
|
$("#isSocialSecurity").find("input[type='radio']").eq(1).prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
if (isSalaryPaymentCertificate === "是") {
|
|
|
|
|
$("#isSalaryPaymentCertificate").find("input[type='radio']").eq(0).prop("checked", true);
|
|
|
|
|
} else if (isSalaryPaymentCertificate === "否") {
|
|
|
|
|
$("#isSalaryPaymentCertificate").find("input[type='radio']").eq(1).prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
document.getElementById('idCard').disabled = true;
|
|
|
|
|
form.render('radio');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// 验证成功后才会执行下面的操作
|
|
|
|
|
form.on('submit(formDemo)', function (data) {
|
|
|
|
|
var idCardVal = data.field.idCard;
|
|
|
|
|
var sexVal = data.field.sex;
|
|
|
|
|
var isEmploymentAgreement = data.field.isEmploymentAgreement;
|
|
|
|
|
var isSocialSecurity = data.field.isSocialSecurity;
|
|
|
|
|
var isSalaryPaymentCertificate = data.field.isSalaryPaymentCertificate;
|
|
|
|
|
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
|
|
|
|
if (!reg.test(idCardVal)) {
|
|
|
|
|
layer.msg('身份证号格式不正确', {icon: 2});
|
|
|
|
|
return false;
|
|
|
|
|
}else if (!sexVal) {
|
|
|
|
|
layer.msg('请选择性别', {icon: 2});
|
|
|
|
|
return false;
|
|
|
|
|
}else if (!isEmploymentAgreement) {
|
|
|
|
|
layer.msg('请选择社保', {icon: 2});
|
|
|
|
|
return false;
|
|
|
|
|
}else if (!isSocialSecurity) {
|
|
|
|
|
layer.msg('请选择用工协议', {icon: 2});
|
|
|
|
|
return false;
|
|
|
|
|
}else if (!isSalaryPaymentCertificate) {
|
|
|
|
|
layer.msg('请选择工资发放证明', {icon: 2});
|
|
|
|
|
return false;
|
|
|
|
|
}else {
|
|
|
|
|
console.log(data.field);
|
|
|
|
|
data.field.id = id;
|
|
|
|
|
addInfo(data); //新增方法
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增或修改的提交方法
|
|
|
|
|
* @param formData
|
|
|
|
|
* @returns {boolean}
|
|
|
|
|
*/
|
|
|
|
|
function addInfo(formData) {
|
|
|
|
|
var tip = '保存';
|
2025-12-09 18:44:29 +08:00
|
|
|
var formUrl = czl_ht_url + "/personnel/addSubcontractor";
|
2025-11-27 16:55:35 +08:00
|
|
|
if (id != '') {
|
2025-12-09 18:44:29 +08:00
|
|
|
formUrl = czl_ht_url + "/personnel/updateSubcontractor";
|
2025-11-27 16:55:35 +08:00
|
|
|
tip = '修改';
|
|
|
|
|
}
|
|
|
|
|
formData.field.id = id;
|
|
|
|
|
console.log(formData.field)
|
|
|
|
|
// 加载提示
|
|
|
|
|
addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {
|
|
|
|
|
icon: 16,
|
|
|
|
|
scrollbar: false,
|
|
|
|
|
time: 0,
|
|
|
|
|
shade: [0.8, '#393D49']
|
|
|
|
|
});
|
|
|
|
|
$.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) {
|
|
|
|
|
if (data.resMsg === "发起成功") {
|
|
|
|
|
parent.layer.closeAll();
|
|
|
|
|
top.layer.close(addLoadingMsg); //再执行关闭
|
|
|
|
|
parent.layer.msg(tip + '成功', {icon: 1, time: 2000});
|
|
|
|
|
parent.layui.table.reload('menuTable');
|
|
|
|
|
}else if (data.resMsg === "身份证号已存在") {
|
|
|
|
|
top.layer.close(addLoadingMsg); //再执行关闭
|
|
|
|
|
layer.msg("身份证号已存在", {icon: 0, time: 2000})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error: function (XMLHttpRequest, textStatus, e) {
|
|
|
|
|
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
|
|
|
|
top.layer.close(addLoadingMsg); //再执行关闭
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
function reloadTip(tip,message,type){
|
|
|
|
|
parent.layNotify.notice({
|
|
|
|
|
title: tip+"提示",
|
|
|
|
|
type: type,
|
|
|
|
|
message: message
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
</script>
|