HnRealNameBmwWeb/js/work/ownPerson/workerBenefitsForm.js

275 lines
10 KiB
JavaScript
Raw Normal View History

2025-06-26 10:07:09 +08:00
var element;
var idw;
var nums = 0;
var flag = true;
var form;
var num= 0;
var fileNum = 0;
var reportPathsFileId = '';
var addLoadingMsg ='';
$(function () {
layui.use(['form', 'laydate', 'upload'], function () {
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var laydate = layui.laydate;
var upload = layui.upload;
form.render();
form.verify({
reportType: [/^(?!-1).*$/, '请选择申报类型'],
});
//项目保险附件
//多图片上传
var uploadcom1 = upload.render({
elem: '#test1',
url: ctxPath + '/workerBenefits/saveFile', //改成您自己的上传接口
multiple: true, //是否允许多文件上传默认未false
dataType: "json",
exts: 'jpg|png|jpeg',
auto: false, //是否自动上传 默认为true
// number: 3, //最大上传数量
size: 1024 * 5, //最大文件大小单位k
bindAction: '#hideUpload1', //绑定的按钮
field: 'file', //传到后台的字段名,默认file
choose: function (obj) {
flag = false;
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 > 9) {
// delete files[index];//删除指定图片
// $(this).remove();
// return layer.msg("附件为1-10张请勿过多上传", {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: idw,
accessoryType: "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++;
if (num == fileNum) {
num = 0;
fileNum = 0;
top.layer.close(addLoadingMsg); //再执行关闭
top.layer.msg('保存成功', {icon: 1, time: 2000});
setTimeout("reloading()", 2100);
}
},
error: function (e) {
//请求异常回调
console.log(e)
}
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
var id = $("#id").val();
if (id == '') {
insertBenefits(data); // 新增公告
} else {
updateBenefits(data);
}
});
laydate.render({
elem: '#reportDate' //指定元素 元素选择器
, type: 'date' //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
, trigger: 'click'
, format: 'yyyy-MM-dd' //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
// , value: new Date() //初始值 今天
, btns: ['clear', 'now', 'confirm'] //选择框右下角显示的按钮 清除-现在-确定
, done: function (value, date) {//时间回调
}
});
});
});
//自有人员-申报类型字典下拉
function getOWNReportType(id) {
$("#reportType").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/users/getOWNType',
data: {
type:"reportType"
},
dataType: 'json',
success: function (data) {
var str = '<option value="-1">--请选择申报类型--</option>';
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
if (id == data[i].userId) {
str += '<option selected value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
} else {
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
}
}
}
$("#reportType").append(str);
layui.form.render(); //这里就是我们要渲染的地方了
}
})
}
// id表单赋值
function setWorkerId(ids) {
$("#workerId").val(ids);
}
// 表单赋值
function setData(data) {
$("#id").val(data.id);
$("#workerId").val(data.workerId);
$("#reportDate").val(data.reportDate);
getOWNReportType(data.reportType);
$("#remark").val(data.remark);
var reportPath = data.reportPath;
if (reportPath != '' && reportPath != null && reportPath != 'null') {
var demo1 = $("#demo1");
var html = '';
var photos = reportPath.split(',');
var reportPaths = data.reportPath.split(',');
for (var i = 0; i < photos.length; i++) {
var path = '';
if (photos[i].indexOf("http") != -1) {
path = photos[i];
} else {
path = dataPath + "/" + photos[i];
}
html += '<img newPhoto="1" src="' + path + '" name="' + photos[i] + '" ondblclick="delPhoto(\'' + i + 'reportPathsFile\',\'' + reportPaths[i] + '\')" id="' + i + 'reportPathsFile" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
}
demo1.append(html);
}
}
//新增
function insertBenefits(formData) {
// 加载提示
addLoadingMsg = parent.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
var formUrl = ctxPath + "/workerBenefits";
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
if(data.resMsg == "保存成功"){
fileNum++;
if(flag){
reloading();
top.layer.msg('保存成功', {icon: 1, time: 2000});
}
idw = data.obj;
$("#hideUpload1").trigger("click");
}else{
layer.msg(data.resMsg,{icon:1,time:2000});
setTimeout("reloading()", 3100);
}
parent.layer.close(addLoadingMsg); //关闭提示层
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
//修改工程
function updateBenefits(formData) {
// 加载提示
addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
// form请求地址
var formUrl = ctxPath + "/workerBenefits/updateBenefits";
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
date: {},
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(formData.field), //获取提交的表单字段
success: function (data) {
if (data.obj == "修改成功") {
var num = 0;
$("#demo1").find("img").each(function () {
var newPhoto = $(this).attr("newPhoto");
if (newPhoto === undefined) {
num++;
}
});
if (num > 0) {
idw = $("#id").val();
fileNum++;
$("#hideUpload1").trigger("click");
}
if(!num>0 ){
top.layer.close(addLoadingMsg);
parent.layer.msg('修改成功', {icon: 1, time: 2000});
setTimeout("reloading()", 2100);
}
} else if (data.resMsg == "保存失败") {
top.layer.close(addLoadingMsg);
parent.layer.msg('保存失败', {icon: 2, time: 2000});
} else {
top.layer.close(addLoadingMsg);
parent.layer.msg(data.resMsg, {icon: 2, time: 2000});
}
},
error: function (XMLHttpRequest, textStatus, e) {
top.layer.close(addLoadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
// 删除的图片数组
function delPhoto(id, photoId) {
$('#' + id).remove();
if (id.indexOf('reportPathsFile') != -1) {
reportPathsFileId += photoId + ',';
}
}
//设置弹窗关闭
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.example.ajax.reload( null, false ); // 刷新页面
}