var flag = false; var token = localStorage.getItem("smz-token"); var idNumber = localStorage.getItem("idNumber"); var bankCard = localStorage.getItem("bankCard"); var bankId = localStorage.getItem("bankId"); var rollBankName = localStorage.getItem("rollBankName"); var uploadName = localStorage.getItem("uploadName"); var uploadTime = localStorage.getItem("uploadTime"); var witnessPath = localStorage.getItem("witnessPath"); var proId = localStorage.getItem("proId"); var _newPhoto = 0; var form; $(function () { $("#demo2").bind("DOMNodeInserted", insertedChanges); // 监听图片数量 $("#demo2").bind("DOMNodeRemoved", removedchanges); // 监听图片数量 layui.use(['form', 'laydate', 'upload'], function () { form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功 var laydate = layui.laydate; var upload = layui.upload; form.render(); form.verify( { bankName: [/^(?!-1).*$/, '请选择银行'], bankCard: [/^[0-9]\d{11,22}$/, '请输入12-22位正整数字符(无符号)'], rollBankName: [/^[\u4e00-\u9fa5_]{4,100}$/, '开户银行支行名称请输入4-60个中文字符'], } ); setInfo(); // 验证成功后才会执行下面的操作 form.on('submit(model)', function (data) { var id = $("#id").val(); var bankName = $("#bankName").val(); data.field.deletePath = deletePhoto.toString(); data.field.idNumber = idNumber; data.field.bankName = bankName; updatePhotosAndInfo(data); // 修改人员工资信息 }); //多图片上传 var uploadcom1 = upload.render({ elem: '#test2', url: smz_ht_url + '/wagesInfo/uploadFile', //改成您自己的上传接口 multiple: true, //是否允许多文件上传,默认未false dataType: "json", exts: 'jpg|png|jpeg', acceptMime: 'image/jpg,image/png,image/jpeg', auto: false, //是否自动上传 ,默认为true number: 3, //最大上传数量 size: 1024 * 5, //最大文件大小,单位k bindAction: '#hideUpload', //绑定的按钮 field: 'file', //传到后台的字段名,默认file choose: function (obj) { uploadcom1.config.elem.next()[0].value = ''; files = obj.pushFile(); obj.preview(function (index, file, result) { console.log(index); //得到文件索引 console.log(file.name); //得到文件对象 _newPhoto++; $('#demo2').append('' + file.name + ''); $('#' + index).bind('dblclick', function () {//双击删除指定预上传图片 delete files[index];//删除指定图片 $(this).remove(); }); }); }, before: function (obj) { this.data = { 'idNumber': idNumber, // 携带参数到后台 // 'bankCard': bankCard, // 'bankName': bankName, // 'rollBankName': rollBankName, 'proId': proId, }; 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) { reloading(); }, allDone: function (data) { reloading(); }, error: function (e) { //请求异常回调 console.log(e) } }); }); }); // 修改图片信息和数据 function updatePhotosAndInfo(formData) { if ($("#demo2").children().length == 0) { return parent.layer.msg("请上传照片", {icon: 2, time: 2000}); } else if ($("#demo2").children().length > 3) { return parent.layer.msg("最多只能上传3张照片", {icon: 2, time: 2000}); } // form请求地址 var formUrl = smz_ht_url + "/wagesInfo/updateSalaryWintnessInfo"; $.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) { if (data.resMsg == "修改成功") { parent.layer.alert('修改成功', {icon: 1, time: 1000}, function () { // var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 // parent.layer.close(index); //再执行关闭 // var la = $("demo2").find("img").prop("isupload"); let num = 0; $("#demo2").find("img").each(function () { let isupload = $(this).attr("isupload"); console.log("isupload:"+isupload) if (isupload === undefined) { num++; } }) if (num>0) { $("#hideUpload").trigger("click"); //触发上传文件 }else{ reloading(); } }); } else { parent.layer.alert('修改失败', {icon: 2, time: 3000}, function () { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 }); } }, error: function (XMLHttpRequest, textStatus, e) { layer.msg('数据请求发生异常,请稍后重试', {icon: 16, time: 3000, scrollbar: false}); } }); } function setInfo() { $("#uploadName").val(uploadName); $("#uploadTime").val(uploadTime); $("#bankCard").val(bankCard); // $("#bankName").val(bankName); getBankAccount(bankId);// 工资专户所属银行 // $("#bankNames").val(bankName); $("#rollBankName").val(rollBankName); if (witnessPath != '') { var demo2 = $("#demo2"); var html = ''; var photos = witnessPath.split(","); for (var i = 0; i < photos.length; i++) { var path = ''; var fileName = getValue(photos[i]); if (photos[i].indexOf("http") != -1) { path = photos[i]; } else { path = smz_ht_url + "/" + photos[i]; } html += ''; } demo2.append(html); } } /** * 获取工资账户所属银行 * */ function getBankAccount(bankId) { $("#bankName").empty(); $.ajax({ type: 'POST', url: smz_ht_url + '/project/getBankAccount', dataType: 'json', success: function (data) { var str = ''; if (data.length > 0) { for (var i = 0; i < data.length; i++) { if (bankId === data[i].id) { str += ''; } else { str += ''; } } } $("#bankName").append(str); // layui.form.render('select'); //这里就是我们要渲染的地方了 form.render('select'); //这里就是我们要渲染的地方了 } }) } function getValue(url) { //获取最后一个/的位置 var site = url.lastIndexOf("\/"); //截取最后一个/后的值 return url.substring(site + 1, url.length); } function insertedChanges() { var length = $("#demo2").children().length; if (length >= 3) { document.getElementById("test2").style.visibility = "hidden"; } else { document.getElementById("test2").style.visibility = "visible"; } } function removedchanges() { var length = $("#demo2").children().length - 1; if (length < 3) { document.getElementById("test2").style.visibility = "visible"; } else { document.getElementById("test2").style.visibility = "hidden"; } } // 删除的图片数组 var deletePhoto = []; // 删除图片 function delPhoto(i) { var parentcolor = document.getElementById("demo2"); var childcolor = document.getElementById(i + ""); var path = childcolor.name; deletePhoto.push(path); parentcolor.removeChild(childcolor); } // 取消按钮 function cancelBtns() { var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 parent.layer.close(index); } function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.example.ajax.reload( null, false ); // 刷新页面 }