my_promoter.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. {extend name="public/container"}
  2. {block name='head_top'}
  3. <style>
  4. body {
  5. background-color: #f5f5f5;
  6. }
  7. .loading {
  8. font-size: .4rem;
  9. text-align: center;
  10. color: #999;
  11. }
  12. .loaded {
  13. font-size: .28rem;
  14. line-height: .72rem;
  15. text-align: center;
  16. color: #999;
  17. }
  18. .nothing {
  19. position: absolute;
  20. top: 30%;
  21. left: 50%;
  22. width: 4rem;
  23. height: 4rem;
  24. -webkit-transform: translateX(-50%);
  25. transform: translateX(-50%);
  26. }
  27. </style>
  28. <link href="{__WAP_PATH}zsff/layer_mobile/need/layer.css" rel="stylesheet">
  29. <script src="{__WAP_PATH}zsff/layer_mobile/layer.js"></script>
  30. {/block}
  31. {block name='title'}我的推广人{/block}
  32. {block name="content"}
  33. <div class="my-promoter" id="app" ref="spreadlist">
  34. <nav class="acea-row row-between-wrapper">
  35. <div class="item">
  36. <div>推广人数</div>
  37. <div class="num">{$data.one_spread_count}</div>
  38. </div>
  39. <div class="item">
  40. <div>总售出订单</div>
  41. <div class="num">{$data.order_count}</div>
  42. </div>
  43. </nav>
  44. <div class="search acea-row row-center-wrapper" @click="dis=false">
  45. <form @submit.prevent='search'>
  46. <span class="iconfont icon-sousuo"></span>
  47. <input type="text" placeholder="搜索" v-model="where.search" class="input" :class="dis==false?'on':''"
  48. style="border: none;margin: 0;padding: 0;">
  49. </form>
  50. </div>
  51. <div class="list" v-cloak="" ref="list">
  52. <div class="nav acea-row row-middle">
  53. <div class="item item1">昵称</div>
  54. <div class="item item2">手机号</div>
  55. <div class="item item3" @click="order(1)" v-if="!action">推广专题
  56. <svg class="icon" aria-hidden="true">
  57. <use xlink:href="#icon-qiehuan-copy" v-if=" where.special_order=='desc' "></use>
  58. <use xlink:href="#icon-qiehuan-copy1" v-else-if="where.special_order=='asc'"></use>
  59. </svg>
  60. </div>
  61. <div class="item item4" @click="order(2)" v-if="!action">推广金额
  62. <svg class="icon" aria-hidden="true">
  63. <use xlink:href="#icon-qiehuan-copy" v-if=" where.now_money_order=='desc' "></use>
  64. <use xlink:href="#icon-qiehuan-copy1" v-else-if="where.now_money_order=='asc'"></use>
  65. </svg>
  66. </div>
  67. <div class="item item3" v-if="action">操作</div>
  68. </div>
  69. <div v-if="isPromoter == 0" style="padding-top: 2.5rem;text-align: center;">
  70. <p>抱歉,您当前无权邀请下属推广人哦~</p>
  71. <p>如有疑问,请联系客服</p>
  72. </div>
  73. <div v-else>
  74. <div class="listcon acea-row row-middle" v-for="(item,index) in spreadList">
  75. <div class="item item1 line1" v-text="item.nickname"></div>
  76. <div class="item item2" v-text="item.phone"></div>
  77. <div class="item item3" v-text="item.sellout_count" v-if="!action"></div>
  78. <div class="item item4" v-if="!action">¥{{item.sellout_money}}</div>
  79. <div class="item item3" v-if="action" @click="removeSpread(index,item.uid)" style="color:#509efb;text-align: center;">移除
  80. </div>
  81. </div>
  82. <div v-show="loading" class="loading">
  83. <span class="fa fa-spinner"></span>
  84. </div>
  85. <div v-if="loadend && where.page > 2" class="loaded">已全部加载</div>
  86. <div v-if="!spreadList.length && !loading" class="nothing">
  87. <img class="nothing" src="/wap/first/zsff/images/no_data_available.png">
  88. </div>
  89. </div>
  90. </div>
  91. <div style="height:1.2rem;"></div>
  92. <div class="footer acea-row row-center" v-if="isPromoter == 1">
  93. <a class="increase increase1" v-text="spreadTitle" @click="spreadAct"></a>
  94. <a class="increase" href="{:Url('poster_spread')}" ref="storeMenu">推广学员</a>
  95. </div>
  96. <shortcut></shortcut>
  97. </div>
  98. {/block}
  99. {block name="foot"}
  100. <script>
  101. var is_promoter={$userInfo.is_promoter ? : 0},isPromoter={$isPromoter};
  102. require(['vue','helper','store','{__WAP_PATH}zsff/js/shortcut.js'],function(Vue,$h,app) {
  103. new Vue({
  104. el: '#app',
  105. data: {
  106. dis:true,
  107. where:{
  108. special_order:'desc',
  109. now_money_order:'desc',
  110. page:1,
  111. limit:10,
  112. search:'',
  113. },
  114. is_promoter:is_promoter,
  115. isPromoter:isPromoter,
  116. spreadTitle:'学员管理',
  117. action:false,
  118. loading:false,
  119. loadend:false,
  120. loadTitle:'上拉加载更多',
  121. spreadList:[],
  122. },
  123. mounted:function(){
  124. this.getSpreadList();
  125. },
  126. methods:{
  127. removeSpread:function(index,uid){
  128. var that = this;
  129. //询问框
  130. layer.open({
  131. content: '确认移除吗,确认后不可恢复哦~?'
  132. ,btn: ['确定','取消']
  133. ,yes: function(index){
  134. app.baseGet($h.U({c:'spread',a:'remove_spread',q:{uid:uid}}),function (res) {
  135. that.spreadList.splice(index,1);
  136. that.$set(that,'spreadList',that.spreadList);
  137. layer.close(index);
  138. layer.open({
  139. content:res.data.msg
  140. ,skin: 'msg'
  141. ,time: 2 //2秒后自动关闭
  142. });
  143. setTimeout(location.reload(),5000);
  144. });
  145. }
  146. });
  147. },
  148. spreadAct:function(){
  149. this.action = !this.action;
  150. this.spreadTitle = this.action ? '取消学员管理': '学员管理';
  151. },
  152. order:function(action){
  153. var spreadList=[];
  154. switch (action){
  155. case 1:
  156. if(this.where.special_order=='')
  157. spreadList=this.sortCountOrder(true);
  158. else if(this.where.special_order=='desc')
  159. spreadList=this.sortCountOrder(false);
  160. else if(this.where.special_order=='asc')
  161. spreadList=this.sortCountOrder(true);
  162. break;
  163. case 2:
  164. if(this.where.now_money_order=='')
  165. spreadList=this.sortMoneyOrder(true);
  166. else if(this.where.now_money_order=='desc')
  167. spreadList=this.sortMoneyOrder(false);
  168. else if(this.where.now_money_order=='asc')
  169. spreadList=this.sortMoneyOrder(true);
  170. break;
  171. }
  172. this.$set(this,'spreadList',spreadList);
  173. },
  174. sortMoneyOrder:function(isDe){
  175. if(isDe){
  176. this.where.now_money_order='desc';
  177. return this.spreadList.sort(function (a,b) {
  178. return parseFloat(b.sellout_money) - parseFloat(a.sellout_money);
  179. });
  180. }else{
  181. this.where.now_money_order='asc';
  182. return this.spreadList.sort(function (a,b) {
  183. return parseFloat(a.sellout_money) - parseFloat(b.sellout_money);
  184. });
  185. }
  186. },
  187. sortCountOrder:function(isDe){
  188. if(isDe){
  189. this.where.special_order='desc';
  190. return this.spreadList.sort(function (a,b) {
  191. return parseFloat(b.sellout_count) - parseFloat(a.sellout_count);
  192. });
  193. }else{
  194. this.where.special_order='asc';
  195. return this.spreadList.sort(function (a,b) {
  196. return parseFloat(a.sellout_count) - parseFloat(b.sellout_count);
  197. });
  198. }
  199. },
  200. search:function (){
  201. this.where.page=1;
  202. this.loadend=false;
  203. this.$set(this,'spreadList',[]);
  204. this.getSpreadList();
  205. },
  206. getSpreadList:function(){
  207. var that=this;
  208. if(that.loading) return;
  209. if(that.loadend) return;
  210. that.loadTitle='';
  211. that.loading=true;
  212. app.baseGet($h.U({c:'spread',a:'spread_list',q:that.where}),function (res) {
  213. var list=res.data.data.list;
  214. var spreadList=$h.SplitArray(list,that.spreadList);
  215. that.loading=false;
  216. that.loadend=list.length < that.where.limit;
  217. that.loadTitle=that.loadend ? '已全部加载': '上拉加载更多';
  218. that.where.page=res.data.data.page;
  219. that.$set(that,'spreadList',spreadList);
  220. that.$nextTick(function () {
  221. that.bScrollInit();
  222. })
  223. },function (res) {
  224. that.loading=false;
  225. that.loadTitle='上拉加载更多';
  226. });
  227. },
  228. //滑动底部加载
  229. bScrollInit:function(){
  230. var that = this;
  231. this.$refs.spreadlist.style.height = (
  232. document.documentElement.clientHeight-
  233. this.$refs.storeMenu.offsetHeight
  234. )+'px';
  235. this.$refs.spreadlist.style.overflowY = 'scroll';
  236. $(this.$refs.spreadlist).on('scroll',function(){
  237. var scrollTop = $(this).scrollTop();
  238. var scrollHeight = $(that.$refs.list).height();
  239. var windowHeight = $(this).height();
  240. if ((scrollTop + windowHeight) >= scrollHeight) {
  241. that.loading == false && that.getSpreadList();
  242. }
  243. })
  244. },
  245. }
  246. });
  247. })
  248. </script>
  249. {/block}