lists.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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: 'award/lists/index',
  8. add_url: 'award/lists/add',
  9. edit_url: 'award/lists/edit',
  10. del_url: 'award/lists/del',
  11. multi_url: 'award/lists/multi',
  12. table: 'award_lists',
  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'), operate:false},
  25. {field: 'name', title: __('Name')},
  26. {field: 'type', title: __('Type'), visible:false, searchList: {"1":__('无奖励'),"2":__('书籍'),"3":__('vip'),"4":__('赠送书籍'),"5":__('抽奖次数')}},
  27. {field: 'type_text', title: __('Type'), operate:false},
  28. {field: 'image', title: __('Image'), operate:false,formatter: Table.api.formatter.image},
  29. {field: 'state', title: __('State'), visible:false, searchList: {"1":__('生效'),"2":__('失效')}},
  30. {field: 'state_text', title: __('State'), operate:false,formatter:function(value,row){
  31. if (row.state == 1){
  32. return '<span style="color:green">'+row.state_text+'</span>';
  33. }else{
  34. return '<span style="color:red">'+row.state_text+'</span>';
  35. }
  36. }},
  37. {field: 'createtime', title: __('Createtime'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  38. {field: 'updatetime', title: __('Updatetime'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  39. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter:function(value,row){
  40. var html = '';
  41. if (row.state == 2) {
  42. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.state + '" class="btn btn-xs btn-danger btn-lapse">有效</a>&nbsp;&nbsp;';
  43. } else {
  44. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.state + '" class="btn btn-xs btn-primary btn-lapse">失效</a>&nbsp;&nbsp;';
  45. }
  46. html += '<a href="javascript:;" class="btn btn-dialog btn-xs btn-success btn-editone book_but">修改</a>&nbsp;&nbsp;';
  47. return html;
  48. }}
  49. ]
  50. ]
  51. });
  52. // 失效 | 有效
  53. $(document).on('click','.btn-lapse',function(){
  54. var id = $(this).data('id');
  55. var state = $(this).data('status');
  56. var status_text = '确定要失效处理吗?';
  57. if(state == 2){
  58. status_text = '确定要设置为有效吗?';
  59. }
  60. Layer.confirm(status_text, function (idx) {
  61. $.post(
  62. 'award/lists/ajaxLapse',
  63. {
  64. 'id': id,
  65. 'state': state
  66. },
  67. function (data) {
  68. layer.alert(data.msg);
  69. table.bootstrapTable('refresh');
  70. }
  71. );
  72. });
  73. });
  74. $(document).on('click','.btn-delcache',function () {
  75. Layer.confirm('确定清除缓存吗?', function () {
  76. $.post(
  77. 'award/lists/InitCache',
  78. {
  79. },
  80. function (data) {
  81. layer.alert(data.msg);
  82. }
  83. );
  84. });
  85. })
  86. // 为表格绑定事件
  87. Table.api.bindevent(table);
  88. },
  89. add: function () {
  90. Controller.api.bindevent();
  91. $(document).on('change','#c-type',function () {
  92. var award_type = $(this).val();
  93. var award_con = $('.award_content');
  94. console.log(award_type);
  95. switch (award_type) {
  96. case "1":
  97. award_con.hide();
  98. break;
  99. case "2":
  100. award_con.find('label').text('书籍ID列表:');
  101. award_con.find('.award_other').hide();
  102. award_con.find('.award_book').show();
  103. award_con.show();
  104. break;
  105. case "3":
  106. award_con.find('label').text('vip天数:')
  107. award_con.find('.award_other').show();
  108. award_con.find('.award_book').hide();
  109. award_con.show();
  110. break;
  111. case "4":
  112. award_con.find('label').text('赠送书币数:');
  113. award_con.find('.award_other').show();
  114. award_con.find('.award_book').hide();
  115. award_con.show();
  116. break;
  117. case "5":
  118. award_con.find('label').text('抽奖次数:')
  119. award_con.find('.award_other').show();
  120. award_con.find('.award_book').hide();
  121. award_con.show();
  122. break;
  123. default:
  124. award_con.hide();
  125. break;
  126. }
  127. });
  128. },
  129. edit: function () {
  130. Controller.api.bindevent();
  131. $(document).on('change','#c-type',function () {
  132. var award_type = $(this).val();
  133. console.log(award_type);
  134. award_type_html(award_type);
  135. });
  136. var award_type = $('#c-type').find('option:checked').val();
  137. award_type_html(award_type);
  138. function award_type_html(award_type) {
  139. var award_con = $('.award_content');
  140. switch (award_type) {
  141. case "1":
  142. award_con.hide();
  143. break;
  144. case "2":
  145. award_con.find('label').text('书籍ID列表:');
  146. award_con.find('.award_other').hide();
  147. award_con.find('.award_book').show();
  148. award_con.show();
  149. break;
  150. case "3":
  151. award_con.find('label').text('vip天数:')
  152. award_con.find('.award_other').show();
  153. award_con.find('.award_book').hide();
  154. award_con.show();
  155. break;
  156. case "4":
  157. award_con.find('label').text('赠送书币数:');
  158. award_con.find('.award_other').show();
  159. award_con.find('.award_book').hide();
  160. award_con.show();
  161. break;
  162. case "5":
  163. award_con.find('label').text('抽奖次数:')
  164. award_con.find('.award_other').show();
  165. award_con.find('.award_book').hide();
  166. award_con.show();
  167. break;
  168. default:
  169. award_con.hide();
  170. break;
  171. }
  172. }
  173. },
  174. api: {
  175. bindevent: function () {
  176. Form.api.bindevent($("form[role=form]"));
  177. }
  178. },
  179. show:function () {
  180. Table.api.init({
  181. extend: {
  182. index_url: 'award/lists/index',
  183. add_url: 'award/lists/add',
  184. edit_url: 'award/lists/edit',
  185. del_url: 'award/lists/del',
  186. multi_url: 'award/lists/multi',
  187. table: 'award_lists',
  188. show_url:'award/lists/show',
  189. }
  190. });
  191. var table = $('#table');
  192. table.bootstrapTable({
  193. url: $.fn.bootstrapTable.defaults.extend.show_url,
  194. pk: 'id',
  195. sortName: 'id',
  196. columns: [
  197. [
  198. {checkbox: true},
  199. {field: 'id', title: __('Id'), operate:false},
  200. {field: 'name', title: __('Name')},
  201. {field: 'type', title: __('Type'), visible:false, searchList: {"1":__('无奖励'),"2":__('书籍'),"3":__('vip'),"4":__('赠送书籍'),"5":__('抽奖次数')}},
  202. {field: 'type_text', title: __('Type'), operate:false},
  203. {field: 'image', title: __('Image'), operate:false,formatter: Table.api.formatter.image},
  204. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter:function(value,row){
  205. var html = '';
  206. if (row.state == 2) {
  207. html += '<a href="javascript:;" class="btn btn-danger btn-chooseone btn-xs"><i class="fa fa-check"></i> 选择</a>';
  208. } else {
  209. html += '<a href="javascript:;" class="btn btn-danger btn-chooseone btn-xs"><i class="fa fa-check"></i> 选择</a>';
  210. }
  211. return html;
  212. }}
  213. ]
  214. ]
  215. });
  216. // 为表格绑定事件
  217. Table.api.bindevent(table);
  218. $(document).on('click','.btn-chooseone',function () {
  219. Fast.api.close(table.bootstrapTable('getSelections'));
  220. });
  221. }
  222. };
  223. return Controller;
  224. });