hn_cloud_web/smz-web/js/work/person/wagesManage/wagesUploadFile.js

218 lines
8.4 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 = localStorage.getItem("idNumber");
$(function () {
$("#demo2").bind("DOMNodeInserted", insertedChanges); // 监听图片数量
$("#demo2").bind("DOMNodeRemoved", removedchanges); // 监听图片数量
layui.use(['form', 'laydate','upload'], function () {
var 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个中文字符'],
rollBankNames :[/^((?!农村|商业银行|信用社).)*$/,'此银行的银行卡不可作为工资卡,请更换其他行银行卡'],
}
);
// 验证成功后才会执行下面的操作
form.on('submit(model)', function (data) {
addWagesFile(data); // 新增接地信息
});
// select 监听
form.on('select(orgId)', function(data){
getProject(data.value,null);
// form.render('select');//select是固定写法 不是选择器
});
form.on('select(proId)', function(data){
getWorkSence(data.value,null);
// form.render('select');//select是固定写法 不是选择器
});
//多图片上传
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); //得到文件对象
$('#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();
});
});
},
before: function (obj) {
this.data = {
'idNumber': idNumber// 携带参数到后台
};
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) {
reloading();
},
error: function (e) {
//请求异常回调
console.log(e)
}
});
});
getBankAccount();
});
// 新增工资卡
function addWagesFile(formData) {
if($("#demo2").children().length==0){
return parent.layer.msg("请上传照片",{icon:2,time:2000});
}
// form请求地址
var formUrl = smz_ht_url + "/wagesInfo/addBankInfo";
var bankName = $("#bankName").val();
var rollBankName = $("#rollBankName").val();
var bankCard = $("#bankCard").val();
var form = {"idNumber" : idNumber,"bankName" : bankName,"rollBankName" : rollBankName, "bankCard":bankCard};
$.ajax({
type: 'post',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
dataType: 'json', // 服务器返回数据类型
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(form), //获取提交的表单字段
success: function (data) {
if (data.resMsg == "保存成功") {
parent.layer.alert('保存成功',{icon: 1, time: 2000}, function () {
$("#hideUpload").trigger("click"); //触发上传文件
});
} else {
parent.layer.msg('保存失败', {icon: 2, time: 2000});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
// 取消按钮
function cancelBtns() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
}
function setData(data) {
getCompanys(data.orgId); // 分公司
getProject(data.orgId, data.proId);
getWorkSence(data.proId,data.workSenceId);
$("#groundResistance").val(data.groundResistance);
$("#position").val(data.position);
$("#groundModel").val(data.groundModel);
$("#groundDepth").val(data.groundDepth);
$("#id").val(data.id);
id = data.id;
var photoPath = data.photoPath;
if (photoPath != '') {
var demo2 = $("#demo2");
var html = '';
var photos = photoPath.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 += '<img src="' + path + '" id="' + i + '" name="'+photos[i]+'" ondblclick="delPhoto(\''+i+'\')" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
demo2.append(html);
}
}
// 删除的图片数组
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 getValue(url) {
//获取最后一个/的位置
var site = url.lastIndexOf("\/");
//截取最后一个/后的值
return url.substring(site + 1, url.length);
}
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.example.ajax.reload( null, false ); // 刷新页面
}
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";
}
}
/**
* 获取工资账户所属银行
* */
function getBankAccount() {
$("#bankName").empty();
$.ajax({
type: 'POST',
url: smz_ht_url + '/project/getBankAccount',
dataType: 'json',
success: function (data) {
var str = '<option selected value="-1">请选择银行</option>';
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
$("#bankName").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
})
}