@@ -163,147 +127,65 @@
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
- }).use(['index', 'form', 'laydate', 'laytpl'], function(){
+ }).use(['index', 'form', 'laydate', 'laytpl', 'upload'], function(){
var $ = layui.$;
var form = layui.form;
var laytpl = layui.laytpl;
var laydate = layui.laydate;
+ var upload = layui.upload;
var invoiceId = top.restAjax.params(window.location.href).invoiceId;
var AgentServerUrl = "[[${AgentServerUrl}]]";
var wangEditor = window.wangEditor;
var wangEditorObj = {};
var viewerObj = {};
+ var fileIdArray = [];
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
- function refreshDownloadTemplet(fileName, file) {
- var dataRander = {};
- dataRander[fileName] = file;
- dataRander["AgentServerUrl"] = "[[${AgentServerUrl}]]";
-
- laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
- document.getElementById(fileName +'FileBox').innerHTML = html;
- });
- }
-
- // 初始化文件列表
- function initFileList(fileName, ids, callback) {
- var dataForm = {};
- dataForm[fileName] = ids;
- dataForm["AgentServerUrl"] = "[[${AgentServerUrl}]]";
- form.val('dataForm', dataForm);
-
- if(!ids) {
- refreshDownloadTemplet(fileName, []);
- if(callback) {
- callback(fileName, []);
- }
- return;
+ function renderFileId() {
+ var $fileIdFileBox = $('#fileIdFileBox');
+ var files = '';
+ $.each(fileIdArray, function(index, item) {
+ files += `
+
+

+
+
+ `
+ })
+ if(!files) {
+ files = '最多可上传一份附件';
}
-
- top.restAjax.get(top.restAjax.path( (fileName == 'fileId' ? '' : AgentServerUrl) + 'api/file/list', []), {
- ids: ids
- }, null, function(code, data) {
- refreshDownloadTemplet(fileName, data);
- if(callback) {
- callback(fileName, data);
- }
- }, function(code, data) {
- top.dialog.msg(data.msg);
- });
+ $fileIdFileBox.empty();
+ $fileIdFileBox.append(files);
}
- // 初始化票据类型文件上传
- function initFileIdUploadFile() {
- var files = $('#fileId').val();
- initFileList('fileId', files, function(fileName) {
- });
- form.on('button(fileIdUploadFile)', function(obj) {
- var name = this.dataset.name;
- var explain = this.dataset.explain;
- top.dialog.file({
- type: 'file',
- title: '上传'+ explain,
- width: '400px',
- height: '420px',
- maxFileCount: '1',
- onClose: function() {
- var uploadFileArray = top.dialog.dialogData.uploadFileArray;
- if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
- var files = $('#'+ name).val();
- for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) {
- if(files.length > 0) {
- files += ',';
- }
- files += file.data;
- }
- initFileList(name, files, function(fileName) {
- viewerObj[fileName].update();
- });
- }
- }
- });
- });
- form.on('button(fileIdRemoveFile)', function(obj) {
- var name = this.dataset.name;
- var id = this.dataset.id;
- var files = $('#'+ name).val().replace(id, '');
- files = files.replace(/\,+/g, ',');
- if(files.charAt(0) == ',') {
- files = files.substring(1);
- }
- if(files.charAt(files.length - 1) == ',') {
- files = files.substring(0, files.length - 1);
- }
- initFileList(name, files, function(fileName) {
- viewerObj[fileName].update();
- });
- });
+ function setFileId() {
+ $('#fileId').val(fileIdArray.join(','));
}
-
- // 初始化票据文件文件上传
- function initInvoiceFileUploadFile() {
- var files = $('#invoiceFile').val();
- initFileList('invoiceFile', files);
-
- form.on('button(invoiceFileUploadFile)', function(obj) {
- var name = this.dataset.name;
- var explain = this.dataset.explain;
- top.dialog.file({
- type: 'file',
- title: '上传'+ explain,
- width: '400px',
- height: '420px',
- maxFileCount: '1',
- onClose: function() {
- var uploadFileArray = top.dialog.dialogData.uploadFileArray;
- if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
- var files = $('#'+ name).val();
- for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) {
- if(files.length > 0) {
- files += ',';
- }
- files += file.data;
- }
- initFileList(name, files, function() {});
- }
+ function initEvent() {
+ upload.render({
+ elem: '#uploadFileIdBtn',
+ url: top.restAjax.path('api/file/uploadfile', []),
+ field: 'file',
+ accept: 'file',
+ acceptMime: 'application/pdf',
+ exts: 'pdf',
+ done: function(res) {
+ top.dialog.msg('上传成功');
+ fileIdArray.push(res.data);
+ renderFileId();
+ if(fileIdArray.length >= 1) {
+ this.elem.attr('disabled', 'disabled');
+ this.elem.addClass('layui-disabled')
}
- });
- });
- form.on('button(invoiceFileRemoveFile)', function(obj) {
- var name = this.dataset.name;
- var id = this.dataset.id;
- var files = $('#'+ name).val().replace(id, '');
- files = files.replace(/\,+/g, ',');
- if(files.charAt(0) == ',') {
- files = files.substring(1);
+ setFileId();
+ },
+ error: function(){
+ top.dialog.msg('上传异常');
}
- if(files.charAt(files.length - 1) == ',') {
- files = files.substring(0, files.length - 1);
- }
- initFileList(name, files);
});
}
@@ -318,7 +200,7 @@
}
form.val('dataForm', dataFormData);
form.render(null, 'dataForm');
- initFileIdUploadFile();
+ renderFileId();
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
@@ -328,6 +210,7 @@
});
}
initData();
+ initEvent();
// 提交表单
form.on('submit(submitForm2)', function(formData) {