参考资料:
https://ask.fastadmin.net/question/6713.html
js代码:
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'works/index' + location.search,
add_url: 'works/add',
edit_url: 'works/edit',
// del_url: 'works/del',
multi_url: 'works/multi',
import_url: 'works/import',
table: 'works',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id'),operate: false},
// {field: 'uid', title: __('Uid')},
{field: 'user.username', title: __('User.username'), operate: false},
{field: 'title', title: __('Title'), operate: false},
{field: 'score', title: __('Score'), operate:false},
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'screenshots', title: __('Screenshots'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'createtime', title: __('Createtime'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'checkstatus', title: __('Checkstatus'),operate: false, searchList: {"0":__('Checkstatus 0'),"1":__('Checkstatus 1')}, formatter: Table.api.formatter.status},
// {field: 'wv_id', title: __('Wv_id')},
{field: 'worksversion.id', title: __('Worksversion.id')},
{field: 'worksversion.name', title: __('Worksversion.name')},
// {field: 'worksversion.createtime', title: __('Worksversion.createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'worksversion.endtime', title: __('Worksversion.endtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'worksversion.checkstatus', title: __('Worksversion.checkstatus'), formatter: Table.api.formatter.status,operate: false},
// {field: 'user.id', title: __('User.id')},
// {field: 'user.group_id', title: __('User.group_id')},
// {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
// {field: 'user.password', title: __('User.password'), operate: 'LIKE'},
// {field: 'user.salt', title: __('User.salt'), operate: 'LIKE'},
// {field: 'user.email', title: __('User.email'), operate: 'LIKE'},
// {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
// {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
// {field: 'user.level', title: __('User.level')},
// {field: 'user.gender', title: __('User.gender')},
// {field: 'user.birthday', title: __('User.birthday'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
// {field: 'user.bio', title: __('User.bio'), operate: 'LIKE'},
// {field: 'user.money', title: __('User.money'), operate:'BETWEEN'},
// {field: 'user.score', title: __('User.score')},
// {field: 'user.successions', title: __('User.successions')},
// {field: 'user.maxsuccessions', title: __('User.maxsuccessions')},
// {field: 'user.prevtime', title: __('User.prevtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'user.logintime', title: __('User.logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'user.loginip', title: __('User.loginip'), operate: 'LIKE'},
// {field: 'user.loginfailure', title: __('User.loginfailure')},
// {field: 'user.joinip', title: __('User.joinip'), operate: 'LIKE'},
// {field: 'user.jointime', title: __('User.jointime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'user.createtime', title: __('User.createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'user.updatetime', title: __('User.updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
// {field: 'user.token', title: __('User.token'), operate: 'LIKE'},
// {field: 'user.status', title: __('User.status'), operate: 'LIKE', formatter: Table.api.formatter.status},
// {field: 'user.verification', title: __('User.verification'), operate: 'LIKE'},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate},
// {
// field: 'buttons',
// width: "120px",
// title: __('审核'),
// table: table,
// events: Table.api.events.operate,
// buttons: [
// {
// name: 'ajax',
// text: __('查看'),
// title: __('查看'),
// classname: 'btn btn-xs btn-success btn-magic btn-ajax',
// icon: 'fa fa-magic',
// type: 'GET',
// url: 'works/check',
// success: function (data, ret) {
// // console.log(data, ret);
// Layer.msg(ret.msg);
// window.location.reload();
// return false;
// },
// error: function (data, ret) {
// // console.log(data, ret);
// Layer.alert(ret.msg);
// return false;
// }
// }
// ],
// formatter: Table.api.formatter.buttons
// },
]
],
queryParams: function(params){
var filter = JSON.parse(params.filter);
var op = JSON.parse(params.op);
var id = Fast.api.query('ids');
if (id != null){
filter['worksversion.id']=Fast.api.query('ids');
op['worksversion.id'] = '=';
}
console.log(filter);console.log(op);
params.filter = JSON.stringify(filter);
params.op = JSON.stringify(op);
return params;
}
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});