var token = localStorage.getItem("token");
var name = localStorage.getItem("name");
var idNumber = localStorage.getItem("idNumber");
var postId = localStorage.getItem("postId");
var postName = localStorage.getItem("postName");
var certificateId = localStorage.getItem("certificateId");
var uploadCertificateName = localStorage.getItem("uploadCertificateName");
var id = localStorage.getItem("id");
var startDate = localStorage.getItem("startDate");
var stopDate = localStorage.getItem("stopDate");
var certificateFile = localStorage.getItem("certificateFile");
var certificateTypeFile = localStorage.getItem("certificateTypeFile");
var oneReviewTime = localStorage.getItem("oneReviewTime");
var twoReviewTime = localStorage.getItem("twoReviewTime");
var threeReviewTime = localStorage.getItem("threeReviewTime");
var num = 0;
var photoCount = 2;
//全局的页面遮盖
let loadingMsg;
//证件list
let cerList;
$(function () {
layui.use(['form', 'laydate', 'upload'], function () {
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var laydate = layui.laydate;
var upload1 = layui.upload;
var upload2 = layui.upload;
form.render();
form.verify({certificateId: [/^(?!-).*$/, '请选择证件类型'],});
initData();
getPostSelect(form, certificateId);
//二级联动
form.on('select(listenIsUpload)', function (data) {
certificateId = data.value;
setIsUploadSelect(form,data.value);
for (var i = 0; i < cerList.length; i++) {
if (certificateId == cerList[i].id) {
setHiddenData(cerList[i]);
}
}
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
//新增
console.log(id);
let lastTime = "";
if($("#threeReviewTime").val()!=""){
lastTime = $("#threeReviewTime").val();
}else if($("#twoReviewTime").val()!=""){
lastTime = $("#twoReviewTime").val();
}else if($("#oneReviewTime").val()!=""){
lastTime = $("#oneReviewTime").val();
}
if(lastTime !=""){
if (new Date(lastTime) > new Date($("#stopDate").val())){
layer.msg("证件有效期必须大于复审日期");
return;
}
}
if (id !="-1") {
updateCertificateType(data);
} else {
insertCertificateType(data);
}
});
laydate.render({
elem: '#dateGroup',
range: ['#startDate', '#stopDate'],
type: 'date',
done: function (value, date) {//时间回调
if(value != ""){
var dateGroup = value.split(" - ");
if (dateGroup != null) {
let basicDate = new Date(dateGroup[0]);
let interval1 = $("#recheckInterval1").val();
let interval2 = $("#recheckInterval2").val();
let interval3 = $("#recheckInterval3").val();
if(interval1!=0 && interval1!=null){
let date1 = DateAdd( "y ",Number.parseInt(interval1),basicDate);
$("#oneReviewTime").val(date1);
if(interval2!=0 && interval1!=null){
let date2 = DateAdd( "y ",Number.parseInt(interval2),basicDate);
$("#twoReviewTime").val(date2);
if(interval3!=0 && interval1!=null){
let date3 = DateAdd( "y ",Number.parseInt(interval3),basicDate);
$("#threeReviewTime").val(date3);
}
}
}
}
}
}
});
//多图片上传
var uploadcom1 = upload1.render({
elem: '#test1',
url: ctxPath + '/certificate/uploadFile', //改成您自己的上传接口
multiple: true, //是否允许多文件上传,默认未false
dataType: "json",
exts: 'jpg|png|jpeg',
//acceptMime: 'image/jpg,image/png,image/jpeg,file/pdf,file/xlsx',
auto: false, //是否自动上传 ,默认为true
number: 1, //最大上传数量
size: 1024 * 5, //最大文件大小,单位k
bindAction: '#hideUpload1', //绑定的按钮
// field: 'filePath', //传到后台的字段名,默认file
choose: function (obj) {
CODE_1 = 1;
uploadcom1.config.elem.next()[0].value = '';
files = obj.pushFile();
obj.preview(function (index, file, result) {
var length = $('#demo1 img').length;
if (length > 0) {
return layer.msg("附件为1张,请勿过多上传", {icon: 5});
}
$('#demo1').append('
');
$('#' + index).bind('dblclick', function () {//双击删除指定预上传图片
delete files[index];//删除指定图片
$(this).remove();
var imgNum = $("#demo1 img").length;
$("#test1").text(imgNum + "个文件");
});
var imgNum = $("#demo1 img").length;
$("#test1").text(imgNum + "个文件");
});
},
before: function (obj) {
this.data = {
id: id,
uploadType: "1"
};
if ($("[name='brand']").val() == '') {
return false;
} else {
console.log(files);
var names = '';
layui.each(files, function (index, file) {
console.log(file.name)
names += file.name + ',';
});
$("[name='image']").val(names)
console.log(names);
}
return true;
},
done: function (data) {
},
allDone: function (data) {
num++;
console.log("num:"+num)
if (num == photoCount) {
num = 0;
top.layer.close(loadingMsg);
top.layer.msg('文件保存成功', {icon: 1, time: 2000});
setTimeout("reloading()", 2100);
}
},
error: function (e) {
//请求异常回调
console.log(e)
}
});
var uploadcom2 = upload2.render({
elem: '#test2',
url: ctxPath + '/certificate/uploadFile', //改成您自己的上传接口
multiple: true, //是否允许多文件上传,默认未false
dataType: "json",
exts: 'jpg|png|jpeg',
//acceptMime: 'image/jpg,image/png,image/jpeg,file/pdf,file/xlsx',
auto: false, //是否自动上传 ,默认为true
number: 1, //最大上传数量
size: 1024 * 5, //最大文件大小,单位k
bindAction: '#hideUpload2', //绑定的按钮
// field: 'filePath', //传到后台的字段名,默认file
choose: function (obj) {
CODE_2 = 3;
var suffixType = ''; //后缀类型
uploadcom2.config.elem.next()[0].value = '';
files = obj.pushFile();
obj.preview(function (index, file, result) {
var length = $('#demo2 img').length;
if (length > 0) {
return layer.msg("附件为1张,请勿过多上传", {icon: 5});
}
$('#demo2').append('
');
$('#' + index).bind('dblclick', function () {//双击删除指定预上传图片
delete files[index];//删除指定图片
$(this).remove();
var imgNum = $("#demo2 img").length;
$("#test2").text(imgNum + "个文件");
});
var imgNum = $("#demo2 img").length;
$("#test2").text(imgNum + "个文件");
});
},
before: function (obj) {
this.data = {
id: id,
uploadType: "2"
};
if ($("[name='brand']").val() == '') {
return false;
} else {
console.log(files);
var names = '';
layui.each(files, function (index, file) {
console.log(file.name)
names += file.name + ',';
});
$("[name='image']").val(names)
console.log(names);
}
return true;
},
done: function (data) {
},
allDone: function (data) {
num++;
console.log("num:"+num)
if (num == photoCount) {
num = 0;
top.layer.close(loadingMsg);
top.layer.msg('文件保存成功', {icon: 1, time: 2000});
setTimeout("reloading()", 2100);
}
},
error: function (e) {
//请求异常回调
console.log(e)
}
});
laydate.render({
elem: '#oneReviewTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
});
laydate.render({
elem: '#twoReviewTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
});
laydate.render({
elem: '#threeReviewTime' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
});
});
});
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.example.ajax.reload( null, false ); // 刷新页面
}
function initData() {
$("#name").val(name);
$("#idNumber").val(idNumber);
$("#postName").val(postName);
$("#name").attr("disabled",true)
$("#idNumber").attr("disabled",true)
$("#postName").attr("disabled",true)
$("#isUpload").attr("disabled",true);
if(id != "-1"){
selectCheck();
}
}
function selectCheck() {
$("#id").val(id);
$("#startDate").val(startDate);
$("#stopDate").val(stopDate);
$("#oneReviewTime").val(oneReviewTime);
if(twoReviewTime==null || twoReviewTime =="null"){
twoReviewTime = "";
}
$("#twoReviewTime").val(twoReviewTime);
if(threeReviewTime==null || threeReviewTime =="null"){
threeReviewTime = "";
}
$("#threeReviewTime").val(threeReviewTime);
$("#certificateId").attr("disabled",true);
var demo1 = $("#demo1");
var html = '';
if (certificateFile != '' && certificateFile != null && certificateFile != 'null') {
var path = '';
if (certificateFile.indexOf("http") != -1) {
path = certificateFile;
} else {
path = ctxPath +"/" + certificateFile;
}
if(certificateFile.indexOf(".pdf") != -1 || certificateFile.indexOf(".doc") != -1 || certificateFile.indexOf(".docx") != -1){
var yulan = "../../../../img/fileIcon/yulan.png";
//是否包含pdf
if(certificateFile.indexOf(".pdf")){
yulan = "../../../../img/fileIcon/pdf.png";
}else if(certificateFile.indexOf(".xlsx") || certificateFile.indexOf(".xls")){
yulan = "../../../../img/fileIcon/excel.png";
}else if(certificateFile.indexOf(".docx") || certificateFile.indexOf(".doc")){
yulan = "../../../../img/fileIcon/docx.png";
}
if(id>0){
html += '
';
}else{
html += '
';
}
}else{
html += '
';
}
demo1.append(html);
}
var demo2 = $("#demo2");
html = '';
if (certificateTypeFile != '' && certificateTypeFile != null && certificateTypeFile != 'null') {
var path = '';
if (certificateTypeFile.indexOf("http") != -1) {
path = certificateTypeFile;
} else {
path = ctxPath + "/" + certificateTypeFile;
}
//由于单双击事件冲突,修改不能预览
if(certificateTypeFile.indexOf(".pdf") != -1 || certificateTypeFile.indexOf(".doc") != -1 || certificateTypeFile.indexOf(".docx") != -1){
var yulan = "../../../../img/fileIcon/yulan.png";
//是否包含pdf
if(certificateFile.indexOf(".pdf")){
yulan = "../../../../img/fileIcon/pdf.png";
}else if(certificateFile.indexOf(".xlsx") || certificateFile.indexOf(".xls")){
yulan = "../../../../img/fileIcon/excel.png";
}else if(certificateFile.indexOf(".docx") || certificateFile.indexOf(".doc")){
yulan = "../../../../img/fileIcon/docx.png";
}
if(id>0){
html += '
';
}else{
html += '
';
}
}else{
html += '
';
}
demo2.append(html);
}
layui.form.render();
}
function delPhoto1(i) {
var parentcolor = document.getElementById("demo1");
var childcolor = document.getElementById(i+"");
parentcolor.removeChild(childcolor);
}
function delPhoto2(i) {
var parentcolor = document.getElementById("demo2");
var childcolor = document.getElementById(i+"");
parentcolor.removeChild(childcolor);
}
function lookAttachment(filePath) {
filePreview(filePath);
}
function insertCertificateType(data) {
console.log($("#startDate").val());
let cerName = $("#certificateId").find("option:selected").text();
if(cerName.indexOf("(") != -1){
cerName = cerName.substring(0,cerName.indexOf("("));
}
if($("#demo1").children().length!=1){
return parent.layer.msg("持证附件有且只能上传1个文件",{icon:2,time:2000});
}else if($("#demo2").children().length!=1 && $("#isUpload").val()!=0){
return parent.layer.msg("其它附件有且只能上传1个文件",{icon:2,time:2000});
}else if(uploadCertificateName.indexOf(cerName)!=-1){
return parent.layer.msg("此工种证件已经上传,请去修改",{icon:2,time:2000});
}else if($("#startDate").val()==""){
return parent.layer.msg("请填写证件有效期",{icon:2,time:2000});
}
// 加载提示
loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
var formUrl = ctxPath + "/certificate/addWorkerCertificate";
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(data.field), //获取提交的表单字段
success: function (data) {
if (data.resMsg == "保存成功") {
id = data.obj.id;
parent.layer.msg('数据已保存,上传文件中。。。', {icon: 1, time: 3000},function () {
$("#hideUpload1").trigger("click");
if($("#isUpload").val()!=0){
$("#hideUpload2").trigger("click"); //触发上传文件
}
setTimeout("reloading()", 3100);
});
} else {
top.layer.close(loadingMsg);
parent.layer.msg('保存失败', {icon: 2, time: 2000});
setTimeout("reloading()", 5000);
}
},
error: function (XMLHttpRequest, textStatus, e) {
top.layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
function updateCertificateType(data) {
if($("#demo1").children().length!=1){
return parent.layer.msg("持证附件有且只能上传1个文件",{icon:2,time:2000});
}else if($("#demo2").children().length!=1 && $("#isUpload").val()!=0){
return parent.layer.msg("其它附件有且只能上传1个文件",{icon:2,time:2000});
}else if($("#startDate").val()==""){
return parent.layer.msg("请填写证件有效期",{icon:2,time:2000});
}
// 加载提示
loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
var formUrl = ctxPath + "/certificate/updateWorkerCertificate";
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(data.field), //获取提交的表单字段
success: function (data) {
if (data.resMsg == "保存成功") {
parent.layer.msg('等待图片上传。。。', {icon: 1, time: 3000},function () {
let num = 0;
$("#demo1").find("img").each(function () {
let newPhoto = $(this).attr("newPhoto");
if (newPhoto === undefined) {
num++;
}
})
$("#demo2").find("img").each(function () {
let newPhoto = $(this).attr("newPhoto");
if (newPhoto === undefined) {
num++;
}
})
photoCount = num;
if (num>0) {
$("#hideUpload1").trigger("click");
if($("#isUpload").val()!=0){
$("#hideUpload2").trigger("click"); //触发上传文件
}
}else{
reloading();
}
});
} else {
parent.layer.msg('保存失败', {icon: 2, time: 2000});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
parent.layer.close(loadingMsg); //再执行关闭
}
/**
* 获取岗位证件
* */
function getPostSelect(form, certificateId) {
$("#certificateId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/certificate/getPostBindingCertificate',
contentType:"application/json",
data: JSON.stringify({postId: postId}),
dataType: 'json',
success: function (data) {
if (data != null && data.length > 0) {
var str = '';
cerList = data;
for (var i = 0; i < data.length; i++) {
if (certificateId == data[i].id) {
str += '';
setIsUploadSelect(form,data[i].id);
setHiddenData(data[i]);
} else {
str += '';
}
}
} else {
var str = '';
}
$("#certificateId").html(str);
form.render();
}
})
}
/**
* 获取岗位证件
* */
function setIsUploadSelect(form, certificateId) {
$.ajax({
type: 'POST',
url: ctxPath + '/certificate/getPostBindingCertificate',
contentType:"application/json",
data: JSON.stringify({postId: postId,id:certificateId}),
dataType: 'json',
success: function (data) {
if (data != null && data.length > 0) {
for (var i = 0; i < data.length; i++) {
$("#isUpload").find('option[value=\'' + data[i].isUpload + '\']').prop("selected", "selected");
$("#remark").html(data[i].remark);
if(data[i].isUpload === '1'){
$("#test2").text("文件上传");
$("#test2").css("color","white")
$("#test2").attr("disabled",false)
photoCount = 2;
}else{
$("#test2").text("无需上传");
$("#test2").css("color","yellow")
$("#test2").attr("disabled",true)
$("#demo2").empty();
photoCount = 1;
}
}
}
form.render();
}
})
}
function setHiddenData(data) {
$("#recheckNum").val(data.recheckNum);
$("#recheckInterval1").val(data.recheckInterval1);
$("#recheckInterval2").val(data.recheckInterval2);
$("#recheckInterval3").val(data.recheckInterval3);
dynamicRecheck(data.recheckNum);
}
function DateAdd(interval,number,date)
{
/*
* 功能:实现VBScript的DateAdd功能.
* 参数:interval,字符串表达式,表示要添加的时间间隔.
* 参数:number,数值表达式,表示要添加的时间间隔的个数.
* 参数:date,时间对象.
* 返回:新的时间对象.
* var now = new Date();
* var newDate = DateAdd( "d ",5,now);
*--------------- DateAdd(interval,number,date) -----------------
*/
switch(interval)
{
case "y " : {
let taskStartTime;
date.setFullYear(date.getFullYear()+number);
if (date.getMonth() < 9) {
taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
} else {
taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
}
if (date.getDate() < 10) {
taskStartTime += "0" + date.getDate()
} else {
taskStartTime += date.getDate()
}
return taskStartTime;
break;
}
case "q " : {
date.setMonth(date.getMonth()+number*3);
return date;
break;
}
case "m " : {
date.setMonth(date.getMonth()+number);
return date;
break;
}
case "w " : {
date.setDate(date.getDate()+number*7);
return date;
break;
}
case "d " : {
date.setDate(date.getDate()+number);
return date;
break;
}
case "h " : {
date.setHours(date.getHours()+number);
return date;
break;
}
case "m " : {
date.setMinutes(date.getMinutes()+number);
return date;
break;
}
case "s " : {
date.setSeconds(date.getSeconds()+number);
return date;
break;
}
default : {
date.setDate(date.getDate()+number);
return date;
break;
}
}
}
function dynamicRecheck(recheckNum) {
if (recheckNum == 1) {
$("#timeDiv").css("display", "");
$("#twoReview").css("display", "none");
$("#threeReview").css("display", "none");
$("#twoReview").val("");
$("#threeReview").val("");
} else if (recheckNum == 2) {
$("#timeDiv").css("display", "")
$("#twoReview").css("display", "")
$("#threeReview").css("display", "none")
$("#threeReview").val("");
} else if (recheckNum == 3) {
$("#timeDiv").css("display", "")
$("#twoReview").css("display", "")
$("#threeReview").css("display", "")
} else if(recheckNum == 0) {
$("#timeDiv").css("display", "none")
$("#oneReview").val("");
$("#twoReview").val("");
$("#threeReview").val("");
}else{
layer.msg("复审次数不在范围")
}
}