318 lines
9.3 KiB
JavaScript
318 lines
9.3 KiB
JavaScript
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 = $(`<img src="${result}" id="${index}" alt="${file.name}" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img">`);
|
||
// 绑定双击删除事件
|
||
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().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().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().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().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 = `<img src="${path}" style="height: 60px;width: 60px;margin-right: 10px" class="layui-upload-img">`;
|
||
|
||
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().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
|
||
} |