index.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid">
  4. <div class="layui-row layui-col-space15" id="app">
  5. <div class="layui-col-md12">
  6. <div class="layui-card">
  7. <div class="layui-card-header">搜索条件</div>
  8. <div class="layui-card-body">
  9. <form class="layui-form layui-form-pane" action="">
  10. <div class="layui-form-item">
  11. <div class="layui-inline">
  12. <label class="layui-form-label">昵称/ID</label>
  13. <div class="layui-input-block">
  14. <input type="text" name="nickname" class="layui-input">
  15. </div>
  16. </div>
  17. <div class="layui-inline">
  18. <label class="layui-form-label">筛选类型</label>
  19. <div class="layui-input-block">
  20. <select name="title">
  21. <option value="">全部</option>
  22. {volist name='title' id='val'}
  23. <option value="{$val}">{$val}</option>
  24. {/volist}
  25. </select>
  26. </div>
  27. </div>
  28. <div class="layui-inline">
  29. <label class="layui-form-label">时间范围</label>
  30. <div class="layui-input-inline" style="width: 200px;">
  31. <input type="text" name="start_time" id="start_time" placeholder="开始时间" autocomplete="off" class="layui-input">
  32. </div>
  33. <div class="layui-form-mid">-</div>
  34. <div class="layui-input-inline" style="width: 200px;">
  35. <input type="text" name="end_time" id="end_time" placeholder="结束时间" autocomplete="off" class="layui-input">
  36. </div>
  37. </div>
  38. <div class="layui-inline">
  39. <div class="layui-input-inline">
  40. <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
  41. <i class="layui-icon layui-icon-search"></i>搜索</button>
  42. <button class="layui-btn layui-btn-primary layui-btn-sm export" lay-submit="export" lay-filter="export">
  43. <i class="fa fa-floppy-o" style="margin-right: 3px;"></i>导出</button>
  44. </div>
  45. </div>
  46. </div>
  47. </form>
  48. </div>
  49. </div>
  50. </div>
  51. <div :class="item.col!=undefined ? 'layui-col-sm'+item.col+' '+'layui-col-md'+item.col:'layui-col-sm6 layui-col-md3'" v-for="item in badge" v-cloak="">
  52. <div class="layui-card">
  53. <div class="layui-card-header">
  54. {{item.name}}
  55. <span class="layui-badge layuiadmin-badge" :class="item.background_color">{{item.field}}</span>
  56. </div>
  57. <div class="layui-card-body">
  58. <p class="layuiadmin-big-font">{{item.count}}</p>
  59. <p v-show="item.content!=undefined">
  60. {{item.content}}
  61. <span class="layuiadmin-span-color">{{item.sum}}<i :class="item.class"></i></span>
  62. </p>
  63. </div>
  64. </div>
  65. </div>
  66. <div class="layui-col-md12">
  67. <div class="layui-card">
  68. <div class="layui-card-header">阳光日志</div>
  69. <div class="layui-card-body">
  70. <table class="layui-hide" id="userList" lay-filter="userList"></table>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  77. {/block}
  78. {block name="script"}
  79. <script>
  80. require(['vue'],function(Vue) {
  81. new Vue({
  82. el: "#app",
  83. data: {
  84. badge:[],
  85. },
  86. methods:{
  87. getUserPointBadgeList:function(where){
  88. var q={},that=this,where=where || {};
  89. q.start_time=where.start_time || '';
  90. q.end_time=where.end_time || '';
  91. q.nickname=where.nickname || '';
  92. layList.baseGet(layList.U({c:'ump.user_point',a:'getUserPointBadgeList',q:q}),function (rem) {
  93. that.badge=rem.data;
  94. });
  95. }
  96. },
  97. mounted:function () {
  98. this.getUserPointBadgeList();
  99. layList.form.render();
  100. layList.tableList('userList',"{:Url('getponitlist')}",function () {
  101. return [
  102. {field: 'id', title: 'ID', sort: true,event:'uid',width:'8%'},
  103. {field: 'title', title: '标题' },
  104. {field: 'balance', title: '阳光余量',sort:true,event:'now_money'},
  105. {field: 'number', title: '明细数字',sort:true},
  106. {field: 'mark', title: '备注'},
  107. {field: 'nickname', title: '用户微信昵称'},
  108. {field: 'add_time', title: '添加时间',align:'center'},
  109. ];
  110. });
  111. layList.date({elem:'#start_time',theme:'#393D49',type:'datetime'});
  112. layList.date({elem:'#end_time',theme:'#393D49',type:'datetime'});
  113. var that=this;
  114. layList.search('search',function(where){
  115. if(where.start_time!=''){
  116. if(where.end_time==''){
  117. layList.msg('请选择结束时间');
  118. return;
  119. }
  120. }
  121. if(where.end_time!=''){
  122. if(where.start_time==''){
  123. layList.msg('请选择开始时间');
  124. return;
  125. }
  126. }
  127. layList.reload(where);
  128. that.getUserPointBadgeList(where);
  129. });
  130. layList.search('export',function(where){
  131. var q={},where=where || {};
  132. q.start_time=where.start_time || '';
  133. q.end_time=where.end_time || '';
  134. q.nickname=where.nickname || '';
  135. q.title=where.title || '';
  136. location.href=layList.U({c:'ump.user_point',a:'export',q:q});
  137. })
  138. }
  139. })
  140. });
  141. </script>
  142. {/block}