growth.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .screen {margin-top: 15px}
  5. .table-title {cursor: pointer}
  6. .layui-layout-admin.admin-style-2 .screen {margin-top: 0;margin-bottom: 15px;}
  7. .layui-layout-admin.admin-style-2 .layui-form-item .layui-input-inline{background-color: #fff;}
  8. .table-bottom .layui-table-page {position: inherit;text-align: right}
  9. </style>
  10. {/block}
  11. {block name="main"}
  12. <div class="screen layui-collapse" lay-filter="selection_panel">
  13. <div class="layui-colla-item">
  14. <form class="layui-colla-content layui-form layui-show">
  15. <div class="layui-form-item">
  16. <div class="layui-inline">
  17. <label class="layui-form-label">昵称/手机号:</label>
  18. <div class="layui-input-inline">
  19. <input type="text" name="search_text" placeholder="请输入会员昵称/手机号" autocomplete="off" class="layui-input">
  20. </div>
  21. </div>
  22. <div class="layui-inline">
  23. <label class="layui-form-label">发生方式:</label>
  24. <div class="layui-input-inline">
  25. <select name="from_type">
  26. <option value="">全部</option>
  27. {foreach $from_type as $k => $val}
  28. <option value="{$k}">{$val.type_name}</option>
  29. {/foreach}
  30. </select>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="layui-form-item">
  35. <div class="layui-inline">
  36. <label class="layui-form-label">发生时间:</label>
  37. <div class="layui-input-inline">
  38. <input type="text" class="layui-input" name="start_time" placeholder="开始时间" id="start_time" readonly>
  39. <i class=" iconrili iconfont calendar"></i>
  40. </div>
  41. <div class="layui-form-mid">-</div>
  42. <div class="layui-input-inline">
  43. <input type="text" class="layui-input" name="end_time" placeholder="结束时间" id="end_time" readonly>
  44. <i class=" iconrili iconfont calendar"></i>
  45. </div>
  46. <button class="layui-btn layui-btn-primary date-picker-btn date-picker-btn-seven" onclick="datePick(7, this);return false;">近7天</button>
  47. <button class="layui-btn layui-btn-primary date-picker-btn date-picker-btn-thirty" onclick="datePick(30, this);return false;">近30天</button>
  48. </div>
  49. </div>
  50. <div class="form-row">
  51. <button class="layui-btn" lay-submit="" id="search" lay-filter="search">筛选</button>
  52. </div>
  53. </form>
  54. </div>
  55. </div>
  56. <table id="account_detail" lay-filter="account_detail"></table>
  57. {/block}
  58. {block name="script"}
  59. <script type="text/html" id="memberInfo">
  60. <div class='table-title'>
  61. <div class='title-pic'>
  62. <img layer-src src="{{ns.img(d.headimg)}}" onerror="this.src = '{:img('public/static/img/default_img/head.png')}' ">
  63. </div>
  64. <div class='title-content' onclick="location.href = ns.url('shop/member/editmember?member_id={{d.member_id}}')">
  65. <p class="layui-elip">{{d.nickname}}</p>
  66. <p class="layui-elip">{{d.mobile}}</p>
  67. </div>
  68. </div>
  69. </script>
  70. <script>
  71. var form, laydate;
  72. layui.use(['laydate','form', 'element'], function(){
  73. form = layui.form;
  74. laydate = layui.laydate;
  75. form.on('submit(search)', function(data) {
  76. if ($('#start_time').val() != '' && $('#end_time').val() != '' && (new Date($('#end_time').val()).getTime() <= new Date($('#start_time').val()).getTime() )) {
  77. layer.msg('结束时间不能小于开始时间');
  78. return false;
  79. }
  80. data.field.account_type = 'growth';
  81. table.reload({
  82. page: {
  83. curr: 1
  84. },
  85. where: data.field
  86. });
  87. return false;
  88. });
  89. laydate.render({
  90. elem: '#start_time',
  91. type: 'datetime',
  92. max: 0,
  93. change: function(value, date, endDate){
  94. $(".date-picker-btn").removeClass("selected");
  95. }
  96. });
  97. laydate.render({
  98. elem: '#end_time',
  99. type: 'datetime',
  100. max: 0,
  101. change: function(value, date, endDate){
  102. $(".date-picker-btn").removeClass("selected");
  103. }
  104. });
  105. table = new Table({
  106. elem: '#account_detail',
  107. url: ns.url("shop/memberaccount/accountdetail"),
  108. where: {
  109. account_type: 'growth'
  110. },
  111. cols: [
  112. [{
  113. templet: '#memberInfo',
  114. title: '会员信息',
  115. width: '20%',
  116. unresize: 'false'
  117. }, {
  118. title: '成长值变化',
  119. width: '15%',
  120. unresize: 'false',
  121. templet: function (d) {
  122. if (d.account_data > 0) return '+' + parseInt(d.account_data);
  123. return parseInt(d.account_data);
  124. }
  125. }, {
  126. field: 'type_name',
  127. title: '发生方式',
  128. width: '15%',
  129. unresize: 'false'
  130. }, {
  131. field: 'create_time',
  132. title: '发生时间',
  133. width: '20%',
  134. unresize: 'false',
  135. templet: function(data) {
  136. return ns.time_to_date(data.create_time);
  137. }
  138. }, {
  139. field: 'remark',
  140. title: '备注',
  141. width: '30%',
  142. unresize: 'false'
  143. }]
  144. ]
  145. });
  146. })
  147. /**
  148. * 七天时间
  149. */
  150. function datePick(date_num,event_obj){
  151. $(".date-picker-btn").removeClass("selected");
  152. $(event_obj).addClass('selected');
  153. // alert(new Date().format("yyyy-MM-dd hh:mm"));
  154. var now_date = new Date();
  155. Date.prototype.Format = function (fmt,date_num) { //author: meizz
  156. this.setDate(this.getDate()-date_num);
  157. var o = {
  158. "M+": this.getMonth() + 1, //月份
  159. "d+": this.getDate(), //日
  160. "H+": this.getHours(), //小时
  161. "m+": this.getMinutes(), //分
  162. "s+": this.getSeconds(), //秒
  163. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  164. "S": this.getMilliseconds() //毫秒
  165. };
  166. if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  167. for (var k in o)
  168. if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  169. return fmt;
  170. };
  171. // var now_time = new Date().Format("yyyy-MM-dd HH:mm:ss",0);//当前日期
  172. var now_time = new Date().Format("yyyy-MM-dd 23:59:59",0);//当前日期
  173. var before_time = new Date().Format("yyyy-MM-dd 00:00:00",date_num-1);//前几天日期
  174. $("input[name=start_time]").val(before_time,0);
  175. $("input[name=end_time]").val(now_time,date_num-1);
  176. }
  177. </script>
  178. {/block}