retaine.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. {{extend name="layout/content" /} {block name="header"}
  2. <title>平台数据统计</title>
  3. <link rel="stylesheet" href="__STATIC__/css/admin/bootstrap.min.css">
  4. <link rel="stylesheet" href="__STATIC__/lib/Viewer/css/viewer.min.css">
  5. <link rel="stylesheet" href="__STATIC__/css/FuzzySearch.css?v={$Think.STATIC_VERSION}"
  6. xmlns="http://www.w3.org/1999/html">
  7. <style>
  8. .layui-table th{
  9. font-size: 12px !important;
  10. },
  11. .layui-table td {
  12. text-align: center;
  13. font-size: 12px !important;
  14. }
  15. .layui-icon {
  16. vertical-align: bottom;
  17. }
  18. .td-manage button {
  19. border: 0;
  20. padding: 5px;
  21. border-radius: 5px;
  22. color: #FFFFFF;
  23. }
  24. .layui-form-label {
  25. float: left;
  26. display: block;
  27. padding: 9px 15px;
  28. width: 48px;
  29. font-weight: 400;
  30. text-align: right;
  31. }
  32. .layui-form-item .layui-input-inline {
  33. float: none;
  34. margin-left: 10px;
  35. }
  36. .check_photo + img {
  37. display: none;
  38. }
  39. </style>
  40. {/block}
  41. {block name="content"}
  42. <div class="x-body">
  43. <form class="layui-form" method='get' id="J_search_form">
  44. <div style="">
  45. <div class="layui-inline">
  46. <div class="layui-input-inline">
  47. <input class="layui-input" placeholder="开始时间" name="start" id="start" readonly='readonly'
  48. value="{$Request.get.start}" autocomplete="off">
  49. </div>
  50. <span>-</span>
  51. <div class="layui-input-inline">
  52. <input class="layui-input" placeholder="结束时间" name="end" id="end" readonly='readonly'
  53. value="{$Request.get.end}" autocomplete="off">
  54. </div>
  55. </div>
  56. <div class="layui-inline">
  57. <button class="layui-btn layui-btn-radius" lay-submit id="J_search_submit">查询</button>
  58. </div>
  59. </div>
  60. <div style="clear:both"></div>
  61. <table class="layui-table" >
  62. <thead>
  63. <tr>
  64. <th>日期</th>
  65. <th>玩家总数</th>
  66. <th>新增玩家</th>
  67. <th>新增角色</th>
  68. <th>活跃玩家</th>
  69. <th>支付金额</th>
  70. <th>付费人数</th>
  71. <th>付费率</th>
  72. <th>ARPU</th>
  73. <th>ARPPU</th>
  74. </tr>
  75. </thead>
  76. <tbody id="viewer_wrap">
  77. {notempty name="list"} {volist name="list" id="vo"}
  78. <tr>
  79. <td>{$vo.day}</td>
  80. <td>{$vo['reg_total']}</td>
  81. <td>{$vo.reg_num}</td>
  82. <td>{$vo['role_num']}</td>
  83. <td>{$vo['act_num']}</td>
  84. <td>{$vo['recharge_num']}</td>
  85. <td>{$vo['pay_num']}</td>
  86. <td>{$vo['rate']}%</td>
  87. <td>{$vo['arpu']}</td>
  88. <td>{$vo['arppu']}</td>
  89. </tr>
  90. {/volist} {/notempty}
  91. </tbody>
  92. </table>
  93. <div class="pager-container">
  94. <span>
  95. 新增玩家:{$total['reg_num']},新增角色:{$total['role_num']},活跃玩家:{$total['act_num']},充值金额:{$total['recharge_num']}元 {$list->total()}条记录
  96. </span>
  97. {$page}
  98. <div class="layui-inline" style="margin:0;margin-left:10px;width:80px;">
  99. <input type="text" style="height: 30px;" class="layui-input" placeholder="跳转至" name="page"
  100. onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')">
  101. </div>
  102. </div>
  103. </form>
  104. </div>
  105. {/block}{block name="footer"}
  106. <script type="text/javascript" src="__STATIC__/js/admin/bootstrap.min.js" charset="utf-8"></script>
  107. <script type="text/javascript" src="__STATIC__/lib/Viewer/js/viewer.min.js"></script>
  108. <script type="text/javascript" src="__STATIC__/js/FuzzySearch.js?v={$Think.STATIC_VERSION}"></script>
  109. <script type="text/javascript" charset="utf-8" src="__STATIC__/lib/xm-select.js"></script>
  110. <script>
  111. layui.use(['form', 'laydate'], function () {
  112. var laydate = layui.laydate;
  113. var form = layui.form;
  114. var starttime = laydate.render({
  115. elem: '#start',
  116. type: 'date',
  117. format: 'yyyy-MM-dd',
  118. done: function (value, dates) {
  119. endtime.config.min = {
  120. year: dates.year,
  121. month: dates.month - 1, //关键
  122. date: dates.date,
  123. hours: 0,
  124. minutes: 0,
  125. seconds: 0
  126. };
  127. }
  128. });
  129. var endtime = laydate.render({
  130. elem: '#end',
  131. type: 'date',
  132. format: 'yyyy-MM-dd',
  133. done: function (value, dates) {
  134. starttime.config.max = {
  135. year: dates.year,
  136. month: dates.month - 1, //关键
  137. date: dates.date,
  138. hours: 0,
  139. minutes: 0,
  140. seconds: 0
  141. }
  142. }
  143. });
  144. })
  145. function reportDownload(is_show)
  146. {
  147. $.ajax({
  148. type: "post",
  149. url: "{:url('retaineGame')}",
  150. async: false,
  151. data: $('.layui-form').serialize(),
  152. dataType: 'json',
  153. timeout: 5000,
  154. success: function (data) {
  155. if (data['code']) {
  156. layer.alert(data['msg']);
  157. } else {
  158. layer.alert(data['msg']);
  159. }
  160. },
  161. error: function () {
  162. layer.alert('网络错误,请重试');
  163. },
  164. });
  165. }
  166. </script>
  167. {/block}