(function ($) {
|
$.extend({
|
//thatFile
|
//thatUrl
|
fileinput_package: {
|
//新增页面
|
add: function (thatFile, thatUrl, callback) {
|
//图片上传
|
var params = {
|
'theme': 'explorer-fas',
|
'uploadUrl': ctx + 'common/defUpload',
|
'deleteUrl': '#',
|
showUpload: false,
|
overwriteInitial: false,
|
initialPreviewAsData: true,
|
language: 'zh',
|
uploadAsync: true,
|
dropZoneEnabled: false,
|
maxFileCount: 1,
|
autoReplace: true,
|
resizeImage: false,
|
showCaption: false,
|
showPreview: true,
|
browseClass: "btn btn-primary btn-lg",
|
allowedFileExtensions: ['jpg', 'png', 'gif', 'jpeg', 'bmp'],
|
previewFileIcon: ""
|
};
|
var lastThatFile =
|
$(thatFile).fileinput(params)
|
.on("filebatchselected", function (event, data) {
|
//选择即上传
|
$(thatFile).fileinput("upload");
|
})
|
.on('fileuploaded', function (event, data, previewId, index) {
|
//处理上传后数据,上传后插件会将现有上传文件previewId重排,此时需对现有地址数据做重排处理
|
let count = 0;
|
let imgUrl = {};
|
if ($(thatUrl).val()) {
|
let temp = JSON.parse($(thatUrl).val());
|
for(let key in temp){
|
imgUrl[previewId.substr(0, previewId.length - 1) + count] = temp[key];
|
count++;
|
}
|
};
|
previewId = previewId.substr(0, previewId.length - 1) + count;
|
imgUrl[previewId] = data.response.url;
|
$(thatUrl).val(JSON.stringify(imgUrl));
|
})
|
.on('filesuccessremove', function (event, previewId) {
|
//点击缩略图中删除按钮触发此事件
|
var imgUrl = JSON.parse($(thatUrl).val());
|
delete imgUrl[previewId];
|
$(thatUrl).val(JSON.stringify(imgUrl));
|
})
|
.on('filecleared', function (event) {
|
//点击左下角移除或者右上角×号按钮触发此事件
|
$(thatUrl).val("");
|
});
|
},
|
//编辑页面
|
edit: function (thatFile, thatUrl, callback) {
|
//处理预览数据
|
var urlObj = $(thatUrl).val();
|
var previewUrl = [];
|
var config = [];
|
var previewKeys = [];
|
if (urlObj) {
|
urlObj = JSON.parse(urlObj);
|
for (var key in urlObj) {
|
previewUrl.push(urlObj[key]);
|
var tem = {};
|
tem['key'] = key;
|
config.push(tem);
|
previewKeys.push(key);
|
}
|
}
|
;
|
|
//图片上传
|
var params = {
|
'theme': 'explorer-fas',
|
'uploadUrl': ctx + 'common/defUpload',
|
'deleteUrl': '#',
|
showUpload: false,
|
overwriteInitial: false,
|
initialPreviewAsData: true,
|
language: 'zh',
|
uploadAsync: true,
|
dropZoneEnabled: false,
|
maxFileCount: 1,
|
resizeImage: false,
|
showCaption: false,
|
showPreview: true,
|
browseClass: "btn btn-primary btn-lg",
|
allowedFileExtensions: ['jpg', 'png', 'gif', 'jpeg', 'bmp'],
|
previewFileIcon: "",
|
initialPreviewConfig: config,
|
initialPreview: previewUrl
|
};
|
var lastThatFile =
|
$(thatFile).fileinput(params)
|
.on("filebatchselected", function (event, data) {
|
//选择即上传
|
$(thatFile).fileinput("upload");
|
})
|
.on('fileuploaded', function (event, data, previewId, index) {
|
//处理上传后数据,上传后插件会将现有上传文件previewId重排,,此时需对现有地址数据做重排处理,此时有预览数据,预览数据不做处理
|
let count = 0;
|
let imgUrl = {};
|
if ($(thatUrl).val()) {
|
let temp = JSON.parse($(thatUrl).val());
|
for(let key in temp){
|
if (previewKeys.indexOf(key) == -1){
|
imgUrl[previewId.substr(0, previewId.length - 1) + count] = temp[key];
|
count++;
|
}else {
|
imgUrl[key] = temp[key];
|
}
|
}
|
};
|
previewId = previewId.substr(0, previewId.length - 1) + count;
|
imgUrl[previewId] = data.response.url;
|
$(thatUrl).val(JSON.stringify(imgUrl));
|
})
|
.on('filesuccessremove', function (event, previewId) {
|
//点击缩略图中删除按钮触发此事件(此事件是新上传图片缩略图触发)
|
var imgUrl = JSON.parse($(thatUrl).val());
|
delete imgUrl[previewId];
|
$(thatUrl).val(JSON.stringify(imgUrl));
|
})
|
.on('filedeleted', function (event, key) {
|
//点击缩略图中删除按钮触发此事件(此事件是初始化预览图片缩略图触发)
|
var tem = JSON.parse($(thatUrl).val());
|
delete tem[key];
|
let index = previewKeys.indexOf(key);
|
if (index != -1)
|
delete previewKeys[index];
|
$(thatUrl).val(JSON.stringify(tem));
|
})
|
.on('filecleared', function (event) {
|
//点击左下角移除或者右上角×号按钮触发此事件,此时需把初始化预览图片置空
|
$(thatUrl).val("");
|
$(thatFile).fileinput('refresh', {initialPreview: []});
|
});
|
},
|
//查看页面
|
detail: function (thatFile, thatUrl, callback) {
|
var urlObj = $(thatUrl).val();
|
var previewUrl = [];
|
var config = [];
|
if (urlObj) {
|
urlObj = JSON.parse(urlObj);
|
for (var key in urlObj) {
|
previewUrl.push(urlObj[key]);
|
var tem = {};
|
tem['key'] = key;
|
config.push(tem)
|
}
|
}
|
;
|
var lastThatFile =
|
$(thatFile).fileinput({
|
'theme': 'explorer-fas',
|
showUpload: false,
|
overwriteInitial: false,
|
initialPreviewAsData: true,
|
language: 'zh',
|
dropZoneEnabled: false,
|
resizeImage: false,
|
showCaption: false,
|
showPreview: true,
|
showRemove: false,
|
showClose: false,
|
browseClass: "btn btn-primary btn-lg",
|
allowedFileExtensions: ['jpg', 'png', 'gif', 'jpeg', 'bmp'],
|
previewFileIcon: '',
|
initialPreviewConfig: config,
|
initialPreview: previewUrl
|
});
|
}
|
}
|
});
|
})(jQuery);
|