collect.js 13 KB

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