diff --git a/public/assets/js/backend.js b/public/assets/js/backend.js index 8aca0a5e..0d4bca89 100755 --- a/public/assets/js/backend.js +++ b/public/assets/js/backend.js @@ -113,12 +113,26 @@ define(['fast', 'moment'], function (Fast, Moment) { $(document).on('click', '.btn-dialog,.dialogit', function (e) { var that = this; var options = $.extend({}, $(that).data() || {}); - if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { + if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { - var button = tableOptions.columns[0][options.columnIndex]['buttons'][options.buttonIndex]; - if (button && typeof button.callback === 'function') { - options.callback = button.callback; + var columnObj = null; + $.each(tableOptions.columns, function (i, columns) { + $.each(columns, function (j, column) { + if (typeof column.fieldIndex !== 'undefined' && column.fieldIndex === options.fieldIndex) { + columnObj = column; + return false; + } + }); + if (columnObj) { + return false; + } + }); + if (columnObj) { + var button = columnObj['buttons'][options.buttonIndex]; + if (button && typeof button.callback === 'function') { + options.callback = button.callback; + } } } } @@ -159,15 +173,29 @@ define(['fast', 'moment'], function (Fast, Moment) { var error = typeof options.error === 'function' ? options.error : null; delete options.success; delete options.error; - if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { + if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { - var button = tableOptions.columns[0][options.columnIndex]['buttons'][options.buttonIndex]; - if (button && typeof button.success === 'function') { - success = button.success; - } - if (button && typeof button.error === 'function') { - error = button.error; + var columnObj = null; + $.each(tableOptions.columns, function (i, columns) { + $.each(columns, function (j, column) { + if (typeof column.fieldIndex !== 'undefined' && column.fieldIndex === options.fieldIndex) { + columnObj = column; + return false; + } + }); + if (columnObj) { + return false; + } + }); + if (columnObj) { + var button = columnObj['buttons'][options.buttonIndex]; + if (button && typeof button.success === 'function') { + success = button.success; + } + if (button && typeof button.error === 'function') { + error = button.error; + } } } } diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index 00e46a17..8679e87b 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -6911,12 +6911,26 @@ define('backend',['fast', 'moment'], function (Fast, Moment) { $(document).on('click', '.btn-dialog,.dialogit', function (e) { var that = this; var options = $.extend({}, $(that).data() || {}); - if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { + if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { - var button = tableOptions.columns[0][options.columnIndex]['buttons'][options.buttonIndex]; - if (button && typeof button.callback === 'function') { - options.callback = button.callback; + var columnObj = null; + $.each(tableOptions.columns, function (i, columns) { + $.each(columns, function (j, column) { + if (typeof column.fieldIndex !== 'undefined' && column.fieldIndex === options.fieldIndex) { + columnObj = column; + return false; + } + }); + if (columnObj) { + return false; + } + }); + if (columnObj) { + var button = columnObj['buttons'][options.buttonIndex]; + if (button && typeof button.callback === 'function') { + options.callback = button.callback; + } } } } @@ -6957,15 +6971,29 @@ define('backend',['fast', 'moment'], function (Fast, Moment) { var error = typeof options.error === 'function' ? options.error : null; delete options.success; delete options.error; - if (typeof options.tableId !== 'undefined' && typeof options.columnIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { + if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { - var button = tableOptions.columns[0][options.columnIndex]['buttons'][options.buttonIndex]; - if (button && typeof button.success === 'function') { - success = button.success; - } - if (button && typeof button.error === 'function') { - error = button.error; + var columnObj = null; + $.each(tableOptions.columns, function (i, columns) { + $.each(columns, function (j, column) { + if (typeof column.fieldIndex !== 'undefined' && column.fieldIndex === options.fieldIndex) { + columnObj = column; + return false; + } + }); + if (columnObj) { + return false; + } + }); + if (columnObj) { + var button = columnObj['buttons'][options.buttonIndex]; + if (button && typeof button.success === 'function') { + success = button.success; + } + if (button && typeof button.error === 'function') { + error = button.error; + } } } } @@ -10005,9 +10033,8 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr var options = table ? table.bootstrapTable('getOptions') : {}; var html = []; var url, classname, icon, text, title, extend; - var columnIndex = options.columns[0].findIndex(function (element) { - return element === column; - }); + var fieldIndex = column.fieldIndex; + $.each(buttons, function (i, j) { if (type === 'operate') { if (j.name === 'dragsort' && typeof row[Table.config.dragsortfield] === 'undefined') { @@ -10028,7 +10055,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : ''; confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : ''; extend = j.extend ? j.extend : ''; - html.push('' + (text ? ' ' + text : '') + ''); + html.push('' + (text ? ' ' + text : '') + ''); } }); return html.join(' '); diff --git a/public/assets/js/require-table.js b/public/assets/js/require-table.js index eebbf0c4..5b5b23b3 100644 --- a/public/assets/js/require-table.js +++ b/public/assets/js/require-table.js @@ -432,9 +432,8 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table var options = table ? table.bootstrapTable('getOptions') : {}; var html = []; var url, classname, icon, text, title, extend; - var columnIndex = options.columns[0].findIndex(function (element) { - return element === column; - }); + var fieldIndex = column.fieldIndex; + $.each(buttons, function (i, j) { if (type === 'operate') { if (j.name === 'dragsort' && typeof row[Table.config.dragsortfield] === 'undefined') { @@ -455,7 +454,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table refresh = j.refresh ? 'data-refresh="' + j.refresh + '"' : ''; confirm = j.confirm ? 'data-confirm="' + j.confirm + '"' : ''; extend = j.extend ? j.extend : ''; - html.push('' + (text ? ' ' + text : '') + ''); + html.push('' + (text ? ' ' + text : '') + ''); } }); return html.join(' ');