stair.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. {extend name="public/container"}
  2. {block name="head_top"}
  3. <style>
  4. .layui-form-label {
  5. width: 100px;
  6. padding: 5px 15px;
  7. }
  8. .layui-input-block {
  9. margin-left: 100px;
  10. }
  11. .layui-btn-group .layui-btn-normal {
  12. border: 1px solid #0092DC;
  13. border-left: none;
  14. }
  15. .layui-btn-group .layui-btn-normal:first-child {
  16. border-left: 1px solid #0092DC;
  17. }
  18. </style>
  19. {/block}
  20. {block name="content"}
  21. <div class="layui-fluid">
  22. <div v-cloak id="app" class="layui-row layui-col-space15">
  23. <!--搜索条件-->
  24. <div class="layui-col-md12">
  25. <div class="layui-card">
  26. <div class="layui-card-header">搜索条件</div>
  27. <div class="layui-card-body">
  28. <form class="layui-form" lay-filter="form" action="">
  29. <div class="layui-form-item">
  30. <label class="layui-form-label">时间选择:</label>
  31. <div class="layui-input-inline" data-type="data" style="width: auto;">
  32. <div class="layui-btn-group">
  33. <button :class="[where.data === item.value ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" type="button" v-for="item in dataList" @click="setData(item)">{{item.name}}</button>
  34. </div>
  35. </div>
  36. <div class="layui-input-inline">
  37. <input type="text" name="date" placeholder="自定义" autocomplete="off" id="date" class="layui-input" style="height: 30px;">
  38. </div>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layui-form-label">用户类型:</label>
  42. <div class="layui-input-block">
  43. <div class="layui-btn-group">
  44. <button :class="[where.type === item.value ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="where.type = item.value" type="button" v-for="item in spread_type">
  45. {{item.name}}
  46. <span v-if="item.count !== undefined" class="layui-badge layui-bg-gray">{{item.count}}</span>
  47. </button>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="layui-form-item">
  52. <label class="layui-form-label">用户昵称:</label>
  53. <div class="layui-input-inline">
  54. <input type="text" name="nickname" v-model="where.nickname" placeholder="请输入姓名、电话、UID" autocomplete="off" class="layui-input" style="height: 30px;">
  55. </div>
  56. </div>
  57. <div class="layui-form-item">
  58. <div class="layui-input-block">
  59. <button @click="search" type="button" class="layui-btn layui-btn-sm layui-btn-normal">
  60. <i class="layui-icon layui-icon-search"></i>搜索</button>
  61. <button @click="refresh" type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
  62. <i class="layui-icon layui-icon-refresh" ></i>刷新</button>
  63. </div>
  64. </div>
  65. </form>
  66. </div>
  67. </div>
  68. </div>
  69. <!--end-->
  70. <!-- 中间详细信息-->
  71. <div :class="item.col!=undefined ? 'layui-col-sm'+item.col+' '+'layui-col-md'+item.col +' layui-col-xs'+item.col:'layui-col-sm4 layui-col-md3'" v-for="item in badge" v-if="item.count > 0">
  72. <div class="layui-card">
  73. <div class="layui-card-header">
  74. {{item.name}}
  75. <span class="layui-badge layuiadmin-badge" :class="item.background_color">{{item.field}}</span>
  76. </div>
  77. <div class="layui-card-body">
  78. <p class="layuiadmin-big-font">{{item.count}}</p>
  79. <p v-show="item.content!=undefined">
  80. {{item.content}}
  81. <span class="layuiadmin-span-color">{{item.sum}}<i :class="item.class"></i></span>
  82. </p>
  83. </div>
  84. </div>
  85. </div>
  86. <!--enb-->
  87. </div>
  88. <div class="layui-row layui-col-space15">
  89. <div class="layui-col-md12">
  90. <div class="layui-card">
  91. <div class="layui-card-header">分销员列表</div>
  92. <div class="layui-card-body">
  93. <div class="layui-btn-container">
  94. </div>
  95. <table class="layui-hide" id="userList" lay-filter="userList"></table>
  96. <script type="text/html" id="avatar">
  97. <img style="cursor: pointer" lay-event='open_image' src="{{d.avatar}}">
  98. </script>
  99. <!--用户信息-->
  100. <script type="text/html" id="userinfo">
  101. 昵称:{{d.nickname==null ? '暂无信息':d.nickname}}
  102. <br>电话:{{d.phone==null ? '暂无信息':d.phone}}
  103. </script>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  110. {/block}
  111. {block name="script"}
  112. <script>
  113. var uid = {$uid};
  114. layList.form.render();
  115. layList.tableList('userList',"{:Url('get_stair_list',['uid'=>$uid])}",function () {
  116. return [
  117. {field: 'uid', title: 'UID',width:'6%',align: 'center'},
  118. {field: 'avatar', title: '头像',templet:'#avatar',width:'10%',align: 'center'},
  119. {field: 'real_name', title: '用户信息',templet:'#userinfo',width:'20%'},
  120. {field: 'promoter_name', title: '是否推广员',width:'8%',align: 'center'},
  121. {field: 'spread_count', title: '推广人数',sort: true,align: 'center'},
  122. {field: 'order_count', title: '订单数',sort: true,align: 'center'},
  123. {field: 'add_time', title: '关注时间',width:'14%',sort: true,align: 'center'},
  124. ];
  125. });
  126. require(['vue'],function(Vue) {
  127. new Vue({
  128. el: "#app",
  129. data: {
  130. badge: [],
  131. dataList: [
  132. {name: '全部', value: ''},
  133. {name: '今天', value: 'today'},
  134. {name: '昨天', value: 'yesterday'},
  135. {name: '本周', value: 'week'},
  136. {name: '本月', value: 'month'},
  137. {name: '本季度', value: 'quarter'},
  138. {name: '本年', value: 'year'},
  139. ],
  140. spread_type:[
  141. {name:'全部',value:''},
  142. {name:'一级推广人',value:'1'},
  143. {name:'二级推广人',value:'2'},
  144. ],
  145. where:{
  146. data:'',
  147. nickname: '',
  148. type:'',
  149. uid:uid
  150. },
  151. showtime: false,
  152. },
  153. watch:{
  154. },
  155. methods:{
  156. getBadge:function(){
  157. var that=this;
  158. layList.baseGet(layList.Url({a:'get_stair_badge',q:that.where}),function (rem) {
  159. that.badge=rem.data;
  160. });
  161. },
  162. setData:function(item){
  163. this.where.data = item.value;
  164. layui.form.val('form', {
  165. 'date': ''
  166. });
  167. },
  168. search:function () {
  169. this.where.excel=0;
  170. this.getBadge();
  171. layList.reload(this.where,true);
  172. },
  173. refresh:function () {
  174. layList.reload();
  175. this.getBadge();
  176. }
  177. },
  178. mounted:function () {
  179. var that = this;
  180. this.getBadge();
  181. layList.laydate.render({
  182. elem: '#date',
  183. trigger: 'click',
  184. range: true,
  185. done: function (value){
  186. that.where.data = value;
  187. }
  188. });
  189. }
  190. })
  191. });
  192. </script>
  193. {/block}