read.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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: 'campaign/read/index',
  8. add_url: 'campaign/read/add',
  9. edit_url: 'campaign/read/edit',
  10. del_url: 'campaign/read/del',
  11. multi_url: 'campaign/read/multi',
  12. table: 'campaign_read',
  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: 'name', title: __('Name'), operate:'Like'},
  26. {field: 'subsidy_need', title: __('Subsidy_need'), operate: false},
  27. {
  28. field: 'start_time',
  29. title: __('Start_time'),
  30. operate: false,
  31. addclass: 'datetimerange',
  32. formatter: Table.api.formatter.datetime
  33. },
  34. {
  35. field: 'end_time',
  36. title: __('End_time'),
  37. operate: false,
  38. addclass: 'datetimerange',
  39. formatter: Table.api.formatter.datetime
  40. },
  41. {
  42. field: 'status',
  43. title: __('Status'),
  44. visible: false,
  45. searchList: {"normal": __('status normal'), "hidden": __('status hidden')}
  46. },
  47. {field: 'status_text', title: __('Status'), operate: false},
  48. {
  49. field: 'id', title: __('资源位'), operate: false, formatter: function (value, row, index) {
  50. var html = "";
  51. if (row.banner_img) {
  52. html += "个人中心活动banner<br/>";
  53. }
  54. if (row.popup_img) {
  55. html += "弹窗<br/>";
  56. }
  57. return html;
  58. }
  59. },
  60. {
  61. field: 'createtime',
  62. title: __('Createtime'),
  63. operate: false,
  64. addclass: 'datetimerange',
  65. formatter: Table.api.formatter.datetime
  66. },
  67. {
  68. field: 'operate',
  69. title: __('Operate'),
  70. table: table,
  71. events: Table.api.events.operate,
  72. formatter: Table.api.formatter.operate,
  73. formatter: function (value, row, index) {
  74. var html = '';
  75. if(parseInt((new Date()).getTime()/1000) < row.end_time){
  76. if (row.status == "hidden") {
  77. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.status + '" class="btn btn-xs btn-success btn-lapse">有效</a>&nbsp;&nbsp;';
  78. } else {
  79. html += '<a href="javascript:;" data-id="' + row.id + '" data-status="' + row.status + '" class="btn btn-xs btn-success btn-lapse">失效</a>&nbsp;&nbsp;';
  80. }
  81. html += '<a href="javascript:;" class="btn btn-dialog btn-xs btn-success btn-editone book_but">修改</a>&nbsp;&nbsp;';
  82. }
  83. html += '<a href="campaign/read/detail/ids/' + row.id + '" class="btn btn-xs btn-success btn-detail">详情</a>&nbsp;&nbsp;';
  84. html += '<a href="campaign/matchcollect/index/campaign_id/' + row.id + '" class="btn btn-xs btn-success btn-collect">活动数据</a>&nbsp;&nbsp;';
  85. if(!(parseInt(new Date().getTime()/1000) > row.start_time)){
  86. html += '<a href="javascript:;" class="btn btn-xs btn-danger btn-delone" data-table-id="table"><i class="fa fa-trash"></i></a>';
  87. }
  88. return html;
  89. }
  90. }
  91. ]
  92. ]
  93. });
  94. // 为表格绑定事件
  95. Table.api.bindevent(table);
  96. //btn-detail
  97. $(document).on('click','.btn-detail',function () {
  98. Fast.api.open($(this).attr('href'), '详情', {});
  99. return false;
  100. });
  101. //btn-collect
  102. $(document).on('click','.btn-collect',function () {
  103. Fast.api.open($(this).attr('href'), '活动数据', {});
  104. return false;
  105. });
  106. // 失效 | 有效
  107. $(document).on('click','.btn-lapse',function(){
  108. console.log('AAAABBB');
  109. var campaign_id = $(this).data('id');
  110. var campaign_status = $(this).data('status');
  111. var status_text = '确定要失效处理吗?';
  112. if(campaign_status != 'normal'){
  113. status_text = '确定要设置为有效吗?';
  114. }
  115. console.log(campaign_status);
  116. Layer.confirm(status_text, function (idx) {
  117. $.post(
  118. 'campaign/read/ajaxLapse',
  119. {
  120. 'campaign_id': campaign_id,
  121. 'campaign_status': campaign_status
  122. },
  123. function (data) {
  124. Layer.close(idx);
  125. window.location.reload();
  126. }
  127. );
  128. });
  129. });
  130. },
  131. add: function () {
  132. $(document).on('change', '#c-elementary_goods_id', function () {
  133. console.log($(this).children('option:selected').data('money'));
  134. $('#c-elementary_need').val($(this).children('option:selected').data('money') );
  135. });
  136. $(document).on('change', '#c-intermediate_goods_id', function () {
  137. console.log($(this).children('option:selected').data('money'));
  138. $('#c-intermediate_need').val($(this).children('option:selected').data('money') );
  139. });
  140. $(document).on('change', '#c-advanced_goods_id', function () {
  141. console.log($(this).children('option:selected').data('money'));
  142. $('#c-advanced_need').val($(this).children('option:selected').data('money') );
  143. });
  144. Controller.api.bindevent();
  145. },
  146. edit: function () {
  147. $(document).on('change', '#c-elementary_goods_id', function () {
  148. console.log($(this).children('option:selected').data('money'));
  149. $('#c-elementary_need').val($(this).children('option:selected').data('money') );
  150. });
  151. $(document).on('change', '#c-intermediate_goods_id', function () {
  152. console.log($(this).children('option:selected').data('money'));
  153. $('#c-intermediate_need').val($(this).children('option:selected').data('money') );
  154. });
  155. $(document).on('change', '#c-advanced_goods_id', function () {
  156. console.log($(this).children('option:selected').data('money'));
  157. $('#c-advanced_need').val($(this).children('option:selected').data('money') );
  158. });
  159. Controller.api.bindevent();
  160. },
  161. api: {
  162. bindevent: function () {
  163. Form.api.bindevent($("form[role=form]"));
  164. }
  165. }
  166. };
  167. return Controller;
  168. });