activity.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. $('.btnlink').click(function(){
  3. var id = $(this).data('id');
  4. $.get('/admin/activity/sorturl?ids='+id,{},function(data){
  5. if(data.error == 0){
  6. window.location.reload();
  7. }else{
  8. layer.msg("短链生成失败")
  9. }
  10. })
  11. });
  12. var Controller = {
  13. index: function () {
  14. // 初始化表格参数配置
  15. Table.api.init({
  16. extend: {
  17. index_url: 'activity/index',
  18. add_url: 'activity/add',
  19. edit_url: 'activity/edit',
  20. del_url: 'activity/del',
  21. multi_url: 'activity/multi',
  22. table: 'activity',
  23. },
  24. showToggle: false,
  25. showColumns: false,
  26. showExport: false,
  27. commonSearch: false,
  28. operate: false,
  29. search:false,
  30. });
  31. var table = $("#table");
  32. // 初始化表格
  33. table.bootstrapTable({
  34. url: $.fn.bootstrapTable.defaults.extend.index_url,
  35. pk: 'id',
  36. sortName: 'id',
  37. columns: [
  38. [
  39. {checkbox: true},
  40. {field: 'id', title: __('Id')},
  41. {field: 'name', title: __('Name')},
  42. {field: 'copywriting', title: __('Copywriting')},
  43. {field: 'starttime', title: __('Starttime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  44. {field: 'endtime', title: __('Endtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  45. {field: 'popstarttime', title: __('Popstarttime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  46. {field: 'popendtime', title: __('Popendtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  47. {field:'activitstatus', title:'活动状态',formatter: Controller.api.formatter.activitstatus},
  48. {field:'money',title:'今日充值',formatter:Controller.api.formatter.money},
  49. {field:'allmoney',title:'累计充值',formatter:Controller.api.formatter.allmoney},
  50. {field: 'changestatus', title: __('显示状态'),addClass:'btn-start',formatter: Controller.api.formatter.changestatus},
  51. {field:'resource', title:'资源管理',formatter: Controller.api.formatter.resource},
  52. //{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  53. //{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  54. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  55. ]
  56. ]
  57. });
  58. // 为表格绑定事件
  59. Table.api.bindevent(table);
  60. //启动和暂停按钮
  61. $(document).on("click", ".btn-start,.btn-pause", function () {
  62. //在table外不可以使用添加.btn-change的方法
  63. //只能自己调用Table.api.multi实现
  64. var id = $(this).data('id');
  65. var thisvalue = $(this).val();
  66. var status = 1;
  67. if(thisvalue=='点击打开'){
  68. status = 1;
  69. }else{
  70. status = 0;
  71. }
  72. var textval = thisvalue.substring(2,4);
  73. layer.confirm('确定要'+textval+'吗?', {
  74. btn: ['确定','取消'] //按钮
  75. }, function(){
  76. $.post('/admin/activity/changestatus',{id:id,status:status},function(data){
  77. if(data == 1){
  78. layer.msg('操作成功');
  79. table.bootstrapTable('refresh');
  80. }else{
  81. layer.msg('操作失败');
  82. }
  83. });
  84. }, function(){
  85. layer.close();
  86. });
  87. });
  88. },
  89. add: function () {
  90. Controller.api.bindevent();
  91. },
  92. edit: function () {
  93. Controller.api.bindevent();
  94. },
  95. api: {
  96. bindevent: function () {
  97. Form.api.bindevent($("form[role=form]"));
  98. },formatter: {
  99. activitstatus: function (value, row, index) {
  100. if(row.starttime > Config.time){
  101. return '未开始';
  102. }else if (row.starttime<Config.time && row.endtime>Config.time){
  103. return '进行中';
  104. }else if (row.endtime < Config.time){
  105. return '已结束';
  106. }
  107. },
  108. resource: function (value, row, index) {
  109. return '<a href="/admin/resource/index?aid='+row.id+'" class="label label-success addtabsit">资源管理</a>';
  110. },
  111. changestatus:function(value,row,index){
  112. var showName = '';
  113. if (row.status == 0){
  114. return '<b>隐藏</b>&nbsp;&nbsp;<input type="button" class="btn-start btn btn-success" data-id="'+row.id+'" value="点击打开" />';
  115. }else{
  116. return '<b>打开</b>&nbsp;&nbsp;<input type="button" class="btn-start btn btn-warning" data-id="'+row.id+'" value="点击隐藏" />';
  117. }
  118. },
  119. money:function(value, row, index) {
  120. if (value){
  121. return value;
  122. }else{
  123. return '0.00';
  124. }
  125. },
  126. allmoney:function(value, row, index) {
  127. if (value){
  128. return value;
  129. }else{
  130. return '0.00';
  131. }
  132. },
  133. }
  134. }
  135. };
  136. return Controller;
  137. });