parent
7646c9a4db
commit
4ef4d2f2b3
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,380 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Layui</title>
|
||||
<link rel="stylesheet" href="./layui/css/layui.css" />
|
||||
<link rel="stylesheet" href="./ayq/modules/formDesigner.css" />
|
||||
<link rel="stylesheet" href="./ayq/modules/cron.css" />
|
||||
<link rel="stylesheet" href="./ayq/modules/labelGeneration.css" />
|
||||
<style>
|
||||
.mainBox {
|
||||
width: 98%;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
bottom: 50px;
|
||||
overflow: auto;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background-color: #F8F8F8;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="testdemo" style="margin: 10px 10px;">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript" src="./layui/layui.js"></script>
|
||||
<script type="text/javascript" src="./ayq/modules/Sortable/Sortable.js"> </script>
|
||||
<script type="text/javascript" src="./ayq/modules/iceEditor/iceEditor.js"></script>
|
||||
|
||||
<script>
|
||||
var demojs = [];
|
||||
//JavaScript代码区域
|
||||
layui.config(
|
||||
{ base: './ayq/modules/' }).use(['formDesignerView', 'element', 'form', 'layer', 'upload'], function () {
|
||||
var layer = layui.layer;
|
||||
var $ = layui.jquery;
|
||||
var upload = layui.upload;
|
||||
var index = layui.index;
|
||||
var formDesigner = layui.formDesignerView;
|
||||
var form = layui.form;
|
||||
var render;
|
||||
var element = layui.element
|
||||
|
||||
var jobId = GetQueryString("job_id");
|
||||
|
||||
|
||||
function unique(x) {
|
||||
let obj = {};
|
||||
let res = [];
|
||||
let len = x.length; // 缓存数组长度
|
||||
for (let i = 0; i < len; i++) {
|
||||
let item = x[i].select;
|
||||
if (!obj.hasOwnProperty(item)) { // 使用hasOwnProperty判断属性是否存在
|
||||
res.push(x[i]);
|
||||
}
|
||||
obj[item] = item;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: "/QingLong/collect/getJob?job_id=" + jobId,
|
||||
async: false,
|
||||
type: 'GET',
|
||||
success: function (res) {
|
||||
demojs = JSON.parse(res.form_json);
|
||||
render = formDesigner.render({
|
||||
elem: '#testdemo',
|
||||
data: demojs,
|
||||
viewOrDesign: true
|
||||
});
|
||||
var images = render.getImages();
|
||||
images = unique(images);
|
||||
for (var i = 0; i < images.length; i++) {
|
||||
upload.render({
|
||||
elem: '#' + images[i].select
|
||||
, url: '/QingLong/collect/uploadFile'
|
||||
, data: { job_id: jobId, input_id: images[i].select.substring(5), type_id: 2 }
|
||||
, multiple: true
|
||||
, before: function (obj) {
|
||||
layer.msg('图片上传中...', {
|
||||
icon: 16,
|
||||
shade: 0.01,
|
||||
time: 0
|
||||
})
|
||||
}
|
||||
, done: function (res) {
|
||||
layer.close(layer.msg());//关闭上传提示窗口
|
||||
|
||||
//上传完毕
|
||||
$('#uploader-list-' + res.input_id).append(
|
||||
'<div id="' + res.file_id + '" class="file-iteme">' +
|
||||
'<div class="handle"><i class="layui-icon layui-icon-delete" onclick=delimgs("' + res.file_id + '")></i></div>' +
|
||||
'<img style="width: 100px;height: 100px;" src=/QingLong' + res.url + '>' +
|
||||
'</div>'
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var filesData = render.getFiles();
|
||||
filesData = unique(filesData);
|
||||
var file_input_id = filesData[0].select.substring(4);
|
||||
for (var i = 0; i < filesData.length; i++) {
|
||||
upload.render({
|
||||
elem: '#' + filesData[i].select
|
||||
, elemList: $('#list-' + filesData[i].select.substring(4)) //列表元素对象
|
||||
, url: '/QingLong/collect/uploadFile'
|
||||
, data: { job_id: jobId, input_id: filesData[i].select.substring(4), type_id: 1 }
|
||||
, accept: 'file'
|
||||
, multiple: true
|
||||
, number: 3
|
||||
, auto: true
|
||||
, bindAction: '#listAction-' + filesData[i].select.substring(4)
|
||||
, choose: function (obj) {
|
||||
var that = this;
|
||||
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
|
||||
//读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
var tr = $(['<tr id="upload-' + index + '">'
|
||||
, '<td>' + file.name + '</td>'
|
||||
, '<td>' + (file.size / 1014).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 layui-btn-danger demo-delete">删除</button>'
|
||||
, '</td>'
|
||||
, '</tr>'].join(''));
|
||||
|
||||
//删除
|
||||
tr.find('.demo-delete').on('click', function () {
|
||||
delete files[index]; //删除对应的文件
|
||||
tr.remove();
|
||||
// uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
|
||||
});
|
||||
|
||||
that.elemList.append(tr);
|
||||
element.render('progress'); //渲染新加的进度条组件
|
||||
});
|
||||
}, done: function (res, index, upload) { //成功的回调
|
||||
var that = this;
|
||||
var tr = that.elemList.find('tr#upload-' + index)
|
||||
, tds = tr.children();
|
||||
tds.eq(3).html(''); //清空操作
|
||||
delete this.files[index]; //删除文件队列已经上传成功的文件
|
||||
return;
|
||||
this.error(index, upload);
|
||||
}, allDone: function (obj) { //多文件上传完毕后的状态回调
|
||||
setTimeout(function () {
|
||||
reloadFiles(file_input_id);
|
||||
}, 700);
|
||||
}, error: function (index, upload) { //错误回调
|
||||
var that = this;
|
||||
var tr = that.elemList.find('tr#upload-' + index)
|
||||
, tds = tr.children();
|
||||
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
|
||||
}, progress: function (n, elem, e, index) {
|
||||
element.progress('progress-demo-' + index, n + '%'); //执行进度条。n 即为返回的进度百分比
|
||||
}
|
||||
});
|
||||
}
|
||||
}, error: function (xhr, status, error) {
|
||||
layer.msg("获取任务信息异常!", {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//获取表单数据
|
||||
$.ajax({
|
||||
url: "/QingLong/collect/getFormFillJob?job_id=" + jobId,
|
||||
async: false,
|
||||
type: 'GET',
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
render.setFormData(res);
|
||||
}
|
||||
});
|
||||
|
||||
window.reloadFiles = function (file_input_id) {
|
||||
$.ajax({
|
||||
url: "/QingLong/collect/getJobUploadList?job_id=" + jobId,
|
||||
async: false,
|
||||
type: 'GET',
|
||||
success: function (res) {
|
||||
$('#list-' + file_input_id).html('');
|
||||
if (res.data.length > 0) {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
if (res.data[i].type_id == 1) {
|
||||
var tr = $('#list-' + res.data[i].input_id).append(
|
||||
'<tr id="upload-' + i + '">' +
|
||||
'<td>' + res.data[i].fileName + '</td>' +
|
||||
'<td>' + res.data[i].file_size + '</td>' +
|
||||
'<td>已上传</td>' +
|
||||
'<td>' +
|
||||
'<button class="layui-btn layui-btn-xs layui-btn-danger" onclick=delfiles("' + res.data[i].file_id + '","' + res.data[i].input_id + '")>删除</button>' +
|
||||
'</td>' +
|
||||
'</tr>'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//获取图片和文件数据
|
||||
$.ajax({
|
||||
url: "/QingLong/collect/getJobUploadList?job_id=" + jobId,
|
||||
async: false,
|
||||
type: 'GET',
|
||||
success: function (res) {
|
||||
if (res.data.length > 0) {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
if (res.data[i].type_id == 1) {
|
||||
var tr = $('#list-' + res.data[i].input_id).append(
|
||||
'<tr id="upload-' + i + '">' +
|
||||
'<td>' + res.data[i].fileName + '</td>' +
|
||||
'<td>' + res.data[i].file_size + '</td>' +
|
||||
'<td>已上传</td>' +
|
||||
'<td>' +
|
||||
'<button class="layui-btn layui-btn-xs layui-btn-danger" onclick=delfiles("' + res.data[i].file_id + '","' + res.data[i].input_id + '")>删除</button>' +
|
||||
'</td>' +
|
||||
'</tr>'
|
||||
);
|
||||
|
||||
} else {
|
||||
$('#uploader-list-' + res.data[i].input_id).append(
|
||||
'<div id="' + res.data[i].file_id + '" class="file-iteme">' +
|
||||
'<div class="handle"><i class="layui-icon layui-icon-delete" onclick=delimgs("' + res.data[i].file_id + '")></i></div>' +
|
||||
'<img style="width: 100px;height: 100px;" src=/QingLong/Excel/' + res.data[i].file_id + '.' + res.data[i].suffix + '>' +
|
||||
'</div>'
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//监听提交
|
||||
form.on('submit(demo1)', function (data) {
|
||||
var json = render.getFormData();
|
||||
$.ajax({
|
||||
url: '/QingLong/collect/saveFormJob',
|
||||
type: 'post',
|
||||
data: {
|
||||
"job_id": jobId,
|
||||
"json": JSON.stringify(json)
|
||||
},
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
layer.msg("成功!", {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function () {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
parent.refresh();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.message, {
|
||||
icon: 2,
|
||||
time: 2000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
window.delimgs = function (file_id) {
|
||||
|
||||
$.ajax({
|
||||
url: '/QingLong/collect/delUploadFile',
|
||||
type: 'post',
|
||||
data: {
|
||||
"job_id": jobId,
|
||||
"file_id": file_id
|
||||
},
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
layer.msg("成功!", {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function () {
|
||||
$('#' + file_id).remove();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.message, {
|
||||
icon: 2,
|
||||
time: 2000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
window.delfiles = function (file_id, file_input_id) {
|
||||
event.preventDefault();
|
||||
|
||||
$.ajax({
|
||||
url: '/QingLong/collect/delUploadFile',
|
||||
type: 'post',
|
||||
data: {
|
||||
"job_id": jobId,
|
||||
"file_id": file_id
|
||||
},
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
layer.msg("成功!", {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function () {
|
||||
reloadFiles(file_input_id);
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.message, {
|
||||
icon: 2,
|
||||
time: 2000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function getSubmitData() {
|
||||
var data = $('#testdemo').form[0].serialize();
|
||||
console.log(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
function GetQueryString(name, istop) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (typeof (istop) != "undefined") r = top.location.search.substr(1).match(reg);
|
||||
|
||||
if (r != null) return unescape(r[2]);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Loading…
Reference in new issue