point.html 9.8 KB

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