Преглед на файлове

首页和商品列表增加筛选

junyuanz преди 4 години
родител
ревизия
108367e084

BIN
images/footer/down.png


BIN
images/footer/pyq.png


BIN
images/footer/totop.png


BIN
images/footer/up.png


BIN
images/footer/wx.png


+ 51 - 2
pages/home/home.js

@@ -63,7 +63,10 @@ Page ({
 	statusBarHeight:20,
 	navBarHeight:45,
 	windowWidth:375,
-	word:''
+	word:'',
+	
+	price_sort:0,
+	sale_sort:0
   },
   onLoad: function () {
 	  const info = wx.getSystemInfoSync();
@@ -166,7 +169,9 @@ Page ({
     var params = {
       rd: this.data.products.rd,
       page: this.data.products.page,
-      per_page: this.data.products.per_page
+      per_page: this.data.products.per_page,
+	  price_sort:this.data.price_sort,
+	  sale_sort:this.data.sale_sort
     }
     var success = function (res) {
       that.setData({
@@ -664,4 +669,48 @@ Page ({
 	      listIndex: listIndex
 	    })
 	  }
+	  
+	  
+	,
+	sortchangenormal(){
+		this.setData({
+			products: {
+			  rd: 0,
+			  page: 1,
+			  per_page: 5
+			},
+			productsList: [],
+			price_sort:0,
+			sale_sort:0
+		})
+		this.getList();
+	},
+	salesort(){
+		var type = this.data.sale_sort+1;
+		if(type>2) type = 0;
+		this.setData({
+			products: {
+			  rd: 0,
+			  page: 1,
+			  per_page: 5
+			},
+			productsList: [],
+			sale_sort:type,
+		})
+		this.getList();
+	},
+	pricesort(e){
+		var type = this.data.price_sort+1;
+		if(type>2) type = 0;
+		this.setData({
+			products: {
+			  rd: 0,
+			  page: 1,
+			  per_page: 5
+			},
+			productsList: [],
+			price_sort:type,
+		})
+		this.getList();
+	}
 })

+ 6 - 1
pages/home/home.wxml

@@ -368,9 +368,14 @@
       <text class="jindu-percent">{{percent[index]}}%</text>-->
 
     <view class="projects">
-      <!--<view class="projects-title">————————— <text style="color: #98a4b0">精选推荐</text> —————————</view>-->
+      <!--<view class="projects-title">————————— <text style="color: #98a4b0">精选推荐</text> —————————</view>--> 
       <view class="newprojects-title"></view>
       <view><image src="http://fohow.oss-cn-shenzhen.aliyuncs.com/neverse/goods.png" class="newprojects-titleimg" /></view>
+	  <view class="sortlist">
+		  <view class="sortlist-item" bindtap="sortchangenormal">默认</view>
+		  <view class="sortlist-item" bindtap="salesort">销量 <image src="../../images/footer/up.png" wx:if="{{sale_sort == 2}}"/><image src="../../images/footer/down.png" wx:if="{{sale_sort == 1}}"/></view>
+		  <view class="sortlist-item" bindtap="pricesort">价格 <image src="../../images/footer/up.png" wx:if="{{price_sort == 2}}"/><image src="../../images/footer/down.png" wx:if="{{price_sort == 1}}"/></view>
+	  </view>
       <view class="projectbg">
         <view wx:key="{{index}}" wx:for="{{productsList}}">
 			

+ 20 - 0
pages/home/home.wxss

@@ -817,6 +817,7 @@
   border-radius: 5rpx;
   box-sizing: border-box;
   padding: 0 20rpx;
+  margin-bottom:0;
 }
 .newprojects-titleimg {
   display:block;
@@ -1085,4 +1086,23 @@ font-size: 14px;
 	    padding-left: 20rpx;
 	    color: #666;
 	        font-size: 28rpx;
+}
+
+.sortlist{
+overflow: hidden;
+    margin: 25rpx;
+    padding: 10rpx;
+    box-sizing: border-box;
+    color: #333;
+    border-bottom: 1px solid #e5e5e5;
+    margin-top: 5rpx;
+}
+.sortlist-item{
+	    width: 33.33%;
+	    float: left;
+	    text-align: center;
+}
+.sortlist-item image{
+	    width: 20rpx;
+	    height: 20rpx;
 }

+ 38 - 1
pages/projects/project-detail/project-detail.js

@@ -49,6 +49,8 @@ Page({
     noproduct:false,
     check:{},
 	readOnly:0,
+	showsharetips:false,
+	backTopValue:false,
 	lvList:[
     '/images/star_a_l.png',
     '/images/star_a_r.png',
@@ -109,6 +111,20 @@ Page({
     }
     _request.$get(url, params, success)
   },
+  onShareTimeline:function(options){
+	  this.shareInfo()
+	  this.setData({
+	    showpay: true
+	  })
+	  return _request.share({
+	    title: this.data.project.share_content || this.data.project.name,
+	    path: '/pages/start/start?url=pages/projects/project-detail/project-detail&id=' + this.data.productId,
+	    imageUrl: this.data.project.share_img ? this.data.project.share_img : this.data.project.cover,
+	    sc: 'xcx_product',
+	    ri: this.data.productId,
+	    rp: this.data.productId,
+	  },true)
+  },
   onShareAppMessage: function (options) {
 	 this.shareInfo()
 	 this.setData({
@@ -117,7 +133,7 @@ Page({
 	 return _request.share({
 	   title: this.data.project.share_content || this.data.project.name,
 	   path: '/pages/start/start?url=pages/projects/project-detail/project-detail&id=' + this.data.productId,
-	   imageUrl: this.data.project.share_img,
+	   imageUrl: this.data.project.share_img ? this.data.project.share_img : this.data.project.cover,
 	   sc: 'xcx_product',
 	   ri: this.data.productId,
 	   rp: this.data.productId,
@@ -935,5 +951,26 @@ Page({
 		lvlist2.push(lvList[index]);
    })
 	return lvlist2;
+  },
+  // 监听滚动条坐标
+    onPageScroll: function (e) {
+      //console.log(e)
+      var that = this
+      var scrollTop = e.scrollTop
+      var backTopValue = scrollTop > 500 ? true : false
+      that.setData({
+        backTopValue: backTopValue
+      })
+    },
+  toTop:function(){
+	wx.pageScrollTo({
+		scrollTop: 0
+	})  
+  },
+  sharetips(){
+	  this.setData({
+		showsharetips:!this.data.showsharetips
+	 })
+	  
   }
 })

+ 18 - 2
pages/projects/project-detail/project-detail.wxml

@@ -1,5 +1,16 @@
 <import src="../../../utils/wxParse/wxParse.wxml"/>
 <view class="app detail-bg">
+	<view class="sharetips" bindtap="sharetips" wx:if="{{showsharetips}}">
+		<view class="sharetips-triangle"></view>
+		<view class="sharetips-txt">请点击右上角选择分享到朋友圈</view>
+	</view>
+	<view class="toolBox">
+		<button open-type="share" class="toolBox-item" wx:if="{{readOnly != 1}}">
+			<image src="../../../images/footer/wx.png" />
+		</button>
+		<button class="toolBox-item" bindtap="toTop" wx:if="{{backTopValue}}"><image src="../../../images/footer/totop.png" /></button>
+	</view>
+	
   <view class="detail-green" wx:if="{{project.is_support_poor === 1}}"></view>
   <view class="detail-info">
     <swiper indicator-dots="{{indicatorDots}}"
@@ -29,7 +40,7 @@
     </view>
     
     <h3 class="detail-width detail-title"><i wx:if="{{project.pv < project.price}}" style="display: inline-block;background: #F44336;color: #fff;padding: 0px 5px;font-size: 11px;line-height: 35rpx;margin-right: 10rpx;vertical-align: middle;">特惠</i>{{project.name}}</h3>
-    <button open-type="share" class="sharebtn" wx:if="{{readOnly != 1}}"><image src="../../../images/footer/share.png" /><text>分享</text></button>
+    <button bindtap="sharetips" class="sharebtn" wx:if="{{readOnly != 1}}"><image src="../../../images/footer/pyq.png" /><text>分享到朋友圈</text></button>
     <!--<view class="detail-width">
       <text class="detail-normal detail-mr">价格</text>
       <currency symbol="¥" value="{{project.price}}" class="detail-price"></currency>
@@ -191,11 +202,16 @@
 	  <button class="detail-footer-item detail-yellow" bindtap="toCart" wx:if="{{!project.is_deliver &&project.left_count > 0 && project.seckill_state !='end'}}">
 	  				<text>加入购物车</text>
 	  </button>
-	  <form bindsubmit="toPay" report-submit="{{true}}" wx:if="{{!project.is_deliver &&project.left_count > 0 && project.seckill_state !='end'}}" class="detail-footer-item">
+	  <form bindsubmit="toPay" report-submit="{{true}}" wx:if="{{!project.is_deliver &&project.left_count > 0 && (project.seckill_state !='end' && project.seckill_state !='preparing')}}" class="detail-footer-item">
 				<button class=" detail-red"  formType="submit">
 				  立即购买
 				</button>
 	  </form>
+	  <form wx:if="{{!project.is_deliver &&project.left_count > 0 && project.seckill_state =='preparing'}}" class="detail-footer-item">
+	  				<button class="detail-red" disabled="disabled" style="background: #ccc !important;color: #FFF !important;">
+	  				  秒杀尚未开始
+	  				</button>
+	  </form>
 	  <form wx:if="{{!project.is_deliver &&project.left_count > 0 && project.seckill_state =='end'}}" class="detail-footer-item">
 				<button class="detail-red" disabled="disabled" style="background: #ccc !important;color: #FFF !important;">
 				  秒杀已结束

+ 52 - 1
pages/projects/project-detail/project-detail.wxss

@@ -566,7 +566,7 @@ padding-left: 10px;
 border-radius: 45px 0 0 45px;
 height: 30px;
 line-height: 30px;
-color: #eab86a;
+color: #666;
 }
 .sharebtn image{
 width: 20px;
@@ -692,3 +692,54 @@ width: 14rpx;
 		margin: 20rpx;
 }
 
+.toolBox{
+	position: fixed;
+	    z-index: 99;
+	    bottom: 10%;
+	    right: 15rpx;
+}
+.toolBox-item{
+background: rgba(255,255,255,0.75);
+	    margin-bottom: 15rpx;
+	    border-radius: 50%;
+	    text-align: center;
+	    vertical-align: middle;
+	    border: 2rpx solid #e0e0e0;
+	    padding: 10rpx;
+	    width: 40px;
+	    height: 40px;
+	    box-sizing: border-box;
+}
+.toolBox-item image{
+	    width: 100%;
+	    height: 100%;
+	    line-height: 30px;
+}
+.sharetips{
+	position: fixed;
+	    z-index: 999;
+	    background: rgba(0,0,0,0.6);
+	    width: 100%;
+	    height: 100%;
+}
+.sharetips-triangle{
+	position: fixed;
+	    right: 18%;
+	    top: 15rpx;
+	    border-left: 20rpx solid transparent;
+	    border-right: 20rpx solid transparent;
+	    border-bottom: 20rpx solid rgba(0,0,0,0.6);
+}
+.sharetips-txt{
+	    background: rgba(0,0,0,0.6);
+	    width: 58%;
+	    border-radius: 5px;
+	    color: #fff;
+	    padding: 25rpx;
+	    font-size: 36rpx;
+	    float: right;
+	    margin-top: 35rpx;
+	    margin-right: 15rpx;
+	    text-align: center;
+	    line-height: 60rpx;
+}

+ 48 - 3
pages/projects/projects.js

@@ -17,7 +17,9 @@ Page({
 	statusBarHeight:20,
 	navBarHeight:45,
 	windowWidth:375,
-	word:''
+	word:'',
+	price_sort:0,
+	sale_sort:0
   },
   onLoad: function (options) {
 	  const info = wx.getSystemInfoSync();
@@ -123,12 +125,16 @@ Page({
 		var params = {
 		  page: this.data.projects_page,
 		  per_page: this.data.projects_per_page,
-		  words:this.data.searchword
+		  words:this.data.searchword,
+		  price_sort:this.data.price_sort,
+		  sale_sort:this.data.sale_sort
 		}
 	}else{
 		var params = {
 		  page: this.data.projects_page,
-		  per_page: this.data.projects_per_page
+		  per_page: this.data.projects_per_page,
+		  price_sort:this.data.price_sort,
+		  sale_sort:this.data.sale_sort
 		}
 	}
     
@@ -199,4 +205,43 @@ Page({
       url: '/pages/search/search'
     })
   },
+  
+  sortchangenormal(){
+  	this.setData({
+  		projects_page: 1,
+  		projects_per_page: 5,
+  		projects_more: true,
+  		projects_change: false,
+  		projects: [],
+  		price_sort:0,
+  		sale_sort:0
+  	})
+  	this.getProjects()
+  },
+  salesort(){
+  	var type = this.data.sale_sort+1;
+  	if(type>2) type = 0;
+  	this.setData({
+  		projects_page: 1,
+  		projects_per_page: 5,
+  		projects_more: true,
+  		projects_change: false,
+  		projects: [],
+  		sale_sort:type,
+  	})
+  	this.getProjects()
+  },
+  pricesort(e){
+  	var type = this.data.price_sort+1;
+  	if(type>2) type = 0;
+  	this.setData({
+		projects_page: 1,
+		projects_per_page: 5,
+		projects_more: true,
+		projects_change: false,
+		projects: [],
+  		price_sort:type,
+  	})
+  	this.getProjects()
+  }
 })

+ 8 - 2
pages/projects/projects.wxml

@@ -1,5 +1,6 @@
 <view class="bg">
 	<!-- 顶部导航 -->
+	
 	<view class="navbox" style="block;height: {{statusBarHeight + 45}}px;">
 		<view class="navbar" style="top:{{statusBarHeight}}px" bindtap="tosearch">
 			<view class="page__hd">
@@ -8,9 +9,14 @@
 			</view>
 		</view>
 	</view>
-  <view class="projects" style="padding-top:{{(statusBarHeight + 45) + 50}}px;">
+	<view class="sortlist">
+			  <view class="sortlist-item" bindtap="sortchangenormal">默认</view>
+			  <view class="sortlist-item" bindtap="salesort">销量 <image src="../../images/footer/up.png" wx:if="{{sale_sort == 2}}"/><image src="../../images/footer/down.png" wx:if="{{sale_sort == 1}}"/></view>
+			  <view class="sortlist-item" bindtap="pricesort">价格 <image src="../../images/footer/up.png" wx:if="{{price_sort == 2}}"/><image src="../../images/footer/down.png" wx:if="{{price_sort == 1}}"/></view>
+	</view>
+  <view class="projects" style="padding-top:{{(statusBarHeight + 75) + 50}}px;">
     <view class="projectbg">
-      <view class="scrollview" wx:if="{{vershow}}" style="top:{{statusBarHeight + 45}}px;">
+      <view class="scrollview" wx:if="{{vershow}}" style="top:{{statusBarHeight + 75}}px;">
          <scroll-view scroll-x="true" class="nav" scroll-left="{{navScrollLeft}}" scroll-with-animation="{{true}}">
           <block wx:for="{{navData}}" wx:for-index="idx" wx:for-item="navItem" wx:key="idx">
               <view class="nav-item {{currentTab == idx ?'active':''}}"  data-current="{{idx}}" bindtap="switchNav">{{navItem.name}}</view>

+ 25 - 0
pages/projects/projects.wxss

@@ -178,4 +178,29 @@
 	    left: 0;
 	    width: 100%;
 	    z-index: 999;
+}
+
+.sortlist{
+overflow: hidden;
+    padding: 10rpx;
+    box-sizing: border-box;
+    color: #333;
+    border-bottom: 1px solid #e5e5e5;
+    margin-top: 5rpx;
+    position: fixed;
+    width: 100%;
+    left: 0;
+    top: 65px;
+    margin: 0;
+    z-index: 999;
+    background: #fff;
+}
+.sortlist-item{
+	    width: 33.33%;
+	    float: left;
+	    text-align: center;
+}
+.sortlist-item image{
+	    width: 20rpx;
+	    height: 20rpx;
 }

+ 1 - 1
pages/user/all/all.wxml

@@ -117,7 +117,7 @@
 		  <view class="user-line__title">我的赠券</view>
 		  <image class="user-line__right" src="http://fohow.oss-cn-shenzhen.aliyuncs.com/xcx/user/right.png"></image>
 		</view>
-      <view class="user-line" bindtap="toInviteList">
+      <view class="user-line" bindtap="toInviteList" wx:if="{{userInfo.show_invite_mode}}">
         <view class="user-line__title">我的推广</view>
         <image class="user-line__right" src="http://fohow.oss-cn-shenzhen.aliyuncs.com/xcx/user/right.png"></image>
       </view>

+ 22 - 8
utils/request.js

@@ -282,7 +282,7 @@ function pageLogin (res, str) {
   $get(url, params, success)
 }
 
-function share (val) {
+function share (val, timline) {
   var url = ''
   var image = ''
   var title = val.title || '欢迎来到凤凰菁选商城'
@@ -304,14 +304,28 @@ function share (val) {
     image = val.imageUrl
   }
   console.log(title)
-  return {
-    title: title,
-    path: url,
-    imageUrl: image,
-    success: function (res) {
-      shareInfo(val)
-    }
+  if(timline){
+	  var query = url.split('?')[1];
+	  return {
+	    title: title,
+	    path: url,
+	    imageUrl: image,
+		query: query,
+	    success: function (res) {
+	      shareInfo(val)
+	    }
+	  }
+  }else{
+	return {
+	  title: title,
+	  path: url,
+	  imageUrl: image,
+	  success: function (res) {
+	    shareInfo(val)
+	  }
+	}  
   }
+  
 }
 
 function $uploadFile(url, name, file, params, success, fail){