vipindex.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var wait=60;
  3. // $(function(){
  4. // time();
  5. // });
  6. function time() {
  7. // if (wait == 0) {
  8. //执行ajax拉新数据
  9. $.post('/admin/vipindex/ajaxtoday'+ Config.channelstr,{groupId:Config.groupId,authId:Config.authId},function(data){
  10. if (data){
  11. $('#recharge_money').text('¥'+data.recharge_money);
  12. $('#recharge_money_benefit').text('¥'+data.recharge_money_benefit);
  13. var yzf = parseInt(data.normal_recharge_orders)>0?data.normal_recharge_orders:0;
  14. var wzf = data.normal_recharge_orders_count-data.normal_recharge_orders;
  15. var html_str = "普通充值<br/>"+
  16. "<span id = 'normal_recharge_money'>¥"+data.normal_recharge_money+"</span><br/><br/>"+
  17. "已支付:"+yzf+"笔<br/>"+
  18. "未支付:"+wzf+"笔<br/>"+
  19. "完成率:"+Number(data.normal_percent).toFixed(0)+"%<br/>";
  20. var vip_yzf = parseInt(data.vip_recharge_orders) >0 ?data.vip_recharge_orders:0;
  21. var vip_wzf = data.vip_recharge_orders_count - data.vip_recharge_orders;
  22. $('#normal_first').html(html_str);
  23. var vip_html_str = "年费VIP会员<br/>"+
  24. "<span>¥"+data.vip_recharge_money+"</span><br/><br/>"+
  25. "已支付:"+vip_yzf+"笔<br/>"+
  26. "未支付:"+vip_wzf+"笔<br/>"+
  27. "完成率:"+Number(data.vip_percent).toFixed(0)+"%<br/>";
  28. $('#vip_first').html(vip_html_str);
  29. }
  30. });
  31. // wait = 60;
  32. // time();
  33. // } else {
  34. // $('.flush').text(wait+'秒后刷新');
  35. // wait--;
  36. // setTimeout(function() {
  37. // time()
  38. // }, 1000)
  39. // }
  40. }
  41. $(".flush").click(function(){
  42. location.reload();
  43. });
  44. var Controller = {
  45. index: function () {
  46. // 初始化表格参数配置
  47. Table.api.init({
  48. extend: {
  49. index_url: 'vipindex/index',
  50. thirty_url:'vipindex/orderThirtyStatistics',
  51. table: 'orders_collect'
  52. },
  53. showToggle: false,
  54. showColumns: false,
  55. showExport: false,
  56. commonSearch: false,
  57. showExport: true,
  58. operate: false,
  59. search:false,
  60. onLoadSuccess: function (data) {
  61. $("[data-toggle='tooltip']").tooltip({trigger: 'focus hover',html : true });
  62. }
  63. });
  64. //#region
  65. // Tab 切换
  66. //绑定事件
  67. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  68. var panel = $($(this).attr("href"));
  69. if (panel.size() > 0) {
  70. Controller.table[panel.attr("id")].call(this);
  71. $(this).on('click', function (e) {
  72. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  73. });
  74. }
  75. //移除绑定的事件
  76. $(this).unbind('shown.bs.tab');
  77. });
  78. //必须默认触发shown.bs.tab事件
  79. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  80. //#endregion
  81. // 为表格绑定事件
  82. Table.api.bindevent(table);
  83. },
  84. table: {
  85. first: function () {
  86. var table = $("#table");
  87. // 初始化渠道商表格
  88. table.bootstrapTable({
  89. url: $.fn.bootstrapTable.defaults.extend.index_url,
  90. pk: 'id',
  91. sortName: 'createdate',
  92. columns: [
  93. [
  94. {field: 'name', title: __('公众号'),operate:false,formatter:function(val,row,index){
  95. return val ? val :"(未授权)";
  96. }},
  97. {field: 'recharge_money', title: __('充值金额'),formatter:function(val,row,index){
  98. return row.recharge_money*1
  99. }},
  100. {field: 'normal_recharge_orders_count', title: __('充值笔数'),formatter:function(val,row,index){
  101. return row.normal_recharge_orders*1+row.vip_recharge_orders*1
  102. } },
  103. {field: 'normal_recharge_orders', title: __('充值人均'),formatter:function(val,row,index){
  104. var money = row.recharge_money*1;
  105. var num = row.normal_recharge_orders*1+row.vip_recharge_orders*1;
  106. if(money > 0){
  107. return Math.round(money/num*100)/100
  108. }else{
  109. return 0;
  110. }
  111. }}
  112. ]
  113. ]
  114. });
  115. // 为表格1绑定事件
  116. Table.api.bindevent(table);
  117. Controller.api.bindevent();
  118. },
  119. second: function () {
  120. var table2 = $("#table2");
  121. // 初始化渠道商表格
  122. table2.bootstrapTable({
  123. url: $.fn.bootstrapTable.defaults.extend.thirty_url,
  124. columns: [
  125. [
  126. {field: 'f_date', title: __('日期'),operate:false},
  127. {field: 'money_total', title: __('充值金额'),operate:false},
  128. {field: 'orders_total', title: __('充值笔数')},
  129. {field: 'normal_recharge_orders', title: __('充值人均'),formatter:function(val,row,index){
  130. var money = row.money_total*1;
  131. var num = row.orders_total*1;
  132. if(num > 0){
  133. return Math.round(money/num*100)/100
  134. }else{
  135. return '-';
  136. }
  137. }}
  138. ]
  139. ]
  140. });
  141. // 为表格1绑定事件
  142. Table.api.bindevent(table2);
  143. Controller.api.bindevent();
  144. }
  145. },
  146. api: {
  147. bindevent: function () {
  148. Form.api.bindevent($("form[role=form]"));
  149. },formatter: {
  150. normal_recharge_orders: function (value, row, index) {
  151. return '<span style="color:#e74c3c">¥'+((row.recharge_money-row.recharge_money_benefit)* 1.00).toFixed(2) + '</span>';
  152. },
  153. normal_recharge_money:function (value, row, index) {
  154. var normal_recharge_str = '<p>¥'+row.normal_recharge_money+'</p>';
  155. if(row.normal_recharge_orders>0){
  156. var normal_recharge_str_avg = Number(row.normal_recharge_money/row.normal_recharge_orders) * 1.00;
  157. normal_recharge_str += '<i>成功人次:'+row.normal_recharge_orders+'<br/>人均:¥'+ Number(normal_recharge_str_avg.toFixed(2))+'</i>';
  158. }else{
  159. normal_recharge_str +='<i>成功人次:0<br/>人均:¥0'+'</i>';
  160. }
  161. return normal_recharge_str;
  162. },
  163. normal_recharge_orders_count:function(value,row,index){
  164. var normal_recharge_order_str = '<p>已支付:'+row.normal_recharge_orders+'笔</p>';
  165. var wzf = row.normal_recharge_orders_count-row.normal_recharge_orders;
  166. if(row.normal_recharge_orders > 0){
  167. var normal_recharge_str_order_avg = (row.normal_recharge_orders*100/row.normal_recharge_orders_count) * 1.00;
  168. normal_recharge_order_str += '<p>未支付:'+wzf+'笔</p>';
  169. normal_recharge_order_str += '<p>完成率:'+ Math.floor(normal_recharge_str_order_avg)+'%'+'</p>';
  170. }else{
  171. normal_recharge_order_str += '<p>未支付:'+wzf+'笔</p>';
  172. normal_recharge_order_str += '<p>完成率:0%'+'</p>';
  173. }
  174. return normal_recharge_order_str;
  175. },
  176. vip_recharge_money:function (value, row, index) {
  177. var vip_recharge_str = '<p>¥'+row.vip_recharge_money+'</p>';
  178. if(row.vip_recharge_orders > 0){
  179. var vip_recharge_str_avg = Number(row.vip_recharge_money/row.vip_recharge_orders) * 1.00;
  180. vip_recharge_str += '<i>成功人次:'+row.vip_recharge_orders+'<br/>人均:¥'+ Number(vip_recharge_str_avg.toFixed(2))+'</i>';
  181. }else{
  182. vip_recharge_str +='<i>成功人次:0<br/>人均:¥0'+'</i>';
  183. }
  184. return vip_recharge_str;
  185. },
  186. vip_recharge_orders_count:function(value,row,index){
  187. var vip_recharge_order_str = '<p>已支付:'+row.vip_recharge_orders+'笔</p>';
  188. var vipwzf = row.vip_recharge_orders_count-row.vip_recharge_orders;
  189. if(row.vip_recharge_orders > 0){
  190. if(row.vip_recharge_orders_count){
  191. var vip_recharge_str_order_avg = (row.vip_recharge_orders*100/row.vip_recharge_orders_count) * 1.00;
  192. }else{
  193. var vip_recharge_str_order_avg = 0;
  194. }
  195. vip_recharge_order_str += '<p>未支付:'+vipwzf+'笔</p>';
  196. vip_recharge_order_str += '<p>完成率:'+ Math.floor(vip_recharge_str_order_avg)+'%'+'</p>';
  197. }else{
  198. vip_recharge_order_str += '<p>未支付:'+vipwzf+'笔</p>';
  199. vip_recharge_order_str += '<p>完成率:0%'+'</p>';
  200. }
  201. return vip_recharge_order_str;
  202. },
  203. total_benefit:function(value,row,index){
  204. return '¥'+value;
  205. },
  206. total_benefit_channel:function(value,row,index) {
  207. return '<span style="color:#e74c3c">¥' + Number(value).toFixed(2) + '</span>';
  208. },
  209. createtime:function(value,row,index){
  210. return value.substring(0,4)+'-'+ value.substring(4,6)+'-'+value.substring(6,8);
  211. },
  212. }
  213. }
  214. };
  215. return Controller;
  216. });