yn_hxy_web/hxy-web/js/wireManager/staff/staffAdd.js

676 lines
20 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 idNumber;
var loadingMsg;
var trainFileNames = [];
var trainFilePaths = [];
var examFileNames = [];
var examFilePaths = [];
var staffType = "";
var tree;
var transfer;
var formSelects;
var olddata;
var purl="";
var pname="";
var filedata;
var chosenum=0;
layui.use(['element','layer','transfer', 'form', 'upload','laydate','tree'], function () {
var laydate = layui.laydate;
var upload = layui.upload;
var form = layui.form;
var layer = layui.layer;
tree = layui.tree;
formSelects= layui.formSelects;
transfer = layui.transfer ;
formSelects.disabled('proName', true);
$('#gtName').attr('disabled', true);
$('#chonsenBtn').show()
if(olddata){
setData2(olddata);
}
form.render();
//人员类型选择
$('.btnOption1 > div').click(function () {
$(this).addClass('pass').siblings().removeClass('pass');
var value = $(this).data('value');
$(this).attr('value', value).siblings().attr('value', '');
staffType = value;
console.log(staffType)
if(staffType==1){
formSelects.disabled('proName', false);
formSelects.render()
initProSelect();
$('#gtName').attr('disabled', false);
$('#chonsenBtn').hide()
$("#userType").val(1);
}
if(staffType==0){
formSelects.disabled('proName', true);
$('#gtName').attr('disabled', true);
$('#chonsenBtn').show()
$("#userType").val(0);
}
form.render();
});
//文件上传
var uploadInst = upload.render({
elem: '#contractFile' //绑定元素
,url: FILE_URL + "/file/uploadmake" //上传接口
,auto: false //选择文件后不自动上传
,multiple: true //是否允许多文件上传默认未false
,dataType: "json"
,exts: 'pdf'
,number: 1 //最大上传数量
,size: 1024 * 5 //最大文件大小单位k
,bindAction: '#hideUpload1' //指向一个按钮触发上传
,choose: function(obj){
//将每次选择的文件追加到文件队列
var files = obj.pushFile();
chosenum=1;
//预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function(index, file, result){
var length = $('#demo1 img').length;
if (length > 2) {
delete files[index];//删除指定图片
$(this).remove();
return layer.msg("附件为1-3张请勿过多上传", {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;
});
},
before: function (obj) {
this.data = {
photoType: "hxy"
};
},
done: function(res){
console.log(res,"upload");
purl=purl+res.data.url+",";
pname=pname+res.data.name+",";
$("#fileName").val(res.data.name);
$("#filePath").val(res.data.url);
$("#pdfPath").val(res.data.url);
},
allDone: function (data) {
var userType=$("#userType").val();
if(userType==1){
var proid="";
var dd=formSelects.value('proName', 'all');
console.log(dd,"formSelects");
if(dd.length>0){
$.each(dd,function(index,value){
proid=proid+value.value+",";
});
filedata.field.proId=proid;
}else{
layer.msg("请选择工程")
return;
}
}
if($("#id").val()==''){
addData(filedata); // 新增
}else{
updateData(filedata); // 修改
}
},
error: function(){
//请求异常回调
}
});
// 渲染开始时间选择器
laydate.render({
elem: '#startTime',
type: 'date',
format: 'yyyy-MM-dd',
fullPanel: true,
done: function(value) {
// 当选择开始时间大于结束时间,将结束时间置为空
var statrTime = value;
var endTime= $("#endTime").val();
if (statrTime != '') {
if (endTime != '') {
if (statrTime > endTime) {
$("#endTime").val('');
}
}
}
// 当选择开始时间后,更新结束时间选择器的最小值
// 当选择开始时间后,更新结束时间选择器的最小值
var endTimePicker = laydate.render({
elem: '#endTime',
type: 'date',
format: 'yyyy-MM-dd',
fullPanel: true,
// 将开始时间作为结束时间选择器的最小值,包括时分
// min: value,
// // 设置结束日期最大值为下个月的最后一天
// max: getNextMonthLastDay(),
done: function(value) {
var startTime = $("#startTime").val();
if (startTime != '' && value != '') {
if (value < startTime) {
$("#startTime").val('');
}
}
}
});
},
// 设置开始日期最小值为下个月的第一天
// min: getNextMonthFirstDay(),
// 设置开始日期最大值为下个月的最后一天
// max: getNextMonthLastDay()
});
// 渲染结束时间选择器
laydate.render({
elem: '#endTime',
type: 'date',
format: 'yyyy-MM-dd',
fullPanel: true,
// 设置结束日期最小值为下个月的第一天
// min: getNextMonthFirstDay(),
// 设置结束日期最大值为下个月的最后一天
// max: getNextMonthLastDay()
});
//监听填写事件-身份证号码
$('#idNumber').on('input', function() {
let inputVal = $(this).val();
let IDNu = document.getElementById('idNumber');
if (inputVal==''){
$(this).val('');
}
var re =/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
if (re.test(inputVal)) {
// layer.msg('身份证号码填写完成');
//出生日期
let age = inputVal.substring(6, 10) + "-" + inputVal.substring(10, 12) + "-" + inputVal.substring(12, 14);
$('#beBorn').val(age)
//性别
let sew = ''
var sec = inputVal.substring(16, 17);
if (sec % 2 == 0) {
sew = "女";
} else {
sew = "男";
}
$('#sex').val(sew)
}
});
//监听填写事件
$('#wagesMeasure').on('input', function() {
var inputVal = $(this).val();
if (inputVal==''){
$(this).val('');
}
// 转换为数字,并检查是否超出范围
var numVal = Number(inputVal);
if (isNaN(numVal) || numVal < 0 || numVal > 10000) {
// 如果值不合法,清空输入框
layer.msg('请输入不超过10000的正整数', {icon: 5});
$(this).val('');
}
});
//监听填写事件
$('#wagesDay').on('input', function() {
var inputVal = $(this).val();
if (inputVal==''){
$(this).val('');
}
// 转换为数字,并检查是否超出范围
var numVal = Number(inputVal);
if (isNaN(numVal) || numVal < 0 || numVal > 10000) {
// 如果值不合法,清空输入框
layer.msg('请输入不超过10000的正整数', {icon: 5});
$(this).val('');
}
});
form.verify({
//数组的两个值分别代表:[正则匹配、匹配不符时的提示文字]
tel: [/^1[3-9]\d{9}$/,'手机号格式不正确'],
idNumber:[/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/,'身份证号码不正确']
});
//取消按钮
$("#closeBt").click(function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
});
// 提交按钮
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
filedata=data;
if($("#id").val()==''){
if(chosenum==0){
layer.msg("请上传附件!")
return;
}
var usertype=$("#userType").val();
if(usertype==0){
var gtid=$("#gtId").val();
if(gtid==null||gtid==""){
layer.msg("请选择范围、基数!")
return;
}
}
$("#hideUpload1").trigger("click");
}else{
updateData(data); // 修改
}
});
});
function initProSelect(arr){
var yj_id=localStorage.getItem("oneselectyj");
$.ajax({
type:"post",
url : PATH_URL + "/personbase/getProDetail",
data:{
id:yj_id
},
dataType:"json",
success:function(res){
var data=[];
for(var i=0;i<res.data.length;i++){
var obj={};
obj.value=res.data[i].id;
obj.name=res.data[i].title;
data.push(obj)
}
formSelects.data('proName', 'local', {
arr: data
});
try{
var arr=$("#proId").val().split(",");
formSelects.value('proName', arr);
}catch(e){}
},
error:function(data){
}
});
}
/**
* 获取下个月第一天
* @returns {string}
*/
function getNextMonthFirstDay() {
var today = new Date();
var nextMonth = new Date(today.getFullYear(), today.getMonth() + 1, 1);
return nextMonth.getFullYear() + '-' + (nextMonth.getMonth() + 1) + '-01 00:00';
}
/**
* 获取下个月最后一天
* @returns {string}
*/
function getNextMonthLastDay() {
var today = new Date();
var nextMonth = new Date(today.getFullYear(), today.getMonth() + 2, 0);
return nextMonth.getFullYear() + '-' + (nextMonth.getMonth() + 1) + '-' + nextMonth.getDate() + ' 23:59';
}
//打开人员选择工程弹窗
function openChosenBox(){
var height = '90%';
var width = '60%';
var index = layer.open({
title: [`选择工程、杆塔 `, 'color:#3B70A1;background-color:#fff;font-size:20px'],
type: 1,
content: $("#chosenLine").html(),
btn: ['确认', '取消'],
closeBtn: 1,
area: [width, height],
success: function (layero, index) {
initTree()
/*var myIframe = parent.window[layero.find('iframe')[0]['name']];
var json = {'proIds': proId}
myIframe.setParams(json)*/
},
yes: function (index, layero) {//确认
console.log(1)
var getData = transfer.getData('gtList');
var pros=[];
var gts=[];
$.each(getData,function(index,item){
pros.push(item.proName);
gts.push(item.value);
})
var uniqueproArray = $.grep(pros, function (item, index) {
return index === $.inArray(item, pros);
});
var uniquegtsArray = $.grep(gts, function (item, index) {
return index === $.inArray(item, gts);
});
var area="";
$.each(uniqueproArray,function(index,item){
var gt="";
$.each(getData,function(index1,item1){
if(item==item1.proName){
gt=gt+item1.gtName+"/";
}
})
area=area+item+"("+gt+");"
})
var gtid="";
$.each(uniquegtsArray,function(index,item){
gtid=gtid+item+",";
})
$("#gtName").val(area);
$("#gtId").val(gtid);
layer.close(index);
},
btn2: function (index, layero) {//取消
console.log(2)
layer.close(index);
},
cancel: function(index, layero){//关闭
console.log(3)
layer.close(index);
},
});
}
//工程树Tree
function initTree(){
layui.use(['tree'], function () {
var tree = layui.tree;
var renderTree = function (data) {
tree.render({
elem: '#lineTree',
data: data,
id: 'lineTree',
showCheckbox: false,
accordion: false,
click: function (obj) {
console.log(obj);
initGtList(obj.data.id);
}
});
}
var yj_id=localStorage.getItem("oneselectyj");
console.log(yj_id,"yj_id");
$.ajax({//id获取详情打开弹窗传值子页面
type: 'post',
url: PATH_URL + "/personbase/getTreeDetail",
dataType: 'json',
data: {
id: yj_id
},
success: function (data) {
renderTree(data.data);
}
})
});
}
function initGtList(id){
var gtdata=[];
try{
gtdata=transfer.getData('gtList');
}catch(e){}
$.ajax({//id获取详情打开弹窗传值子页面
type: 'post',
url: PATH_URL + "/personbase/getGtDetail",
dataType: 'json',
data: {
id: id,
userId:$("#id").val()
},
success: function (data) {
var newvalue=[];
var newdata=[];
if(gtdata.length>0){
$.each(gtdata,function(index,item){
item.disabled=false;
newvalue.push(item.value);
newdata.push(item);
});
$.each(data.data,function(index,item){
var f=0;
$.each(newdata,function(index1,item1){
if(item.value==item1.value){
f=1;
}
});
if(f==0){
newdata.push(item);
}
});
}else if(data.datad.length>0){
gtdata=data.datad;
$.each(gtdata,function(index,item){
item.disabled=false;
newvalue.push(item.value);
newdata.push(item);
});
$.each(data.data,function(index,item){
var f=0;
$.each(newdata,function(index1,item1){
if(item.value==item1.value){
f=1;
}
});
if(f==0){
newdata.push(item);
}
});
}else{
newdata=data.data;
}
transfer.render({
elem: '#gtList',
data: newdata,
value:newvalue,
showSearch: true,
id: 'gtList',
title: ['杆塔', '已选'] //自定义标题
,onchange: function(obj, index){
var arr = ['左边', '右边'];
// layer.alert('来自 <strong>'+ arr[index] + '</strong> 的数据:'+ JSON.stringify(obj)); //获得被穿梭时的数据
}
})
console.log(transfer.getData('gtList'))
}
})
}
/**
* 新增
* @param formData
*/
function addData(formData) {
if(purl.length=0){
layer.msg("请上传合同附件!");
return;
}
// 加载提示
let loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址file
let formUrl = PATH_URL + "/personbase/insertUser";
formData.field.pdfPath=purl;
formData.field.fileName=pname;
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
data:formData.field,
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if(data.code == 200){
layer.msg("新增成功");
reloading();
}else{
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
/**
* 修改
* @param formData
* @returns {boolean}
*/
function updateData(formData) {
// 加载提示
let loadingMsg = layer.msg('数据请求中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
let formUrl = PATH_URL + "/personbase/updateUser";
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
data:formData.field,
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if(data.code == 200){
// layer.msg("修改成功");
reloading();
}else{
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
/**
* 隐藏提交按钮和关闭按钮
*/
function hideSubmit() {
// 使用getElementById根据ID选择按钮
var submitButton = document.getElementById('submitBt');
var closeButton = document.getElementById('closeBt');
// 如果按钮存在,则隐藏它
if (submitButton) {
submitButton.style.display = 'none';
}
if (closeButton) {
closeButton.style.display = 'none';
}
}
function setData(data){
olddata=data;
}
/**
* 设置数据
* @param data
*/
function setData2(data) {
console.log(data);
$("#id").val(data.id);
$("#userName").val(data.userName);
$("#idNumber").val(data.idNumber);
$("#sex").val(data.sex);
$("#beBorn").val(data.beBorn);
$("#tel").val(data.tel);
$("#address").val(data.address);
$("#healthStatus").val(data.healthStatus);
$("#degree").val(data.degree);
$("#gtName").val(data.gtName);
$("#wagesMeasure").val(data.wagesMeasure);
$("#wagesDay").val(data.wagesDay);
$("#startTime").val(data.startTime);
$("#endTime").val(data.endTime);
$("#bank").val(data.bank);
$("#bankCard").val(data.bankCard);
$("#unionpayNum").val(data.unionpayNum);
$("#bankBranch").val(data.bankBranch);
$("#fileName").val(data.fileName);
$("#filePath").val(data.filePath);
$("#pdfPath").val(data.pdfPath);
// getTaskSource("taskSourceId",data[0].taskSourceId);
// $("#taskSourceId").val(data[0].taskSourceId);
// 首先移除所有选项的 pass 类
$('.btnOption1 > div').removeClass('pass');
// 根据 值 添加 pass 类和设置 value 属性
$('.btnOption1 > div').each(function () {
console.log($(this).data('value'),"bot");
if ($(this).data('value') == data.userType) {
$(this).addClass('pass').attr('value', data.userType);
} else {
$(this).attr('value', '');
}
});
$("#userType").val(data.userType);
if(data.userType==1){
$("#proId").val(data.proId);
// formSelects.disabled('proName', false);
initProSelect();
$('#gtName').attr('disabled', false);
$('#chonsenBtn').hide()
}
if(data.userType==0){
$("#gtId").val(data.gtId);
formSelects.disabled('proName', true);
$('#gtName').attr('disabled', true);
$('#chonsenBtn').show()
}
}
/**
* 关闭页面 刷新页面
*/
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.location.reload();
}
function importData() {
var fileData = new FormData();
fileData.append('file', $('#file')[0].files[0]);
fileData.append('remark', $("#remark").val());
fileData.append('trainFileName', trainFileNames.toString());
fileData.append('trainFilePath', trainFilePaths.toString());
fileData.append('examFileName', examFileNames.toString());
fileData.append('examFilePath', examFilePaths.toString());
// 加载提示
loadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
var formUrl = oiPlanUrl + "/offlineResUpload/importData";
$.ajax({
type: 'POST',
url: formUrl, // 请求地址
data: fileData,
processData: false,
contentType: false,
success: function (data) {
top.layer.close(loadingMsg); //再执行关闭
if (data.code == 200) {
top.layer.alert(data.msg);
reloading();
} else {
top.layer.alert(data.msg, {icon: 2});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
top.layer.close(addLoadingMsg); //再执行关闭
}
});
}