let table; let form; let upload; let laydate; let pageNum=1,limitSize=10; let UPLOAD_PATH=""; let updateId; layui.use(['layer', 'form', 'element','upload'], function(){ //初始化下拉选 form=layui.form; upload = layui.upload; laydate = layui.laydate; //检查输入的账号长度 form.verify({ account: function(value, item){ var max = item.getAttribute('lay-max'); if(value.length > max){ return '字符长度过长'; } }, }); laydate.render({ elem: '#yjDate', //指定元素 元素选择器 type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) trigger: 'click', format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定 done: function (value, date) { //时间回调 } }); laydate.render({ elem: '#changeTerm', //指定元素 元素选择器 type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) trigger: 'click', format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss btns: ['clear', 'now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定 done: function (value, date) { //时间回调 } }); //多图片上传 var uploadcom1 =upload.render({ elem: '#test2', url: dataUrl + 'proteam/pot/remoteFace/uploadFile', //改成您自己的上传接口 multiple: false, //是否允许多文件上传,默认未false dataType: "json", headers: { // 自定义请求头 'Authorization': token, "decrypt":"decrypt" }, decrypt: false, exts: 'jpg|png|jpeg', acceptMime: 'image/jpg,image/png,image/jpeg', auto: true, //是否自动上传 ,默认为true number: 1, //最大上传数量 size: 1024*5, //最大文件大小,单位k field: 'file', //传到后台的字段名,默认file before: function (obj) { // 设置请求头 obj.data = { headerName: 'decrypt', headerValue: 'decrypt' }; // 这里是简化的方式,具体实现依赖于底层实现 // 如果底层库允许直接设置headers, 可以这样做: // obj.config.headers = {'decrypt': 'decrypt'}; return true; // 返回true继续执行,false则中断上传 }, choose: function (obj) { var demo2 = $('#demo2'); uploadcom1.config.elem.next()[0].value = ''; // 检查 #demo2 是否已经有图片 if (demo2.find('img').length > 0) { layer.msg('已存在照片', { icon: 2 }); return; // 如果有图片则直接返回,不进行后续操作 } files = obj.pushFile(); obj.preview(function (index, file, result) { // 检查文件大小是否大于5MB if (file.size > 5 * 1024 * 1024) { // 文件大小单位为字节 // layer.msg('文件太大,无法预览', { icon: 2 }); delete files[index]; return; // 不预览大文件 } var imgElem = $(`${file.name}`); // 绑定双击删除事件 imgElem.on('dblclick', function () { delete files[index]; // 删除指定图片 $("#path").val(""); $(this).remove(); // 移除DOM中的预览图 }); demo2.append(imgElem); // 添加预览图到页面中 }); }, done: function (res) { if (res.resMsg != null && res.resMsg.indexOf("上传成功") !== -1) { UPLOAD_PATH=""; console.log("obj",res.obj) res.obj.forEach(function (obj) { UPLOAD_PATH = obj; }); $("#path").val(UPLOAD_PATH); console.log(UPLOAD_PATH); } else { console.log("Error,上传失败" + res.resMsg); } } }); //表单提交 form.on('submit(updateBtn)', function(data){ data.field.id=updateId; console.log(data.field); if (data.field.changeContent==='' || data.field.changeContent===null || data.field.path==='' || data.field.path===null){ layer.msg('必填项不能为空', { icon: 2 }); return false; } var formData = JSON.stringify(data.field); $.ajax({ type:'post', url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/updateData', headers: { "encrypt": sm3(JSON.stringify(data.field)) }, data: data.field, async : true, success : function(data) { if(data.code=='201'){ layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); return ; }else if(data.code=='200') {//系统异常 parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 1, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); }else{ parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } } }); return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 }); //表单提交 form.on('submit(saveForm)', function(data){ data.field.status='0'; console.log(data.field); var formData = JSON.stringify(data.field); $.ajax({ type:'post', url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/addData', headers: { "encrypt": sm3(JSON.stringify(data.field)) }, data: data.field, async : true, success : function(data) { if(data.code=='201'){ layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); return ; }else if(data.code=='200') {//系统异常 parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 1, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); }else{ parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } } }); return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 }); //表单提交 form.on('submit(publishForm)', function(data){ data.field.status='1'; console.log(data.field); var formData = JSON.stringify(data.field); $.ajax({ type:'post', url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/addData', headers: { "encrypt": sm3(JSON.stringify(data.field)) }, data: data.field, async : true, success : function(data) { if(data.code=='201'){ layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); return ; }else if(data.code=='200') {//系统异常 parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 1, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); }else{ parent.layer.closeAll(); parent.reloadTable( pageNum,limitSize); parent.layer.msg(data.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } } }); return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 }); }) function cancel() { //关闭当前页面--> var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); } //赋值 function setForm(keyId,pageNum1,limitSize1){ $("#cancelBtn").css("display", "none"); $("#okBtn").css("display", "none"); pageNum=pageNum1; limitSize=limitSize1; $.ajax({ type:'post', url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/getDetailById', headers: { "encrypt": sm3(JSON.stringify({'keyId':keyId})) }, data: { keyId: keyId//加密处理 }, async : true, success : function(data) { console.log(data); console.log(data.changeContent) form.val('form-risk',data); if (data.changeContent!=null && data.changeContent!==''){ $("#contentDiv").css("display", ""); $("#imgDiv").css("display", ""); $("#test2").css("display", "none"); let path = `${photoUrl}${data.path}?token=${token}`; console.log(path); // 使用反引号(`)创建模板字符串,并直接插入变量 let html = ``; var demo2 = $('#demo2'); demo2.append(html); } // 禁用所有输入框和选择框 $('.layui-form input, .layui-form select').prop('disabled', true); form.render(); //更新全部 } }) } //赋值 function setForms(keyId,pageNum1,limitSize1){ updateId=keyId; $("#cancelBtn").css("display", "none"); $("#okBtn").css("display", "none"); pageNum=pageNum1; limitSize=limitSize1; $.ajax({ type:'post', url: dataUrl + 'proteam/pot/riskWarningAndEarlyDisposal/getDetailById', headers: { "encrypt": sm3(JSON.stringify({'keyId':keyId})) }, data: { keyId: keyId//加密处理 }, async : true, success : function(data) { console.log(data); form.val('form-risk',data); $("#contentDiv").css("display", ""); $("#imgDiv").css("display", ""); // 禁用所有输入框和选择框,但不禁用文件选择功能 $('.layui-form input:not([type="file"]), .layui-form select').prop('disabled', true); enableElement("changeContent"); form.render(); //更新全部 } }) } function enableElement(elementName) { $(`[name="${elementName}"]`).prop('disabled', false); form.render(); // 重新渲染表单以更新UI }