98 lines
4.2 KiB
JavaScript
98 lines
4.2 KiB
JavaScript
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
|
|
|
var Controller = {
|
|
index: function () {
|
|
// 初始化表格参数配置
|
|
Table.api.init({
|
|
extend: {
|
|
index_url: 'wdsxh/member/level/index' + location.search,
|
|
add_url: 'wdsxh/member/level/add',
|
|
edit_url: 'wdsxh/member/level/edit',
|
|
del_url: 'wdsxh/member/level/del',
|
|
multi_url: 'wdsxh/member/level/multi',
|
|
import_url: 'wdsxh/member/level/import',
|
|
table: 'wdsxh_member_level',
|
|
}
|
|
});
|
|
|
|
var table = $("#table");
|
|
|
|
// 初始化表格
|
|
table.bootstrapTable({
|
|
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
|
pk: 'id',
|
|
sortName: 'weigh',
|
|
columns: [
|
|
[
|
|
{checkbox: true},
|
|
{field: 'id', title: __('Id')},
|
|
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
|
{field: 'fees', title: __('Fees'), operate:'BETWEEN'},
|
|
{field: 'weigh', title: __('Weigh'), operate: false},
|
|
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
|
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
|
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
|
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
|
]
|
|
]
|
|
});
|
|
|
|
// 为表格绑定事件
|
|
Table.api.bindevent(table);
|
|
|
|
// 添加跳转按钮函数
|
|
function addJumpButtons() {
|
|
var tbody = document.querySelector('table tbody');
|
|
if (!tbody) return;
|
|
|
|
var rows = tbody.querySelectorAll('tr');
|
|
for (var i = 0; i < rows.length; i++) {
|
|
var row = rows[i];
|
|
var lastTd = row.querySelector('td:last-child');
|
|
if (lastTd && !lastTd.querySelector('.btn-jump')) {
|
|
var rowIndex = row.getAttribute('data-index');
|
|
var rowData = table.bootstrapTable('getData')[rowIndex];
|
|
if (rowData && rowData.id) {
|
|
var jumpBtn = document.createElement('a');
|
|
jumpBtn.href = 'javascript:;';
|
|
jumpBtn.className = 'btn btn-xs btn-success btn-jump';
|
|
jumpBtn.setAttribute('data-id', rowData.id);
|
|
jumpBtn.style.marginLeft = '5px';
|
|
jumpBtn.innerHTML = '<i class="fa fa-external-link"></i> 权益';
|
|
|
|
// 绑定点击事件
|
|
jumpBtn.onclick = (function(id) {
|
|
return function() {
|
|
window.location.href = 'rights?level_id=' + id;
|
|
};
|
|
})(rowData.id);
|
|
|
|
lastTd.appendChild(jumpBtn);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// 延迟执行确保表格已加载
|
|
setTimeout(addJumpButtons, 500);
|
|
|
|
// 监听表格刷新完成事件
|
|
table.on('load-success.bs.table', function() {
|
|
setTimeout(addJumpButtons, 100);
|
|
});
|
|
},
|
|
add: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
edit: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
api: {
|
|
bindevent: function () {
|
|
Form.api.bindevent($("form[role=form]"));
|
|
}
|
|
}
|
|
};
|
|
return Controller;
|
|
});
|