yn_hxy_web/hxy-web/js/wireManager/viewResult/normalInspectionUpload.js

237 lines
8.2 KiB
JavaScript
Raw Normal View History

let loadingMsg;
var form;
var beanArr = [];
2024-08-20 21:29:46 +08:00
var urls="";
var ysurls="";
var gtIds="";
var gtNames="";
2024-08-28 17:54:21 +08:00
var nums = 0;
layui.use(['upload','laydate','form'], function () {
var upload = layui.upload;
var element = layui.element;
var $ = layui.$;
2024-08-20 21:29:46 +08:00
form = layui.form;
var laydate = layui.laydate;
2024-08-20 21:29:46 +08:00
initProList();
laydate.render({
2024-08-22 13:57:12 +08:00
elem: '#dataTime',
min:firstDayStr(),
max:lastDayStr()
});
// 制作多文件上传表格
var uploadListIns = upload.render({
elem: '#ID-upload-demo-files',
elemList: $('#ID-upload-demo-files-list'), // 列表元素对象
2024-08-22 18:00:55 +08:00
url: FILE_URL + "/file/uploadmake" , // 实际使用时改成您自己的上传接口即可。
multiple: true, //是否允许多文件上传默认未false
dataType: "json",
2024-08-28 17:54:21 +08:00
accept:"file",
// exts: 'jpg|png|jpeg|txt|pdf|xlsx|xls|docx|doc|ppt|pptx|mp4|avi|flv',
//'avi','mpg','wmv','3gp','mov','asf','asx','flv','mkv'
2024-08-28 12:36:09 +08:00
// exts: 'jpg|png',
number: 10, //最大上传数量
auto: false, //是否自动上传 默认为true
// size: 1024 * 30, //最大文件大小单位k
2024-08-20 21:29:46 +08:00
bindAction: '#hideUpload',
choose: function(obj){
2024-08-28 17:54:21 +08:00
console.log(obj)
var that = this;
var files = this.files = obj.pushFile(); // 将每次选择的文件追加到文件队列
2024-08-28 17:54:21 +08:00
var startWorkFiles = obj.pushFile();
// 读取本地文件
obj.preview(function(index, file, result){
2024-08-28 12:36:09 +08:00
var fileExtension = file.name.split('.').pop().toLowerCase();
// 检查文件是否为支持的格式
if("jpg|png".indexOf(fileExtension) == -1){
2024-08-28 17:54:21 +08:00
delete startWorkFiles[index]; //清空对应的文件
2024-08-28 12:36:09 +08:00
layer.msg('文件格式不支持', {time: 2000, icon: 5});
// 阻止文件上传
return false;
}
var tr = $(['<tr id="upload-'+ index +'">',
'<td>'+ file.name +'</td>',
'<td>'+ (file.size/1024).toFixed(1) +'kb</td>',
'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>',
'<td>',
'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>',
'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>',
'</td>',
'</tr>'].join(''));
2024-08-28 17:54:21 +08:00
nums++;
// 单个重传
tr.find('.demo-reload').on('click', function(){
obj.upload(index, file);
});
// 删除
tr.find('.demo-delete').on('click', function(){
//双击删除指定预上传图片
delete files[index]; // 删除对应的文件
tr.remove(); // 删除表格行
// 清空 input file 值,以免删除后出现同名文件不可选
uploadListIns.config.elem.next()[0].value = '';
2024-08-28 17:54:21 +08:00
nums --;
});
that.elemList.append(tr);
element.render('progress'); // 渲染新加的进度条组件
});
},
before: function (obj) {
2024-08-20 21:29:46 +08:00
urls="";
ysurls="";
gtIds="";
gtNames="";
2024-08-22 13:57:12 +08:00
this.data = {
2024-08-22 13:57:12 +08:00
uploadType:"1",photoType:"hxy",proId:$("#proId").val()
};
},
done: function(res, index, upload){ // 成功的回调
console.log("resresresres:", res);
2024-08-22 13:57:12 +08:00
if(res.data.isSuccess==1){
var json = {
// "companyId": $("#companyId").val()
}
beanArr.push(json);
var that = this;
// if(res.code == 0){ // 上传成功
var tr = that.elemList.find('tr#upload-'+ index)
var tds = tr.children();
tds.eq(3).html(''); // 清空操作
delete this.files[index]; // 删除文件队列已经上传成功的文件
urls=urls+res.data.url+",";
ysurls=ysurls+res.data.ysUrl+",";
gtIds=gtIds+res.data.gtId+",";
gtNames=gtNames+res.data.gtName+",";
}
// this.error(index, upload);
2024-08-20 21:29:46 +08:00
},
allDone: function(obj){ // 多文件上传完毕后的状态回调
2024-08-20 21:29:46 +08:00
insertBatch();
var iframeWindow = parent.window['layui-layer-iframe' + localStorage.getItem("resultindex")];
iframeWindow.reloadData();
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index);
},
2024-08-22 13:57:12 +08:00
// error: function(index, upload){ // 错误回调
// var that = this;
// var tr = that.elemList.find('tr#upload-'+ index);
// var tds = tr.children();
// // 显示重传
// // tds.eq(3).find('.demo-reload').removeClass('layui-hide');
// },
progress: function(n, elem, e, index){ // 注意index 参数为 layui 2.6.6 新增
element.progress('progress-demo-'+ index, n + '%'); // 执行进度条。n 即为返回的进度百分比
}
});
2024-08-20 21:29:46 +08:00
form.on('submit(formDemo)', function (data) {
2024-08-22 13:57:12 +08:00
if($("#proId").val()==""||$("#dataTime").val()==""){
layer.msg("请选择完善信息!")
return;
}
2024-08-28 17:54:21 +08:00
if(nums<1){
layer.msg("请选择上传文件!")
return;
}
loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); //④创建一个formData对象
2024-08-20 21:29:46 +08:00
$("#hideUpload").trigger("click");
});
});
2024-08-22 13:57:12 +08:00
function firstDayStr(){
var today = new Date();
var thisMonth = today.getMonth(); // 获取当前月份从0开始
var year = today.getFullYear(); // 获取当前年份
// 当月的第一天
2024-08-26 09:00:01 +08:00
var firstDay = new Date(year, thisMonth, 2);
2024-08-22 13:57:12 +08:00
var firstDayString = firstDay.toISOString().slice(0, 10); // 转换为YYYY-MM-DD格式
// 当月的最后一天
var lastDay = new Date(year, thisMonth + 1, 1);
var lastDayString = lastDay.toISOString().slice(0, 10); // 转换为YYYY-MM-DD格式
console.log("First day of this month: " + firstDayString);
console.log("Last day of this month: " + lastDayString);
return firstDayString;
}
function lastDayStr(){
var today = new Date();
var thisMonth = today.getMonth(); // 获取当前月份从0开始
var year = today.getFullYear(); // 获取当前年份
// 当月的第一天
2024-08-26 09:00:01 +08:00
var firstDay = new Date(year, thisMonth, 2);
2024-08-22 13:57:12 +08:00
var firstDayString = firstDay.toISOString().slice(0, 10); // 转换为YYYY-MM-DD格式
// 当月的最后一天
var lastDay = new Date();
var lastDayString = lastDay.toISOString().slice(0, 10); // 转换为YYYY-MM-DD格式
console.log("First day of this month: " + firstDayString);
console.log("Last day of this month: " + lastDayString);
return lastDayString;
}
2024-08-20 21:29:46 +08:00
function initProList(){
$.ajax({//id获取详情打开弹窗传值子页面
type: 'post',
url: PATH_URL + "/makeInfo/getProList",
dataType: 'json',
async:false,
data: {
userId:localStorage.getItem("resultUserId")
},
success: function (res) {
console.log(res,"getProList");
$("#proId").empty();
var html="<option value='' selected>请选择</option>";
for(var i=0;i<res.data.length;i++){
html+="<option value='"+res.data[i].proId+"'>"+ res.data[i].proName +"</option>";
}
$("#proId").append(html);
form.render();
},
error:function(e){
}
})
}
2024-08-20 21:29:46 +08:00
function insertBatch(){
if(urls.length == 0){
layer.msg('请上传文件', {icon: 2});
return;
}
$.ajax({
type:"post",
url : PATH_URL + "/makeInfo/insertBatchMakeGt",
async:false,
data:{
"gtId": gtIds,
gtName:gtNames,
userId:localStorage.getItem("resultUserId"),
makeMonth:localStorage.getItem("resultMakeMonth"),
proId:localStorage.getItem("resultProId"),
makeTime:$("#dataTime").val(),
sFilePath:ysurls,
filePath:urls,
makeType:0,
numTimes:$("#numTimes").val()
},
dataType:"json",
success:function(res){
2024-08-28 17:54:21 +08:00
layer.close(loadingMsg);
2024-08-20 21:29:46 +08:00
console.log(res,"res")
if(res.code==500){
parent.layer.msg(res.msg)
return;
}
},
error:function(data){
}
});
}
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
// window.parent.location.reload();
}