作者 Karson

新增btn-ajax操作成功后自动刷新表格的功能

表格buttons新增refresh参数
修复btn-ajax回调函数在多次调用时的BUG
修复在启用dataLimit时关联查询时的BUG
... ... @@ -170,9 +170,9 @@ class Backend extends Controller
'fastadmin' => Config::get('fastadmin'),
'referer' => Session::get("referer")
];
Config::set('upload', array_merge(Config::get('upload'), $upload));
// 配置信息后
Hook::listen("config_init", $config);
//加载当前控制器语言包
... ... @@ -232,16 +232,14 @@ class Backend extends Controller
{
if (!empty($this->model))
{
$class = get_class($this->model);
$name = basename(str_replace('\\', '/', $class));
$tableName = $this->model->getQuery()->getTable($name) . ".";
$tableName = $this->model->getQuery()->getTable() . ".";
}
$sort = stripos($sort, ".") === false ? $tableName . $sort : $sort;
}
$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds))
{
$where[] = [$this->dataLimitField, 'in', $adminIds];
$where[] = [$tableName . $this->dataLimitField, 'in', $adminIds];
}
if ($search)
{
... ... @@ -363,6 +361,10 @@ class Backend extends Controller
{
return null;
}
if ($this->auth->isSuperAdmin())
{
return null;
}
$adminIds = [];
if (in_array($this->dataLimit, ['auth', 'personal']))
{
... ...
... ... @@ -112,7 +112,7 @@ define(['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-dialog的元素时弹出dialog
$(document).on('click', '.btn-dialog,.dialogit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') {
var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions');
if (tableOptions) {
... ... @@ -135,7 +135,7 @@ define(['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-addtabs的元素时新增选项卡
$(document).on('click', '.btn-addtabs,.addtabsit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.confirm !== 'undefined') {
Layer.confirm(options.confirm, function (index) {
Backend.api.addtabs(Backend.api.replaceids(that, $(that).attr('href')), $(that).attr("title"));
... ... @@ -150,7 +150,7 @@ define(['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-ajax的元素时发送Ajax请求
$(document).on('click', '.btn-ajax,.ajaxit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.url === 'undefined' && $(that).attr("href")) {
options.url = $(that).attr("href");
}
... ... @@ -171,6 +171,10 @@ define(['fast', 'moment'], function (Fast, Moment) {
}
}
}
//如果未设备成功的回调,设定了自动刷新的情况下自动进行刷新
if (!success && typeof options.tableId !== 'undefined' && typeof options.refresh !== 'undefined' && options.refresh) {
$("#" + options.tableId).bootstrapTable('refresh');
}
if (typeof options.confirm !== 'undefined') {
Layer.confirm(options.confirm, function (index) {
Backend.api.ajax(options, success, error);
... ...
... ... @@ -6910,7 +6910,7 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-dialog的元素时弹出dialog
$(document).on('click', '.btn-dialog,.dialogit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') {
var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions');
if (tableOptions) {
... ... @@ -6933,7 +6933,7 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-addtabs的元素时新增选项卡
$(document).on('click', '.btn-addtabs,.addtabsit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.confirm !== 'undefined') {
Layer.confirm(options.confirm, function (index) {
Backend.api.addtabs(Backend.api.replaceids(that, $(that).attr('href')), $(that).attr("title"));
... ... @@ -6948,7 +6948,7 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
//点击包含.btn-ajax的元素时发送Ajax请求
$(document).on('click', '.btn-ajax,.ajaxit', function (e) {
var that = this;
var options = $(that).data() || {};
var options = $.extend({}, $(that).data() || {});
if (typeof options.url === 'undefined' && $(that).attr("href")) {
options.url = $(that).attr("href");
}
... ... @@ -6969,6 +6969,10 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
}
}
}
//如果未设备成功的回调,设定了自动刷新的情况下自动进行刷新
if (!success && typeof options.tableId !== 'undefined' && typeof options.refresh !== 'undefined' && options.refresh) {
$("#" + options.tableId).bootstrapTable('refresh');
}
if (typeof options.confirm !== 'undefined') {
Layer.confirm(options.confirm, function (index) {
Backend.api.ajax(options, success, error);
... ... @@ -10005,9 +10009,10 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
icon = j.icon ? j.icon : '';
text = j.text ? j.text : '';
title = j.title ? j.title : text;
refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : '';
confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : '';
extend = j.extend ? j.extend : '';
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-column-index="' + columnIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + (refresh ? refresh + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-column-index="' + columnIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
}
});
return html.join(' ');
... ...
... ... @@ -436,9 +436,10 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
icon = j.icon ? j.icon : '';
text = j.text ? j.text : '';
title = j.title ? j.title : text;
refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : '';
confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : '';
extend = j.extend ? j.extend : '';
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-column-index="' + columnIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
html.push('<a href="' + url + '" class="' + classname + '" ' + (confirm ? confirm + ' ' : '') + (refresh ? refresh + ' ' : '') + extend + ' title="' + title + '" data-table-id="' + (table ? table.attr("id") : '') + '" data-column-index="' + columnIndex + '" data-row-index="' + index + '" data-button-index="' + i + '"><i class="' + icon + '"></i>' + (text ? ' ' + text : '') + '</a>');
}
});
return html.join(' ');
... ...