ソースを参照

收货地址不匹配不允许提交订单
处理地址二级为市辖区时选择其他地址保存失败和地址回显为当前选中地址
店铺秒杀距离开始/结束倒计时处理
提交订单页总计显示错误修改
客户反馈问题,对hidden方法优化
秒杀问题修改和申请分销员input样式修改
小程序分享好友功能
评价查看大图显示错误处理
进入商品详情页点击立即回答用户提问的问题成功后,返回到问答列表数据没有刷新问题处理
添加商品占位图
全部订单显示已追加评价订单
微信浏览器在待付款页面调起支付修改为jsapi
浏览足迹、店铺商户列表、我的收藏列表分别显示对应的活动icon与活动价
店铺商户详情页,点击商品封面图进入商品详情页后点击返回按钮,再次点击商品封面图进入失败
解决一打开就强行跳去登录问题
店铺首页-拼团专区页面预热/进行中区分显示修改
店铺首页-限时折扣专区预热/进行中区分显示修改
追加评论
打包版本提示框取消
店铺限时折扣查看更多查询条件修改
点击提现提示错误问题处理
fix 我的评论详情页,点击成功后,那个小拳拳的改为跟点赞字体的颜色一致,取消点赞就恢复
我的评价查看详情,点赞后返回列表刷新点赞数

yongzonghuang 4 年 前
コミット
300b403864
28 ファイル変更266 行追加130 行削除
  1. 9 0
      App.vue
  2. 2 2
      components/canvasShow/basics/discount/app/index.vue
  3. 1 1
      components/canvasShow/basics/group/app/index.vue
  4. 1 1
      components/canvasShow/basics/newProduct/app/index.vue
  5. 1 1
      components/canvasShow/basics/price/app/index.vue
  6. 2 2
      components/canvasShow/basics/product/app/index.vue
  7. 2 2
      components/canvasShow/basics/vip/app/index.vue
  8. 1 1
      components/hoteRecommed/index.vue
  9. 2 1
      pages/tabbar/cart/index.vue
  10. 5 1
      pages/tabbar/category/index.vue
  11. 16 0
      pages/tabbar/index/index.vue
  12. 149 82
      pages_category_page1/discount/spikeList.vue
  13. 3 3
      pages_category_page1/distributionModule/recruit.vue
  14. 3 0
      pages_category_page1/goodsModule/answerList.vue
  15. 2 2
      pages_category_page1/goodsModule/canvasGoods.vue
  16. 2 2
      pages_category_page1/goodsModule/combination.vue
  17. 4 5
      pages_category_page1/goodsModule/evaluateList.vue
  18. 5 2
      pages_category_page1/goodsModule/goodsDetails.vue
  19. 2 2
      pages_category_page1/goodsModule/goodsList.vue
  20. 1 1
      pages_category_page1/goodsModule/userEvaluate.vue
  21. 4 5
      pages_category_page1/orderModule/index.vue
  22. 35 4
      pages_category_page1/orderModule/orderConfirm.vue
  23. 1 1
      pages_category_page1/orderModule/orderDetails.vue
  24. 1 1
      pages_category_page1/store/index.vue
  25. 6 5
      pages_category_page2/userModule/addAddress.vue
  26. 2 2
      pages_category_page2/userModule/collection.vue
  27. 1 1
      pages_category_page2/userModule/footprintList.vue
  28. 3 0
      utils/hidden.js

+ 9 - 0
App.vue

@@ -76,6 +76,15 @@ export default {
 uni-rich-text img {
   max-width: 100% !important;
 }
+// 图片占位图
+.pic-img{
+	width: 100%;
+	height: 100%;
+}
+.default-img {
+	background: url(./static/images/default.png) no-repeat center;
+	background-size: 100% 100%;
+}
 
 .line1 {
   text-overflow: ellipsis;

+ 2 - 2
components/canvasShow/basics/discount/app/index.vue

@@ -13,7 +13,7 @@
         <swiper-item class="swiper-slide product-list-item-warp" v-for="(item,index) in productData.products.slice(0, 10)" :key="index" @click="jumpProductDetail(item)">
           <div class="product-list-item">
           <div class="product-list-img">
-            <img v-show="item.image" class="img" :src="item.image">
+            <img class="img default-img" :src="item.image">
           </div>
           <div class="product-list-info">
             <label class="product-name">{{item.productName}}</label>
@@ -51,7 +51,7 @@
         <div class="product-list-item-warp" v-for="(item,index) in productData.products" :key="index" @click="jumpProductDetail(item)">
           <div class="product-list-item">
           <div class="product-list-img">
-            <img v-show="item.image" class="img" :src="item.image">
+            <img class="img default-img" :src="item.image">
           </div>
           <div class="product-list-info">
             <label class="product-name">{{item.productName}}</label>

+ 1 - 1
components/canvasShow/basics/group/app/index.vue

@@ -18,7 +18,7 @@
           <div class="pro-item-inner">
             <div class="pro-item">
               <div class="pro-item-img">
-                <img v-show="item.image" class="img" :src="item.image">
+                <img class="img default-img" :src="item.image">
               </div>
               <div class="pro-item-info">
                 <label class="name">{{item.productName}}</label>

+ 1 - 1
components/canvasShow/basics/newProduct/app/index.vue

@@ -5,7 +5,7 @@
         <div class="product-swiper-warp" v-for="(item,index) in productData.slice(0, 3)" :key="index">
           <div class=" product-swiper-item" @click="jumpProductDetail(item)">
             <div class="product-swiper-img">
-              <img class="img" :src="item.image">
+              <img class="img pic-img default-img" :src="item.image">
             </div>
             <div class="product-swiper-info">
               <label class="product-name">{{item.productName}}</label>

+ 1 - 1
components/canvasShow/basics/price/app/index.vue

@@ -25,7 +25,7 @@
           <div class="pro-item-inner">
           <div class="pro-item">
           <div class="pro-item-img">
-            <img v-show="item.image" class="img" :src="item.image">
+            <img class="img default-img" :src="item.image">
           </div>
           <div class="pro-item-info">
             <h3 class="name">

+ 2 - 2
components/canvasShow/basics/product/app/index.vue

@@ -13,7 +13,7 @@
         <swiper-item class="product-list-item-warp" v-for="(item,index) in productData" :key="index" @click="jumpProductDetail(item)">
           <div class="product-list-item">
             <div class="product-list-img">
-              <img v-show="item.image" class="img" :src="item.image">
+              <img class="img pic-img default-img" :src="item.image">
             </div>
             <div class="product-list-info">
               <label class="product-name">{{item.productName}}</label>
@@ -66,7 +66,7 @@
         <div class="product-list-item-warp" v-for="(item,index) in productData" :key="index" @click="jumpProductDetail(item)">
           <div class="product-list-item">
             <div class="product-list-img">
-              <img v-show="item.image" class="img" :src="item.image">
+              <img class="img pic-img default-img" :src="item.image">
             </div>
             <div class="product-list-info">
               <label class="product-name">{{item.productName}}</label>

+ 2 - 2
components/canvasShow/basics/vip/app/index.vue

@@ -16,7 +16,7 @@
             <swiper-item class="vip-item-warp" v-for="(itemJ,indexJ) in listTemp" :key="indexJ">
               <div class="vip-item"  v-for="(item,index) in itemJ" :key="index"  @click="jumpProductDetail(item)">
                 <div class="vip-item-img">
-                  <image v-show="item.image" class="img" :src="item.image"></image>
+                  <image class="img default-img" :src="item.image"></image>
                 </div>
                 <div class="vip-item-info">
                   <h3 class="name">
@@ -60,7 +60,7 @@
           <div class="vip-item-warp" v-for="(itemJ,indexJ) in listTemp" :key="indexJ">
             <div class="vip-item"  v-for="(item,index) in itemJ" :key="index" @click="jumpProductDetail(item)">
               <div class="vip-item-img">
-                <img v-show="item.image" class="img" :src="item.image">
+                <img class="img default-img" :src="item.image">
               </div>
               <div class="vip-item-info">
                 <h3 class="name">

+ 1 - 1
components/hoteRecommed/index.vue

@@ -11,7 +11,7 @@
         @click="goodsDateils(item.shopId,item.productId,item.skuId)"
       >
         <view class="itemImg">
-          <image :src="item.image"></image>
+          <image :src="item.image" class="pic-img default-img"></image>
         </view>
         <view class="itemTit">{{item.productName}}</view>
         <view class="flex-items shopNameBox">

+ 2 - 1
pages/tabbar/cart/index.vue

@@ -71,7 +71,7 @@
                        class="cart-select-img"></image>
                 <view class="pro-r">
                   <image :src="skuItem.image"
-                         class="pro-img"></image>
+                         class="pro-img default-img"></image>
                   <view class="pro-r-r">
                     <view class="pro-name">{{ skuItem.productName }}</view>
                     <view class="sku-box">
@@ -218,6 +218,7 @@
 
       <!-- 热门推荐 -->
       <HotTemplate/>
+			
       <view style="width: 100%;height: 100rpx;background-color:#efefef;"></view>
       <!-- 删除确认弹窗 -->
       <tui-modal :show="cardModal"

+ 5 - 1
pages/tabbar/category/index.vue

@@ -19,7 +19,7 @@
 			</view>
 					<view class="t-list">
 						<view @click="navToList(item.classifyId, titem.classifyId)" class="t-item" v-for="titem in item.childs" :key="titem.classifyId">
-							<image :src="titem.classifyImage"></image>
+							<image :src="titem.classifyImage" class="pic-img default-img"></image>
 							<text>{{titem.classifyName}}</text>
 						</view>
 					</view>
@@ -196,6 +196,10 @@
 			flex: 99;
 			height: 0;
 		}
+		image{
+			width: 140rpx;
+			height: 140rpx;
+		}
 	}
 	.t-item{
 		flex-shrink: 0;

+ 16 - 0
pages/tabbar/index/index.vue

@@ -130,6 +130,22 @@ export default {
     this.topLeft = e.scrollTop
   },
   methods: {
+		// 分享到朋友圈
+		onShareTimeline: function() {
+		  return {
+		    title: this.miniHomeRemark,
+		    imageUrl: this.miniHomeImg,
+		    path: 'pages/tabbar/index/index',
+		  }
+		},
+		// 分享好友
+		onShareAppMessage: function() {
+			return {
+				title: this.miniHomeRemark,
+				imageUrl: this.miniHomeImg,
+				path: 'pages/tabbar/index/index',
+			}
+		},
     /**
      * 请求非首页的子组件的下一页
      * */

+ 149 - 82
pages_category_page1/discount/spikeList.vue

@@ -21,21 +21,35 @@
 			</view>
 		</view>
 		<view v-else class="shopStopTime">
-			<view v-if="spikeLikeData.state === 1">
+			<view class="TimeBigBox" v-if="spikeLikeData.state === 1">
 				<label>距离结束:</label>
-				<u-count-down :timestamp="spikeLikeData.time" fontSize="24rpx" separatorColor="#C83732"
-				separatorSize="24rpx" bgColor="#C83732" color="#ffffff" height="200rpx"></u-count-down>
+				<view class="flex-row-plus fs34 flex-items-plus mar-top-10">
+				  <view class="countdown-box flex-items-plus">{{ hou }}</view>
+				  <view class="font-color-999">:</view>
+				  <view class="countdown-box flex-items-plus">{{ min }}</view>
+				  <view class="font-color-999">:</view>
+				  <view class="countdown-box flex-items-plus">{{ sec }}</view>
+				</view>
+				<!-- <u-count-down :timestamp="spikeLikeData.time" fontSize="24rpx" separatorColor="#C83732"
+				separatorSize="24rpx" bgColor="#C83732" color="#ffffff" height="200rpx"></u-count-down> -->
 			</view>
-			<view  v-else>
+			<view  v-else class="TimeBigBox">
 				<label>距离开始:</label>
-				<u-count-down :timestamp="spikeLikeData.enableTime" fontSize="24rpx" separatorColor="#C83732"
-				separatorSize="24rpx" bgColor="#C83732" color="#ffffff" height="200rpx"></u-count-down>
+				<view class="flex-row-plus fs34 flex-items-plus mar-top-10">
+				  <view class="countdown-box flex-items-plus">{{ hou }}</view>
+				  <view class="font-color-999">:</view>
+				  <view class="countdown-box flex-items-plus">{{ min }}</view>
+				  <view class="font-color-999">:</view>
+				  <view class="countdown-box flex-items-plus">{{ sec }}</view>
+				</view>
+				<!-- <u-count-down :timestamp="spikeLikeData.enableTime" fontSize="24rpx" separatorColor="#C83732"
+				separatorSize="24rpx" bgColor="#C83732" color="#ffffff" height="200rpx"></u-count-down> -->
 			</view>
 		</view>
 		<view class="spikeList mar-top-20">
 			<view class="listItem" v-for="(item,index) in spikeLikeList" :key="index">
 				<view class="itemBox">
-					<img :src="item.productImage || item.image">
+					<img :src="item.productImage || item.image" class="pic-img default-img">
 				</view>
 				<view class="itemInfo">
 					<p>{{item.productName}}</p>
@@ -52,22 +66,30 @@
 								<label class="fs36">{{item.price}}</label>
 							</view>
 						</view>
-						<view class="snapUpBtn" v-if="spikeLikeData.state === 1 || platformSeckillList[platformIndex].state===3"
+						<view v-if="spikeLikeData.state === 1  || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 3)"
+						  class="snapUpBtn" 
 							@click="gogoodsDetails(item.shopId,item.productId,item.skuId)">
 							<view class="btnText">去抢购</view>
 							<view class="progressBox">
-								<progress activeColor="#FFFFFF" :percent="getPercent(item.saleNumber, item.total)"
+								<progress activeColor="#FFFFFF" :percent="getPercent(item.saleNumber||item.stockNumber, item.total)"
 									active stroke-width="5" />
 							</view>
 						</view>
-						<view class="snapUpBtn" :class="{btnStyle1: spikeLikeData.state === 0 || spikeLikeData.ifEnable === 2 || platformSeckillList[platformIndex].state===2}"
-							v-if="spikeLikeData.state === 0 || spikeLikeData.ifEnable === 2 || platformSeckillList[platformIndex].state===2">
+						<view v-if="spikeLikeData.state === 0 || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 2)" 
+						  class="snapUpBtn" :class="{btnStyle1: spikeLikeData.state === 0 || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 2) }">
 							<view class="btnText">即将开始</view>
 							<view class="progressBox">
-								<progress activeColor="#FFFFFF" :percent="getPercent(item.saleNumber, item.total)"
+								<progress activeColor="#FFFFFF" :percent="getPercent(item.saleNumber || item.stockNumber, item.total)"
 									active stroke-width="5" />
 							</view>
 						</view>
+						<!-- <view class="snapUpBtn" v-if="spikeLikeData.state === 0 || spikeLikeData.ifEnable === 2 || platformSeckillList[platformIndex].state===2" :class="{btnStyle1: spikeLikeData.state === 0 || spikeLikeData.ifEnable === 2 || platformSeckillList[platformIndex].state===2}">
+							<view class="btnText">即将开始</view>
+							<view class="progressBox">
+								<progress activeColor="#FFFFFF" :percent="getPercent(item.saleNumber || item.stockNumber, item.total)"
+									active stroke-width="5" />
+							</view>
+						</view> -->
 					</view>
 				</view>
 			</view>
@@ -98,7 +120,6 @@
 				shopSeckillId: 0,
 				type: 1, //价格
 				volume: 1, //销量
-				shopShowType: false,
 				selectIndex: 0,
 				list: [],
 				classList: [],
@@ -117,6 +138,7 @@
 				platformSeckillId: 0,
 				platformSeckillList:[],
 				platformIndex:0,
+				ticker: null, //定时器
 			}
 		},
 		onLoad(options) {
@@ -124,43 +146,41 @@
 			this.currentTime = new Date().getTime();
 			console.log(this.currentTime, 'current')
 			if (options.shopId && options.shopSeckillId) {
-				this.shopShowType = false
 				this.shopId = options.shopId
 				this.shopSeckillId = options.shopSeckillId
 			} else {
-				this.shopShowType = true
 				this.shopId = 0
 				this.shopSeckillId = 0
 			}
-			// this.getQuerySession()
 		},
 		onShow() {
 			this.page = 1,
 			this.pageSize= 10,
 			this.querySessionData = []
 			this.spikeLikeList = []
-			this.getQuerySession()
 			if(!this.shopId){
+				this.getQuerySession()
 				this.getQueryPlatformSeckillData()
-			}
-		},
-		tabChange(key, value) {
-			this.activeTab = key
-			this.changeType = value
-			this.page = 0
-			if (key !== 'index') {
-				this.classifyId = key === 'All' ? '' : key
-				this.list = []
+			}else{
+				this.getShopSeckillList()
+				console.log('店铺')
 			}
 		},
 		onReachBottom() {
 			if (this.loadingType == 1) {
 				uni.stopPullDownRefresh()
 			} else {
-				this.page = this.page + 1
-				// this.getSpikeLike()
+				if(this.shopId){
+					this.page = this.page + 1
+					this.getShopSeckillList()
+				}
 			}
 		},
+		beforeDestroy(){
+			// 销毁前清楚定时器
+			clearInterval(this.ticker)
+			console.log('销毁前清楚定时器')
+		},
 		methods: {
 			changeTit(index, item) {
 				if (this.active === index) {
@@ -171,7 +191,6 @@
 					this.pageSize = 10
 					this.session = item.time.substring(0, 16)
 					this.spikeLikeList = []
-					// this.getSpikeLike()
 					this.platformSeckillId = this.platformSeckillList[index].seckillId
 					this.platformIndex = index
 					this.getPlatformSeckillsData(index)
@@ -192,7 +211,7 @@
 					})
 				})
 			},
-			// 根据seckillId查询对应的秒杀商品列表
+			// 平台首页根据seckillId查询对应的秒杀商品列表
 			getPlatformSeckillsData(index){
 				uni.showLoading({
 					mask: true,
@@ -215,21 +234,22 @@
 				})
 			},
 			
-			// 根据时间查询
-			queryProductListBySession() {
-				NET.request(API.querySession, {
-					page: this.sessionPage,
-					pageSize: this.sessionPage,
-					session: this.session
-				}, 'POST').then(res => {
-					this.listData = res.data
-				}).catch(res => {
-					uni.showToast({
-						title: '失败',
-						icon: "none"
-					})
-				})
-			},
+			// // 根据时间查询
+			// queryProductListBySession() {
+			// 	NET.request(API.querySession, {
+			// 		page: this.sessionPage,
+			// 		pageSize: this.sessionPage,
+			// 		session: this.session
+			// 	}, 'POST').then(res => {
+			// 		this.listData = res.data
+			// 	}).catch(res => {
+			// 		uni.showToast({
+			// 			title: '失败',
+			// 			icon: "none"
+			// 		})
+			// 	})
+			// },
+			// 平台秒杀头部时间
 			getQuerySession() {
 				NET.request(API.querySession, {}, 'GET').then(res => {
 					let arr = []
@@ -250,11 +270,11 @@
 					this.session = this.querySessionData[0].time.substring(0, 16)
 					this.timestamp = this.querySessionData[0].timestamp
 					this.endTime = this.querySessionData[0].endTime
-					if(this.shopSeckillId){
-						this.getShopSeckillList()
-					}else{
-						this.getSpikeLike()
-					}
+					// if(this.shopSeckillId){
+					// 	this.getShopSeckillList()
+					// }else{
+					// 	this.getSpikeLike()
+					// }
 					
 				}).catch(res => {
 					uni.showToast({
@@ -263,6 +283,7 @@
 					})
 				})
 			},
+			// 时间处理
 			getCaption(obj, state) {
 				var index = obj.lastIndexOf("\|");
 				if (state == 0) {
@@ -272,12 +293,14 @@
 				}
 				return obj;
 			},
+			// 跳转商品详情页
 			gogoodsDetails(shopId, productId, skuId) {
 				uni.navigateTo({
 					url: '../goodsModule/goodsDetails?shopId=' + shopId + '&productId=' + productId + '&skuId=' +
 						skuId
 				})
 			},
+			// 按钮进度条
 			getPercent(num, total) {
 				num = parseFloat(num);
 				total = parseFloat(total);
@@ -286,35 +309,35 @@
 				}
 				return total <= 0 ? "0%" : Math.round((num / total) * 10000) / 100.0;
 			},
-			// 获取首页更多秒杀
-			getSpikeLike() {
-				uni.showLoading({
-					mask: true,
-					title: '数据加载中...',
-				})
-				let param = ''
-				param = {
-					page: this.page,
-					pageSize: this.pageSize,
-					session: this.session
-				}
-				NET.request(API.queryProductListBySession, param, 'POST').then(res => {
-					uni.hideLoading()
-					this.spikeLikeData = res.data
-					if (res.data.list.length === 0) {
-						this.loadingType = 1
-						this.page = this.page
-					} else {
-						this.spikeLikeList = this.spikeLikeList.concat(res.data.list)
-						console.log(this.spikeLikeList, 'list')
-					}
-				}).catch(res => {
-					uni.showToast({
-						title: '失败',
-						icon: "none"
-					})
-				})
-			},
+			// // 获取首页更多秒杀
+			// getSpikeLike() {
+			// 	uni.showLoading({
+			// 		mask: true,
+			// 		title: '数据加载中...',
+			// 	})
+			// 	let param = ''
+			// 	param = {
+			// 		page: this.page,
+			// 		pageSize: this.pageSize,
+			// 		session: this.session
+			// 	}
+			// 	NET.request(API.queryProductListBySession, param, 'POST').then(res => {
+			// 		uni.hideLoading()
+			// 		this.spikeLikeData = res.data
+			// 		if (res.data.list.length === 0) {
+			// 			this.loadingType = 1
+			// 			this.page = this.page
+			// 		} else {
+			// 			this.spikeLikeList = this.spikeLikeList.concat(res.data.list)
+			// 			console.log(this.spikeLikeList, 'list')
+			// 		}
+			// 	}).catch(res => {
+			// 		uni.showToast({
+			// 			title: '失败',
+			// 			icon: "none"
+			// 		})
+			// 	})
+			// },
 			// 获取店铺更多秒杀
 			getShopSeckillList(){
 				uni.showLoading({
@@ -331,6 +354,19 @@
 				NET.request(API.getShopSeckillIndex, param, 'GET').then(res => {
 					uni.hideLoading()
 					this.spikeLikeData = res.data
+					if (this.ticker) { //这一段是防止进入页面出去后再进来计时器重复启动
+					  clearInterval(this.ticker);
+					}
+					this.ticker = setInterval(()=>{
+						if(this.spikeLikeData.time > 0){
+							this.shopCountDown(this.spikeLikeData.time)
+							this.spikeLikeData.time -= 1000
+						}
+						if(this.spikeLikeData.enableTime > 0){
+							this.shopCountDown(this.spikeLikeData.enableTime)
+							this.spikeLikeData.enableTime -= 1000
+						}
+					},1000)
 					if (res.data.page.list.length === 0) {
 						this.loadingType = 1
 						this.page = this.page
@@ -344,6 +380,25 @@
 						icon: "none"
 					})
 				})
+			},
+			// 处理店铺秒杀倒计时
+			shopCountDown(timeAll){
+				let msec = timeAll
+				let hou = parseInt(msec / 3600000)
+				let min = parseInt((msec % 3600000) / 60000)
+				let sec = parseInt(((msec % 3600000) % 60000) / 1000)
+				if(hou < 10){
+					hou = '0' + hou
+				}
+				if(min < 10){
+					min = '0' + min
+				}
+				if(sec < 10){
+					sec = '0' + sec
+				}
+				this.hou = hou
+				this.min = min
+				this.sec = sec
 			}
 		}
 	}
@@ -361,9 +416,21 @@
 	.spikeListBox {
 		padding: 20rpx;
         .shopStopTime{
-			text-align: center;
-			color: #FFFFFF;
-		}
+					text-align: center;
+					color: #FFFFFF;
+					.TimeBigBox{
+						display: flex;
+						align-items: center;
+						justify-content: center;
+					}
+					.countdown-box {
+					    padding: 0 8rpx;
+					    height: 48rpx;
+					    color: #FFFFFF;
+					    background: linear-gradient(90deg, #C83732 0%, #E25C44 100%);
+					    margin: 10rpx;
+				  }
+				}
 		.spikeBg {
 			text-align: center;
 			margin: 50rpx auto;

+ 3 - 3
pages_category_page1/distributionModule/recruit.vue

@@ -71,7 +71,7 @@
           <view class="mar-top-60">
             <label class="fs-bold fs36">请填写相关信息</label>
           </view>
-          <view class="flex-items flex-row mar-top-60">
+         <view class="flex-items flex-row mar-top-60">
             <view class="fs26 font-color-656">真实姓名<label class="font-color-red">*</label></view>
             <input class="recruitName mar-left-20 fs26" v-model="userName"/>
           </view>
@@ -250,13 +250,13 @@
 				width: 520upx;
 				height: 550upx;
 				.recruitName {
-					border: 1upx solid #DDDDDD;
+					border: 2upx solid #DDDDDD;
 					width: 300upx;
 					height: 48upx;
 				}
 
 				.recruitIphone {
-					border: 1upx solid #DDDDDD;
+					border: 2upx solid #DDDDDD;
 					width: 300upx;
 					height: 48upx;
 				}

+ 3 - 0
pages_category_page1/goodsModule/answerList.vue

@@ -67,6 +67,9 @@ export default {
 			this.getProblems()
 		}
 	},
+	onShow() {
+		this.getProblems()
+	},
 	onLoad(options) {
 		this.productId = options.productId
 		this.images = options.img

+ 2 - 2
pages_category_page1/goodsModule/canvasGoods.vue

@@ -37,7 +37,7 @@
     <view v-if="list.length>0" class="listBox">
       <view v-for="(item, index) in list" :key="index" class="goodsDetails-box flex-display flex-column" @click="goodsDateils(item.shopId,item.productId,item.skuId)">
         <view v-if="item.activityType === 0" class="goodsDetails flex-items-plus flex-row">
-          <image class="goodsImg" :src="item.image"></image>
+          <image class="goodsImg default-img" :src="item.image"></image>
           <view class="mar-left-30">
             <view class="goodsName-box overflowNoDot">
               <label class="goodsName fs26">{{item.productName}}</label>
@@ -64,7 +64,7 @@
         <view v-else class="spikeList goodsDetails">
           <view class="listItem">
             <view class="itemBox">
-              <img :src="item.image">
+              <img :src="item.image" class="pic-img default-img">
             </view>
             <view class="itemInfo mar-top-30">
               <p>{{item.productName}}</p>

+ 2 - 2
pages_category_page1/goodsModule/combination.vue

@@ -12,7 +12,7 @@
     <view class="combinationList">
       <view class="combinationItem" v-for="(item, index) of productList" :key="index" @click="goodsDateils(item.shopId,item.productId,item.skuId)">
         <view class="imgBox">
-          <image :src="item.image"></image>
+          <image :src="item.image" class="pic-img default-img"></image>
         </view>
         <view class="itemInfoBox">
           <view class="itemTit">{{item.productName}}</view>
@@ -33,7 +33,7 @@
     <u-popup v-model="goosDetailshowFlag" mode="bottom" border-radius="14">
       <view class="goosDetailshow-box">
         <view class="detailImg-box flex-row-plus">
-          <image class="detailImg" :src="skuImg"></image>
+          <image class="detailImg default-img" :src="skuImg"></image>
           <view class="flex-column-plus mar-left-40">
             <view class="font-color-C5AA7B">
               <label class="fs24">¥</label>

+ 4 - 5
pages_category_page1/goodsModule/evaluateList.vue

@@ -21,8 +21,8 @@
 				</view>
 				<view class="fs26 pad-topbot-20 font-color-333">{{item.comment}}。</view>
 				<view class="evaluateImg-box">
-					<view v-for="(commentItemImg, cindex) in item.images" :key="index">
-						<image @click="previewImg(index,cindex)" class="img-item" :src="commentItemImg"></image>
+					<view v-for="(commentItemImg, cindex) in item.images" :key="cindex">
+						<image @click="previewImg(commentItemImg)" class="img-item" :src="commentItemImg"></image>
 					</view>
 				</view>
         <view class="addEvaluate" v-if="item.addComment !== ''">
@@ -30,7 +30,7 @@
           <view class="addEvaluateText">{{item.addComment}}</view>
           <view class="item-image-box" v-if="item.addImages">
             <view v-for="(itemAddImg, imgIndex) in item.addImages" :key="imgIndex">
-              <image @click='previewImg(index, imgIndex)' class="img-item" :src="itemAddImg"></image>
+              <image @click='previewImg(itemAddImg)' class="img-item" :src="itemAddImg"></image>
             </view>
           </view>
         </view>
@@ -65,8 +65,7 @@
 			this.commentListLength = this.commentList.length
 		},
 		methods: {
-			previewImg(index,cindex){
-				let img =  this.commentList[index].images[cindex]
+			previewImg(img){
 				wx.previewImage({
 					current: img, // 当前显示图片的http链接
 					urls: [img] // 需要预览的图片http链接列表

+ 5 - 2
pages_category_page1/goodsModule/goodsDetails.vue

@@ -9,7 +9,7 @@
               :autoplay="true">
         <swiper-item v-for="(imgItem, index) in productData.images"
                      :key="index">
-          <image class="goodsImg"
+          <image class="goodsImg default-img"
                  :src='imgItem'></image>
         </swiper-item>
       </swiper>
@@ -349,7 +349,7 @@
       <view class="flex-display flex-row">
         <view>
           <image @click="goStore"
-                 class="inStore-logo"
+                 class="inStore-logo default-img"
                  :src="productData.shopLogo"></image>
         </view>
         <view class="flex-display flex-column mar-left-20">
@@ -741,6 +741,9 @@ export default {
       this.allCartNum = '...'
     }
   },
+	onShow() {
+		this.getProblems()
+	},
   onLoad(options) {
     console.log("options----", options)
     this.isIphone = getApp().globalData.isIphone;

+ 2 - 2
pages_category_page1/goodsModule/goodsList.vue

@@ -34,7 +34,7 @@
 				<view class="spikeList goodsDetails">
 				  <view class="listItem">
 				    <view class="itemBox">
-				      <img :src="item.image">
+				      <img :src="item.image" class="pic-img default-img">
 				    </view>
 				    <view class="itemInfo">
 				      <p>{{item.productName}}</p>
@@ -335,7 +335,7 @@ input{padding-left: 80upx;}
           img {
             width: 100%;
             height: 100%;
-          }
+					}
         }
         .itemInfo {
           flex: 1;

+ 1 - 1
pages_category_page1/goodsModule/userEvaluate.vue

@@ -51,7 +51,7 @@
 					</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" :src="item.productImage"></image>
+							<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">

+ 4 - 5
pages_category_page1/orderModule/index.vue

@@ -12,7 +12,6 @@
       <view class="order-list-box">
         <view>
           <view class="item"
-                v-if="item.skus[0].ifAdd!==1"
                 v-for="(item, index) in list"
                 :key="index"
                 @click="itemTap(item.orderId,item)">
@@ -54,7 +53,7 @@
                       v-for="(proItem, pIndex) in item.skus"
                       :key="pIndex">
                   <image :src="proItem.image"
-                         class="product-img"></image>
+                         class="product-img default-img"></image>
                   <view class="info-box">
                     <text class="product-name">{{ proItem.productName }}</text>
                     <view class="product-sku">{{ proItem.value }}</view>
@@ -72,9 +71,9 @@
                             class="evaluate"
                             @click.stop="evaluateTap(proItem,item.orderId)">立即评价
                       </view>
-                      <view v-if="proItem.commentId != 0 && item.state == 4"
+                      <view v-if="proItem.commentId != 0 && item.state == 4 && item.skus[0].ifAdd !== 1"
                             class="evaluate2"
-                            @click.stop="evaluateTowTap(index,proItem.commentId)">追加评价
+                            @click.stop="evaluateTowTap(index,proItem.commentId)">追加评价{{item.skus[0].ifAdd}}
                       </view>
                     </view>
                   </view>
@@ -102,7 +101,7 @@
                         @click.stop="payOrder(item,index)">立即付款
                   </text>
                   <text class="btn l"
-                        v-if="(item.state==3 || item.state==4) && ( item.afterState == 0 || item.afterState == 6)"
+                        v-if="(item.state==3 || item.state==4) && ( item.afterState == 0 || item.afterState == 6) && item.skus[0].ifAdd !== 1"
                         @click.stop="applyTap(item,index)">申请售后
                   </text>
                   <text class="btn l"

+ 35 - 4
pages_category_page1/orderModule/orderConfirm.vue

@@ -59,6 +59,7 @@
                   </view>
                 </view>
               </view>
+							<view v-if="isRegionalScope" class="adressTips">当前地址不支持配送,可更换其他地址试试</view>
               <view class="delivery-way-box">
                 <view>
                   <view class="item">
@@ -106,7 +107,7 @@
               <text class="total-num ml10">总计</text>
               <text class="total-price ml10"
                     v-if="item.totalNum > 0">
-                ¥{{ (parseFloat(item.totalNum) + parseFloat(item.distribution.distributionPrice)).toFixed(2) }}
+                ¥{{ (parseFloat(item.totalNum) + parseFloat(item.distribution.distributionPrice || 0)).toFixed(2) }}
               </text>
               <text class="total-price ml10"
                     v-else>¥0.00
@@ -232,9 +233,10 @@
         </view>
       </view>
       <!-- active 当有地址时按钮加上active选中的样式-->
-      <view :class="[submitActive ? 'btn active' : 'btn']"
+			<button v-if="isRegionalScope" class="btn unActive" type="default" :disabled="false">提交订单</button>
+      <button v-else :class="[submitActive ? 'btn active' : 'btn']"
             @click="submitOrder">提交订单
-      </view>
+      </button>
       <!-- <text class="btn" v-else>提交订单</text> -->
 
     </view>
@@ -465,6 +467,7 @@ export default {
       integralShow: false, // 显示隐藏积分
       checkedPlatformCoupon: undefined,
       oneClickSubmit: true, //只提交订单一次
+			isRegionalScope: false, //是否在商家配置范围内地址
     }
   },
   onLoad(options) {
@@ -624,11 +627,27 @@ export default {
         uni.removeStorageSync('receiveItem')
         this.usableListLength = res.data.coupons.length
         this.getTotal()
+				this.isReceiveCan()
 
       }).catch(res => {
         uni.hideLoading()
       })
     },
+		// 根据地址判断是否能下单
+		isReceiveCan(){
+			this.settlement.shops.map(item=>{
+				if(item.receiveNotMatch){
+					this.isRegionalScope = item.receiveNotMatch
+				}
+				if(this.isRegionalScope){
+					uni.showToast({
+						title: '当前地址不支持配送,请参与红色字提示',
+						icon: 'none'
+					})
+				}
+			})
+		},
+		
     addAddressTap() {
       uni.navigateTo({
         url: '../../pages_category_page2/userModule/address?type=1',
@@ -826,7 +845,7 @@ export default {
       this.calcCredit()
       // 加上每个商家的运费
       this.settlement.shops.forEach((item) => {
-        this.totalPrice = this.totalPrice + item.distribution.distributionPrice
+        this.totalPrice = this.totalPrice + (item.distribution.distributionPrice || 0)
       })
       this.recalcHuabei()
     },
@@ -1025,6 +1044,9 @@ export default {
     showHuabeiDetail() {
       this.showHuabeiPopup = true
     },
+		// submitOrder() {
+		// 	console.log('确认订单')
+		// },
     submitOrder() {
       const that = this
       if (this.paymentMode === 0) {
@@ -1625,6 +1647,10 @@ page {
   color: #999;
   font-weight: 400;
 }
+.adressTips{
+	margin-bottom: 19rpx;
+	color: #D53912;
+}
 
 .delivery-way-box {
   display: flex;
@@ -1727,6 +1753,11 @@ page {
   background: #333333;
   color: #FFEBC4;
 }
+.order-confirm-box .btn.unActive {
+	background: #333333;
+	color: #FFEBC4;
+	opacity: 0.7;
+}
 
 .discount-item1 {
   width: 100%;

+ 1 - 1
pages_category_page1/orderModule/orderDetails.vue

@@ -113,7 +113,7 @@
 							<view class="order-info">
 								<view class="order-info-item" v-for="proItem in dataList.skus" :key="proItem.productId"
 									@click="goodsItemTap(proItem.productId,proItem.skuId)">
-									<image :src="proItem.image" class="product-img"></image>
+									<image :src="proItem.image" class="product-img default-img"></image>
 									<view class="info-box">
 										<text class="product-name">{{proItem.productName}}</text>
 										<view class="price-sku-box">

+ 1 - 1
pages_category_page1/store/index.vue

@@ -111,7 +111,7 @@
 							<view class="shop-list-box" v-if="total > 0">
 								<view class="item" v-for="(cItem, index) in storeInfolist" :key="index"
 									@click="goodsItemTap(cItem.productId,cItem.skuId)">
-									<image :src="cItem.image" class="product-img"></image>
+									<image :src="cItem.image" class="product-img default-img"></image>
 									<view class="product-bottom-box">
 										<view class="product-name">{{cItem.productName}}</view>
 										<view class="product-num font-color-C5AA7B mar-top-10">{{cItem.users}}人付款</view>

+ 6 - 5
pages_category_page2/userModule/addAddress.vue

@@ -103,7 +103,7 @@ const API = require('../../config/api')
 				ordertype:0,
 				editAddress:{},
         addressTagIndex: 0,
-        defaultRegion: [],
+        // defaultRegion: [],
         addressData: {
           username: '',
           phone: '',
@@ -117,6 +117,7 @@ const API = require('../../config/api')
 		},
 		onLoad(options) {
 			this.type = options.type
+			console.log(this.type,'this.type')
 			if(options.ordertype == 1){
 				this.ordertype = 1
 			}
@@ -140,10 +141,10 @@ const API = require('../../config/api')
             }
           }
           this.ifDefault = this.editAddress.ifDefault
-          this.addressData.defaultRegion = this.ssqText.split("-")
-          this.addressData.province = this.defaultRegion[0]
-          this.addressData.city = this.defaultRegion[1]
-          this.addressData.area = this.defaultRegion[2]
+          this.addressData.defaultRegion = this.addressData.ssqText.split("-")
+          this.addressData.province = this.addressData.defaultRegion[0]
+          this.addressData.city = this.addressData.defaultRegion[1]
+          this.addressData.area = this.addressData.defaultRegion[2]
           this.addressData.id = this.editAddress.receiveId
           uni.hideLoading()
         }).catch(res => {

+ 2 - 2
pages_category_page2/userModule/collection.vue

@@ -33,7 +33,7 @@
 											class="cart-select-img"></image>
 									</view>
 									<view class="infoCent flex-items">
-										<image class="product-img" mode="aspectFill" :src="item.image" />
+										<image class="product-img default-img" mode="aspectFill" :src="item.image" />
 										<!-- 此层wrap在此为必写的,否则可能会出现标题定位错误 -->
 										<view class="title-wrap mar-left-20 priceBox">
 											<text
@@ -122,7 +122,7 @@
 										<view class="itemImgBox" v-for="(sItem, sIndex) of item.productList"
 											:key="sIndex"
 											@click.stop="goodsDateils(sItem.shopId,sItem.productId,sItem.skuId)">
-											<image :src="sItem.image"></image>
+											<image :src="sItem.image" class="pic-img default-img"></image>
 										</view>
 									</view>
 								</view>

+ 1 - 1
pages_category_page2/userModule/footprintList.vue

@@ -21,7 +21,7 @@
                   <image v-if="item.selected == 1" @click.stop="footItemSel(index,findex,0)" src="https://ceres.zkthink.com/static/images/selectActive.png" class="cart-select-img"></image>
                   <image v-else @click.stop="footItemSel(index,findex,1)" src="https://ceres.zkthink.com/static/images/selectEmpty.png" class="cart-select-img"></image>
                 </view>
-                <image class="product-img" mode="aspectFill" :src="item.image" />
+                <image class="product-img default-img" mode="aspectFill" :src="item.image" />
                 <!-- 此层wrap在此为必写的,否则可能会出现标题定位错误 -->
                 <view class="title-wrap mar-left-20">
                   <text class="title u-line-2 fs28">{{ item.productName }}</text>

+ 3 - 0
utils/hidden.js

@@ -1,6 +1,9 @@
 // 中间部分
 export function hidden (str, frontLen, endLen) {
   let endLenData = 0
+	if(!str.length){
+		return
+	}
   if (str.length !== 2) {
     endLenData = endLen
   }