/* * 描 述:附件上传管理 */ var CLId = request('CLId'); var bootstrap = function ($, learun) { "use strict"; var fileInfo = {}; // 触发合并文件碎片 var mergeFileChunks = function (file) { var param = {}; param['__RequestVerificationToken'] = $.lrToken; //param['CLId'] = CLId; param['fileGuid'] = fileInfo[file.id].fileGuid; param['fileName'] = fileInfo[file.id].name; param['chunks'] = fileInfo[file.id].chunks; learun.httpAsyncPost(top.$.rootUrl + "/LogisticsManagement/Accommodation/ExecuteImportExcel", param, function (res) { var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); $fileItem.find('.lr-uploader-progress').remove(); if (res.code == learun.httpCode.success) { if (res.data.Success != '0') { learun.alert.success('导入成功' + res.data.Success + '条'); } // 文件保存成功后 $fileItem.append('
' + res.data.Success + '/' + res.data.Fail + '
'); // 如果有失败 if (res.data.Fail != '0') { learun.download({ url: top.$.rootUrl + '/LR_SystemModule/ExcelImport/DownImportErrorFile', param: { fileId: fileInfo[file.id].fileGuid, fileName: fileInfo[file.id].name, __RequestVerificationToken: $.lrToken }, method: 'POST' }); } // 文件保存成功后 //$fileItem.append('
'); //$fileItem.append('
'); // $fileItem.find('.lr-tool-bar .fa-minus-circle').on('click', function () { // var fileId = $(this).attr('data-value'); // DeleteFile(fileId); // }); // learun.alert.success(res.data.info); } else { learun.alert.error(res.info); $fileItem.append('
'); } }); } // 触发清楚文件碎片 var reomveFileChunks = function (file) { var param = {}; param['__RequestVerificationToken'] = $.lrToken; param['fileGuid'] = fileInfo[file.id].fileGuid; param['chunks'] = fileInfo[file.id].chunks; learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/MergeAnnexesFile", param, function (res) { }); var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); $fileItem.find('.lr-uploader-progress').remove(); $fileItem.append('
'); } // 删除文件 var DeleteFile = function (fileId) { var param = {}; param['__RequestVerificationToken'] = $.lrToken; param['fileId'] = fileInfo[fileId].fileGuid; learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/DeleteAnnexesFile", param, function (res) { }); var file = page.uploader.getFile(fileId); if (!!file) { page.uploader.removeFile(file); } delete fileInfo[fileId]; var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + fileId); $fileItem.remove(); if ($('#lr_form_file_queue_list>div').length == 0) { $('#lr_form_file_queue .lr-form-file-queue-bg').show(); } } var page = { uploader: null, init: function () { if (!WebUploader.Uploader.support()) { alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器'); throw new Error('WebUploader does not support the browser you are using.'); } /*模板下载*/ $('#lr_down_file_btn').on('click', function () { location.href = top.$.rootUrl + "/LogisticsManagement/Accommodation/DownTemplate"; }); page.uploader = WebUploader.create({ auto: true, swf: top.$.rootUrl + '/Content/webuploader/Uploader.swf', // 文件接收服务端。 server: top.$.rootUrl + "/LR_SystemModule/Annexes/UploadAnnexesFileChunk", // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#lr_add_file_btn', dnd: '#lr_form_file_queue', paste: 'document.body', disableGlobalDnd: true, accept: { extensions: "xls,xlsx" }, multiple: false, // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, // 文件分片上传 chunked: true, chunkRetry: 3, prepareNextFile: true, chunkSize: '1048576', // 上传参数 formData: { __RequestVerificationToken: $.lrToken } }); page.uploader.on('fileQueued', page.fileQueued); page.uploader.on('uploadStart', page.uploadStart); page.uploader.on('uploadBeforeSend', page.uploadBeforeSend); page.uploader.on('uploadProgress', page.uploadProgress); page.uploader.on('uploadSuccess', page.uploadSuccess); page.uploader.on('uploadError', page.uploadError); page.uploader.on('uploadComplete', page.uploadComplete); page.uploader.on('error', page.error); $('#lr_form_file_queue').mCustomScrollbar({ // 优化滚动条 theme: "minimal-dark" }); }, fileQueued: function (file) {// 文件加载到队列 fileInfo[file.id] = { name: file.name }; $('#lr_form_file_queue .lr-form-file-queue-bg').hide(); // 添加一条文件记录 var $item = $('
'); $item.append('
'); $item.append('' + file.name + '(' + learun.countFileSize(file.size) + ')'); $('#lr_form_file_queue_list').append($item); }, uploadStart: function (file) { var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); $fileItem.append('
'); }, uploadBeforeSend: function (object, data, headers) { data.chunk = data.chunk || 0; data.chunks = data.chunks || 1; fileInfo[data.id].fileGuid = fileInfo[data.id].fileGuid || WebUploader.Base.guid(); data.fileGuid = fileInfo[data.id].fileGuid; fileInfo[data.id].chunks = data.chunks; }, uploadProgress: function (file, percentage) { var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id); $fileItem.find('.lr-uploader-progress-bar').css('width', (percentage * 100 + '%')); }, uploadSuccess: function (file, res) { if (res.code == 200) {// 上传成功 mergeFileChunks(file); } else {// 上传失败 reomveFileChunks(file); } }, uploadError: function (file, code) { reomveFileChunks(file); }, uploadComplete: function (file) { }, error: function (type) { switch (type) { case 'Q_TYPE_DENIED': learun.alert.error('当前文件类型不允许上传'); break; }; } }; page.init(); }