kbs.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'workorder/kbs/index' + location.search,
  8. add_url: 'workorder/kbs/add',
  9. edit_url: 'workorder/kbs/edit',
  10. del_url: 'workorder/kbs/del',
  11. multi_url: 'workorder/kbs/multi',
  12. import_url: 'workorder/kbs/import',
  13. table: 'workorder_kbs',
  14. }
  15. });
  16. var table = $("#table");
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url: $.fn.bootstrapTable.defaults.extend.index_url,
  20. pk: 'id',
  21. sortName: 'weigh',
  22. columns: [
  23. [
  24. {checkbox: true},
  25. {field: 'id', title: __('Id')},
  26. {
  27. field: 'category_id',
  28. title: __('Category_id'),
  29. operate: 'LIKE',
  30. visible: false,
  31. placeholder: '请通过侧边分类筛选'
  32. },
  33. {field: 'title', title: __('Title'), operate: 'LIKE'},
  34. // {field: 'template', title: __('Template')},
  35. {field: 'views', title: __('Views')},
  36. {field: 'likes', title: __('Likes')},
  37. {field: 'dislikes', title: __('Dislikes')},
  38. {field: 'url', title: __('Url'), formatter: Table.api.formatter.url},
  39. // {field: 'memo', title: __('Memo')},
  40. {
  41. field: 'status',
  42. title: __('Status'),
  43. searchList: {"0": __('Status 0'), "1": __('Status 1')},
  44. formatter: Table.api.formatter.status
  45. },
  46. // {field: 'weigh', title: __('Weigh')},
  47. {
  48. field: 'updatetime',
  49. title: __('Updatetime'),
  50. operate: 'RANGE',
  51. addclass: 'datetimerange',
  52. formatter: Table.api.formatter.datetime
  53. },
  54. {
  55. field: 'createtime',
  56. title: __('Createtime'),
  57. operate: 'RANGE',
  58. addclass: 'datetimerange',
  59. formatter: Table.api.formatter.datetime
  60. },
  61. {
  62. field: 'operate',
  63. title: __('Operate'),
  64. table: table,
  65. events: Table.api.events.operate,
  66. formatter: Table.api.formatter.operate
  67. }
  68. ]
  69. ]
  70. });
  71. // 为表格绑定事件
  72. Table.api.bindevent(table);
  73. require(['jstree'], function () {
  74. //全选和展开
  75. $('#categorytree').on("changed.jstree", function (e, data) {
  76. $(".commonsearch-table input[name=category_id]").val(data.selected);
  77. table.bootstrapTable('refresh', {});
  78. return false;
  79. });
  80. $('#categorytree').jstree({
  81. "types": {
  82. "list": {
  83. "icon": "fa fa-list"
  84. }
  85. },
  86. 'plugins': ["types"],
  87. "core": {
  88. 'check_callback': true,
  89. "data": Config.categoryList
  90. }
  91. });
  92. });
  93. },
  94. recyclebin: function () {
  95. // 初始化表格参数配置
  96. Table.api.init({
  97. extend: {
  98. 'dragsort_url': ''
  99. }
  100. });
  101. var table = $("#table");
  102. // 初始化表格
  103. table.bootstrapTable({
  104. url: 'workorder/kbs/recyclebin' + location.search,
  105. pk: 'id',
  106. sortName: 'id',
  107. columns: [
  108. [
  109. {checkbox: true},
  110. {field: 'id', title: __('Id')},
  111. {field: 'title', title: __('Title'), align: 'left'},
  112. {
  113. field: 'deletetime',
  114. title: __('Deletetime'),
  115. operate: 'RANGE',
  116. addclass: 'datetimerange',
  117. formatter: Table.api.formatter.datetime
  118. },
  119. {
  120. field: 'operate',
  121. width: '130px',
  122. title: __('Operate'),
  123. table: table,
  124. events: Table.api.events.operate,
  125. buttons: [
  126. {
  127. name: 'Restore',
  128. text: __('Restore'),
  129. classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
  130. icon: 'fa fa-rotate-left',
  131. url: 'workorder/kbs/restore',
  132. refresh: true
  133. },
  134. {
  135. name: 'Destroy',
  136. text: __('Destroy'),
  137. classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
  138. icon: 'fa fa-times',
  139. url: 'workorder/kbs/destroy',
  140. refresh: true
  141. }
  142. ],
  143. formatter: Table.api.formatter.operate
  144. }
  145. ]
  146. ]
  147. });
  148. // 为表格绑定事件
  149. Table.api.bindevent(table);
  150. },
  151. add: function () {
  152. Controller.api.bindevent();
  153. },
  154. edit: function () {
  155. Controller.api.bindevent();
  156. },
  157. api: {
  158. bindevent: function () {
  159. Form.api.bindevent($("form[role=form]"));
  160. }
  161. }
  162. };
  163. return Controller;
  164. });