305 lines
13 KiB
JavaScript
Executable File
305 lines
13 KiB
JavaScript
Executable File
define(['table', 'upload','form'], function (Table,Upload,Form) {
|
|
var User = {
|
|
imgpreview:function(e,v,d,index){
|
|
var that = $(e.currentTarget);
|
|
var srcs = [];
|
|
var index = $(that).parents('table').find('.img-center').index($(that))
|
|
$(that).parents('table').find('.img-center').each(function(v,k){
|
|
var src = $(that).attr('data-url') || $(that).attr('src');
|
|
srcs.push({
|
|
"src": src,
|
|
"alt": $(that).attr('alt') || $(that).attr('title') || src,
|
|
"pid":k,
|
|
"thumb": $(that).attr('data-url') || $(that).attr('src')
|
|
});
|
|
});
|
|
(parent ? parent.layer : layer).photos({
|
|
zIndex:19891033,
|
|
photos: { // 图片层的数据源
|
|
"title": "", // 相册标题
|
|
"id": 123, // 相册 id
|
|
"start": index, // 初始显示的图片序号,默认 0
|
|
"data": srcs
|
|
}
|
|
});
|
|
return false;
|
|
},
|
|
//Do setup work hereAction
|
|
index: function () {
|
|
|
|
Table.api.init({
|
|
extend: {
|
|
index_url: 'files/select',
|
|
add_url: 'files/insert',
|
|
edit_url: 'files/update',
|
|
del_url: 'files/delete',
|
|
multi_url: 'files/multi',
|
|
dragsort_url: 'files/weigh',
|
|
table: 'upload',
|
|
}
|
|
});
|
|
|
|
var table = $("#table");
|
|
var tableOptions = {
|
|
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
|
pk: 'id',
|
|
sortName: 'id',
|
|
commonSearch: false,
|
|
search: false,
|
|
showExport: false,
|
|
columns: [
|
|
[
|
|
{checkbox: true},
|
|
{
|
|
field: 'id',
|
|
title: 'ID',
|
|
sortable: true // 是否排序
|
|
},
|
|
{
|
|
title: "adapter",
|
|
field: "adapter",
|
|
filter: "string",
|
|
},
|
|
{
|
|
title: "名字",
|
|
field: "origin_name",
|
|
filter: "string",
|
|
},
|
|
{
|
|
title: "文件",
|
|
field: "file_name",
|
|
formatter: function (v,d,index) {
|
|
if (["jpg", "jpeg", "png", "gif", "bmp", "webp", "svg"].indexOf(d.extension.toLowerCase()) !== -1) {
|
|
var value = d['file_url'] == null || d['file_url'].length === 0 ? '' : d['file_url'].toString();
|
|
value = value ? value : '/assets/img/blank.gif';
|
|
var classname = 'img-sm img-center previewitem';
|
|
var url = Fast.api.cdnurl(value, true);
|
|
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload_thumbstyle;
|
|
return '<a href="javascript:"><img class="' + classname + '" src="' + url + '" alt="'+d['origin_name']+'" /></a>';
|
|
}
|
|
return '<a href="' + d['file_url'] + '" target="_blank" title="'+d['origin_name']+'">' + v + '</a>';
|
|
},
|
|
events:{
|
|
'click .img-center': function(e,v,d,index){
|
|
User.imgpreview.call(this,e,d['file_url'],d,index);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
title: "管理员id",
|
|
field: "admin_id",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "用户id",
|
|
field: "user_id",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "文件大小",
|
|
field: "size",
|
|
formatter: function (v,d) {
|
|
return User.formatSize(d.size);
|
|
}
|
|
},
|
|
{
|
|
title: "类型",
|
|
field: "mime_type",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "图片宽度",
|
|
field: "file_width",
|
|
},
|
|
{
|
|
title: "图片高度",
|
|
field: "file_height",
|
|
},{
|
|
title: "扩展名",
|
|
field: "extension",
|
|
},
|
|
{
|
|
title: "上传时间",
|
|
field: "created_at",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "引用次数",
|
|
field: "use_count"
|
|
},
|
|
{
|
|
title: "更新时间",
|
|
field: "updated_at",
|
|
hide: true,
|
|
},
|
|
{field: 'operate', title: '操作', table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
|
]
|
|
]
|
|
};
|
|
// 初始化表格
|
|
table.bootstrapTable(tableOptions);
|
|
// 为表格绑定事件
|
|
Table.api.bindevent(table);
|
|
//上传
|
|
Config['upload_url'] = 'files/insert';
|
|
Upload.api.upload($(".plupload,.faupload"),function(){
|
|
table.bootstrapTable('refresh');
|
|
Fast.api.success('上传成功');
|
|
},function(){
|
|
console.log(this,arguments);
|
|
|
|
},function(){
|
|
console.log(this,arguments);
|
|
|
|
});
|
|
},
|
|
// 格式化文件大小
|
|
formatSize : function(value) {
|
|
if(null == value || "" === value){
|
|
return "0 Bytes";
|
|
}
|
|
let unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];
|
|
let index = 0;
|
|
let srcSize = parseFloat(value);
|
|
index = Math.floor(Math.log(srcSize) / Math.log(1024));
|
|
let size =srcSize / Math.pow(1024, index);
|
|
size = size.toFixed(2);
|
|
return size + unitArr[index];
|
|
},
|
|
update:function(){
|
|
this.bindevent();
|
|
},
|
|
insert:function(){
|
|
this.bindevent();
|
|
},
|
|
bindevent:function(){
|
|
Config['upload_url'] = 'files/file';
|
|
var form = $('form');
|
|
Form.api.bindevent(form);
|
|
},
|
|
list:function(){
|
|
Table.api.init({
|
|
extend: {
|
|
index_url: 'files/select',
|
|
add_url: 'files/insert',
|
|
edit_url: 'files/update',
|
|
del_url: 'files/delete',
|
|
multi_url: 'files/multi',
|
|
dragsort_url: 'files/weigh',
|
|
table: 'upload',
|
|
}
|
|
});
|
|
|
|
// 选择行
|
|
let select = function (obj) {
|
|
let index = parent.layer.getFrameIndex(window.name);
|
|
let callback = parent.layui.$("#layui-layer" + index).data("callback");
|
|
callback(obj.data);
|
|
parent.layer.close(index);
|
|
};
|
|
var table = $("#table");
|
|
var tableOptions = {
|
|
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
|
pk: 'id',
|
|
sortName: 'id',
|
|
pagination: true,
|
|
commonSearch: false,
|
|
search: false,
|
|
showExport: false,
|
|
totalField: "count",
|
|
columns: [
|
|
[
|
|
{
|
|
field: 'id',
|
|
title: 'ID',
|
|
sortable: true // 是否排序
|
|
},
|
|
{
|
|
title: "adapter",
|
|
field: "adapter",
|
|
filter: "string",
|
|
},
|
|
{
|
|
title: "名字",
|
|
field: "origin_name",
|
|
filter: "string",
|
|
},
|
|
{
|
|
title: "文件",
|
|
field: "file_name",
|
|
formatter: function (v,d,index) {
|
|
if (["jpg", "jpeg", "png", "gif", "bmp", "webp", "svg"].indexOf(d.extension.toLowerCase()) !== -1) {
|
|
var value = d['file_url'] == null || d['file_url'].length === 0 ? '' : d['file_url'].toString();
|
|
value = value ? value : '/assets/img/blank.gif';
|
|
var classname = 'img-sm img-center previewitem';
|
|
var url = Fast.api.cdnurl(value, true);
|
|
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload_thumbstyle;
|
|
return '<a href="javascript:"><img class="' + classname + '" src="' + url + '" alt="'+d['origin_name']+'" /></a>';
|
|
}
|
|
return '<a href="' + d['file_url'] + '" target="_blank" title="'+d['origin_name']+'">' + v + '</a>';
|
|
},
|
|
events:{
|
|
'click .img-center': function(e,v,d,index){
|
|
User.imgpreview.call(this,e,d['file_url'],d,index);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
title: "管理员id",
|
|
field: "admin_id",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "用户id",
|
|
field: "user_id",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "文件大小",
|
|
field: "size",
|
|
formatter: function (v,d) {
|
|
return User.formatSize(d.size);
|
|
}
|
|
},
|
|
{
|
|
title: "类型",
|
|
field: "mime_type",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "图片宽度",
|
|
field: "file_width",
|
|
},
|
|
{
|
|
title: "图片高度",
|
|
field: "file_height",
|
|
},{
|
|
title: "扩展名",
|
|
field: "extension",
|
|
},
|
|
{
|
|
title: "上传时间",
|
|
field: "created_at",
|
|
visible: false,
|
|
},
|
|
{
|
|
title: "引用次数",
|
|
field: "use_count"
|
|
},
|
|
{
|
|
title: "更新时间",
|
|
field: "updated_at",
|
|
hide: true,
|
|
},
|
|
{field: 'operate', title: '操作', table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
|
]
|
|
]
|
|
};
|
|
// 初始化表格
|
|
table.bootstrapTable(tableOptions);
|
|
// 为表格绑定事件
|
|
Table.api.bindevent(table);
|
|
}
|
|
};
|
|
return User
|
|
}); |