device.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'selectpage'], function ($, undefined, Backend, Table, Form, Selectpage) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'dict/device/index' + location.search,
  8. add_url: 'dict/device/add',
  9. edit_url: 'dict/device/edit',
  10. del_url: 'dict/device/del',
  11. multi_url: 'dict/device/multi',
  12. table: 'device',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'id',
  21. showToggle: false,
  22. showColumns: false,
  23. columns: [
  24. [
  25. {field: 'name', title: __('Name'), formatter: Table.api.formatter.bold},
  26. {
  27. field: 'exam_class_id',
  28. title: __('Exam_class'),
  29. visible: false,
  30. searchList: $.getJSON('dict/device/classSelectList')
  31. },
  32. {
  33. field: 'exam_class',
  34. title: __('Exam_class'),
  35. searchable: false
  36. },
  37. {
  38. field: 'status',
  39. title: __('Status'),
  40. formatter: Table.api.formatter.status,
  41. searchList: {1: '启用', 2: '禁用'},
  42. custom: {1: 'success', 2: 'danger'},
  43. },
  44. {field: 'createdAt', title: __('Createdat'), operate:'RANGE', addclass:'datetimerange'},
  45. {field: 'updatedAt', title: __('Updatedat'), operate:'RANGE', addclass:'datetimerange'},
  46. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  47. ]
  48. ]
  49. });
  50. // 为表格绑定事件
  51. Table.api.bindevent(table);
  52. },
  53. add: function () {
  54. Controller.api.bindevent();
  55. },
  56. edit: function () {
  57. Controller.api.bindevent();
  58. },
  59. api: {
  60. bindevent: function () {
  61. $.ajax({
  62. url: 'dict/device/classSelectList/save/1',
  63. type: 'post',
  64. dataType: 'json',
  65. success: function success(res) {
  66. var data = res.rows;
  67. $('#c-exam_class_id').selectPage({
  68. data : data,
  69. });
  70. }
  71. });
  72. Form.api.bindevent($("form[role=form]"));
  73. }
  74. }
  75. };
  76. return Controller;
  77. });