123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
- let current_kind = 'all';
- var Controller = {
- index: function () {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- index_url: 'exam/cate/index' + location.search,
- add_url: 'exam/cate/add?kind=' + current_kind,
- edit_url: 'exam/cate/edit',
- del_url: 'exam/cate/del',
- multi_url: 'exam/cate/multi',
- import_url: 'exam/cate/import',
- table: 'exam_cate',
- }
- });
- var table = $("#table");
- // 初始化表格
- table.bootstrapTable({
- url: $.fn.bootstrapTable.defaults.extend.index_url,
- pk: 'id',
- sortName: 'id',
- pagination: false,
- commonSearch: false,
- search: false,
- showExport: false,//隐藏导出
- showToggle: false,//隐藏浏览模式
- showColumns: false,//隐藏显示隐藏模式
- searchFormVisible: true,//默认显示搜索表单
- columns: [
- [
- {checkbox: true},
- {field: 'id', title: __('Id'), operate: false},
- {
- field: 'name', title: __('Name'), operate: false, align: 'left', formatter:function (value, row, index) {
- return value.toString().replace(/(&|&)nbsp;/g, ' ');
- }},
- {
- field: 'kind',
- title: __('Kind'),
- searchList: {"QUESTION": __('Question'), "PAPER": __('Paper'), "ROOM": __('Room')},
- formatter: Table.api.formatter.normal
- },
- // {field: 'icon', title: __('Icon'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
- // {field: 'parent_id', title: __('Parent_id'), operate: 'LIKE'},
- {field: 'sort', title: __('Sort')},
- {
- field: 'operate',
- title: __('Operate'),
- table: table,
- events: Table.api.events.operate,
- formatter: Table.api.formatter.operate
- }
- ]
- ]
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- //绑定TAB事件
- $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
- // var options = table.bootstrapTable(tableOptions);
- var typeStr = $(this).attr("href").replace('#', '');
- var options = table.bootstrapTable('getOptions');
- options.pageNumber = 1;
- options.queryParams = function (params) {
- params.kind = typeStr;
- return params;
- };
- table.bootstrapTable('refresh', {});
- current_kind = typeStr;
- if (typeStr == 'all') {
- $('.btn-add').addClass('hide')
- } else {
- $('.btn-add').removeClass('hide')
- }
- // 重新初始化表格参数
- Table.api.init({
- extend: {
- index_url: 'exam/cate/index' + location.search,
- add_url: 'exam/cate/add?kind=' + current_kind,
- edit_url: 'exam/cate/edit?kind=' + current_kind,
- del_url: 'exam/cate/del',
- multi_url: 'exam/cate/multi',
- import_url: 'exam/cate/import',
- table: 'cate',
- }
- });
- return false;
- });
- },
- recyclebin: function () {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- 'dragsort_url': ''
- }
- });
- var table = $("#table");
- // 初始化表格
- table.bootstrapTable({
- url: 'exam/cate/recyclebin' + location.search,
- pk: 'id',
- sortName: 'id',
- columns: [
- [
- {checkbox: true},
- {field: 'id', title: __('Id')},
- {field: 'name', title: __('Name'), align: 'left'},
- {
- field: 'deletetime',
- title: __('Deletetime'),
- operate: 'RANGE',
- addclass: 'datetimerange',
- formatter: Table.api.formatter.datetime
- },
- {
- field: 'operate',
- width: '130px',
- title: __('Operate'),
- table: table,
- events: Table.api.events.operate,
- buttons: [
- {
- name: 'Restore',
- text: __('Restore'),
- classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
- icon: 'fa fa-rotate-left',
- url: 'exam/cate/restore',
- refresh: true
- },
- {
- name: 'Destroy',
- text: __('Destroy'),
- classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
- icon: 'fa fa-times',
- url: 'exam/cate/destroy',
- refresh: true
- }
- ],
- formatter: Table.api.formatter.operate
- }
- ]
- ]
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- },
- add: function () {
- Controller.api.bindevent();
- setTimeout(function () {
- $("#c-kind").trigger("change");
- }, 100);
- },
- edit: function () {
- Controller.api.bindevent();
- $("#c-kind").trigger('change')
- },
- api: {
- bindevent: function () {
- $(document).on("change", "#c-kind", function () {
- $("#c-parent_id option[data-type='all']").prop("selected", true);
- $("#c-parent_id option").removeClass("hide");
- // 隐藏非当前kind的数据
- $("#c-parent_id option[data-type!='" + $(this).val() + "']").addClass("hide");
- // 编辑时隐藏当前数据
- let id = $('#id').val()
- if (id) {
- $("#c-parent_id option[value='" + id + "']").addClass("hide");
- }
- $("#c-parent_id option[value='0']").removeClass("hide");
- // 刷新select项
- $("#c-parent_id").data("selectpicker") && $("#c-parent_id").selectpicker("refresh");
- });
- Form.api.bindevent($("form[role=form]"));
- $(document).on("change", "#c-parent_id", function () {
- console.log('parent_id', $(this).val())
- });
- }
- }
- };
- return Controller;
- });
|