555 lines
20 KiB
JavaScript
555 lines
20 KiB
JavaScript
var from;
|
|
var token = localStorage.getItem("smz-token");
|
|
$(function () {
|
|
initTrees();
|
|
layui.use(['form', 'laydate','layer'], function () {
|
|
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
|
var laydate = layui.laydate;
|
|
var layer = layui.layer;
|
|
|
|
form.render();
|
|
|
|
form.verify({
|
|
ssdw: [/^(?!-1).*$/, '请选择所属单位'],
|
|
rylx: [/^(?!-1).*$/, '请选择人员类型'],
|
|
hkxz: [/^(?!-1).*$/, '请选择户口性质'],
|
|
name:[/^[\u4e00-\u9fa5_]{2,20}$/,'请输入2-20位中文真实姓名'],//2-20位中文真实姓名
|
|
idCard:[/^[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]$/, '请正确输入身份证'],//身份证号码
|
|
phone: [/^1[3456789]\d{9}$/, '请正确输入的负责人电话'],
|
|
age:[/\b(1[8-9]|[2-9][0-9])\b/,'请正确输入18-99年龄'],
|
|
ryxz: [/^(?!-1).*$/, '请选择员工性质'],
|
|
bankCard: [/(^$)|^[0-9]\d{11,22}$/, '请输入12-22位正整数字符(无符号)'],
|
|
be:[/^\d+(\.\d{1,2})?$/,'请正确输入保额,保留两位小数'],
|
|
phones: [/(^$)|^1[3456789]\d{9}$/, '请正确填写电话号码'],
|
|
});
|
|
from = form;
|
|
form.render();
|
|
// 验证成功后才会执行下面的操作
|
|
form.on('submit(formDemo)', function (data) {
|
|
var id = $("#id").val();
|
|
if (id == '') {
|
|
insertWorker(data); // 新增
|
|
} else {
|
|
updateWorker(data);//修改
|
|
}
|
|
});
|
|
|
|
laydate.render({
|
|
elem: '#month' //指定元素 元素选择器
|
|
, type: 'month' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
|
|
, format: 'yyyy-MM' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
|
|
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
|
|
, done: function (value, date) {//时间回调
|
|
}
|
|
});
|
|
laydate.render({
|
|
elem: '#fundMonth' //指定元素 元素选择器
|
|
, type: 'month' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
|
|
, format: 'yyyy-MM' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
|
|
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
|
|
, done: function (value, date) {//时间回调
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
function calculateAge() {
|
|
var idCard = document.getElementById("idNumber").value;
|
|
var birthday = idCard.substring(6, 14); // 从身份证号码中提取出生年月日
|
|
var birthYear = birthday.substring(0, 4);
|
|
var birthMonth = birthday.substring(4, 6) - 1;
|
|
var birthDay = birthday.substring(6, 8);
|
|
var today = new Date();
|
|
var age = today.getFullYear() - birthYear;
|
|
if (today.getMonth() < birthMonth || (today.getMonth() == birthMonth && today.getDate() < birthDay)) {
|
|
age--;
|
|
}
|
|
document.getElementById("age").value = age;
|
|
}
|
|
|
|
|
|
function initTrees() {
|
|
$.ajax({
|
|
type: 'POST',
|
|
headers : {
|
|
"token" : token
|
|
},
|
|
url: smz_ht_url + '/org/getCompanyTreeListOWN',
|
|
data: {},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
$.fn.zTree.init($("#orgTree"),{
|
|
view:{
|
|
dblClickExpand:false,
|
|
selectedMulti:false,
|
|
nameIsHTML:true
|
|
},
|
|
data:{
|
|
simpleData:{
|
|
enable: true
|
|
}
|
|
},
|
|
callback:{
|
|
onClick:clickRoles
|
|
}
|
|
}, data.obj);
|
|
},
|
|
error: function (e) {
|
|
console.log(e.resMsg);
|
|
},
|
|
});
|
|
}
|
|
|
|
function clickRoles(e, treeId, treeNode) {
|
|
//设置父节点不能被选择
|
|
if(treeNode.id =="x"){
|
|
var check = (treeNode);
|
|
if(check){
|
|
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
|
|
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c="";
|
|
for (var i=0, l=nodes.length; i<l; i++) {
|
|
v += nodes[i].name + ",";//获取name值
|
|
n += nodes[i].id + ",";//获取id值
|
|
o += nodes[i].other + ",";//获取自定义值
|
|
c += nodes[i].companyId + ",";
|
|
var pathNodes=nodes[i].getPath();
|
|
for(var y=0;y<pathNodes.length;y++){
|
|
p+=pathNodes[y].name+"/";//获取path/name值
|
|
}
|
|
}
|
|
if (v.length > 0 ) v = v.substring(0, v.length-1);
|
|
if (n.length > 0 ) n = n.substring(0, n.length-1);
|
|
if (o.length > 0 ) o = o.substring(0, o.length-1);
|
|
if (p.length > 0 ) p = p.substring(0, p.length-1);
|
|
if (c.length > 0 ) c = c.substring(0, c.length-1);
|
|
|
|
$("#orgName").val(p);
|
|
$("#companyId").val(c);
|
|
$("#auForm input[name$='orgId']").prop("value",n);
|
|
hideRole(n,c);
|
|
}
|
|
}else{
|
|
if (treeNode.level !="1") {
|
|
layer.msg('请选择组织管理中的最后一级');
|
|
}else{
|
|
var check = (treeNode);
|
|
if(check){
|
|
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
|
|
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c="";
|
|
for (var i=0, l=nodes.length; i<l; i++) {
|
|
v += nodes[i].name + ",";//获取name值
|
|
n += nodes[i].id + ",";//获取id值
|
|
o += nodes[i].other + ",";//获取自定义值
|
|
c += nodes[i].companyId + ",";
|
|
var pathNodes=nodes[i].getPath();
|
|
for(var y=0;y<pathNodes.length;y++){
|
|
p+=pathNodes[y].name+"/";//获取path/name值
|
|
}
|
|
}
|
|
if (v.length > 0 ) v = v.substring(0, v.length-1);
|
|
if (n.length > 0 ) n = n.substring(0, n.length-1);
|
|
if (o.length > 0 ) o = o.substring(0, o.length-1);
|
|
if (p.length > 0 ) p = p.substring(0, p.length-1);
|
|
if (c.length > 0 ) c = c.substring(0, c.length-1);
|
|
|
|
$("#orgName").val(p);
|
|
$("#companyId").val(c);
|
|
$("#auForm input[name$='orgId']").prop("value",n);
|
|
hideRole(n,c);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function loadCompanyInfo(n, c) { //分公司工程联动
|
|
var orgId = n;
|
|
}
|
|
|
|
//自有人员-所属单位
|
|
function getAffiliatedUnits(id) {
|
|
$("#ssdw").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getAffiliatedUnit',
|
|
data: {},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择所属单位--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#ssdw").append(str);
|
|
layui.form.render();
|
|
}
|
|
})
|
|
}
|
|
|
|
//自有人员-人员类型字典下拉
|
|
function getOWNrylx(id) {
|
|
$("#rylx").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getOWNType',
|
|
data: {
|
|
type:"rylx"
|
|
},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择人员类型--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#rylx").append(str);
|
|
layui.form.render(); //这里就是我们要渲染的地方了
|
|
}
|
|
})
|
|
}
|
|
|
|
//自有人员-员工性质字典下拉
|
|
function getOWNryxz(id) {
|
|
$("#ryxz").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getOWNType',
|
|
data: {
|
|
type:"ryxz"
|
|
},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择员工性质--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#ryxz").append(str);
|
|
layui.form.render(); //这里就是我们要渲染的地方了
|
|
}
|
|
})
|
|
}
|
|
|
|
//自有人员-学历字典下拉
|
|
function getOWNxl(id) {
|
|
$("#xl").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getOWNType',
|
|
data: {
|
|
type:"xl"
|
|
},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择学历--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#xl").append(str);
|
|
layui.form.render(); //这里就是我们要渲染的地方了
|
|
}
|
|
})
|
|
}
|
|
|
|
//自有人员-最高学历字典下拉
|
|
function getOWNzgxl(id) {
|
|
$("#zgxl").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getOWNType',
|
|
data: {
|
|
type:"xl"
|
|
},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择学历--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#zgxl").append(str);
|
|
layui.form.render(); //这里就是我们要渲染的地方了
|
|
}
|
|
})
|
|
}
|
|
|
|
//自有人员-户口类型字典下拉
|
|
function getOWNhkxz(id) {
|
|
$("#hkxz").empty();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: smz_ht_url + '/users/getOWNType',
|
|
data: {
|
|
type:"hkxz"
|
|
},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
var str = '<option value="-1">--请选择学历--</option>';
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (id == data[i].userId) {
|
|
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
|
|
}
|
|
}
|
|
}
|
|
$("#hkxz").append(str);
|
|
layui.form.render(); //这里就是我们要渲染的地方了
|
|
}
|
|
})
|
|
}
|
|
|
|
//新增
|
|
function insertWorker(formData) {
|
|
// 加载提示
|
|
var loadingMsg = parent.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
|
|
// form请求地址
|
|
var formUrl = smz_ht_url + "/workerOn";
|
|
$.ajax({
|
|
type: 'POST',
|
|
async: true, // 默认异步true,false表示同步
|
|
url: formUrl, // 请求地址
|
|
contentType: "application/json; charset=utf-8",
|
|
dataType: 'text', // 服务器返回数据类型
|
|
data: JSON.stringify(formData.field), //获取提交的表单字段
|
|
success: function (data) {
|
|
var dataJson = JSON.parse(data);
|
|
var res = dataJson.resMsg;
|
|
if(dataJson.obj != "1"){
|
|
layer.msg(res,{icon:2,time:2000});
|
|
layer.alert(res);
|
|
}else{
|
|
layer.msg(res,{icon:1,time:2000});
|
|
setTimeout("reloading()", 2100);
|
|
}
|
|
parent.layer.close(loadingMsg); //关闭提示层
|
|
},
|
|
error: function (XMLHttpRequest, textStatus, e) {
|
|
parent.layer.close(loadingMsg); //关闭提示层
|
|
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
//修改
|
|
function updateWorker(formData) {
|
|
// 加载提示
|
|
var loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
|
|
// form请求地址
|
|
var formUrl = smz_ht_url + "/paySlip/updatePaySlip";
|
|
$.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 if(data.resMsg !=""){
|
|
parent.layer.msg(data.resMsg, {icon: 2});
|
|
// setTimeout("reloading()", 2100);
|
|
} else {
|
|
parent.layer.msg(data.obj, {icon: 2});
|
|
setTimeout("reloading()", 2100);
|
|
}
|
|
},
|
|
error: function (XMLHttpRequest, textStatus, e) {
|
|
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// 表单赋值
|
|
function setData(data) {
|
|
console.log(data);
|
|
$("#id").val(data.id);
|
|
$("#id").val(data.id);
|
|
$("#name").val(data.name);
|
|
$("#idNumber").val(data.idNumber);
|
|
$("#phone").val(data.phone);
|
|
$("#month").val(data.month);
|
|
$("#basePay").val(data.basePay);
|
|
$("#monthPerPay").val(data.monthPerPay);
|
|
$("#quarterPerPay").val(data.quarterPerPay);
|
|
$("#yearPerPay").val(data.yearPerPay);
|
|
$("#quotaPay").val(data.quotaPay);
|
|
$("#overtimePay").val(data.overtimePay);
|
|
$("#countPay").val(data.countPay);
|
|
$("#festivalPay").val(data.festivalPay);
|
|
$("#foodPay").val(data.foodPay);
|
|
$("#certificatePay").val(data.certificatePay);
|
|
$("#hyperthermyPay").val(data.hyperthermyPay);
|
|
$("#nightPay").val(data.nightPay);
|
|
$("#healthPay").val(data.healthPay);
|
|
$("#securePay").val(data.securePay);
|
|
$("#qualityPay").val(data.qualityPay);
|
|
$("#projectPay").val(data.projectPay);
|
|
$("#feedPay").val(data.feedPay);
|
|
$("#advancedPay").val(data.advancedPay);
|
|
$("#praisePay").val(data.praisePay);
|
|
$("#otherPay").val(data.otherPay);
|
|
$("#secureFine").val(data.secureFine);
|
|
$("#qualityFine").val(data.qualityFine);
|
|
$("#otherFine").val(data.otherFine);
|
|
$("#payablePay").val(data.payablePay);
|
|
$("#fundMonth").val(data.fundMonth);
|
|
$("#socialPay").val(data.socialPay);
|
|
$("#fundPay").val(data.fundPay);
|
|
$("#retirement").val(data.retirement);
|
|
$("#treatment").val(data.treatment);
|
|
$("#unemployment").val(data.unemployment);
|
|
$("#illness").val(data.illness);
|
|
$("#socialDiffer").val(data.socialDiffer);
|
|
$("#fundFine").val(data.fundFine);
|
|
$("#fundDiffer").val(data.fundDiffer);
|
|
$("#personTotal").val(data.personTotal);
|
|
$("#preTax").val(data.preTax);
|
|
$("#personTax").val(data.personTax);
|
|
$("#foodFine").val(data.foodFine);
|
|
$("#realPay").val(data.realPay);
|
|
$("#orgName").val(data.orgName);
|
|
$("#typeName").val(data.typeName);
|
|
}
|
|
|
|
// 设置只读
|
|
function setReadOnly() {
|
|
$("#ssdw").attr("disabled","disabled");
|
|
|
|
$("#orgName").attr("disabled","disabled");
|
|
$("#rylx").attr("disabled", true);
|
|
$("#name").attr("readonly", true);
|
|
$("#idNumber").attr("readonly", true);
|
|
|
|
$("#lxdh").attr("readonly", true);
|
|
$("#age").attr("readonly", true);
|
|
$("#sex").attr("disabled", true);
|
|
$("#ryxz").attr("disabled", true);
|
|
$("#gw").attr("readonly", true);
|
|
|
|
$("#rzrq").attr("readonly", true);
|
|
$("#yhmc").attr("readonly", true);
|
|
$("#yhzh").attr("readonly", true);
|
|
$("#htOn").attr("readonly", true);
|
|
$("#htOff").attr("readonly", true);
|
|
|
|
$("#sbzy").attr("readonly", true);
|
|
$("#gjjzy").attr("readonly", true);
|
|
$("#be").attr("readonly", true);
|
|
$("#ywxOn").attr("readonly", true);
|
|
$("#ywxOff").attr("readonly", true);
|
|
|
|
|
|
$("#zgbyxx").attr("readonly", true);
|
|
$("#zgzy").attr("readonly", true);
|
|
$("#zgxl").attr("disabled", true);
|
|
|
|
$("#byxx").attr("readonly", true);
|
|
$("#zy").attr("readonly", true);
|
|
$("#xl").attr("disabled", true);
|
|
$("#hkxz").attr("disabled", true);
|
|
$("#hkdz").attr("readonly", true);
|
|
|
|
$("#jjlxr").attr("readonly", true);
|
|
$("#jjlxrdh").attr("readonly", true);
|
|
$("#jjlxrgx").attr("readonly", true);
|
|
|
|
}
|
|
|
|
// 取消只读
|
|
function cancelReadOnly() {
|
|
|
|
$("#ssdw").removeAttr("disabled");
|
|
$("#orgName").removeAttr("disabled");
|
|
|
|
$("#rylx").removeAttr("disabled");
|
|
$("#name").attr("readonly", false);
|
|
$("#idNumber").attr("readonly", false);
|
|
|
|
$("#lxdh").attr("readonly", false);
|
|
$("#age").attr("readonly", false);
|
|
|
|
$("#sex").removeAttr("disabled");
|
|
$("#ryxz").removeAttr("disabled");
|
|
$("#gw").attr("readonly", false);
|
|
|
|
$("#rzrq").attr("readonly", false);
|
|
$("#yhmc").attr("readonly", false);
|
|
$("#yhzh").attr("readonly", false);
|
|
$("#htOn").attr("readonly", false);
|
|
$("#htOff").attr("readonly", false);
|
|
|
|
$("#sbzy").attr("readonly", false);
|
|
$("#gjjzy").attr("readonly", false);
|
|
$("#be").attr("readonly", false);
|
|
$("#ywxOn").attr("readonly", false);
|
|
$("#ywxOff").attr("readonly", false);
|
|
|
|
|
|
$("#zgbyxx").attr("readonly", false);
|
|
$("#zgzy").attr("readonly", false);
|
|
$("#zgxl").removeAttr("disabled");
|
|
|
|
|
|
|
|
$("#byxx").attr("readonly", false);
|
|
$("#zy").attr("readonly", false);
|
|
|
|
$("#xl").removeAttr("disabled");
|
|
$("#hkxz").removeAttr("disabled");
|
|
$("#hkdz").attr("readonly", false);
|
|
|
|
$("#jjlxr").attr("readonly", false);
|
|
$("#jjlxrdh").attr("readonly", false);
|
|
$("#jjlxrgx").attr("readonly", false);
|
|
}
|
|
|
|
function Hide(){
|
|
$("#loginInformation").css("display","none");
|
|
$("#loginInformation #phone").attr("lay-verify","");
|
|
$("#loginInformation #userName").attr("lay-verify","");
|
|
}
|
|
function show(){
|
|
$("#loginInformation").css("display","");
|
|
$("#loginInformation #phone").attr("lay-verify","phone");
|
|
$("#loginInformation #userName").attr("lay-verify","userName");
|
|
}
|
|
|
|
//设置弹窗关闭
|
|
function reloading() {
|
|
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
|
parent.layer.close(index); //再执行关闭
|
|
window.parent.example.ajax.reload( null, false ); // 刷新页面
|
|
} |