2025-01-16 18:47:38 +08:00
|
|
|
|
let form, layer, laydate, fileList = new Array(), imgListUp = new Array();;
|
|
|
|
|
|
let objParam; // 是否保存并继续
|
|
|
|
|
|
function setParams(obj) {
|
|
|
|
|
|
objParam = JSON.parse(obj);
|
|
|
|
|
|
layui.use(['form', 'layer', 'laydate', 'upload'], function () {
|
|
|
|
|
|
form = layui.form;
|
|
|
|
|
|
layer = layui.layer;
|
|
|
|
|
|
laydate = layui.laydate;
|
|
|
|
|
|
upload = layui.upload;
|
|
|
|
|
|
getSupList();
|
|
|
|
|
|
form.verify({
|
|
|
|
|
|
isPhone: function (value, item) {
|
|
|
|
|
|
let pass = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/;
|
|
|
|
|
|
let flag = pass.test(value);
|
|
|
|
|
|
if (!flag) {
|
|
|
|
|
|
return "联系方式格式不正确";
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
form.on('submit(formData)', function (data) {
|
|
|
|
|
|
submitApply(data);
|
|
|
|
|
|
});
|
|
|
|
|
|
// 挂靠协议、行驶证正页、行驶证副页、行驶证车辆照片、车辆保险
|
|
|
|
|
|
setUpload(2);
|
|
|
|
|
|
setUpload(3);
|
|
|
|
|
|
setUpload(4);
|
|
|
|
|
|
setUpload(5);
|
|
|
|
|
|
setUpload(6);
|
|
|
|
|
|
form.render();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置上传的文件
|
|
|
|
|
|
function setUpload(uploadNum) {
|
|
|
|
|
|
let exts = 'jpg|png|jpeg';
|
|
|
|
|
|
let exacceptMimes = 'image/jpg,image/png,image/jpeg';
|
|
|
|
|
|
let uploadObj = upload.render({
|
|
|
|
|
|
elem: '#test' + uploadNum,
|
|
|
|
|
|
multiple: true,
|
|
|
|
|
|
dataType: "json",
|
|
|
|
|
|
exts: exts,
|
|
|
|
|
|
acceptMime: exacceptMimes,
|
|
|
|
|
|
number: 1, //最大上传数量
|
|
|
|
|
|
size: 1024 * 10, //最大文件大小,单位k
|
|
|
|
|
|
auto: false, //是否自动上传 ,默认为true
|
|
|
|
|
|
bindAction: '#hideUpload', //绑定的按钮
|
|
|
|
|
|
choose: function (obj) {
|
|
|
|
|
|
let length = $('#uploader-list' + uploadNum + '>.file-iteme').length;
|
|
|
|
|
|
if (uploadNum === 6 && length >= 5) {
|
|
|
|
|
|
return layer.msg('最多上传5个其他操作证', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
uploadObj.config.elem.next()[0].value = '';
|
|
|
|
|
|
let num = 0;
|
|
|
|
|
|
let style = "";
|
|
|
|
|
|
if (uploadNum === 4 || uploadNum === 5) {
|
|
|
|
|
|
style = "margin:0";
|
|
|
|
|
|
}
|
|
|
|
|
|
obj.preview(function (index, file, result) {
|
|
|
|
|
|
num++;
|
|
|
|
|
|
if (num <= (uploadNum === 6 ? (5 - length) : (1 - length))) {
|
|
|
|
|
|
$('#uploader-list' + (uploadNum) + '').append(
|
|
|
|
|
|
'<div id="" class="file-iteme" style=' + style + '>' +
|
|
|
|
|
|
'<div class="handle"><p>x</p></div>' +
|
|
|
|
|
|
handleFileType(index, file, result, uploadNum) +
|
|
|
|
|
|
'</div>'
|
|
|
|
|
|
);
|
|
|
|
|
|
let map = new Map();//将选择的图片索引和图片写成对象存入集合
|
|
|
|
|
|
map.index = index;
|
|
|
|
|
|
map.file = file;
|
|
|
|
|
|
map.type = uploadNum;
|
|
|
|
|
|
fileList.push(map);
|
|
|
|
|
|
if (uploadNum !== 6) {
|
|
|
|
|
|
$('#upload-box' + (uploadNum) + '').css('display', 'none');
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 设置文件类型
|
|
|
|
|
|
function handleFileType(index, file, result, uploadNum) {
|
|
|
|
|
|
let width = '159px', height = '120px';
|
|
|
|
|
|
let html = '', img = '';
|
|
|
|
|
|
if(file.ext){
|
|
|
|
|
|
file.ext = file.ext.toLowerCase();
|
|
|
|
|
|
}
|
|
|
|
|
|
if(file.name){
|
|
|
|
|
|
file.name = file.name.toLowerCase();
|
|
|
|
|
|
}
|
|
|
|
|
|
if (file.ext === 'doc' || file.ext === 'docx') {
|
|
|
|
|
|
img = '../../../images/docx.png';
|
|
|
|
|
|
} else if (file.ext === 'xls' || file.ext === 'xlsx') {
|
|
|
|
|
|
img = '../../../images/xlsx.png';
|
|
|
|
|
|
} else if (file.ext === 'pdf') {
|
|
|
|
|
|
img = '../../../images/pdf.png';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return '<img class="img" style="width: ' + width + ';height: ' + height + ';" data-index=' + index + ' data-name=' + file.name + ' src=' + result + '>';
|
|
|
|
|
|
}
|
|
|
|
|
|
html += '<div class="layout upload-file" data-index=' + index + '>' +
|
|
|
|
|
|
'<img src="' + img + '">' +
|
|
|
|
|
|
'<p style="text-align: center;font-size:12px;">' + file.name + '</p>' +
|
|
|
|
|
|
'</div>';
|
|
|
|
|
|
return html;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 删除文件
|
|
|
|
|
|
$(document).on("click", ".file-iteme .handle", function (event) {
|
|
|
|
|
|
let fileType;
|
|
|
|
|
|
imgListUp.splice(0, imgListUp.length);
|
|
|
|
|
|
let index = $(this).next().attr('data-index');
|
|
|
|
|
|
$.each(fileList, function (inx, ele) {
|
|
|
|
|
|
//对比删除文件索引
|
|
|
|
|
|
//将未删除的存入新集合
|
|
|
|
|
|
if (index != ele.index) {
|
|
|
|
|
|
imgListUp.push(ele);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
fileType = ele.type;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
$(this).parent().remove();
|
|
|
|
|
|
//将新文件集合替换老集合
|
|
|
|
|
|
fileList.splice(0, fileList.length);
|
|
|
|
|
|
$.each(imgListUp, function (inx, ele) {
|
|
|
|
|
|
fileList.push(ele)
|
|
|
|
|
|
});
|
|
|
|
|
|
$('#upload-box' + fileType).removeAttr('style');
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 供应商下拉选
|
|
|
|
|
|
function getSupList() {
|
|
|
|
|
|
let obj = {}
|
|
|
|
|
|
let params = {
|
|
|
|
|
|
encryptedData: JSON.stringify(obj)
|
|
|
|
|
|
}
|
|
|
|
|
|
let url = dataUrl + 'backstage/carSup/getSupSelected';
|
|
|
|
|
|
ajaxRequest(url, "POST", params, false, function () {
|
|
|
|
|
|
}, function (result) {
|
|
|
|
|
|
if (result.code === 200) {
|
|
|
|
|
|
setSelectData(result.data);
|
|
|
|
|
|
}
|
|
|
|
|
|
}, function (xhr, status, error) {
|
|
|
|
|
|
errorFn(xhr, status, error)
|
|
|
|
|
|
}, null);
|
|
|
|
|
|
|
|
|
|
|
|
function setSelectData(list) {
|
2025-01-20 10:09:04 +08:00
|
|
|
|
let html = '<option value="" selected>请选择所属供应商</option>';
|
2025-01-16 18:47:38 +08:00
|
|
|
|
$.each(list, function (index, item) {
|
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.name + '</option>'
|
|
|
|
|
|
})
|
|
|
|
|
|
$('#supId').empty().append(html);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 详情
|
|
|
|
|
|
function getSupDetails() {
|
|
|
|
|
|
let params = {
|
|
|
|
|
|
encryptedData: JSON.stringify({
|
|
|
|
|
|
id: objParam.id
|
|
|
|
|
|
})
|
|
|
|
|
|
};
|
|
|
|
|
|
let url = dataUrl + 'backstage/sup/getSupDetails';
|
|
|
|
|
|
ajaxRequest(url, "POST", params, true, function () {
|
|
|
|
|
|
}, function (result) {
|
|
|
|
|
|
if (result.code === 200) {
|
|
|
|
|
|
setFormData(result.data);
|
|
|
|
|
|
}
|
|
|
|
|
|
}, function (xhr, status, error) {
|
|
|
|
|
|
errorFn(xhr, status, error)
|
|
|
|
|
|
}, null);
|
|
|
|
|
|
|
|
|
|
|
|
function setFormData(obj) {
|
|
|
|
|
|
form.val('formInfo', obj);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 保存
|
|
|
|
|
|
function saveData2() {
|
|
|
|
|
|
$('#formSubmit').trigger('click')
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 提交
|
|
|
|
|
|
function submitApply(data) {
|
|
|
|
|
|
let typeArr = [];
|
|
|
|
|
|
for (let i = 0; i < fileList.length; i++) {
|
|
|
|
|
|
typeArr.push(fileList[i].type);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (typeArr.length === 0) {
|
|
|
|
|
|
return layer.msg('请上传身份证照片、驾驶证照片', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
let flag = containsString(typeArr, 2);
|
|
|
|
|
|
if (!flag) {
|
|
|
|
|
|
return layer.msg('请上传身份证人像面', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
let flag2 = containsString(typeArr, 3);
|
|
|
|
|
|
if (!flag2) {
|
|
|
|
|
|
return layer.msg('请上传身份证国徽面', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
let flag3 = containsString(typeArr, 4);
|
|
|
|
|
|
if (!flag3) {
|
|
|
|
|
|
return layer.msg('请上传驾驶证正页', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
let flag4 = containsString(typeArr, 5);
|
|
|
|
|
|
if (!flag4) {
|
|
|
|
|
|
return layer.msg('请上传驾驶证副页', { icon: 7 });
|
|
|
|
|
|
}
|
|
|
|
|
|
let url = dataUrl + 'backstage/carDriver/addDriverData';
|
|
|
|
|
|
let formData = new FormData();
|
|
|
|
|
|
//遍历最终文件集合
|
|
|
|
|
|
for (let i = 0; i < fileList.length; i++) {
|
|
|
|
|
|
formData.append("file[]", fileList[i].file)
|
|
|
|
|
|
}
|
|
|
|
|
|
data.field.types = typeArr.join('@');
|
|
|
|
|
|
formData.append('params', JSON.stringify(data.field));
|
|
|
|
|
|
let loadingMsg = layer.msg('正在提交保存,请稍等...', { icon: 16, shade: 0.01, time: '0' });
|
|
|
|
|
|
ajaxRequestByUploadFile(url, formData, function () {
|
|
|
|
|
|
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
|
|
|
|
|
|
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
|
|
|
|
|
|
}, function (result) {
|
|
|
|
|
|
layer.close(loadingMsg);
|
|
|
|
|
|
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
|
|
|
|
|
|
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
|
|
|
|
|
|
if (result.code === 200) {
|
|
|
|
|
|
parent.layer.msg(result.msg, { icon: 1 });
|
|
|
|
|
|
closePage(1);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
layer.msg(result.msg, { icon: 2 });
|
|
|
|
|
|
}
|
|
|
|
|
|
}, function (xhr, status, error) {
|
|
|
|
|
|
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);
|
|
|
|
|
|
errorFn(xhr, status, error)
|
|
|
|
|
|
}, null);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 判断数组中是否包含某个值
|
|
|
|
|
|
function containsString(array, stringToFind) {
|
|
|
|
|
|
return array.includes(stringToFind);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭页面
|
|
|
|
|
|
function closePage(type) {
|
|
|
|
|
|
let index = parent.layer.getFrameIndex(window.name);
|
|
|
|
|
|
if (type === 1) {
|
|
|
|
|
|
window.parent.reloadData();
|
|
|
|
|
|
}
|
|
|
|
|
|
parent.layer.close(index);
|
|
|
|
|
|
|
|
|
|
|
|
}
|