var c_preview = '
{footer}
'; var img_preview = '
\n' + '
' + '{data}\n' + '
\n' + ' {footer}\n' + '
\n' // 通用附件初始化 var FileInput = { Initial: function(id, hName, btnShow, data) { $("#" + id).fileinput({ language: 'zh', //语言 uploadAsync: false, //批量是否异步 uploadUrl: "/SoftMng/FileInputHandler/Upload", //上传的地址 deleteUrl: "/SoftMng/FileInputHandler/Delete", //删除的地址 //uploadExtraData: { inputname: fName }, //上传额外参数 //deleteExtraData: { filepath: '' }, //删除额外参数 allowedFileExtensions: [ 'jpg', 'gif', 'png', 'bmp', 'jpeg', 'xlsx', 'xls', 'doc', 'docx', 'ppt', 'pptx', 'zip', '7z', 'rar', 'pdf', 'txt', 'iso' ], autoReplace: false, showUpload: false, //是否显示上传按钮 showRemove: btnShow ? (data == null ? true : false) : false, //显示移除按钮 showPreview: true, //是否显示预览 showCaption: true, //是否显示被选文件的简介 showBrowse: btnShow, //是否显示浏览按钮 showClose: false, dropZoneEnabled: false, maxFileSize: 7189, //单位为kb,如果为0表示不限制文件大小 (当前限制大小:7M) maxFileCount: 4, //表示允许同时上传的最大文件个数 enctype: 'multipart/form-data', removeClass: "btn btn-danger", removeIcon: '', zoomClass: "btn btn-primary", browseClass: 'btn btn-primary', browseIcon: '', removeLabel: "", cancelLabel: "", browseLabel: "", removeTitle: "全部删除", validateInitialCount: true, //验证中是否包含初始预览文件数 overwriteInitial: false, //是否要覆盖最初的预览内容和标题设置 initialPreviewCount: data == null ? 0 : data.initCount, initialPreview: data == null ? [] : data.initData, //初始化预览 initialPreviewConfig: data == null ? [] : data.initConfig, initialPreviewAsData: true, initialPreviewShowDelete: true, previewSettings: { image: { width: "0", height: "0" }, html: { width: "0", height: "0" }, text: { width: "0", height: "0" }, office: { width: "0", height: "0" }, gdocs: { width: "0", height: "0" }, video: { width: "0", height: "0" }, audio: { width: "0", height: "0" }, flash: { width: "0", height: "0" }, object: { width: "0", height: "0" }, pdf: { width: "0", height: "0" }, other: { width: "0", height: "0" } }, previewTemplates: { generic: c_preview, html: c_preview, image: c_preview, text: c_preview, office: c_preview, gdocs: c_preview, video: c_preview, audio: c_preview, flash: c_preview, object: c_preview, pdf: c_preview, other: c_preview }, layoutTemplates: //更改缩略图页脚模板 { footer: '' }, fileActionSettings: { showRemove: btnShow, showUpload: false, showZoom: false, showDrag: false, removeIcon: '', removeClass: 'btn btn-xs btn-default', removeTitle: '移除', zoomIcon: '', zoomClass: 'btn btn-xs btn-default', zoomTitle: '详情', indicatorNew: '', indicatorSuccess: '', indicatorError: '', indicatorLoading: '', indicatorNewTitle: 'Not uploaded yet', indicatorSuccessTitle: 'Uploaded', indicatorErrorTitle: 'Upload Error', indicatorLoadingTitle: 'Uploading ...' }, //设置预览图片的显示样式 previewZoomButtonClasses: { prev: 'icon-arrow-left', next: 'icon-arrow-right', toggleheader: 'icon-exchange', fullscreen: 'icon-fullscreen', borderless: 'icon-lemon', close: ' icon-remove' }, previewFileIcon: "", msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!" }) .on('fileremoved', //缩略图删除按钮删除缩略图后触发 function(event, id, index) { var $hideObj = $('[name ="' + hName + '"]'); try { var fileobjArray = eval($hideObj.val()); for (var i = 0; i < fileobjArray.length; i++) if (fileobjArray[i]["id"] === id) fileobjArray.splice(i, 1); //删除对象 $hideObj.val(fileobjArray.length > 0 ? JSON.stringify(fileobjArray) : ""); } catch (e) { } }) .on('filedeleted', function(event, key) { var $hideObj = $('[name ="' + hName + '"]'); try { var fileobjArray = eval($hideObj.val()); for (var i = 0; i < fileobjArray.length; i++) if (fileobjArray[i]["id"] === key) { FileInput.DeleteArray.push(fileobjArray.splice(i, 1)[0]);//将删除的项目加入待彻底删除数组 } //删除对象 $hideObj.val(fileobjArray.length > 0 ? JSON.stringify(fileobjArray) : ""); } catch (e) { } }) .on('filecleared', //清楚按钮事件触发 function(event) { var $hideObj = $('[name ="' + hName + '"]'); $hideObj.val(""); }); }, Uploaded: function(id, hName, fun) { $("#" + id).on("filebatchuploadsuccess", //同步上传成功结果处理 function(event, data) { var result = data.response; var files = data.files; data = result.data; if (result.success) { var $hideObj = $('[name ="' + hName + '"]'); var fileobjArray = new Array(); try { if ($hideObj.val() !== "") fileobjArray = eval($hideObj.val()); } catch (e) { $hideObj.val(""); fileobjArray = new Array(); } for (var i = 0; i < data.length; i++) { var obj = new Object(); obj.id = files[i].lastModified; obj.url = data[i]; obj.size = files[i].size; fileobjArray.push(obj); } $hideObj.val(fileobjArray.length > 0 ? JSON.stringify(fileobjArray) : ""); if (typeof (fun) == "function") fun(); } else layer.msg(data.msg); }); //删除(异步执行) CommonAjax.Post("/SoftMng/FileInputHandler/Delete", { filepath: JSON.stringify(FileInput.DeleteArray) }, function (res) { if (!res.success) console.log(res.msg); }); FileInput.DeleteArray = new Array();//初始化删除数组 //上传(异步执行) var fileStack = $("#" + id).fileinput('getFileStack');//获取当前要上传的文件 if (fileStack.length > 0) $("#" + id).fileinput('upload'); else if (typeof (fun) == "function") fun(); }, DeleteArray: new Array() }