hn_cloud_web/smz-web/js/work/ownPersonContract/employProtocolContract.js

407 lines
18 KiB
JavaScript
Raw Normal View History

2025-11-27 16:55:35 +08:00
var from;
2025-12-05 15:39:43 +08:00
var token = localStorage.getItem("smz-token");
2025-11-27 16:55:35 +08:00
var laydate;
$(function () {
layui.use(['form', 'laydate','layer'], function () {
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
laydate = layui.laydate;
var layer = layui.layer;
from = form;
form.render();
form.verify({
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位正整数字符(无符号)'],
decimal:[/^\d+(\.\d{1,2})?$/,'请正确输入金额,保留两位小数'],
});
laydate.render({
elem: '#trialStartTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy年MM月dd日' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date,endDate) {//时间回调
// 将日期字符串替换成标准时间格式的字符串
var trialStartTime = $('#trialStartTime').val().replace('年','-').replace('月','-').replace('日','');
var trialStartTimes = new Date(trialStartTime).getTime();
var trialEndTime = $('#trialEndTime').val().replace('年','-').replace('月','-').replace('日','');
var trialEndTimes = new Date(trialEndTime).getTime();
if (trialStartTimes != null) {
if (trialEndTimes != null) {
if (trialEndTimes < trialStartTimes) {
parent.layer.msg('协议失效日期不能小于协议生效日期', {icon: 2, time: 2500});
$("#startTime").val("");
}else{
}
}
}
var year = getYearDifference(trialStartTime, trialEndTime);
var month = getMonthDifference(trialStartTime, trialEndTime);
document.getElementById("year").innerHTML = year;
}
});
laydate.render({
elem: '#trialEndTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy年MM月dd日' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date,endDate) {//时间回调
// 将日期字符串替换成标准时间格式的字符串
var trialStartTime = $('#trialStartTime').val().replace('年','-').replace('月','-').replace('日','');
var trialStartTimes = new Date(trialStartTime).getTime();
var trialEndTime = $('#trialEndTime').val().replace('年','-').replace('月','-').replace('日','');
var trialEndTimes = new Date(trialEndTime).getTime();
if (trialStartTimes != null) {
if (trialEndTimes != null) {
if (trialEndTimes < trialStartTimes) {
parent.layer.msg('协议失效日期不能小于协议生效日期', {icon: 2, time: 2500});
$("#startTime").val("");
}else{
}
}
}
var year = getYearDifference(trialStartTime, trialEndTime);
var month = getMonthDifference(trialStartTime, trialEndTime);
document.getElementById("year").innerHTML = year;
}
});
laydate.render({
elem: '#aTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy年MM月dd日'
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date,endDate) {//时间回调
}
});
/*laydate.render({
elem: '#bTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy年MM月dd日'
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date,endDate) {//时间回调
}
});*/
initData();
});
});
function initData() {
var workId=localStorage.getItem("htworkId");
var contractCode=localStorage.getItem("htcontractCode" );
var ssdw=localStorage.getItem("htssdw" );
var ssdwdz=localStorage.getItem("htssdwdz" );
var hkdz=localStorage.getItem("hthkdz" );
var gw=localStorage.getItem("htgw" );
var workName=localStorage.getItem("htworkName" );
var idNumber=localStorage.getItem("htidNumber" );
var lxdh=localStorage.getItem("htlxdh" );
var legalPersonName=localStorage.getItem("htlegalPersonName" );
var electronicSeal=localStorage.getItem("electronicSeal" );
var legalPersonSeal=localStorage.getItem("legalPersonSeal" );
var birthday="";
var sexNum="n";
var sex="";
if(idNumber!=null){
birthday=idNumber.substring(6,12);
sexNum=idNumber.substring(16,17);
}
if(sexNum!="n"){
if(sexNum % 2 == 0){
sex="女";
}else{
sex="男";
}
}
console.log(hkdz)
$("#htbh").val(contractCode=='null'?"":contractCode);
$("#name").val(workName=='null'?"":workName);
$("#hkdz").val(hkdz=='null'?"":hkdz);
$("#idNumber").val(idNumber=='null'?"":idNumber);
$("#lxdh").val(lxdh=='null'?"":lxdh);
$("#gw").val(gw=='null'?"":gw);
$("#birthday").val(birthday=='null'?"":birthday);
$("#sex").val(sex=='null'?"":sex);
var partyA = document.getElementById('partyA');
partyA.src = dataPath + "/" + electronicSeal;
var entrustedAgent = document.getElementById('entrustedAgent');
entrustedAgent.src = dataPath + "/" + legalPersonSeal;
}
function inht() {
$('#onht').attr('disabled','disabled');
var year=$("#year").val();
var startTime=$("#trialStartTime").val();
var endTime=$("#trialEndTime").val();
var noFixedTime=$("#noFixedTime").val();
var trialStartTime=$("#trialStartTime").val();
var trialEndTime=$("#trialEndTime").val();
var work=$("#work").val();
var dtype=$("#type").val();
var testMonth=$("#month").val();
var specialAgreement=$("#specialAgreement").val();
var wageCriterion=$("#wageCriterion").val();
var wages=$("#wages").val();
var address=$("#address").val();
var code=$("#code").val();
var defaultd=$("#default").val();
var aTime=$("#aTime").val();
var bTime=$("#bTime").val();
var sex=$("#sex").val();
var orderd=$("#order").val();
var days=$("#days").val();
var workId=localStorage.getItem("htworkId");
var contractCode=localStorage.getItem("htcontractCode" );
var ssdw=localStorage.getItem("htssdw" );
var ssdwdz=localStorage.getItem("htssdwdz" );
var hkdz=localStorage.getItem("hthkdz" );
var gw=localStorage.getItem("htgw" );
var workName=localStorage.getItem("htworkName" );
var idNumber=localStorage.getItem("htidNumber" );
var lxdh=localStorage.getItem("htlxdh" );
var legalPersonName=localStorage.getItem("htlegalPersonName" );
var electronicSeal=dataPath + "/" +localStorage.getItem("electronicSeal" );
var legalPersonSeal=dataPath + "/" +localStorage.getItem("legalPersonSeal" );
var formUrl = ctxPath + "/OwnContract/inContract";
if(dtype==2){
startTime="/";
endTime="/";
}else {
noFixedTime="/";
}
localStorage.setItem("resByinht",0)
if(trialStartTime==null||trialStartTime==""||wageCriterion==null||wageCriterion==""){
layer.msg("请确保信息完整!");
localStorage.setItem("resByinht",1)
return ;
}
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: ctxPath + "/OwnContract/preview", // 请求地址
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"orgName":ssdw,
"electronicSeal":electronicSeal,
"legalPersonSeal":legalPersonSeal,
"signYear":year,
"testMonth":testMonth,
"workTime":orderd,
"advanceDay":days,
"residence":ssdwdz,
"legalRepresentative":legalPersonName,
"name":workName,
"workContent":work,
"defaultResponsibility":defaultd,
"hkdz":hkdz,
"idNumber":idNumber,
"lxdh":lxdh,
"sex":sex,
"gw":gw,
"shippingAddress":address,
"specialAgreement":specialAgreement,
"postalCode":code,
"workId":workId,
"signStartDate":startTime,
"signEndDate":endTime,
"noFixedTime":noFixedTime,
"testSignStartDate":trialStartTime,
"testSignEndDate":trialEndTime,
"monthPay":wageCriterion,
"testMonthPay":wages,
"contractCode":contractCode,
"type":'7',
"aTime":aTime,
"bTime":bTime
}),
dataType: "json",
success: function (data) {
if(data.res =="1"){
var path = data.obj;
if(path){
localStorage.setItem("resByinht",2);
localStorage.setItem("path",path);
// 获取子页面的窗口对象
var index = layer.open({
title: ['预览','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'workerContractView.html',
area: ["100%", "100%"],
maxmin: false,
btn: ['合同下发', '关闭'],
shade: 0.3, // 遮罩层透明度取值范围为0 ~ 1
shadeClose: true, // 点击遮罩层关闭弹出层
cancel: function(index, layero) {
// 右上角关闭按钮点击时的处理逻辑
window.parent.document.getElementById('contractTemplate').style.display="block";
window.parent.document.getElementById('btns').style.display="block";
},
success: function (layero, index) {
},
yes: function (index, layero) {
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"orgName":ssdw,
"electronicSeal":electronicSeal,
"legalPersonSeal":legalPersonSeal,
"signYear":year,
"testMonth":testMonth,
"workTime":orderd,
"advanceDay":days,
"residence":ssdwdz,
"legalRepresentative":legalPersonName,
"name":workName,
"workContent":work,
"defaultResponsibility":defaultd,
"hkdz":hkdz,
"idNumber":idNumber,
"lxdh":lxdh,
"sex":sex,
"gw":gw,
"shippingAddress":address,
"specialAgreement":specialAgreement,
"postalCode":code,
"workId":workId,
"signStartDate":startTime,
"signEndDate":endTime,
"noFixedTime":noFixedTime,
"testSignStartDate":trialStartTime,
"testSignEndDate":trialEndTime,
"monthPay":wageCriterion,
"testMonthPay":wages,
"contractCode":contractCode,
"type":'7',
"aTime":aTime,
"bTime":bTime
}),
dataType: "json",
success: function (data) {
if (data.obj == "修改成功") {
parent.layer.msg("下发成功", {icon: 1});
setTimeout("reloading()", 2100)
} else {
parent.layer.msg(data.resMsg, {icon: 2});
}
$('#onht').removeAttr('disabled');
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
},
btn2: function (index, layero) {
window.parent.document.getElementById('contractTemplate').style.display="block";
window.parent.document.getElementById('btns').style.display="block";
}
});
}else{
parent.layer.msg("生成预览文件失败", {icon: 2});
}
}else{
parent.layer.msg("生成预览文件失败", {icon: 2});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
/*$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"orgName":ssdw,
"electronicSeal":electronicSeal,
"legalPersonSeal":legalPersonSeal,
"signYear":year,
"testMonth":testMonth,
"workTime":orderd,
"advanceDay":days,
"residence":ssdwdz,
"legalRepresentative":legalPersonName,
"name":workName,
"workContent":work,
"defaultResponsibility":defaultd,
"hkdz":hkdz,
"idNumber":idNumber,
"lxdh":lxdh,
"sex":sex,
"gw":gw,
"shippingAddress":address,
"specialAgreement":specialAgreement,
"postalCode":code,
"workId":workId,
"signStartDate":startTime,
"signEndDate":endTime,
"noFixedTime":noFixedTime,
"testSignStartDate":trialStartTime,
"testSignEndDate":trialEndTime,
"monthPay":wageCriterion,
"testMonthPay":wages,
"contractCode":contractCode,
"type":'7',
"aTime":aTime,
"bTime":bTime
}),
dataType: "json",
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data.obj == "修改成功") {
parent.layer.msg("下发成功", {icon: 1});
} else {
parent.layer.msg(data.obj, {icon: 2});
}
$('#onht').removeAttr('disabled');
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});*/
}
function getYearDifference(date1, date2) {
var startDate = new Date(date1);
var endDate = new Date(date2);
var diffInMilliseconds = Math.abs(endDate - startDate);
var millisecondsPerYear = 1000 * 60 * 60 * 24 * 365.25;
var diffInYears = diffInMilliseconds / millisecondsPerYear;
return Math.floor(diffInYears);
}
function getMonthDifference(date1, date2) {
var startDate = new Date(date1);
var endDate = new Date(date2);
var yearDiff = endDate.getFullYear() - startDate.getFullYear();
var monthDiff = endDate.getMonth() - startDate.getMonth();
return yearDiff * 12 + monthDiff;
}
//设置弹窗关闭
function reloading() {
parent.layer.closeAll(); //再执行关闭
window.parent.parent.location.reload();// 刷新页面
}