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

132 lines
4.9 KiB
JavaScript
Raw Normal View History

2025-11-27 16:55:35 +08:00
var form, layer, laydate, upload, personnelType,idNumber,delId,contractId,proId;
var fileList = new Array(), imgListUp = new Array();
var id = localStorage.getItem("id");
layui.use(['form', 'layer', 'laydate', 'upload'], function () {
layer = layui.layer;
form = layui.form;
laydate = layui.laydate;
upload = layui.upload;
form.render();
var uploadObj = upload.render({
elem: '#test2',
multiple: true,
dataType: "json",
exts: 'pdf',
acceptMime: 'image/pdf',
number: 3, //最大上传数量
size: 1024 * 6, //最大文件大小单位k
auto: false, //是否自动上传 默认为true
bindAction: '#hideUpload', //绑定的按钮
choose: function (obj) {
uploadObj.config.elem.next()[0].value = '';
obj.preview(function (index, file, result) {
var viewPath = "../../../../img/fileIcon/pdf.png";
var length = $('#uploader-list .file-iteme').length;
if (length > 2) {
return layer.msg("回执单附件为1-3张请勿过多上传", {icon: 5});
}
console.error(fileList);
$('#uploader-list').append(
'<div id="" class="file-iteme">' +
'<div class="handle"><i class="layui-icon layui-icon-delete"></i></div>' +
'<img class="img" style="width: 100px;height: 100px;" data-index=' + index + ' data-name=' + file.name + ' src=' + viewPath + '>' +
'</div>'
);
var map = new Map();//将选择的图片索引和图片写成对象存入集合
map.index = index;
map.file = file;
fileList.push(map);
});
}
});
form.on('submit(formDemo)', function (data) {
saveData(data);
});
});
// 提交数据
function saveData(data) {
console.log(data);
if (fileList.length === 0) {
return layer.msg("请上传回执单附件", {icon: 5})
}
var formData = new FormData();
//遍历最终集合
for (var i = 0; i < fileList.length; i++) {
formData.append("file[]", fileList[i].file)
}
data.field.id = id;
formData.append("params",JSON.stringify(data.field))
// 加载提示
var loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
$.ajax({
2025-12-09 18:44:29 +08:00
url: smz_ht_url + '/wagesInfoReceipt/uploadReceipt',
2025-11-27 16:55:35 +08:00
type: 'POST',
data: formData,
dataType: 'json',
processData: false,
contentType: false,
beforeSend: function () {
},
success: function (result) {
console.log(result);
layer.close(loadingMsg); // 关闭提示层
if(result.resMsg === 'success'){
top.layer.msg(result.obj, {icon: 1});
closePage(1);
}else{
parent.layer.msg(result.obj, {icon: 5});
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
},
error: function (result) {
layer.close(loadingMsg); // 关闭提示层
layer.msg('数据上传发生异常,请稍后重试', {icon: 16, scrollbar: false,time:2000});
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
});
}
$(document).on("mouseenter mouseleave", ".file-iteme", function (event) {
if (event.type === "mouseenter") {
//鼠标悬浮
$(this).children(".info").fadeIn("fast");
$(this).children(".handle").fadeIn("fast");
} else if (event.type === "mouseleave") {
//鼠标离开
$(this).children(".info").hide();
$(this).children(".handle").hide();
}
});
// 删除图片
$(document).on("click", ".file-iteme .handle", function (event) {
imgListUp.splice(0,imgListUp.length);
var index = $(this).next().attr('data-index');
$.each(fileList, function (inx, ele) {
//对比删除图片索引
//将未删除的存入新集合
if (index != ele.index) {
imgListUp.push(ele);
}
});
$(this).parent().remove();
//将新图片集合替换老集合
fileList.splice(0,fileList.length);
$.each(imgListUp, function (inx, ele) {
fileList.push(ele)
});
});
// 关闭页面
function closePage(type) {
// let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.closeAll(); //再执行关闭
if (type === 1) {
parent.reloadData();
}
}