Przeglądaj źródła

修改拼团海报问题
修改分销订单问题
修改用户评价

yongzonghuang 3 lat temu
rodzic
commit
80e9057452

+ 413 - 274
pages_category_page1/discount/groupBuy.vue

@@ -1,301 +1,376 @@
 <template>
- <view class="groupBuy">
-   <global-loading />
-
-   <view class="groupBuyBg">
-     <image src="https://ceres.zkthink.com/static/images/groupBuyLogo.png"></image>
-   </view>
-	 <view class="countdown" v-if="shopShowType == false">
-		 <label v-if="groupDataList.state === 1">距结束剩余</label>
-		 <label v-else>即将开始</label>
-	   <view class="endDate"><span>{{hou}}</span><i>:</i><span>{{min}}</span><i>:</i><span>{{sec}}</span></view>
-	 </view>
-<!--	 <view class="filterBox" v-else>-->
-<!--		 <view class="item" :class="selectIndex == 0 ? 'selected' : ''" @click="synthesize"><span>综合</span></view>-->
-<!--		 <view class="item" :class="selectIndex == 1 ? 'selected' : ''" @click="sales"><span>销量</span></view>-->
-<!--		 <view class="item" :class="selectIndex == 2 ? 'selected' : ''" @click="priceClick"><span>价格</span></view>-->
-<!--	 </view>-->
-   <view class="shop-list-nav">
-     <view class="nav-item-sort" @click="sortTap(1)">
-       <text class="nav-title" :class="{'active' : sortIndex == 1}">综合</text>
-     </view>
-     <view class="nav-item-sort" @click="sortTap(2)">
-       <text class="nav-title" :class="{'active' : sortIndex == 2}">价格</text>
-       <view class="r">
-         <view class="arrowUp" :class="{activeUp: type == 1}"></view>
-         <view class="arrowDown" :class="{activeDown: type == 2}"></view>
-       </view>
-     </view>
-     <view class="nav-item-sort" @click="sortTap(3)">
-       <text class="nav-title" :class="{'active' : sortIndex == 3}">销量</text>
-       <view class="r">
-         <view class="arrowUp" :class="{activeUp: volume == 1}"></view>
-         <view class="arrowDown" :class="{activeDown: volume == 2}"></view>
-       </view>
-     </view>
-   </view>
-   <view class="spikeList mar-top-20">
-     <view class="listItem" v-for="(item,index) in groupBuy" :key="index">
-		 <view class="itemBox">
-		   <img :src="item.image">
-		 </view>
-       <view class="itemInfo">
-         <view class="title">
-           <p>{{item.productName}}</p>
-           <view class="number" v-if="item.limitNumber">限量{{item.limitNumber}}件 / 剩余{{item.limitStockNumber}}件</view>
-         </view>
-         <view class="originalPrice">原价: ¥{{item.originalPrice}}</view>
-         <view class="price">
-           <view class="currentPrice flex-row-plus flex-items-plus font-color-FF7800">
-             <view class="iconBox">
-               <image src="https://ceres.zkthink.com/static/images/groupBuyIcon.png"></image>
-             </view>
-             <view class="flex-row-plus flex-items priceInfo">
-               <label class="fs24">¥</label>
-               <label class="fs36">{{item.price}}</label>
-             </view>
-           </view>
-           <view v-if="groupDataList.state === 1" class="snapUpBtn" @click="gogoodsDetails(item.shopId,item.productId,item.skuId)">
-             <view class="btnText">去拼团</view>
-             <view style="width: 82%;margin: 0 auto">
-               <progress activeColor="#FFFFFF" :percent="getPercent(5, 10)" active stroke-width="5" />
-             </view>
-           </view>
-					 <view v-else class="snapUpBtn btnStyle1">
-					   <view class="btnText">即将开始</view>
-					   <view style="width: 82%;margin: 0 auto">
-					     <progress activeColor="#FFFFFF" :percent="getPercent(5, 10)" active stroke-width="5" />
-					   </view>
-					 </view>
-         </view>
-       </view>
-     </view>
-     <view v-if="ifEmpty" class="emptyOrder-box flex-items-plus flex-column">
-       <image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-       <label class="font-color-999 fs26 mar-top-30">暂无活动商品~</label>
-     </view>
-   </view>
- </view>
+  <view class="groupBuy">
+    <global-loading />
+
+    <view class="groupBuyBg">
+      <image src="https://ceres.zkthink.com/static/images/groupBuyLogo.png"></image>
+    </view>
+    <view
+        class="countdown"
+        v-if="shopShowType == false"
+    >
+      <label v-if="groupDataList.state === 1">距结束剩余</label>
+      <label v-else>即将开始</label>
+      <view class="endDate"><span>{{ hou }}</span><i>:</i><span>{{ min }}</span><i>:</i><span>{{ sec }}</span></view>
+    </view>
+    <!--	 <view class="filterBox" v-else>-->
+    <!--		 <view class="item" :class="selectIndex == 0 ? 'selected' : ''" @click="synthesize"><span>综合</span></view>-->
+    <!--		 <view class="item" :class="selectIndex == 1 ? 'selected' : ''" @click="sales"><span>销量</span></view>-->
+    <!--		 <view class="item" :class="selectIndex == 2 ? 'selected' : ''" @click="priceClick"><span>价格</span></view>-->
+    <!--	 </view>-->
+    <view class="shop-list-nav">
+      <view
+          class="nav-item-sort"
+          @click="sortTap(1)"
+      >
+        <text
+            class="nav-title"
+            :class="{'active' : sortIndex == 1}"
+        >综合
+        </text>
+      </view>
+      <view
+          class="nav-item-sort"
+          @click="sortTap(2)"
+      >
+        <text
+            class="nav-title"
+            :class="{'active' : sortIndex == 2}"
+        >价格
+        </text>
+        <view class="r">
+          <view
+              class="arrowUp"
+              :class="{activeUp: type == 1}"
+          ></view>
+          <view
+              class="arrowDown"
+              :class="{activeDown: type == 2}"
+          ></view>
+        </view>
+      </view>
+      <view
+          class="nav-item-sort"
+          @click="sortTap(3)"
+      >
+        <text
+            class="nav-title"
+            :class="{'active' : sortIndex == 3}"
+        >销量
+        </text>
+        <view class="r">
+          <view
+              class="arrowUp"
+              :class="{activeUp: volume == 1}"
+          ></view>
+          <view
+              class="arrowDown"
+              :class="{activeDown: volume == 2}"
+          ></view>
+        </view>
+      </view>
+    </view>
+    <view class="spikeList mar-top-20">
+      <view
+          class="listItem"
+          v-for="(item,index) in groupBuy"
+          :key="index"
+      >
+        <view class="itemBox">
+          <img :src="item.image">
+        </view>
+        <view class="itemInfo">
+          <view class="title">
+            <p>{{ item.productName }}</p>
+            <view class="tag-box">
+              <view
+                  class="number group-buy-number"
+                  v-if="item.person>0"
+              >{{ item.person }}人团
+              </view>
+
+              <view
+                  class="number"
+                  v-if="item.limitNumber"
+              >限量{{ item.limitNumber }}件 / 剩余{{ item.limitStockNumber }}件
+              </view>
+            </view>
+          </view>
+          <view class="originalPrice">原价: ¥{{ item.originalPrice }}</view>
+          <view class="price">
+            <view class="currentPrice flex-row-plus flex-items-plus font-color-FF7800">
+              <view class="iconBox">
+                <image src="https://ceres.zkthink.com/static/images/groupBuyIcon.png"></image>
+              </view>
+              <view class="flex-row-plus flex-items priceInfo">
+                <label class="fs24">¥</label>
+                <label class="fs36">{{ item.price }}</label>
+              </view>
+            </view>
+            <view
+                v-if="groupDataList.state === 1"
+                class="snapUpBtn"
+                @click="gogoodsDetails(item.shopId,item.productId,item.skuId)"
+            >
+              <view class="btnText">去拼团</view>
+              <view style="width: 82%;margin: 0 auto">
+                <progress
+                    activeColor="#FFFFFF"
+                    :percent="getPercent(5, 10)"
+                    active
+                    stroke-width="5"
+                />
+              </view>
+            </view>
+            <view
+                v-else
+                class="snapUpBtn btnStyle1"
+            >
+              <view class="btnText">即将开始</view>
+              <view style="width: 82%;margin: 0 auto">
+                <progress
+                    activeColor="#FFFFFF"
+                    :percent="getPercent(5, 10)"
+                    active
+                    stroke-width="5"
+                />
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view
+          v-if="ifEmpty"
+          class="emptyOrder-box flex-items-plus flex-column"
+      >
+        <image
+            class="emptyOrder-img"
+            src="https://ceres.zkthink.com/static/img/bgnull.png"
+        ></image>
+        <label class="font-color-999 fs26 mar-top-30">暂无活动商品~</label>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
 const NET = require('../../utils/request')
 const API = require('../../config/api')
 export default {
-	data(){
-		return{
-			pageType:true,
-			groupBuy:[],
-			page:1,
-			pageSize:10,
-			loadingType:0,
-			hou: "00",
-			min: "00",
-			sec: "00",
-			shopId:0,
-			shopGroupWorkId:0,
-			type:0,//价格
-			volume:0,//销量
-			shopShowType:false,
-			selectIndex:0,
+  data() {
+    return {
+      pageType: true,
+      groupBuy: [],
+      page: 1,
+      pageSize: 10,
+      loadingType: 0,
+      hou: "00",
+      min: "00",
+      sec: "00",
+      shopId: 0,
+      shopGroupWorkId: 0,
+      type: 0,//价格
+      volume: 0,//销量
+      shopShowType: false,
+      selectIndex: 0,
       sortIndex: 1,
       ifEmpty: false,
-			groupDataList:{},
-		}
-	},
-	onLoad(options) {
-		if(options.shopId && options.shopGroupWorkId){
-			this.shopShowType = false
-			this.shopId = options.shopId
-			this.shopGroupWorkId = options.shopGroupWorkId
-		}else{
-			this.shopShowType = true
-			this.shopId = 0
-			this.shopGroupWorkId = 0
-		}
-
-	},
-	onShow() {
-    this.groupBuy=[]
-		this.getGroupBuylist()
-	},
-	onReachBottom(){
-		if(this.loadingType == 1){
-			uni.stopPullDownRefresh()
-		}else{
-			this.page = this.page+1
-			this.getGroupBuylist()
-		}
-	},
-	methods:{
-		// synthesize(){
-		// 	this.volume =1//销量
-		// 	this.type = 1//价格
-		// 	this.page = 1
-		// 	this.selectIndex = 0
-		// 	this.groupBuy = []
-		// 	this.getGroupBuylist()
-		// },
-		// sales(){
-		// 	//销量
-		// 	if(this.volume == 1){
-		// 		this.volume = 2
-		// 	}else{
-		// 		this.volume = 1
-		// 	}
-		// 	this.type = 1//价格
-		// 	this.page = 1
-		// 	this.selectIndex = 1
-		// 	this.groupBuy = []
-		// 	this.getGroupBuylist()
-		// },
-		// priceClick(){
-		// 	this.volume =1//销量
-		// 	//价格
-		// 	if(this.type == 1){
-		// 		this.type = 2
-		// 	}else{
-		// 		this.type = 1
-		// 	}
-		// 	this.page = 1
-		// 	this.selectIndex = 2
-		// 	this.groupBuy = []
-		// 	this.getGroupBuylist()
-		// },
-    getPercent(num, total){
+      groupDataList: {},
+    }
+  },
+  onLoad(options) {
+    if (options.shopId && options.shopGroupWorkId) {
+      this.shopShowType = false
+      this.shopId = options.shopId
+      this.shopGroupWorkId = options.shopGroupWorkId
+    } else {
+      this.shopShowType = true
+      this.shopId = 0
+      this.shopGroupWorkId = 0
+    }
+
+  },
+  onShow() {
+    this.groupBuy = []
+    this.getGroupBuylist()
+  },
+  onReachBottom() {
+    if (this.loadingType == 1) {
+      uni.stopPullDownRefresh()
+    } else {
+      this.page = this.page + 1
+      this.getGroupBuylist()
+    }
+  },
+  methods: {
+    // synthesize(){
+    // 	this.volume =1//销量
+    // 	this.type = 1//价格
+    // 	this.page = 1
+    // 	this.selectIndex = 0
+    // 	this.groupBuy = []
+    // 	this.getGroupBuylist()
+    // },
+    // sales(){
+    // 	//销量
+    // 	if(this.volume == 1){
+    // 		this.volume = 2
+    // 	}else{
+    // 		this.volume = 1
+    // 	}
+    // 	this.type = 1//价格
+    // 	this.page = 1
+    // 	this.selectIndex = 1
+    // 	this.groupBuy = []
+    // 	this.getGroupBuylist()
+    // },
+    // priceClick(){
+    // 	this.volume =1//销量
+    // 	//价格
+    // 	if(this.type == 1){
+    // 		this.type = 2
+    // 	}else{
+    // 		this.type = 1
+    // 	}
+    // 	this.page = 1
+    // 	this.selectIndex = 2
+    // 	this.groupBuy = []
+    // 	this.getGroupBuylist()
+    // },
+    getPercent(num, total) {
       num = parseFloat(num);
       total = parseFloat(total);
       if (isNaN(num) || isNaN(total)) {
         return "-";
       }
-      return total <= 0? "0%" : Math.round((num / total) * 10000) / 100.0;
+      return total <= 0 ? "0%" : Math.round((num / total) * 10000) / 100.0;
     },
-    sortTap(index){
+    sortTap(index) {
       this.page = 1
       this.groupBuy = []
-			this.sortIndex = index
-      if(index == 1){
+      this.sortIndex = index
+      if (index == 1) {
         this.type = 0
         this.volume = 0
-      }else if(index == 2){
-				this.volume = 0
-				if(this.type === 0){
-					this.type = 1
-				}else{
-					this.type = this.type != 1 ? 1:2
-				}
-      }else if(index == 3){
+      } else if (index == 2) {
+        this.volume = 0
+        if (this.type === 0) {
+          this.type = 1
+        } else {
+          this.type = this.type != 1 ? 1 : 2
+        }
+      } else if (index == 3) {
         this.type = 0
-        if(this.volume === 0){
-        	this.volume = 1
-        }else{
-        	this.volume = this.volume != 1 ? 1:2
+        if (this.volume === 0) {
+          this.volume = 1
+        } else {
+          this.volume = this.volume != 1 ? 1 : 2
         }
       }
       this.getGroupBuylist()
     },
-		gogoodsDetails(shopId,productId,skuId){
-			uni.navigateTo({
-				url:'../goodsModule/goodsDetails?shopId='+shopId + '&productId='+productId +'&skuId='+skuId
-			})
-		},
-		getGroupBuylist(){
+    gogoodsDetails(shopId, productId, skuId) {
+      uni.navigateTo({
+        url: '../goodsModule/goodsDetails?shopId=' + shopId + '&productId=' + productId + '&skuId=' + skuId
+      })
+    },
+    getGroupBuylist() {
       // uni.showLoading({
       //   mask: true,
       //   title: '加载中...',
       // })
       let param = {
-        page:this.page,
-        pageSize:this.pageSize,
-        shopId:this.shopId,
-        shopGroupWorkId:this.shopGroupWorkId,
-        type:this.type,
-        volume:this.volume
+        page: this.page,
+        pageSize: this.pageSize,
+        shopId: this.shopId,
+        shopGroupWorkId: this.shopGroupWorkId,
+        type: this.type,
+        volume: this.volume
       }
-			NET.request(API.getGroupBuyList,param,'GET').then(res => {
+      NET.request(API.getGroupBuyList, param, 'GET').then(res => {
         uni.hideLoading()
-				if(res.data.page.list.length == 0){
-					this.loadingType = 1
-					this.page = this.page
-				}else{
-					this.groupDataList = res.data
-					this.groupBuy = this.groupBuy.concat(res.data.page.list)
+        if (res.data.page.list.length == 0) {
+          this.loadingType = 1
+          this.page = this.page
+        } else {
+          this.groupDataList = res.data
+          this.groupBuy = this.groupBuy.concat(res.data.page.list)
           if (this.groupBuy.length === 0) {
             this.ifEmpty = true
           }
-				}
-				if(this.shopShowType == false){
-					this.dateformat(res.data.time)
-					this.countDown()
-				}
-			}).catch(res => {
-				uni.showToast({
-					title:'失败',
-					icon:"none"
-				})
-			})
-		},
-		//时分秒换算
-		dateformat(micro_second) {
-			// 总秒数
-			let second = Math.floor(micro_second / 1000);
-			// 天数
-			let day = Math.floor(second / 3600 / 24);
-			// 小时
-			let hr = Math.floor(second / 3600 % 24);
-			// 分钟
-			let min = Math.floor(second / 60 % 60);
-			// 秒
-			let sec = Math.floor(second % 60);
-			this.hou = hr+day*24
-			this.min = min
-			this.sec = sec
-		},
-		countDown(){
-		    let timeOut = setTimeout(() => {
-		      let hou = parseInt(this.hou);
-		      let min = parseInt(this.min);
-		      let sec = parseInt(this.sec);
-
-		      let netxSec = sec - 1;
-		      let netxMin = min
-		      let netxHou = hou;
-
-		      if (netxHou == 0 && netxMin == 0 && netxSec == -1) {
-		        clearTimeout(timeOut)
-				uni.switchTab({
-					url:'../../pages/tabbar/index/index'
-				})
-				uni.showToast({
-					title:"活动结束",
-					duration:2000,
-					icon:'none'
-				})
-		      } else {
-		        if (netxSec == -1) {
-		          netxSec = 59
-		          netxMin = netxMin - 1;
-		        }
-		        if (netxMin == -1) {
-		          netxMin = 59
-		          netxHou = netxHou - 1
-		        }
-		        // if (netxHou == -1) {
-		        //   netxHou = 23
-		        // }
-
-		        this.hou = this.timeFormat(netxHou),
-		        this.min = this.timeFormat(netxMin),
-		        this.sec = this.timeFormat(netxSec),
-		        this.timeOut = timeOut
-		        this.countDown();
-		      }
-		    }, 1000)
-		},
-		timeFormat(param) { //小于10的格式化函数
-		    return param < 10 ? '0' + param : param;
-		},
-	}
+        }
+        if (this.shopShowType == false) {
+          this.dateformat(res.data.time)
+          this.countDown()
+        }
+      }).catch(res => {
+        uni.showToast({
+          title: '失败',
+          icon: "none"
+        })
+      })
+    },
+    //时分秒换算
+    dateformat(micro_second) {
+      // 总秒数
+      let second = Math.floor(micro_second / 1000);
+      // 天数
+      let day = Math.floor(second / 3600 / 24);
+      // 小时
+      let hr = Math.floor(second / 3600 % 24);
+      // 分钟
+      let min = Math.floor(second / 60 % 60);
+      // 秒
+      let sec = Math.floor(second % 60);
+      this.hou = hr + day * 24
+      this.min = min
+      this.sec = sec
+    },
+    countDown() {
+      let timeOut = setTimeout(() => {
+        let hou = parseInt(this.hou);
+        let min = parseInt(this.min);
+        let sec = parseInt(this.sec);
+
+        let netxSec = sec - 1;
+        let netxMin = min
+        let netxHou = hou;
+
+        if (netxHou == 0 && netxMin == 0 && netxSec == -1) {
+          clearTimeout(timeOut)
+          uni.switchTab({
+            url: '../../pages/tabbar/index/index'
+          })
+          uni.showToast({
+            title: "活动结束",
+            duration: 2000,
+            icon: 'none'
+          })
+        } else {
+          if (netxSec == -1) {
+            netxSec = 59
+            netxMin = netxMin - 1;
+          }
+          if (netxMin == -1) {
+            netxMin = 59
+            netxHou = netxHou - 1
+          }
+          // if (netxHou == -1) {
+          //   netxHou = 23
+          // }
+
+          this.hou = this.timeFormat(netxHou),
+              this.min = this.timeFormat(netxMin),
+              this.sec = this.timeFormat(netxSec),
+              this.timeOut = timeOut
+          this.countDown();
+        }
+      }, 1000)
+    },
+    timeFormat(param) { //小于10的格式化函数
+      return param < 10 ? '0' + param : param;
+    },
+  }
 }
 </script>
 <style>
@@ -303,22 +378,29 @@ page {
   background: #333333;
 }
 </style>
-<style lang="scss" scoped>
+<style
+    lang="scss"
+    scoped
+>
 page {
   background: #333333;
 }
+
 .groupBuy {
-	.selected{
-		color: #FE6F52;
-	}
+  .selected {
+    color: #FE6F52;
+  }
+
   .groupBuyBg {
     text-align: center;
     margin: 50rpx auto;
+
     image {
       width: 262rpx;
       height: 52rpx;
     }
   }
+
   .countdown {
     display: flex;
     justify-content: center;
@@ -326,10 +408,12 @@ page {
     align-items: center;
     width: 100%;
     color: #CCCCCC;
+
     .endDate {
       display: flex;
       align-items: center;
       margin-left: 20upx;
+
       span {
         min-width: 44rpx;
         padding: 0 8rpx;
@@ -341,6 +425,7 @@ page {
         color: #FFEBC4;
         text-align: center;
       }
+
       i {
         font-size: 26upx;
         color: #999999;
@@ -349,36 +434,44 @@ page {
       }
     }
   }
+
   .spikeList {
     padding: 0upx 30upx 20upx 30upx;
+
     .listItem {
       display: flex;
       padding: 30upx;
       margin-bottom: 30upx;
       background: #FFFFFF;
+
       &:last-child {
         border-bottom: none;
       }
+
       .itemBox {
         width: 260upx;
         height: 260upx;
         margin-right: 30upx;
+
         img {
           width: 100%;
           height: 100%;
         }
       }
+
       .itemInfo {
         flex: 1;
         display: flex;
         flex-direction: column;
         justify-content: space-between;
+
         .iconBox {
           image {
             width: 58rpx;
             height: 36rpx;
           }
         }
+
         p {
           font-size: 26upx;
           color: #333333;
@@ -392,7 +485,8 @@ page {
           line-clamp: 2;
           -webkit-box-orient: vertical;
         }
-        .tilte{
+
+        .tilte {
           .number {
             color: #C5AA7B;
             font-size: 26rpx;
@@ -404,20 +498,24 @@ page {
             padding: 0 5rpx;
           }
         }
+
         .originalPrice {
           font-size: 24upx;
           margin-top: 20upx;
           text-decoration: line-through;
           color: #CCCCCC;
         }
+
         .price {
           display: flex;
           justify-content: space-between;
           align-items: center;
+
           .priceInfo {
             font-size: 40rpx;
             color: #C83732;
           }
+
           .snapUpBtn {
             width: 160upx;
             height: 84upx;
@@ -426,24 +524,28 @@ page {
             box-shadow: 0rpx 6rpx 12rpx rgba(233, 0, 0, 0.3);
             opacity: 1;
             border-radius: 10rpx;
+
             .btnText {
               color: #FFFFFF;
               font-weight: 400;
               opacity: 0.5;
               margin: 10rpx 0;
             }
+
             .uni-progress {
               border-radius: 10rpx;
             }
           }
-					.btnStyle1{
-						background: linear-gradient(90deg, #29C790 0%, #75D98C 100%);
-						box-shadow: 0 6rpx 12rpx rgba(52, 203, 144, 0.3);
-					}
+
+          .btnStyle1 {
+            background: linear-gradient(90deg, #29C790 0%, #75D98C 100%);
+            box-shadow: 0 6rpx 12rpx rgba(52, 203, 144, 0.3);
+          }
         }
       }
     }
   }
+
   .filterBox {
     display: flex;
     height: 80upx;
@@ -451,12 +553,14 @@ page {
     width: 100%;
     background: #FFFFFF;
     left: 0;
+
     .item {
       flex: 0 0 33.33%;
       text-align: center;
     }
   }
 }
+
 .shop-list-nav {
   display: flex;
   flex-direction: row;
@@ -464,6 +568,7 @@ page {
   height: 80rpx;
   line-height: 76rpx;
 }
+
 .nav-item {
   flex: 1;
   font-size: 30rpx;
@@ -474,9 +579,11 @@ page {
   height: 80rpx;
   line-height: 76rpx;
 }
+
 .nav-item.active {
   color: #C5AA7B;
 }
+
 .nav-item .line {
   display: inline-block;
   width: 80rpx;
@@ -484,16 +591,20 @@ page {
   background: #fff;
   border-radius: 2rpx;
 }
+
 .nav-item.active .line {
   background: #C5AA7B;
 }
+
 .nav-item.padd-l {
   padding-left: 20%;
   box-sizing: border-box;
 }
-.active{
+
+.active {
   color: #C5AA7B;
 }
+
 .nav-item.padd-r {
   padding-right: 20%;
   box-sizing: border-box;
@@ -517,6 +628,7 @@ page {
   align-items: center;
   justify-content: center;
   margin-left: 5rpx;
+
   .arrowDown {
     width: 0;
     height: 0;
@@ -525,6 +637,7 @@ page {
     border-color: #CCCCCC transparent transparent transparent;
     margin-top: 2rpx;
   }
+
   .arrowUp {
     margin-bottom: 2rpx;
     width: 0;
@@ -533,21 +646,45 @@ page {
     border-style: solid;
     border-color: transparent transparent #CCCCCC transparent;
   }
+
   .activeDown {
     border-color: #C5AA7B transparent transparent transparent;
   }
+
   .activeUp {
     border-color: transparent transparent #C5AA7B transparent;
   }
 }
+
 .emptyOrder-box {
   margin-top: 70upx;
+
   .emptyOrder-img {
     margin-top: 45%;
     width: 113upx;
     height: 98upx;
   }
 }
+.tag-box{
+  display: flex;
+  align-items: center;
+  justify-content: flex-start;
+  flex-wrap: wrap;
+  .number{
+    display: inline-block;
+    padding: 6rpx 16rpx;
+    border-radius: 4rpx;
+    border: 1rpx solid #E3928F;
+    color: #E3928F;
+    font-size: 14rpx;
+  }
+  .group-buy-number{
+    background-color: #E3928F;
+    border: none;
+    color: #fff;
+  }
+}
+
 </style>
 <style scoped>
 .snapUpBtn /deep/ .uni-progress-bar {
@@ -555,9 +692,11 @@ page {
   height: 8rpx;
   background-color: #deabab !important;
 }
+
 .snapUpBtn /deep/ .uni-progress-inner-bar {
   border-radius: 10rpx;
 }
+
 .spikeNav /deep/ .tabs-nav {
 }
 </style>

+ 1 - 1
pages_category_page1/distributionModule/distributionOrder.vue

@@ -89,7 +89,7 @@
 			},
 
 			arrowTypeChange(arrowTypeId) {
-				this.FindMySalesData.list[arrowTypeId].ifOpen = this.FindMySalesData.list[arrowTypeId].ifOpen == true ? false : true
+				this.FindMySalesDatalist[arrowTypeId].ifOpen = this.FindMySalesDatalist[arrowTypeId].ifOpen == true ? false : true
 			}
 		}
 	}

+ 8 - 8
pages_category_page1/goodsModule/invitePoster.vue

@@ -73,18 +73,18 @@
 					// })
           this.$showLoading()
 					let that = this
-					setTimeout(function(){
+					setTimeout(()=>{
             // #ifdef H5 || MP-WEIXIN || APP-PLUS
 						uni.canvasToTempFilePath({ //把画布转化成临时文件进行保存
 							fileType: 'png', // 保存成的文件类型
 							quality: 0, // 图片质量
 							canvasId: 'posterCanvas', // 画布ID
-							success(res) {
+							success:(res)=> {
                 this.$hideLoading()
 							  console.log(res.tempFilePath, 'test0000')
                 that.saveDownload(res.tempFilePath)
 							},
-							fail() {
+							fail:()=> {
 								uni.showToast({
 									title: '保存失败,稍后再试',
 									duration: 2000,
@@ -118,7 +118,7 @@
                   },
                 })
               },
-              fail() {
+              fail:()=> {
                 this.$hideLoading()
                 uni.showToast({
                   title: '保存失败,稍后再试',
@@ -137,16 +137,17 @@
 					// })
           this.$showLoading()
 					let that = this
-					setTimeout(function(){
+					setTimeout(()=>{
 						uni.canvasToTempFilePath({ //把画布转化成临时文件进行保存
 							fileType: 'png', // 保存成的文件类型
 							quality: 0, // 图片质量
 							canvasId: 'posterCanvas', // 画布ID
-							success(res) {
+							success:(res)=> {
 								uni.downloadFile({
 									url: res.tempFilePath,//网络路径,下载下来
 									success: (res1) => {
                     this.$hideLoading()
+                    console.log(res1)
 										if (res1.statusCode === 200) {
 											// uni.hideLoading();
 											uni.showModal({
@@ -167,8 +168,7 @@
 									}
 								})
 							},
-							fail(err) {
-								console.log(err.errMsg)
+							fail:(err)=> {
                 this.$hideLoading()
 								uni.showToast({
 									title: '保存失败,稍后再试',

+ 2 - 1
pages_category_page1/goodsModule/inviteSpell.vue

@@ -40,6 +40,7 @@
           </view>
         </view>
 		  <view v-if="remainPerson !== 0">
+        {{ type }}
 			  <view class="mar-top-50 font-color-333">还差<label class="font-color-C5AA7B">{{remainPerson}}</label>人成团,距结束还剩{{hou}}:{{min}}:{{sec}}</view>
 			  <view v-if="type == 1" @click="shareClick" class="offered-but font-color-FFF flex-items-plus mar-top-60">邀请好友拼单</view>
 			  <view v-if="type == 0" @click="getOffered" class="offered-but font-color-FFF flex-items-plus mar-top-60">立即参团</view>
@@ -421,7 +422,7 @@
 					this.inviteSpell = res.data
 					this.type = 0
 					this.inviteSpell.personList.forEach(item=>{
-						if(item.name === this.userInfo.name){
+						if(item.buyerUserId === this.userInfo.buyerUserId){
 							this.type = 1
 						}
 					})

+ 173 - 135
pages_category_page1/goodsModule/userEvaluate.vue

@@ -1,142 +1,155 @@
 <template>
 	<view class="container">
-		<!-- 我的评论 -->
-		<view class="evaluateTitle-box flex-row-plus flex-sp-around">
-			<view class="allEvaluate"
-				:class="{'evaluateTitle-on' : evaluateTitleFlag == 1}"
-				@click="evaluateTitleClick(1)"
-			>全部评价({{ myCommentList.total || 0}})</view>
-      <view class="centerLine">|</view>
-			<view
-				:class="{'evaluateTitle-on' : evaluateTitleFlag == 2}"
-				@click="evaluateTitleClick(2)"
-			>有图({{ myCommentList.imageTotal || 0}})</view>
-		</view>
-		<view v-if="evaluateTitleFlag == 1" class="mar-top-20">
-			<template>
-				<view
-					class="evaluate-contentbox"
-					v-for="(item, index) in commentVOList"
-					:key="index"
-					@click="commentDetails(index)"
-				>
-					<view class="evaluate-content flex-items flex-row flex-sp-between">
-						<view class="flex-items">
-							<image class="user-headSmallImg" v-if="item.headImage" :src="item.headImage"></image>
-							<image class="user-headSmallImg" src="https://ceres.zkthink.com/static/images/storeLogo.png" v-else></image>
-              <view class="skuValue">
-                <label class="fs28" v-if="item.name">{{item.name}}</label>
-                <label class="fs28" v-else>匿名</label>
-                <view class="fs22 font-color-999 mar-top-10">
-                  {{item.value}}
+    <!-- 骨架屏 -->
+    <Skeleton
+        el-color="#f1f3f4"
+        bg-color="#fff"
+        :loading="loading"
+        :animation="true"
+    ></Skeleton>
+    <global-loading />
+    <view class="u-skeleton">
+      <!-- 我的评论 -->
+      <view class="evaluateTitle-box flex-row-plus flex-sp-around u-skeleton-fillet">
+        <view class="allEvaluate"
+              :class="{'evaluateTitle-on' : evaluateTitleFlag == 1}"
+              @click="evaluateTitleClick(1)"
+        >全部评价({{ myCommentList.total || 0}})</view>
+        <view class="centerLine">|</view>
+        <view
+            :class="{'evaluateTitle-on' : evaluateTitleFlag == 2}"
+            @click="evaluateTitleClick(2)"
+        >有图({{ myCommentList.imageTotal || 0}})</view>
+      </view>
+      <view v-if="evaluateTitleFlag == 1" class="mar-top-20">
+        <template>
+          <view
+              class="evaluate-contentbox u-skeleton-fillet"
+              v-for="(item, index) in commentVOList"
+              :key="index"
+              @click="commentDetails(index)"
+          >
+            <view class="evaluate-content flex-items flex-row flex-sp-between ">
+              <view class="flex-items">
+                <image class="user-headSmallImg u-skeleton-circle" v-if="item.headImage" :src="item.headImage"></image>
+                <image class="user-headSmallImg u-skeleton-circle" src="https://ceres.zkthink.com/static/images/storeLogo.png" v-else></image>
+                <view class="skuValue u-skeleton-fillet">
+                  <label class="fs28" v-if="item.name">{{item.name}}</label>
+                  <label class="fs28" v-else>匿名</label>
+                  <view class="fs22 font-color-999 mar-top-10">
+                    {{item.value}}
+                  </view>
                 </view>
               </view>
-						</view>
-            <view class="addCommentsBut" v-if="item.addComment == ''" @click.stop="addCommentsClick(index)">追加评价</view>
-					</view>
-					<view class="fs26 pad-topbot-20">{{item.comment}}</view>
-					<view class="evaluateImg-box" v-if="item.image">
-						<view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
-							<image class="evaluate-Img" :src="cItem"></image>
-						</view>
-					</view>
-					<view class="addComments-box flex-column-plus" v-if="item.addComment">
-						<label class="font-color-C5AA7B mar-top-30">用户追评</label>
-						<label class="mar-top-20">{{item.addComment}}</label>
-						<view class="evaluateImg-box mar-top-20" v-if="item.addImage">
-							<view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
-								<image class="evaluate-Img" :src="dItem"></image>
-							</view>
-						</view>
-					</view>
-					<view class="goodsDes-box flex-column-plus mar-top-30">
-						<view class="flex-row-plus" @click.stop="goGoodsDetails(item.shopId,item.productId,item.skuId)">
-							<image class="goodsDes-img default-img" :src="item.productImage"></image>
-							<view class="goodsDesText-box">
-								<label class="fs26 goodsDes-text">{{item.productName}}</label>
-								<view class="mar-top-70">
-									<label>¥ {{item.productPrice}}</label>
-								</view>
-							</view>
-						</view>
-					</view>
-          <view class="flex-items flex-row mar-top-30 flex-sp-between">
-            <view class="font-color-999 fs22">{{item.createTime}}</view>
-            <view class="praise-box flex-items flex-row">
-              <image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://ceres.zkthink.com/static/images/praiseActiveIcon.png"
-                     v-if="item.ifLike"></image>
-              <image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://ceres.zkthink.com/static/images/addPraiseIcon.png"
-                     v-else></image>
-              <label class="mar-left-10">{{item.likes}}</label>
+              <view class="addCommentsBut" v-if="item.addComment == ''" @click.stop="addCommentsClick(index)">追加评价</view>
+            </view>
+            <view class="fs26 pad-topbot-20 u-skeleton-fillet" style="margin-top: 10rpx">{{item.comment}}</view>
+            <view class="evaluateImg-box" v-if="item.image">
+              <view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
+                <image class="evaluate-Img" :src="cItem"></image>
+              </view>
+            </view>
+            <view class="addComments-box flex-column-plus" v-if="item.addComment">
+              <label class="font-color-C5AA7B mar-top-30">用户追评</label>
+              <label class="mar-top-20">{{item.addComment}}</label>
+              <view class="evaluateImg-box mar-top-20" v-if="item.addImage">
+                <view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
+                  <image class="evaluate-Img" :src="dItem"></image>
+                </view>
+              </view>
+            </view>
+            <view class="goodsDes-box u-skeleton-fillet flex-column-plus mar-top-30">
+              <view class="flex-row-plus" @click.stop="goGoodsDetails(item.shopId,item.productId,item.skuId)">
+                <image class="goodsDes-img default-img" :src="item.productImage"></image>
+                <view class="goodsDesText-box">
+                  <label class="fs26 goodsDes-text">{{item.productName}}</label>
+                  <view class="mar-top-70">
+                    <label>¥ {{item.productPrice}}</label>
+                  </view>
+                </view>
+              </view>
+            </view>
+            <view class="flex-items flex-row mar-top-30 flex-sp-between">
+              <view class="font-color-999 fs22">{{item.createTime}}</view>
+              <view class="praise-box flex-items flex-row">
+                <image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://ceres.zkthink.com/static/images/praiseActiveIcon.png"
+                       v-if="item.ifLike"></image>
+                <image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://ceres.zkthink.com/static/images/addPraiseIcon.png"
+                       v-else></image>
+                <label class="mar-left-10">{{item.likes}}</label>
+              </view>
             </view>
           </view>
-				</view>
-			</template>
-			<view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
-				<image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-				<label class="font-color-999 fs26 mar-top-30">你还没有评论哦~</label>
-			</view>
-		</view>
-		<view v-if="evaluateTitleFlag == 2" class="mar-top-20">
-			<template>
-			<view
-				class="evaluate-contentbox"
-				v-for="(item, index) in commentVOList"
-				:key="index"
-			>
-				<view class="evaluate-content flex-column" @click="commentDetails(index)" >
-					<view class="flex-items">
-						<image class="user-headSmallImg" v-if="item.headImage" :src="item.headImage"></image>
-						<image class="user-headSmallImg" src="https://ceres.zkthink.com/static/images/storeLogo.png" v-else></image>
-						<label class="fs28 mar-left-20" v-if="item.name">{{item.name}}</label>
-						<label class="fs28 mar-left-20" v-else>匿名</label>
-					</view>
-					<view class="fs22 font-color-999 mar-top-10">
-						{{item.value}}
-					</view>
-					<view class="fs26 pad-topbot-20">{{item.comment}}</view>
-					<view class="evaluateImg-box" v-if="item.image">
-						<view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
-							<image class="evaluate-Img" :src="cItem"></image>
-						</view>
-					</view>
-					<view class="addComments-box flex-column-plus" v-if="item.addComment">
-						<label class="font-color-C5AA7B mar-top-30">用户追评</label>
-						<label class="mar-top-20">{{item.addComment}}</label>
-						<view class="evaluateImg-box mar-top-20" v-if="item.addImage">
-							<view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
-								<image class="evaluate-Img" :src="dItem"></image>
-							</view>
-						</view>
-					</view>
+        </template>
+        <view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
+          <image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+          <label class="font-color-999 fs26 mar-top-30">你还没有评论哦~</label>
+        </view>
+      </view>
+      <view v-if="evaluateTitleFlag == 2" class="mar-top-20">
+        <template>
+          <view
+              class="evaluate-contentbox"
+              v-for="(item, index) in commentVOList"
+              :key="index"
+          >
+            <view class="evaluate-content flex-column" @click="commentDetails(index)" >
+              <view class="flex-items">
+                <image class="user-headSmallImg" v-if="item.headImage" :src="item.headImage"></image>
+                <image class="user-headSmallImg" src="https://ceres.zkthink.com/static/images/storeLogo.png" v-else></image>
+                <label class="fs28 mar-left-20" v-if="item.name">{{item.name}}</label>
+                <label class="fs28 mar-left-20" v-else>匿名</label>
+              </view>
+              <view class="fs22 font-color-999 mar-top-10">
+                {{item.value}}
+              </view>
+              <view class="fs26 pad-topbot-20">{{item.comment}}</view>
+              <view class="evaluateImg-box" v-if="item.image">
+                <view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
+                  <image class="evaluate-Img" :src="cItem"></image>
+                </view>
+              </view>
+              <view class="addComments-box flex-column-plus" v-if="item.addComment">
+                <label class="font-color-C5AA7B mar-top-30">用户追评</label>
+                <label class="mar-top-20">{{item.addComment}}</label>
+                <view class="evaluateImg-box mar-top-20" v-if="item.addImage">
+                  <view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
+                    <image class="evaluate-Img" :src="dItem"></image>
+                  </view>
+                </view>
+              </view>
 
-					<view class="flex-items flex-row mar-top-30 flex-sp-between">
-            <view class="font-color-999 fs22">{{item.createTime}}</view>
-						<view class="praise-box flex-items flex-row">
-							<image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://ceres.zkthink.com/static/images/praiseActiveIcon.png"
-							 v-if="item.ifLike"></image>
-							<image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://ceres.zkthink.com/static/images/praiseIcon.png"
-							 v-else></image>
-							<label class="mar-left-10">{{item.likes}}</label>
-						</view>
-					</view>
-				</view>
-			</view>
-			</template>
-			<view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
-				<image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-				<label class="font-color-999 fs26 mar-top-30">你还没有评论哦~</label>
-			</view>
-		</view>
+              <view class="flex-items flex-row mar-top-30 flex-sp-between">
+                <view class="font-color-999 fs22">{{item.createTime}}</view>
+                <view class="praise-box flex-items flex-row">
+                  <image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://ceres.zkthink.com/static/images/praiseActiveIcon.png"
+                         v-if="item.ifLike"></image>
+                  <image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://ceres.zkthink.com/static/images/praiseIcon.png"
+                         v-else></image>
+                  <label class="mar-left-10">{{item.likes}}</label>
+                </view>
+              </view>
+            </view>
+          </view>
+        </template>
+        <view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
+          <image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+          <label class="font-color-999 fs26 mar-top-30">你还没有评论哦~</label>
+        </view>
+      </view>
+    </view>
 	</view>
 </template>
 
 <script>
-	const NET = require('../../utils/request')
+  import Skeleton from "../../components/Skeleton";
+  const NET = require('../../utils/request')
 	const API = require('../../config/api')
 	export default {
-		data() {
+    components: {Skeleton},
+    data() {
 			return {
+        loading:true,
 				evaluateTitleFlag: 1,
 				myCommentList: [],
 				commentVOList: [],
@@ -149,7 +162,27 @@
 			}
 		},
 		onShow(){
-			this.commentVOList = []
+			this.commentVOList = [{
+        isLoading:true,
+        name:'',
+        comment:''
+      },{
+        isLoading:true,
+        name:'',
+        comment:''
+      },{
+        isLoading:true,
+        name:'',
+        comment:''
+      },{
+        isLoading:true,
+        name:'',
+        comment:''
+      },{
+        isLoading:true,
+        name:'',
+        comment:''
+      }]
 			this.getMyCommentList()
 		},
 		// onLoad() {
@@ -200,10 +233,8 @@
 			},
 			//我的评价列表
 			getMyCommentList() {
-        // uni.showLoading({
-        //   title: '加载中...',
-        //   mask: true
-        // });
+        this.$showLoading()
+        this.loading = true
 				NET.request(API.MyCommentList, {
 					page: this.page,
 					pageSize: this.pageSize,
@@ -216,6 +247,7 @@
 					}
 					this.myCommentList = res.data
 					this.commentVOList = this.commentVOList.concat(res.data.page.list)
+          this.commentVOList = this.commentVOList.filter(item=>!item.isLoading)
           if (this.commentVOList.length === 0) {
             this.evaluateEmpty = true
           }
@@ -226,21 +258,26 @@
             duration: 2000,
             icon: 'none'
           });
-				})
+				}).finally(()=>{
+          this.loading = false
+          this.$hideLoading()
+        })
 			},
 			//点赞
 			zanTap(index, likeId, actionType) {
+        this.$showLoading()
 				NET.request(API.LikeOrUnLikeComment, {
 					commentId: likeId,
 					ifLike: actionType
 				}, 'POST').then(res => {
 					this.commentVOList[index].ifLike = !this.commentVOList[index].ifLike
 					this.commentVOList[index].likes = this.commentVOList[index].ifLike ? this.commentVOList[index].likes + 1 : this.commentVOList[index].likes - 1
-					this.commentVOList = []
-					this.page = 1
-					this.getMyCommentList()
+					// this.commentVOList = []
+					// this.page = 1
+					// this.getMyCommentList()
 				}).catch(res => {
-					uni.hideLoading()
+          this.$hideLoading()
+					// uni.hideLoading()
 				})
 			},
 			commentDetails(id) {
@@ -292,6 +329,7 @@ page {
 		justify-content: center;
 		flex-direction: column;
 		padding: 30upx 30upx;
+    margin: 10rpx 10rpx;
 		background-color: #FFFFFF;
     border-bottom: 2rpx solid #F3F4F5;
 		.evaluate-content {

+ 2 - 2
pages_category_page1/search/index/index.vue

@@ -7,8 +7,8 @@
 					<image class="searchImg" src="https://ceres.zkthink.com/static/img/searchImg.png"></image>
 					<input class="search-box" v-model="keyWord" placeholder-class="searchboxPlace"
 						placeholder="请输入您想要的宝贝" />
-					<image class="searchClose-icon" @click="searchTextDel"
-						src="https://ceres.zkthink.com/static/img/index/searchClose_icon.png"></image>
+<!--					<image class="searchClose-icon" @click="searchTextDel"
+						src="https://ceres.zkthink.com/static/img/index/searchClose_icon.png"></image>-->
 				</view>
 				<view class="mar-left-40 fs26" @click="getList">搜索</view>
 			</view>