index.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. <?php
  2. $this->title = '交易量报表';
  3. ?>
  4. <?php $this->beginBlock('header_script'); ?>
  5. <link href="<?= STATIC_URL ?>/ui/css/plugins/dataTables/datatables.min.css" rel="stylesheet">
  6. <?php $this->endBlock(); ?>
  7. <div class="row">
  8. <div class="col-md-3">
  9. <?= $this->render('/common/_left_menu.php') ?>
  10. </div>
  11. <div class="col-md-9">
  12. <div class="ibox">
  13. <div class="ibox-title">
  14. <h2 class="pull-left">交易量报表<small>(截止昨日凌晨24:00)</small></h2>
  15. <div class="btn-group pull-right">
  16. <a href="/ib/volume/export?ibId=<?= $ibId ?>&sTime=<?= $sTime ?>&eTime=<?= $eTime ?>" class="btn btn-primary" target="_blank">导出全部</a>
  17. </div>
  18. <div class="clearfix"></div>
  19. </div>
  20. <form>
  21. <div class="ibox-content m-b-sm border-bottom">
  22. <div class="row">
  23. <div class="col-sm-3">
  24. <div class="form-group">
  25. <label class="control-label" for="price">上级代理商</label>
  26. <select name="ibId" class="form-control select22">
  27. <option value="">请选择</option>
  28. <?php foreach ($ibs as $k => $v) : ?>
  29. <option value="<?= $v['id'] ?>" <?= $ibId == $v['id'] ? 'selected="selected"' : '' ?> ><?= $v['name'] ?></option>
  30. <?php endforeach; ?>
  31. </select>
  32. </div>
  33. </div>
  34. <div class="col-sm-3">
  35. <div class="form-group">
  36. <label class="control-label" for="price">开始时间</label>
  37. <input readonly="readonly" type="text" id="sTime" name="sTime" value="<?= $sTime ?>" placeholder="开始时间" class="data form-control">
  38. </div>
  39. </div>
  40. <div class="col-sm-3">
  41. <div class="form-group">
  42. <label class="control-label" for="quantity">结束时间</label>
  43. <input readonly="readonly" type="text" id="eTime" name="eTime" value="<?= $eTime ?>" placeholder="结束时间" class="data form-control">
  44. </div>
  45. </div>
  46. <div class="col-sm-3">
  47. <div class="form-group">
  48. <label class="control-label" for="quantity">操作</label>
  49. <input type="submit" class="btn btn-primary form-control" value="搜索直属客户">
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. </form>
  55. <div class="ibox-content">
  56. <div class="table-responsive">
  57. <table id="datatables" class="table table-striped table-bordered table-hover dataTables-example">
  58. <thead>
  59. <tr>
  60. <th>代理商</th>
  61. <th>账户</th>
  62. <th>姓名</th>
  63. <th>外汇</th>
  64. <th>佣金</th>
  65. <th>黄金</th>
  66. <th>佣金</th>
  67. <th>白银</th>
  68. <th>佣金</th>
  69. <th>CFD</th>
  70. <th>佣金</th>
  71. <th>股指</th>
  72. <th>佣金</th>
  73. <th>BTC</th>
  74. <th>佣金</th>
  75. <th>总外佣</th>
  76. <th>总佣金</th>
  77. </tr>
  78. </thead>
  79. <tfoot>
  80. <tr id="calHtml">
  81. <td colspan="3">合计:</td>
  82. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  83. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  84. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  85. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  86. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  87. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  88. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  89. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  90. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  91. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  92. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  93. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  94. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  95. <td><img src="<?= STATIC_URL ?>/ui/img/loading.gif"></td>
  96. </tr>
  97. </tfoot>
  98. </table>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <?php $this->beginBlock('footer_script'); ?>
  105. <!-- Mainly scripts -->
  106. <script src="<?= STATIC_URL ?>/ui/js/plugins/dataTables/datatables.min.js"></script>
  107. <script>
  108. var table;
  109. $(document).ready(function() {
  110. cal();
  111. table = $('#datatables').DataTable({
  112. <?php if ($isHaveAdmin) : ?>
  113. "aLengthMenu": [[20,50,100,500,999999999], [20,50,100,500,"ALL"]],
  114. <?php else : ?>
  115. "aLengthMenu": [[20,50,100], [20,50,100]],
  116. <?php endif; ?>
  117. language: {
  118. "sProcessing": "处理中...",
  119. "sLengthMenu": "显示 _MENU_ 项结果",
  120. "sZeroRecords": "没有匹配结果",
  121. "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
  122. "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
  123. "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
  124. "sInfoPostFix": "",
  125. "sSearch": "搜索账户,客户姓名:",
  126. "sUrl": "",
  127. "sEmptyTable": "表中数据为空",
  128. "sLoadingRecords": "载入中...",
  129. "sInfoThousands": ",",
  130. "oPaginate": {
  131. "sFirst": "首页",
  132. "sPrevious": "上页",
  133. "sNext": "下页",
  134. "sLast": "末页"
  135. },
  136. "oAria": {
  137. "sSortAscending": ": 以升序排列此列",
  138. "sSortDescending": ": 以降序排列此列"
  139. }
  140. },
  141. "bProcessing": true,
  142. "serverSide": true,
  143. "ajax": '/ib/volume/list?ibId=<?= $ibId ?>&sTime=<?= $sTime ?>&eTime=<?= $eTime ?>',
  144. "order": [[1, "desc"]],
  145. "columns": [{
  146. "data": "name"
  147. },{
  148. "data": "LOGIN"
  149. },{
  150. "data": "NAME"
  151. },{
  152. "data": "fv"
  153. },{
  154. "data": "fvc"
  155. },{
  156. "data": "mvGold"
  157. },{
  158. "data": "gvc"
  159. },{
  160. "data": "mvSilver"
  161. },{
  162. "data": "svc"
  163. },{
  164. "data": "cv"
  165. },{
  166. "data": "cvc"
  167. },{
  168. "data": "stv"
  169. },{
  170. "data": "stvc"
  171. },{
  172. "data": "btv"
  173. },{
  174. "data": "btvc"
  175. },{
  176. "data": "wvc"
  177. },{
  178. "data": "tvc"
  179. }],
  180. columnDefs: [{
  181. targets: 3,
  182. render: function(data, type, row, meta) {
  183. return doData(data);
  184. },
  185. "orderable": false
  186. },{
  187. targets: 4,
  188. render: function(data, type, row, meta) {
  189. return doData(data);
  190. },
  191. "orderable": false
  192. },{
  193. targets: 5,
  194. render: function(data, type, row, meta) {
  195. return doData(data);
  196. },
  197. "orderable": false
  198. },{
  199. targets: 6,
  200. render: function(data, type, row, meta) {
  201. return doData(data);
  202. },
  203. "orderable": false
  204. },{
  205. targets: 7,
  206. render: function(data, type, row, meta) {
  207. return doData(data);
  208. },
  209. "orderable": false
  210. },{
  211. targets: 8,
  212. render: function(data, type, row, meta) {
  213. return doData(data);
  214. },
  215. "orderable": false
  216. },{
  217. targets: 9,
  218. render: function(data, type, row, meta) {
  219. return doData(data);
  220. },
  221. "orderable": false
  222. },{
  223. targets: 10,
  224. render: function(data, type, row, meta) {
  225. return doData(data);
  226. },
  227. "orderable": false
  228. },{
  229. targets: 11,
  230. render: function(data, type, row, meta) {
  231. return doData(data);
  232. },
  233. "orderable": false
  234. },{
  235. targets: 12,
  236. render: function(data, type, row, meta) {
  237. return doData(data);
  238. },
  239. "orderable": false
  240. },{
  241. targets: 13,
  242. render: function(data, type, row, meta) {
  243. return doData(data);
  244. },
  245. "orderable": false
  246. },{
  247. targets: 14,
  248. render: function(data, type, row, meta) {
  249. return doData(data);
  250. },
  251. "orderable": false
  252. },{
  253. targets: 15,
  254. render: function(data, type, row, meta) {
  255. return doData(data);
  256. },
  257. "orderable": false
  258. },{
  259. targets: 16,
  260. render: function(data, type, row, meta) {
  261. return doData(data);
  262. },
  263. "orderable": false
  264. }],
  265. "sPaginationType": "full_numbers",
  266. dom: '<"html5buttons"B>lTfgitp',
  267. buttons: [{
  268. extend: 'copy'
  269. },
  270. {
  271. extend: 'csv'
  272. },
  273. {
  274. extend: 'excel'
  275. },
  276. {
  277. extend: 'pdf'
  278. },
  279. {
  280. extend: 'print',
  281. customize: function(win) {
  282. $(win.document.body).addClass('white-bg');
  283. $(win.document.body).css('font-size', '10px');
  284. $(win.document.body).find('table').addClass('compact').css('font-size', 'inherit');
  285. }
  286. }]
  287. });
  288. $('#datatables tbody').on('click', 'tr', function() {
  289. if ($(this).hasClass('selected')) {
  290. $(this).removeClass('selected');
  291. } else {
  292. table.$('tr.selected').removeClass('selected');
  293. $(this).addClass('selected');
  294. }
  295. var data=table.row('.selected').data();
  296. if(data != undefined && data.LOGIN != ""){
  297. var url="/ib/statistics?login="+data.LOGIN+"&ibId="+data.member_id;
  298. window.location.href=url;
  299. }
  300. });
  301. });
  302. function cal(){
  303. $.ajax({
  304. type: "GET",
  305. url: "/ib/volume/cal?ibId=<?= $ibId ?>&sTime=<?= $sTime ?>&eTime=<?= $eTime ?>",
  306. dataType: "json",
  307. success: function(data) {
  308. var html = '<td colspan="3">合计:</td>';
  309. html += '<td>' + doData(data.fvSum) + '</td>';
  310. html += '<td>' + doData(data.fvcSum) + '</td>';
  311. html += '<td>' + doData(data.mvGoldSum) + '</td>';
  312. html += '<td>' + doData(data.gvcSum) + '</td>';
  313. html += '<td>' + doData(data.mvSilverSum) + '</td>';
  314. html += '<td>' + doData(data.svcSum) + '</td>';
  315. html += '<td>' + doData(data.cvSum) + '</td>';
  316. html += '<td>' + doData(data.cvcSum) + '</td>';
  317. html += '<td>' + doData(data.stvSum) + '</td>';
  318. html += '<td>' + doData(data.stvcSum) + '</td>';
  319. html += '<td>' + doData(data.btvSum) + '</td>';
  320. html += '<td>' + doData(data.btvcSum) + '</td>';
  321. html += '<td>' + doData(data.wvcSum) + '</td>';
  322. html += '<td>' + doData(data.tvcSum) + '</td>';
  323. $("#calHtml").html(html);
  324. }
  325. });
  326. }
  327. function doData(data) {
  328. data = data / 100;
  329. var arr = data.toString().split('.');
  330. if (arr[1] && arr[1].length > 4) {
  331. arr[1] = arr[1].slice(0, 4);
  332. data = arr.join('.');
  333. }
  334. return data;
  335. }
  336. </script>
  337. <?php $this->endBlock(); ?>