HnRealNameBmwWeb/js/work/person/certificateManage/workerCertificateFrom.js

660 lines
27 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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('<img src="' + result + '" id="' + index + '" alt="' + file.name + '" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">');
$('#' + 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('<img src="' + result + '" id="' + index + '" alt="' + file.name + '" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">');
$('#' + 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 += '<img newPhoto="1" src="' + yulan + '" id ="certificateFile" ondblclick="delPhoto1(\'' + "certificateFile" + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}else{
html += '<img newPhoto="1" src="' + yulan + '" id ="certificateFile" onclick="lookAttachment(\'' + path + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
}else{
html += '<img newPhoto="1" src="' + path + '" id ="certificateFile" name="' + certificateFile + '" ondblclick="delPhoto1(\'' + "certificateFile" + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
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 += '<img newPhoto="1" src="' + yulan + '" id ="certificateTypeFile" ondblclick="delPhoto2(\'' + "certificateTypeFile" + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}else{
html += '<img newPhoto="1" src="' + yulan + '" id ="certificateTypeFile" onclick="lookAttachment(\'' + path + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
}else{
html += '<img newPhoto="1" src="' + path + '" id ="certificateTypeFile" name="' + certificateTypeFile + '" ondblclick="delPhoto2(\'' + "certificateTypeFile" + '\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
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 = '<option value="-1">请选择证件</option>';
cerList = data;
for (var i = 0; i < data.length; i++) {
if (certificateId == data[i].id) {
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
setIsUploadSelect(form,data[i].id);
setHiddenData(data[i]);
} else {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
} else {
var str = '<option value="-1">岗位未绑定证件</option>';
}
$("#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("复审次数不在范围")
}
}