block.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. showToggle:false,
  7. showColumns:false,
  8. showExport:false,
  9. commonSearch:false,
  10. });
  11. //绑定事件
  12. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  13. var panel = $($(this).attr("href"));
  14. if (panel.size() > 0) {
  15. Controller.table[panel.attr("id")].call(this);
  16. $(this).on('click', function (e) {
  17. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  18. });
  19. }
  20. //移除绑定的事件
  21. $(this).unbind('shown.bs.tab');
  22. });
  23. //必须默认触发shown.bs.tab事件
  24. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  25. },
  26. table: {
  27. first: function () {
  28. // 表格1
  29. var table = $("#table");
  30. table.bootstrapTable({
  31. url: 'manage/block/index?page_id=1',
  32. extend:{
  33. index_url: 'manage/block/index',
  34. add_url: 'manage/block/add?page_id=1',
  35. edit_url: 'manage/block/edit',
  36. del_url: 'manage/block/del',
  37. multi_url: 'manage/block/multi',
  38. table: 'manage_block',
  39. },
  40. pk: 'id',
  41. toolbar: '#toolbar1',
  42. sortName: 'weigh',
  43. search: false,
  44. columns: [
  45. [
  46. {checkbox: true},
  47. {field: 'id', title: __('Id')},
  48. {field: 'name', title: __('Name')},
  49. {field: 'second_name', title: __('Second_name')},
  50. {field: 'type_text', title: __('Type')},
  51. {field: 'weigh', title: __('Weigh')},
  52. {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime},
  53. {field: 'id', title: __('Blocklist'),formatter: Controller.api.formatter.id},
  54. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  55. ]
  56. ]
  57. });
  58. // 为表格1绑定事件
  59. Table.api.bindevent(table);
  60. Controller.api.bindevent();
  61. },
  62. second: function () {
  63. // 表格2
  64. var table2 = $("#table2");
  65. table2.bootstrapTable({
  66. url: 'manage/block/index?page_id=2',
  67. extend:{
  68. index_url: 'manage/block/index',
  69. add_url: 'manage/block/add?page_id=2',
  70. edit_url: 'manage/block/edit',
  71. del_url: 'manage/block/del',
  72. table: 'manage_block',
  73. },
  74. pk: 'id',
  75. toolbar: '#toolbar2',
  76. sortName: 'weigh',
  77. search: false,
  78. columns: [
  79. [
  80. {checkbox: true},
  81. {field: 'id', title: __('Id')},
  82. {field: 'name', title: __('Name')},
  83. {field: 'second_name', title: __('Second_name')},
  84. {field: 'type_text', title: __('Type')},
  85. {field: 'weigh', title: __('Weigh')},
  86. {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime},
  87. {field: 'id', title: __('Blocklist'),formatter: Controller.api.formatter.id},
  88. {field: 'operate', title: __('Operate'), table: table2, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  89. ]
  90. ]
  91. });
  92. // 为表格2绑定事件
  93. Table.api.bindevent(table2);
  94. Controller.api.bindevent();
  95. },
  96. three: function () {
  97. // 表格3
  98. var table3 = $("#table3");
  99. table3.bootstrapTable({
  100. url: 'manage/block/index?page_id=3',
  101. extend:{
  102. index_url: 'manage/block/index',
  103. add_url: 'manage/block/add?page_id=3',
  104. edit_url: 'manage/block/edit?page_id=3',
  105. del_url: 'manage/block/del?page_id=3',
  106. table: 'manage_block',
  107. },
  108. pk: 'id',
  109. toolbar: '#toolbar3',
  110. sortName: 'weigh',
  111. search: false,
  112. columns: [
  113. [
  114. {checkbox: true},
  115. {field: 'id', title: __('Id')},
  116. {field: 'name', title: __('Name')},
  117. {field: 'second_name', title: __('Second_name')},
  118. {field: 'type_text', title: __('Type')},
  119. {field: 'weigh', title: __('Weigh')},
  120. {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime},
  121. {field: 'id', title: __('Blocklist'),formatter: Controller.api.formatter.id},
  122. {field: 'operate', title: __('Operate'), table: table3, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  123. ]
  124. ]
  125. });
  126. // 为表格3绑定事件
  127. Table.api.bindevent(table3);
  128. Controller.api.bindevent();
  129. },
  130. four: function () {
  131. // 表格4
  132. var table4 = $("#table4");
  133. table4.bootstrapTable({
  134. url: 'manage/block/index?page_id=4',
  135. extend:{
  136. index_url: 'manage/block/index',
  137. add_url: 'manage/block/add?page_id=4',
  138. edit_url: 'manage/block/edit?page_id=4',
  139. del_url: 'manage/block/del?page_id=4',
  140. table: 'manage_block',
  141. },
  142. pk: 'id',
  143. toolbar: '#toolbar4',
  144. sortName: 'weigh',
  145. search: false,
  146. columns: [
  147. [
  148. {checkbox: true},
  149. {field: 'id', title: __('Id')},
  150. {field: 'name', title: __('Name')},
  151. {field: 'second_name', title: __('Second_name')},
  152. {field: 'type_text', title: __('Type')},
  153. {field: 'weigh', title: __('Weigh')},
  154. {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime},
  155. {field: 'id', title: __('Blocklist'),formatter: Controller.api.formatter.id},
  156. {field: 'operate', title: __('Operate'), table: table4, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  157. ]
  158. ]
  159. });
  160. // 为表格4绑定事件
  161. Table.api.bindevent(table4);
  162. Controller.api.bindevent();
  163. }
  164. },
  165. add: function () {
  166. Controller.api.bindevent();
  167. },
  168. edit: function () {
  169. Controller.api.bindevent();
  170. },
  171. api: {
  172. bindevent: function () {
  173. Form.api.bindevent($("form[role=form]"));
  174. },
  175. formatter: {
  176. id: function (value, row, index) {
  177. //这里手动构造URL
  178. url = "manage/blockresource?block_id=" + value+'&page_id='+row.page_id;
  179. return '<a href="' + url + '" class="label label-success addtabsit" title="' + __("Search %s", value) + '">资源列表</a>';
  180. }
  181. }
  182. }
  183. };
  184. return Controller;
  185. });