richtext.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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: 'shopro/richtext/index' + location.search,
  8. add_url: 'shopro/richtext/add',
  9. edit_url: 'shopro/richtext/edit',
  10. del_url: 'shopro/richtext/del',
  11. multi_url: 'shopro/richtext/multi',
  12. table: 'shopro_richtext',
  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. columns: [
  22. [
  23. {checkbox: true},
  24. {field: 'id', title: __('Id')},
  25. {field: 'title', title: __('Title')},
  26. // {field: 'content', title: __('Content')},
  27. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  28. {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  29. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  30. ]
  31. ]
  32. });
  33. // 为表格绑定事件
  34. Table.api.bindevent(table);
  35. },
  36. recyclebin: function () {
  37. // 初始化表格参数配置
  38. Table.api.init({
  39. extend: {
  40. 'dragsort_url': ''
  41. }
  42. });
  43. var table = $("#table");
  44. // 初始化表格
  45. table.bootstrapTable({
  46. url: 'shopro/richtext/recyclebin' + location.search,
  47. pk: 'id',
  48. sortName: 'id',
  49. columns: [
  50. [
  51. {checkbox: true},
  52. {field: 'id', title: __('Id')},
  53. {field: 'title', title: __('Title'), align: 'left'},
  54. {
  55. field: 'deletetime',
  56. title: __('Deletetime'),
  57. operate: 'RANGE',
  58. addclass: 'datetimerange',
  59. formatter: Table.api.formatter.datetime
  60. },
  61. {
  62. field: 'operate',
  63. width: '130px',
  64. title: __('Operate'),
  65. table: table,
  66. events: Table.api.events.operate,
  67. buttons: [
  68. {
  69. name: 'Restore',
  70. text: __('Restore'),
  71. classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
  72. icon: 'fa fa-rotate-left',
  73. url: 'shopro/richtext/restore',
  74. refresh: true
  75. },
  76. {
  77. name: 'Destroy',
  78. text: __('Destroy'),
  79. classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
  80. icon: 'fa fa-times',
  81. url: 'shopro/richtext/destroy',
  82. refresh: true
  83. }
  84. ],
  85. formatter: Table.api.formatter.operate
  86. }
  87. ]
  88. ]
  89. });
  90. // 为表格绑定事件
  91. Table.api.bindevent(table);
  92. },
  93. select: function () {
  94. // 初始化表格参数配置
  95. Table.api.init({
  96. extend: {
  97. index_url: 'shopro/richtext/index',
  98. }
  99. });
  100. var table = $("#table");
  101. // 初始化表格
  102. table.bootstrapTable({
  103. url: $.fn.bootstrapTable.defaults.extend.index_url,
  104. // sortName: 'id',
  105. pk: 'id',
  106. sortName: 'id',
  107. showToggle: false,
  108. showExport: false,
  109. columns: [
  110. [
  111. {field: 'id', title: __('Id')},
  112. {field: 'title', title: __('Title')},
  113. // {field: 'content', title: __('Content')},
  114. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  115. {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  116. {
  117. field: 'operate', title: __('Operate'), events: {
  118. 'click .btn-chooseone': function (e, value, row, index) {
  119. var multiple = Backend.api.query('multiple');
  120. multiple = multiple == 'true' ? true : false;
  121. row.ids=row.id.toString()
  122. Fast.api.close({data: row, multiple: multiple});
  123. },
  124. }, formatter: function () {
  125. return '<a href="javascript:;" class="btn btn-danger btn-chooseone btn-xs"><i class="fa fa-check"></i> ' + __('Choose') + '</a>';
  126. }
  127. }
  128. ]
  129. ]
  130. });
  131. // 选中多个
  132. $(document).on("click", ".btn-choose-multi", function () {
  133. var couponsArr = new Array();
  134. $.each(table.bootstrapTable("getAllSelections"), function (i, j) {
  135. couponsArr.push(j.id);
  136. });
  137. var multiple = Backend.api.query('multiple');
  138. multiple = multiple == 'true' ? true : false;
  139. let row={}
  140. row.ids=couponsArr.join(",")
  141. Fast.api.close({data: row, multiple: multiple});
  142. });
  143. // 为表格绑定事件
  144. Table.api.bindevent(table);
  145. require(['upload'], function (Upload) {
  146. Upload.api.plupload($("#toolbar .plupload"), function () {
  147. $(".btn-refresh").trigger("click");
  148. });
  149. });
  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. });