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 ''+d['origin_name']+''; } return '' + v + ''; }, 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 ''+d['origin_name']+''; } return '' + v + ''; }, 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 });