flip.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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: 'card/flip/index',
  8. add_url: 'card/flip/add',
  9. edit_url: 'card/flip/edit',
  10. del_url: 'card/flip/del',
  11. multi_url: 'card/flip/multi',
  12. table: 'card_flip',
  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: 'id', title: __('活动链接'),formatter:function(value,row){
  27. return '/index/activity/cardFlip?actId='+row.id;
  28. }, operate:false},
  29. {field: 'begin_time', title: __('Begin_time'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  30. {field: 'end_time', title: __('End_time'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  31. {field: 'kandian', title: __('单场消耗书币数'), operate:false},
  32. {field: 'limit', title: __('限制次数(天)'), operate:false},
  33. {field: 'state', title: __('状态'),visible:false, searchList: {"1":__('生效'),"2":__('失效')}},
  34. {field: 'state_text', title: __('状态'), operate:false,formatter:function(value,row){
  35. if (row.state == 1){
  36. return '<span style="color:green">'+row.state_text+'</span>';
  37. }else{
  38. return '<span style="color:red">'+row.state_text+'</span>';
  39. }
  40. }},
  41. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: function (value,row) {
  42. var html = '';
  43. if (Config.group < 3 || Config.group == 6){
  44. if (row.state == 2) {
  45. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.state + '" class="btn btn-xs btn-danger btn-lapse">有效</a>&nbsp;&nbsp;';
  46. } else {
  47. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.state + '" class="btn btn-xs btn-primary btn-lapse ">失效</a>&nbsp;&nbsp;';
  48. }
  49. html += '<a href="" class="btn btn-dialog btn-xs btn-success btn-editone book_but ">修改</a>&nbsp;&nbsp;';
  50. // html += '<a href="javascript:;" data-id="'+row.id+'" class="btn btn-xs btn-success upload-user book_but ">关联用户</a>&nbsp;&nbsp;';
  51. html += '<a href="javascript:;" data-id="'+row.id+'" class="btn btn-xs btn-danger btn-initcache book_but ">初始化缓存</a>&nbsp;&nbsp;';
  52. }
  53. html += '<a href="javascript:;" data-id="'+row.id+'" class="btn btn-xs btn-success btn-collect book_but">活动数据</a>&nbsp;&nbsp;';
  54. return html;
  55. }}
  56. ]
  57. ]
  58. });
  59. //初始化缓存
  60. $(document).on('click','.btn-initcache',function(){
  61. var id = $(this).data('id');
  62. $.post(
  63. 'card/flip/initCache',
  64. {
  65. 'id': id,
  66. },
  67. function (data) {
  68. layer.alert(data.msg);
  69. }
  70. );
  71. })
  72. //关联用户
  73. $(document).on('click','.btn-usergroup',function (event) {
  74. var id = $(this).data('id');
  75. Fast.api.open('ad/user/group/viewgroup', '关联用户组', {
  76. callback: function (data) {
  77. var user_group_id = data[0]['id'];
  78. $.ajax({
  79. type:'post',
  80. url:'/admin/card/flip/relateusergroup',
  81. data:{
  82. 'id': id,
  83. 'group_id': user_group_id,
  84. },
  85. dataType:'json',
  86. cache:false,
  87. async:false,
  88. success:function(data){
  89. if (data.code == 1){
  90. Toastr.error(data.msg);
  91. };
  92. if(data.code == 0){
  93. Toastr.success(data.msg);
  94. }
  95. }
  96. });
  97. }
  98. });
  99. return false;
  100. });
  101. $(document).on('click','.btn-collect',function () {
  102. var id = $(this).data('id');
  103. Fast.api.open('/admin/card/collect/index?id='+id, '活动数据');
  104. });
  105. // 失效 | 有效
  106. $(document).on('click','.btn-lapse',function(){
  107. var id = $(this).data('id');
  108. var state = $(this).data('status');
  109. var status_text = '确定要失效处理吗?';
  110. if(state == 2){
  111. status_text = '确定要设置为有效吗?';
  112. }
  113. Layer.confirm(status_text, function (idx) {
  114. $.post(
  115. 'card/flip/ajaxlapse',
  116. {
  117. 'id': id,
  118. 'state': state
  119. },
  120. function (data) {
  121. layer.alert(data.msg);
  122. table.bootstrapTable('refresh');
  123. }
  124. );
  125. });
  126. });
  127. // 为表格绑定事件
  128. Table.api.bindevent(table);
  129. },
  130. add: function () {
  131. $(document).on('click','.add_award',function () {
  132. var num = $(this).parent().parent().find('.show_num').text();
  133. Fast.api.open('award/lists/show', '奖品列表', {
  134. callback: function (data) {
  135. console.log(data);
  136. var award = $('.award_list_'+num);
  137. award.find('.award_name').text(data[0].name);
  138. award.find('.a_id').val(data[0].id);
  139. award.find('.del_award').show();
  140. award.find('.add_award').hide();
  141. }
  142. });
  143. return false;
  144. });
  145. $(document).on('click','.del_award',function () {
  146. var obj = $(this).parent().parent();
  147. obj.find('.a_id').val(0);
  148. obj.find('.award_name').text('');
  149. obj.find('.del_award').hide();
  150. obj.find('.add_award').show();
  151. });
  152. Controller.api.bindevent();
  153. },
  154. edit: function () {
  155. $(document).on('click','.add_award',function () {
  156. var num = $(this).parent().parent().find('.show_num').text();
  157. Fast.api.open('award/lists/show', '奖品列表', {
  158. callback: function (data) {
  159. var award = $('.award_list_'+num);
  160. award.find('.award_name').text(data[0].name);
  161. award.find('.a_id').val(data[0].id);
  162. award.find('.del_award').show();
  163. award.find('.add_award').hide();
  164. }
  165. });
  166. return false;
  167. });
  168. $(document).on('click','.del_award',function () {
  169. var obj = $(this).parent().parent();
  170. obj.find('.a_id').val(0);
  171. obj.find('.award_name').text('');
  172. obj.find('.del_award').hide();
  173. obj.find('.add_award').show();
  174. });
  175. Controller.api.bindevent();
  176. },
  177. api: {
  178. bindevent: function () {
  179. Form.api.bindevent($("form[role=form]"));
  180. }
  181. }
  182. };
  183. return Controller;
  184. });