Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp
						commit
						6e5470e20c
					
				
							
								
								
									
										13
									
								
								App.vue
								
								
								
								
							
							
						
						
									
										13
									
								
								App.vue
								
								
								
								
							|  | @ -64,9 +64,18 @@ export default { | ||||||
|     // #endif |     // #endif | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   onShow() { |    onShow() { | ||||||
|     // #ifndef H5 |     // #ifndef H5 | ||||||
|     this.getClipboard(); |     // this.getClipboard(); | ||||||
|  |     // #endif | ||||||
|  |     // #ifdef APP-PLUS | ||||||
|  |     console.log(storage.getShow()); | ||||||
|  |     if (storage.getShow()) { | ||||||
|  |       if(uni.getSystemInfoSync().platform == 'ios'){ | ||||||
|  |       this.$u.route("/pages/tabbar/screen/fullScreen"); | ||||||
|  |       // uni.reLaunch({ url: "/pages/tabbar/screen/fullScreen" }); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|     // #endif |     // #endif | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,17 @@ | ||||||
|  | { | ||||||
|  |     "version" : "1", | ||||||
|  |     "prompt" : "template", | ||||||
|  |     "title" : "服务协议和隐私政策", | ||||||
|  |     "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"https://pc-b2b2c.pickmall.cn/article/detail?id=1371992704333905920\">《服务协议》</a>和<a href=\"https://pc-b2b2c.pickmall.cn/article/detail?id=1371779927900160000\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", | ||||||
|  |     "buttonAccept" : "同意并接受", | ||||||
|  |     "buttonRefuse" : "暂不同意", | ||||||
|  |     "second" : { | ||||||
|  |         "title" : "确认提示", | ||||||
|  |         "message" : "  进入应用前,你需先同意<a href=\"https://pc-b2b2c.pickmall.cn/article/detail?id=1371992704333905920\">《服务协议》</a>和<a href=\"https://pc-b2b2c.pickmall.cn/article/detail?id=1371779927900160000\">《隐私政策》</a>,否则将退出应用。", | ||||||
|  |         "buttonAccept" : "同意并继续", | ||||||
|  |         "buttonRefuse" : "退出应用" | ||||||
|  |     }, | ||||||
|  |     "styles" : { | ||||||
|  |         "borderRadius" : "5px" | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -6,11 +6,11 @@ export default { | ||||||
|   downloadLink: "https://pickmall.cn/download-page/index.html", //下载地址,下载app的地址
 |   downloadLink: "https://pickmall.cn/download-page/index.html", //下载地址,下载app的地址
 | ||||||
|   shareLink: "https://m-b2b2c.pickmall.cn", //分享地址,也就是在h5中默认的复制地址
 |   shareLink: "https://m-b2b2c.pickmall.cn", //分享地址,也就是在h5中默认的复制地址
 | ||||||
|   appid: "wx6f10f29075dc1b0b", //小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
 |   appid: "wx6f10f29075dc1b0b", //小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
 | ||||||
|   appSecret: "6dfbe0c72380dce5d49d65b3c91059b1", //可在 manifest.json 查看
 |   aMapKey: "d649892b3937a5ad20b76dacb2bcb5bd", //在高德中申请Web服务key
 | ||||||
|   aMapKey: "d649892b3937a5ad20b76dacb2bcb5bd", //在高德中申请web端key
 |  | ||||||
|   scanAuthNavigation:['https://m-b2b2c.pickmall.cn/'], //扫码认证跳转域名配置 会根据此处配置的路由进行跳转
 |   scanAuthNavigation:['https://m-b2b2c.pickmall.cn/'], //扫码认证跳转域名配置 会根据此处配置的路由进行跳转
 | ||||||
|   iosAppId:"id1564638363", //AppStore的应用地址id 具体在分享->拷贝链接中查看
 |   iosAppId:"id1564638363", //AppStore的应用地址id 具体在分享->拷贝链接中查看
 | ||||||
|   logo:"https://lilishop-oss.oss-cn-beijing.aliyuncs.com/4c864e133c2944efad1f7282ac8a3b9e.png", //logo地址
 |   logo:"https://lilishop-oss.oss-cn-beijing.aliyuncs.com/4c864e133c2944efad1f7282ac8a3b9e.png", //logo地址
 | ||||||
|   customerServiceMobile:"13161366885", //客服电话
 |   customerServiceMobile:"13161366885", //客服电话
 | ||||||
|   customerServiceEmail:"lili@lili.com" //客服邮箱 
 |   customerServiceEmail:"lili@lili.com", //客服邮箱 
 | ||||||
|  |   imWebSrc:"https://im.pickmall.cn" //IM地址 
 | ||||||
| };  | };  | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| { | { | ||||||
|     "name" : "lili商城", |     "name" : "lili商城", | ||||||
|     "appid" : "__UNI__C100675", |     "appid" : "__UNI__83F0C3D", | ||||||
|     "description" : "", |     "description" : "", | ||||||
|     "versionName" : "4.2.4", |     "versionName" : "4.2.5", | ||||||
|     "versionCode" : 4000240, |     "versionCode" : 4000250, | ||||||
|     "transformPx" : false, |     "transformPx" : false, | ||||||
|     "app-plus" : { |     "app-plus" : { | ||||||
|         "compatible" : { |         "compatible" : { | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								pages.json
								
								
								
								
							
							
						
						
									
										13
									
								
								pages.json
								
								
								
								
							|  | @ -14,7 +14,18 @@ | ||||||
| 				"enablePullDownRefresh":true   | 				"enablePullDownRefresh":true   | ||||||
| 			} | 			} | ||||||
| 		},  | 		},  | ||||||
| 		 | 		{ | ||||||
|  | 			"path":"pages/tabbar/screen/fullScreen", | ||||||
|  | 			"style": { | ||||||
|  | 				"navigationStyle": "custom", // 隐藏系统导航栏 | ||||||
|  | 				"app-plus":{ | ||||||
|  | 					"animationType": "fade-in", // 设置fade-in淡入动画,为最合理的动画类型 | ||||||
|  | 					"background": "transparent", // 背景透明 | ||||||
|  | 					"backgroundColor": "rgba(0,0,0,0)", // 背景透明 | ||||||
|  | 					"popGesture": "none" // 关闭IOS屏幕左边滑动关闭当前页面的功能 | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"path": "pages/tabbar/cart/cartList", | 			"path": "pages/tabbar/cart/cartList", | ||||||
| 			"style": { | 			"style": { | ||||||
|  |  | ||||||
|  | @ -226,13 +226,18 @@ | ||||||
| 				const paymentMethod = payment; | 				const paymentMethod = payment; | ||||||
| 				// 客户端类型 APP/NATIVE/JSAPI/H5 | 				// 客户端类型 APP/NATIVE/JSAPI/H5 | ||||||
| 				const paymentClient = this.paymentClient; | 				const paymentClient = this.paymentClient; | ||||||
| 
 | 				 | ||||||
|  | 				uni.showLoading({ | ||||||
|  | 				  title: "正在唤起支付...", | ||||||
|  | 				  mask:true | ||||||
|  | 				}); | ||||||
|  | 				 | ||||||
| 				// #ifdef APP-PLUS | 				// #ifdef APP-PLUS | ||||||
| 				//APP pay | 				//APP pay | ||||||
| 				// 初始化支付签名 | 				// 初始化支付签名 | ||||||
| 				await API_Trade.initiatePay(paymentMethod, paymentClient, params).then( | 				await API_Trade.initiatePay(paymentMethod, paymentClient, params).then( | ||||||
| 					(signXml) => { | 					(signXml) => { | ||||||
| 
 | 						uni.hideLoading(); | ||||||
| 						//如果支付异常 | 						//如果支付异常 | ||||||
| 						if (!signXml.data.success) { | 						if (!signXml.data.success) { | ||||||
| 							uni.showToast({ | 							uni.showToast({ | ||||||
|  | @ -241,33 +246,39 @@ | ||||||
| 							}); | 							}); | ||||||
| 							return; | 							return; | ||||||
| 						} | 						} | ||||||
| 
 | 						 | ||||||
| 						let payForm = signXml.data.result; | 						let payForm = signXml.data.result; | ||||||
| 
 | 						 | ||||||
| 						let paymentType = paymentMethod === "WECHAT" ? "wxpay" : "alipay"; | 						let paymentType = paymentMethod === "WECHAT" ? "wxpay" : "alipay"; | ||||||
| 						uni.requestPayment({ | 						 | ||||||
| 							provider: paymentType, | 						if(paymentMethod === "WALLET"){ | ||||||
| 							orderInfo: payForm, | 							uni.showToast({ | ||||||
| 							success: (e) => { | 								icon: "none", | ||||||
| 								console.log(e); | 								title: "支付成功!", | ||||||
| 								uni.showToast({ | 							}); | ||||||
| 									icon: "none", | 							this.callback(paymentMethod) | ||||||
| 									title: "支付成功!", | 						} | ||||||
| 								}); | 						else{ | ||||||
| 
 | 							uni.requestPayment({ | ||||||
| 								this.callback(paymentMethod) | 								provider: paymentType, | ||||||
| 								 | 								orderInfo: payForm || '', | ||||||
| 								  | 								success: (e) => { | ||||||
| 							}, | 									uni.showToast({ | ||||||
| 							fail: (e) => { | 										icon: "none", | ||||||
| 								console.log(this); | 										title: "支付成功!", | ||||||
| 								this.exception = e; | 									}); | ||||||
| 								uni.showModal({ | 									this.callback(paymentMethod) | ||||||
| 									content: "支付失败,如果您已支付,请勿反复支付", | 								}, | ||||||
| 									showCancel: false, | 								fail: (e) => { | ||||||
| 								}); | 									console.log(this); | ||||||
| 							}, | 									this.exception = e; | ||||||
| 						}); | 									uni.showModal({ | ||||||
|  | 										content: "支付失败,如果您已支付,请勿反复支付", | ||||||
|  | 										showCancel: false, | ||||||
|  | 									}); | ||||||
|  | 								}, | ||||||
|  | 							}); | ||||||
|  | 						} | ||||||
| 					} | 					} | ||||||
| 				); | 				); | ||||||
| 				//APP pay | 				//APP pay | ||||||
|  |  | ||||||
|  | @ -68,6 +68,8 @@ export default { | ||||||
|       params: { |       params: { | ||||||
|         pageNumber: 1, |         pageNumber: 1, | ||||||
|         pageSize: 10, |         pageSize: 10, | ||||||
|  |         order: "desc", | ||||||
|  |         sort: "updateTime", | ||||||
|       }, |       }, | ||||||
| 
 | 
 | ||||||
|       trackList: [], //足迹列表 |       trackList: [], //足迹列表 | ||||||
|  |  | ||||||
|  | @ -11,11 +11,11 @@ | ||||||
|     <u-row class="portrait-box2"> |     <u-row class="portrait-box2"> | ||||||
|       <u-col span="6" class="portrait-box2-col" :gutter="16"> |       <u-col span="6" class="portrait-box2-col" :gutter="16"> | ||||||
|         <text>累计获得:</text> |         <text>累计获得:</text> | ||||||
|         <text class="pcolor">{{ pointData.point || 0 }}</text> |         <text class="pcolor">{{ pointData.totalPoint || 0 }}</text> | ||||||
|       </u-col> |       </u-col> | ||||||
|       <u-col span="6" class="portrait-box2-col"> |       <u-col span="6" class="portrait-box2-col"> | ||||||
|         <text>未使用:</text> |         <text>剩余积分:</text> | ||||||
|         <text class="pcolor">{{ pointData.variablePoint || 0 }}</text> |         <text class="pcolor">{{ pointData.point || 0 }}</text> | ||||||
|       </u-col> |       </u-col> | ||||||
|     </u-row> |     </u-row> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -17,7 +17,8 @@ | ||||||
|         @clear="submitSearchOrderList(current)" |         @clear="submitSearchOrderList(current)" | ||||||
|         @custom="submitSearchOrderList(current)" |         @custom="submitSearchOrderList(current)" | ||||||
|         v-model="orderSn" |         v-model="orderSn" | ||||||
|       ></u-search> |       > | ||||||
|  |       </u-search> | ||||||
|     </div> |     </div> | ||||||
|     <scroll-view class="body-view" scroll-y @scrolltolower="renderDate"> |     <scroll-view class="body-view" scroll-y @scrolltolower="renderDate"> | ||||||
|       <view |       <view | ||||||
|  | @ -60,78 +61,77 @@ | ||||||
|               <view>x{{ sku.num }}</view> |               <view>x{{ sku.num }}</view> | ||||||
|             </view> |             </view> | ||||||
|           </view> |           </view> | ||||||
|           <view class="btn-view u-flex u-row-between"> |           <view class="description"> | ||||||
|             <view class="description"> |             <!-- 售后申请  --> | ||||||
|               <!-- 售后申请 --> |             <view v-if="current === 0 && order.groupAfterSaleStatus"> | ||||||
|               <view |               <view | ||||||
|                 v-if=" |                 v-if="order.groupAfterSaleStatus.includes('ALREADY_APPLIED')" | ||||||
|                   current === 0 && |                 class="cannot_apply not_center" | ||||||
|                   order.groupAfterSaleStatus && |  | ||||||
|                   order.groupAfterSaleStatus.includes('ALREADY_APPLIED') |  | ||||||
|                 " |  | ||||||
|                 class="cannot_apply" |  | ||||||
|               > |               > | ||||||
|                 <u-icon class="icon" name="info-circle-fill"></u-icon> |                 <u-icon class="icon" name="info-circle-fill"></u-icon> | ||||||
|                 该商品已申请售后服务 |                 该商品已申请售后服务 | ||||||
|               </view> |               </view> | ||||||
|  |             </view> | ||||||
|  |             <view v-if="current === 0 && order.groupAfterSaleStatus"> | ||||||
|               <view |               <view | ||||||
|                 class="cannot_apply" |                 v-if="order.groupAfterSaleStatus.includes('EXPIRED')" | ||||||
|                 v-if=" |                 class="cannot_apply not_center" | ||||||
|                   current === 0 && |  | ||||||
|                   order.groupAfterSaleStatus && |  | ||||||
|                   order.groupAfterSaleStatus.includes('EXPIRED') |  | ||||||
|                 " |  | ||||||
|                 @click="tipsShow = true" |                 @click="tipsShow = true" | ||||||
|               > |               > | ||||||
|                 <u-icon class="icon" name="info-circle-fill"></u-icon> |                 <u-icon class="icon" name="info-circle-fill"></u-icon> | ||||||
|                 该商品无法申请售后 |                 该商品无法申请售后 | ||||||
|               </view> |               </view> | ||||||
| 
 |  | ||||||
|               <div v-if="current === 1 || current === 2"> |  | ||||||
|                 <!-- 申请中 --> |  | ||||||
|                 <view |  | ||||||
|                   class="cannot_apply" |  | ||||||
|                   v-if="order.serviceType == 'RETURN_GOODS'" |  | ||||||
|                 > |  | ||||||
|                   退货处理-{{ order.serviceStatus | serviceStatusList }}</view |  | ||||||
|                 > |  | ||||||
|                 <view |  | ||||||
|                   class="cannot_apply" |  | ||||||
|                   v-if="order.serviceType == 'SUPPLY_AGAIN_GOODS'" |  | ||||||
|                 > |  | ||||||
|                   补发商品-{{ order.serviceStatus | serviceStatusList }}</view |  | ||||||
|                 > |  | ||||||
|                 <view |  | ||||||
|                   class="cannot_apply" |  | ||||||
|                   v-if="order.serviceType == 'RETURN_MONEY'" |  | ||||||
|                 > |  | ||||||
|                   退款-{{ order.serviceStatus | serviceStatusList }}</view |  | ||||||
|                 > |  | ||||||
|                 <view |  | ||||||
|                   class="cannot_apply" |  | ||||||
|                   v-if="order.serviceType == 'EXCHANGE_GOODS'" |  | ||||||
|                 > |  | ||||||
|                   换货-{{ order.serviceStatus | serviceStatusList }}</view |  | ||||||
|                 > |  | ||||||
|                 <view class="cannot_apply" v-if="order.serviceType == 'CANCEL'"> |  | ||||||
|                   取消订单-{{ order.serviceStatus | serviceStatusList }}</view |  | ||||||
|                 > |  | ||||||
|               </div> |  | ||||||
| 
 |  | ||||||
|               <!-- 申请记录 --> |  | ||||||
|             </view> |             </view> | ||||||
|             <!-- 售后申请 --> | 
 | ||||||
|             <div |             <div v-if="current === 1 || current === 2"> | ||||||
|               v-if=" |               <!-- 申请中 --> | ||||||
|                 current === 0 && |               <view | ||||||
|                 sku.afterSaleStatus && |                 class="cannot_apply not_center" | ||||||
|                 (sku.afterSaleStatus.includes('NOT_APPLIED') || |                 v-if="order.serviceType == 'RETURN_GOODS'" | ||||||
|                   sku.afterSaleStatus.includes('PART_AFTER_SALE')) |               > | ||||||
|               " |                 退货处理-{{ order.serviceStatus | serviceStatusList }}</view | ||||||
|               @click="applyService(sku.sn, order, sku)" |               > | ||||||
|               class="sale" |               <view | ||||||
|             > |                 class="cannot_apply not_center" | ||||||
|               <view class="default-btn border"> 申请售后 </view> |                 v-if="order.serviceType == 'SUPPLY_AGAIN_GOODS'" | ||||||
|  |               > | ||||||
|  |                 补发商品-{{ order.serviceStatus | serviceStatusList }}</view | ||||||
|  |               > | ||||||
|  |               <view | ||||||
|  |                 class="cannot_apply not_center" | ||||||
|  |                 v-if="order.serviceType == 'RETURN_MONEY'" | ||||||
|  |               > | ||||||
|  |                 退款-{{ order.serviceStatus | serviceStatusList }}</view | ||||||
|  |               > | ||||||
|  |               <view | ||||||
|  |                 class="cannot_apply not_center" | ||||||
|  |                 v-if="order.serviceType == 'EXCHANGE_GOODS'" | ||||||
|  |               > | ||||||
|  |                 换货-{{ order.serviceStatus | serviceStatusList }}</view | ||||||
|  |               > | ||||||
|  |               <view | ||||||
|  |                 class="cannot_apply not_center" | ||||||
|  |                 v-if="order.serviceType == 'CANCEL'" | ||||||
|  |               > | ||||||
|  |                 取消订单-{{ order.serviceStatus | serviceStatusList }}</view | ||||||
|  |               > | ||||||
|  |             </div> | ||||||
|  | 
 | ||||||
|  |             <!-- 申请记录 --> | ||||||
|  |           </view> | ||||||
|  |           <view class="btn-view u-flex u-row-right"> | ||||||
|  |             <!-- 售后申请  --> | ||||||
|  | 
 | ||||||
|  |             <div class="sale" v-if="current === 0 && sku.afterSaleStatus"> | ||||||
|  |               <div | ||||||
|  |                 v-if=" | ||||||
|  |                   sku.afterSaleStatus.includes('NOT_APPLIED') || | ||||||
|  |                   sku.afterSaleStatus.includes('PART_AFTER_SALE') | ||||||
|  |                 " | ||||||
|  |                 @click="applyService(sku.sn, order, sku)" | ||||||
|  |               > | ||||||
|  |                 <view class="default-btn border"> 申请售后 </view> | ||||||
|  |               </div> | ||||||
|             </div> |             </div> | ||||||
|             <view class="after-line"> |             <view class="after-line"> | ||||||
|               <!-- 申请中 --> |               <!-- 申请中 --> | ||||||
|  | @ -229,7 +229,7 @@ export default { | ||||||
|         pageNumber: 1, |         pageNumber: 1, | ||||||
|         pageSize: 10, |         pageSize: 10, | ||||||
|         sort: "createTime", |         sort: "createTime", | ||||||
|         flowPrice: 1, |         flowPrice: 0, | ||||||
|         order: "desc", |         order: "desc", | ||||||
|       }, |       }, | ||||||
| 
 | 
 | ||||||
|  | @ -404,6 +404,10 @@ export default { | ||||||
|      */ |      */ | ||||||
|     onExpress(order, sku) { |     onExpress(order, sku) { | ||||||
|       sku.storeName = order.storeName; |       sku.storeName = order.storeName; | ||||||
|  |       let data = { | ||||||
|  |         ...order, | ||||||
|  |         ...sku, | ||||||
|  |       }; | ||||||
| 
 | 
 | ||||||
|       storage.setAfterSaleData(data); |       storage.setAfterSaleData(data); | ||||||
|       uni.navigateTo({ |       uni.navigateTo({ | ||||||
|  | @ -458,31 +462,38 @@ page, | ||||||
|   overflow-y: auto; |   overflow-y: auto; | ||||||
|   height: calc(100vh - 44px - 80rpx - 104rpx); |   height: calc(100vh - 44px - 80rpx - 104rpx); | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .u-tabs-search { | .u-tabs-search { | ||||||
|   padding: 20rpx; |   padding: 20rpx; | ||||||
|   background: #fff; |   background: #fff; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .countMoney { | .countMoney { | ||||||
|   margin-left: 7rpx; |   margin-left: 7rpx; | ||||||
|   color: $main-color; |   color: $main-color; | ||||||
|   font-size: 28rpx; |   font-size: 28rpx; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .seller-view { | .seller-view { | ||||||
|   background-color: #fff; |   background-color: #fff; | ||||||
|   margin: 20rpx 0rpx; |   margin: 20rpx 0rpx; | ||||||
|   padding: 0rpx 20rpx; |   padding: 0rpx 20rpx; | ||||||
|   border-radius: 20rpx; |   border-radius: 20rpx; | ||||||
|  | 
 | ||||||
|   .seller-info { |   .seller-info { | ||||||
|     height: 70rpx; |     height: 70rpx; | ||||||
|  | 
 | ||||||
|     .seller-name { |     .seller-name { | ||||||
|       font-size: 28rpx; |       font-size: 28rpx; | ||||||
|       display: flex; |       display: flex; | ||||||
|       flex-direction: row; |       flex-direction: row; | ||||||
|  | 
 | ||||||
|       .name { |       .name { | ||||||
|         margin-left: 15rpx; |         margin-left: 15rpx; | ||||||
|         margin-top: -2rpx; |         margin-top: -2rpx; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     .order-sn { |     .order-sn { | ||||||
|       font-size: 22rpx; |       font-size: 22rpx; | ||||||
|       color: #909399; |       color: #909399; | ||||||
|  | @ -526,6 +537,7 @@ page, | ||||||
|       color: $main-color; |       color: $main-color; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   .btn-view { |   .btn-view { | ||||||
|     padding: 16rpx 0; |     padding: 16rpx 0; | ||||||
| 
 | 
 | ||||||
|  | @ -535,10 +547,12 @@ page, | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .description { | .description { | ||||||
|   color: #909399; |   color: #909399; | ||||||
|   size: 25rpx; |   size: 25rpx; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .cannot_apply { | .cannot_apply { | ||||||
|   text-align: center; |   text-align: center; | ||||||
|   font-size: 22rpx; |   font-size: 22rpx; | ||||||
|  | @ -547,6 +561,10 @@ page, | ||||||
|   height: 70rpx; |   height: 70rpx; | ||||||
|   line-height: 70rpx; |   line-height: 70rpx; | ||||||
| } | } | ||||||
|  | .not_center { | ||||||
|  |   text-align: left; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .icon { | .icon { | ||||||
|   margin-right: 10rpx; |   margin-right: 10rpx; | ||||||
| } | } | ||||||
|  | @ -556,6 +574,7 @@ page, | ||||||
|   display: flex; |   display: flex; | ||||||
|   justify-content: flex-end; |   justify-content: flex-end; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .default-btn { | .default-btn { | ||||||
|   background-color: #ffffff; |   background-color: #ffffff; | ||||||
|   margin-left: 15rpx; |   margin-left: 15rpx; | ||||||
|  | @ -566,9 +585,11 @@ page, | ||||||
|   padding: 0 24rpx; |   padding: 0 24rpx; | ||||||
|   border-radius: 200px; |   border-radius: 200px; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .close { | .close { | ||||||
|   color: $light-color; |   color: $light-color; | ||||||
| } | } | ||||||
|  | 
 | ||||||
| .border { | .border { | ||||||
|   border: 2rpx solid $light-color; |   border: 2rpx solid $light-color; | ||||||
|   color: $light-color; |   color: $light-color; | ||||||
|  |  | ||||||
|  | @ -10,7 +10,10 @@ | ||||||
|               <!-- 省市区 --> |               <!-- 省市区 --> | ||||||
|               <div class="flex flex-a-c"> |               <div class="flex flex-a-c"> | ||||||
|                 <span class="default" v-if="address.isDefault">默认</span> |                 <span class="default" v-if="address.isDefault">默认</span> | ||||||
|                 <div class="address-list" v-if="address.consigneeAddressPath.length != 0"> |                 <div | ||||||
|  |                   class="address-list" | ||||||
|  |                   v-if="address.consigneeAddressPath.length != 0" | ||||||
|  |                 > | ||||||
|                   <span |                   <span | ||||||
|                     class="address-item" |                     class="address-item" | ||||||
|                     v-for="(item, index) in address.consigneeAddressPath" |                     v-for="(item, index) in address.consigneeAddressPath" | ||||||
|  | @ -89,100 +92,124 @@ | ||||||
|     </view> |     </view> | ||||||
| 
 | 
 | ||||||
|     <!-- 店铺商品信息 --> |     <!-- 店铺商品信息 --> | ||||||
|     <div class="box box2" v-for="(item, index) in orderMessage.cartList" :key="index"> |     <div | ||||||
|       <div @click="navigateToStore(item)"> |       class="box box2" | ||||||
|         <div class="store-name"> |       v-for="(item, index) in orderMessage.cartList" | ||||||
|           <span>{{ item.storeName }}</span> |       :key="index" | ||||||
|         </div> |     > | ||||||
|       </div> |       <div v-if="item.checked"> | ||||||
|       <div class="promotionNotice">{{ item.promotionNotice || "" }}</div> |         <div @click="navigateToStore(item)"> | ||||||
|       <div class="flex goods-item" v-for="(val, i) in item.skuList" :key="i"> |           <div class="store-name"> | ||||||
|         <div |             <span>{{ item.storeName }}</span> | ||||||
|           class="goods-image" |  | ||||||
|           @click=" |  | ||||||
|             navigateTo( |  | ||||||
|               '/pages/product/goods?id=' + |  | ||||||
|                 val.goodsSku.id + |  | ||||||
|                 '&goodsId=' + |  | ||||||
|                 val.goodsSku.goodsId |  | ||||||
|             ) |  | ||||||
|           " |  | ||||||
|           :span="3" |  | ||||||
|         > |  | ||||||
|           <u-image |  | ||||||
|             borderRadius="10rpx" |  | ||||||
|             width="200rpx" |  | ||||||
|             height="200rpx" |  | ||||||
|             :src="val.goodsSku.thumbnail" |  | ||||||
|             alt |  | ||||||
|           /> |  | ||||||
|         </div> |  | ||||||
|         <div |  | ||||||
|           @click=" |  | ||||||
|             navigateTo( |  | ||||||
|               '/pages/product/goods?id=' + |  | ||||||
|                 val.goodsSku.id + |  | ||||||
|                 '&goodsId=' + |  | ||||||
|                 val.goodsSku.goodsId |  | ||||||
|             ) |  | ||||||
|           " |  | ||||||
|           class="goods-detail" |  | ||||||
|         > |  | ||||||
|           <div class="flex"> |  | ||||||
|             <p class="goods-name">{{ val.goodsSku.goodsName }}</p> |  | ||||||
|             <span class="nums">x{{ val.num }}</span> |  | ||||||
|           </div> |           </div> | ||||||
|           <p class="goods-prices"> |  | ||||||
|             <span>¥</span> |  | ||||||
|             <span class="goods-price">{{ formatPrice(val.goodsSku.price)[0] }}</span> |  | ||||||
|             <span>.{{ formatPrice(val.goodsSku.price)[1] }}</span> |  | ||||||
|           </p> |  | ||||||
|         </div> |         </div> | ||||||
|       </div> |         <div class="promotionNotice">{{ item.promotionNotice || "" }}</div> | ||||||
|       <u-row> |         <div | ||||||
|         <u-col :offset="0" :span="4">发票信息</u-col> |           class="flex goods-item" | ||||||
|         <u-col :span="8" class="tipsColor" textAlign="right" @click.native="invoice()"> |           v-for="(val, i) in item.checkedSkuList" | ||||||
|           <span v-if="receiptList" |           :key="i" | ||||||
|             >{{ receiptList.receiptTitle }} - {{ receiptList.receiptContent }}</span |  | ||||||
|           > |  | ||||||
|           <span v-else>不开发票</span> |  | ||||||
|         </u-col> |  | ||||||
|       </u-row> |  | ||||||
|       <u-row> |  | ||||||
|         <u-col |  | ||||||
|           v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" |  | ||||||
|           :offset="0" |  | ||||||
|           :span="9" |  | ||||||
|           @click="shippingFlag = true" |  | ||||||
|           >配送 |  | ||||||
|         </u-col> |  | ||||||
|         <u-col |  | ||||||
|           v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" |  | ||||||
|           :span="3" |  | ||||||
|           textAlign="right" |  | ||||||
|           @click="shippingFlag = true" |  | ||||||
|         > |         > | ||||||
|           {{ |           <div | ||||||
|             shippingMethod.find((e) => { |             class="goods-image" | ||||||
|               return e.value == shippingText; |             @click=" | ||||||
|             }).label |               navigateTo( | ||||||
|           }} |                 '/pages/product/goods?id=' + | ||||||
|         </u-col> |                   val.goodsSku.id + | ||||||
|       </u-row> |                   '&goodsId=' + | ||||||
|       <u-row> |                   val.goodsSku.goodsId | ||||||
|         <u-col :offset="0" :span="4" class="tl" style="text-align: left">备注信息</u-col> |               ) | ||||||
|         <u-col :span="8" textAlign="right"> |             " | ||||||
|           <u-input |             :span="3" | ||||||
|             style="text-align: right" |           > | ||||||
|             class="uinput" |             <u-image | ||||||
|             v-model="remarkVal[index].remark" |               borderRadius="10rpx" | ||||||
|           /> |               width="200rpx" | ||||||
|         </u-col> |               height="200rpx" | ||||||
|       </u-row> |               :src="val.goodsSku.thumbnail" | ||||||
|  |               alt | ||||||
|  |             /> | ||||||
|  |           </div> | ||||||
|  |           <div | ||||||
|  |             @click=" | ||||||
|  |               navigateTo( | ||||||
|  |                 '/pages/product/goods?id=' + | ||||||
|  |                   val.goodsSku.id + | ||||||
|  |                   '&goodsId=' + | ||||||
|  |                   val.goodsSku.goodsId | ||||||
|  |               ) | ||||||
|  |             " | ||||||
|  |             class="goods-detail" | ||||||
|  |           > | ||||||
|  |             <div class="flex"> | ||||||
|  |               <p class="goods-name">{{ val.goodsSku.goodsName }}</p> | ||||||
|  |               <span class="nums">x{{ val.num }}</span> | ||||||
|  |             </div> | ||||||
|  |             <p class="goods-prices"> | ||||||
|  |               <span>¥</span> | ||||||
|  |               <span class="goods-price">{{ | ||||||
|  |                 formatPrice(val.goodsSku.price)[0] | ||||||
|  |               }}</span> | ||||||
|  |               <span>.{{ formatPrice(val.goodsSku.price)[1] }}</span> | ||||||
|  |             </p> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <u-row> | ||||||
|  |           <u-col :offset="0" :span="4">发票信息</u-col> | ||||||
|  |           <u-col | ||||||
|  |             :span="8" | ||||||
|  |             class="tipsColor" | ||||||
|  |             textAlign="right" | ||||||
|  |             @click.native="invoice()" | ||||||
|  |           > | ||||||
|  |             <span v-if="receiptList" | ||||||
|  |               >{{ receiptList.receiptTitle }} - | ||||||
|  |               {{ receiptList.receiptContent }}</span | ||||||
|  |             > | ||||||
|  |             <span v-else>不开发票</span> | ||||||
|  |           </u-col> | ||||||
|  |         </u-row> | ||||||
|  |         <u-row> | ||||||
|  |           <u-col | ||||||
|  |             v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" | ||||||
|  |             :offset="0" | ||||||
|  |             :span="9" | ||||||
|  |             @click="shippingFlag = true" | ||||||
|  |             >配送 | ||||||
|  |           </u-col> | ||||||
|  |           <u-col | ||||||
|  |             v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" | ||||||
|  |             :span="3" | ||||||
|  |             textAlign="right" | ||||||
|  |             @click="shippingFlag = true" | ||||||
|  |           > | ||||||
|  |             {{ | ||||||
|  |               shippingMethod.find((e) => { | ||||||
|  |                 return e.value == shippingText; | ||||||
|  |               }).label | ||||||
|  |             }} | ||||||
|  |           </u-col> | ||||||
|  |         </u-row> | ||||||
|  |         <u-row> | ||||||
|  |           <u-col :offset="0" :span="4" class="tl" style="text-align: left" | ||||||
|  |             >备注信息</u-col | ||||||
|  |           > | ||||||
|  |           <u-col :span="8" textAlign="right"> | ||||||
|  |             <u-input | ||||||
|  |               style="text-align: right" | ||||||
|  |               class="uinput" | ||||||
|  |               v-model="remarkVal[index].remark" | ||||||
|  |             /> | ||||||
|  |           </u-col> | ||||||
|  |         </u-row> | ||||||
|  |       </div> | ||||||
|     </div> |     </div> | ||||||
| 
 | 
 | ||||||
|     <!-- 发票信息 --> |     <!-- 发票信息 --> | ||||||
|     <invoices :res="receiptList" @callbackInvoice="callbackInvoice" v-if="invoiceFlag" /> |     <invoices | ||||||
|  |       :res="receiptList" | ||||||
|  |       @callbackInvoice="callbackInvoice" | ||||||
|  |       v-if="invoiceFlag" | ||||||
|  |     /> | ||||||
|     <u-select v-model="shippingFlag" :list="shippingMethod"></u-select> |     <u-select v-model="shippingFlag" :list="shippingMethod"></u-select> | ||||||
| 
 | 
 | ||||||
|     <div class="box box5" v-if="orderMessage.priceDetailDTO"> |     <div class="box box5" v-if="orderMessage.priceDetailDTO"> | ||||||
|  | @ -190,22 +217,30 @@ | ||||||
|         <u-row> |         <u-row> | ||||||
|           <u-col :span="9">商品合计</u-col> |           <u-col :span="9">商品合计</u-col> | ||||||
|           <u-col :span="3" textAlign="right"> |           <u-col :span="3" textAlign="right"> | ||||||
|             <span>¥{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span> |             <span | ||||||
|  |               >¥{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span | ||||||
|  |             > | ||||||
|           </u-col> |           </u-col> | ||||||
|         </u-row> |         </u-row> | ||||||
|       </div> |       </div> | ||||||
|       <div> |       <div> | ||||||
|         <u-row> |         <u-row> | ||||||
|           <u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7">运费</u-col> |           <u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7" | ||||||
|  |             >运费</u-col | ||||||
|  |           > | ||||||
|           <u-col |           <u-col | ||||||
|             v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" |             v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" | ||||||
|             :span="5" |             :span="5" | ||||||
|             class="tr tipsColor" |             class="tr tipsColor" | ||||||
|             textAlign="right" |             textAlign="right" | ||||||
|           > |           > | ||||||
|             <span v-if="orderMessage.priceDetailDTO.freightPrice == 0">包邮</span> |             <span v-if="orderMessage.priceDetailDTO.freightPrice == 0" | ||||||
|  |               >包邮</span | ||||||
|  |             > | ||||||
|             <span v-else |             <span v-else | ||||||
|               >¥{{ orderMessage.priceDetailDTO.freightPrice | unitPrice }}</span |               >¥{{ | ||||||
|  |                 orderMessage.priceDetailDTO.freightPrice | unitPrice | ||||||
|  |               }}</span | ||||||
|             > |             > | ||||||
|           </u-col> |           </u-col> | ||||||
|         </u-row> |         </u-row> | ||||||
|  | @ -215,7 +250,10 @@ | ||||||
| 
 | 
 | ||||||
|         <u-col |         <u-col | ||||||
|           :span="3" |           :span="3" | ||||||
|           v-if="orderMessage.priceDetailDTO && orderMessage.priceDetailDTO.couponPrice" |           v-if=" | ||||||
|  |             orderMessage.priceDetailDTO && | ||||||
|  |             orderMessage.priceDetailDTO.couponPrice | ||||||
|  |           " | ||||||
|           textAlign="right" |           textAlign="right" | ||||||
|           @click="GET_Discount()" |           @click="GET_Discount()" | ||||||
|         > |         > | ||||||
|  | @ -249,7 +287,9 @@ | ||||||
|           <u-col :span="6">活动优惠</u-col> |           <u-col :span="6">活动优惠</u-col> | ||||||
|           <u-col :span="6" class="tr tipsColor" textAlign="right"> |           <u-col :span="6" class="tr tipsColor" textAlign="right"> | ||||||
|             <span v-if="orderMessage.priceDetailDTO.discountPrice" |             <span v-if="orderMessage.priceDetailDTO.discountPrice" | ||||||
|               >-¥{{ orderMessage.priceDetailDTO.discountPrice | unitPrice }}</span |               >-¥{{ | ||||||
|  |                 orderMessage.priceDetailDTO.discountPrice | unitPrice | ||||||
|  |               }}</span | ||||||
|             > |             > | ||||||
|             <span v-else>0.00</span> |             <span v-else>0.00</span> | ||||||
|           </u-col> |           </u-col> | ||||||
|  | @ -277,7 +317,9 @@ | ||||||
|           <span class="price">{{ |           <span class="price">{{ | ||||||
|             formatPrice(orderMessage.priceDetailDTO.flowPrice)[0] |             formatPrice(orderMessage.priceDetailDTO.flowPrice)[0] | ||||||
|           }}</span> |           }}</span> | ||||||
|           <span>.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }} </span> |           <span | ||||||
|  |             >.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }} | ||||||
|  |           </span> | ||||||
|         </div> |         </div> | ||||||
|         <span v-else class="number" |         <span v-else class="number" | ||||||
|           ><span style="margin-right: 10rpx">{{ |           ><span style="margin-right: 10rpx">{{ | ||||||
|  | @ -448,7 +490,9 @@ export default { | ||||||
|       this.navigateTo( |       this.navigateTo( | ||||||
|         `/pages/mine/address/address?from=cart&way=${ |         `/pages/mine/address/address?from=cart&way=${ | ||||||
|           this.routerVal.way |           this.routerVal.way | ||||||
|         }&parentOrder=${encodeURIComponent(JSON.stringify(this.routerVal.parentOrder))}` |         }&parentOrder=${encodeURIComponent( | ||||||
|  |           JSON.stringify(this.routerVal.parentOrder) | ||||||
|  |         )}` | ||||||
|       ); |       ); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|  | @ -483,9 +527,11 @@ export default { | ||||||
|         this.orderMessage.storeCoupons && |         this.orderMessage.storeCoupons && | ||||||
|         Object.keys(this.orderMessage.storeCoupons)[0] |         Object.keys(this.orderMessage.storeCoupons)[0] | ||||||
|       ) { |       ) { | ||||||
|         let storeMemberCouponsId = Object.keys(this.orderMessage.storeCoupons)[0]; |         let storeMemberCouponsId = Object.keys( | ||||||
|         let storeCouponId = this.orderMessage.storeCoupons[storeMemberCouponsId] |           this.orderMessage.storeCoupons | ||||||
|           .memberCoupon.id; |         )[0]; | ||||||
|  |         let storeCouponId = | ||||||
|  |           this.orderMessage.storeCoupons[storeMemberCouponsId].memberCoupon.id; | ||||||
|         selectedCoupon.push(storeCouponId); |         selectedCoupon.push(storeCouponId); | ||||||
|       } |       } | ||||||
|       this.orderMessage.cartList.forEach((item) => { |       this.orderMessage.cartList.forEach((item) => { | ||||||
|  | @ -608,9 +654,8 @@ export default { | ||||||
|       // 如果没有商品选择地址的话 则选择 默认地址 |       // 如果没有商品选择地址的话 则选择 默认地址 | ||||||
|       API_Address.getAddressDefault().then((res) => { |       API_Address.getAddressDefault().then((res) => { | ||||||
|         if (res.data.result) { |         if (res.data.result) { | ||||||
|           res.data.result.consigneeAddressPath = res.data.result.consigneeAddressPath.split( |           res.data.result.consigneeAddressPath = | ||||||
|             "," |             res.data.result.consigneeAddressPath.split(","); | ||||||
|           ); |  | ||||||
|           this.address = res.data.result; |           this.address = res.data.result; | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|  | @ -621,6 +666,14 @@ export default { | ||||||
|       this.notSupportFreight = []; |       this.notSupportFreight = []; | ||||||
|       // 获取结算参数 |       // 获取结算参数 | ||||||
|       API_Trade.getCheckoutParams(this.routerVal.way).then((res) => { |       API_Trade.getCheckoutParams(this.routerVal.way).then((res) => { | ||||||
|  |         if ( | ||||||
|  |           !res.data.result.checkedSkuList || | ||||||
|  |           res.data.result.checkedSkuList.length === 0 | ||||||
|  |         ) { | ||||||
|  |           uni.switchTab({ | ||||||
|  |             url: "/pages/tabbar/cart/cartList", | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|         if (res.data.result.skuList.length <= 0) { |         if (res.data.result.skuList.length <= 0) { | ||||||
|           uni.redirectTo({ |           uni.redirectTo({ | ||||||
|             url: "/pages/order/myOrder?status=0", |             url: "/pages/order/myOrder?status=0", | ||||||
|  | @ -645,9 +698,8 @@ export default { | ||||||
|           this.getUserAddress(); |           this.getUserAddress(); | ||||||
|         } else { |         } else { | ||||||
|           this.address = res.data.result.memberAddress; |           this.address = res.data.result.memberAddress; | ||||||
|           res.data.result.memberAddress.consigneeAddressPath = res.data.result.memberAddress.consigneeAddressPath.split( |           res.data.result.memberAddress.consigneeAddressPath = | ||||||
|             "," |             res.data.result.memberAddress.consigneeAddressPath.split(","); | ||||||
|           ); |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if ( |         if ( | ||||||
|  |  | ||||||
|  | @ -139,7 +139,7 @@ | ||||||
|                     shape="circle" |                     shape="circle" | ||||||
|                     class="cancel-btn" |                     class="cancel-btn" | ||||||
|                     size="mini" |                     size="mini" | ||||||
|                     v-if="order.groupAfterSaleStatus.includes('NOT_APPLIED')" |                     v-if="order.groupAfterSaleStatus && order.groupAfterSaleStatus.includes('NOT_APPLIED')" | ||||||
|                     @click="applyService(order)" |                     @click="applyService(order)" | ||||||
|                   > |                   > | ||||||
|                     退款/售后 |                     退款/售后 | ||||||
|  | @ -323,7 +323,7 @@ export default { | ||||||
|     } else { |     } else { | ||||||
|       this.initData(0); |       this.initData(0); | ||||||
|     } |     } | ||||||
|     this.loadData(this.status); |     // this.loadData(this.status); | ||||||
|   }, |   }, | ||||||
|   onShow() { |   onShow() { | ||||||
|     if (this.tabCurrentIndex) { |     if (this.tabCurrentIndex) { | ||||||
|  | @ -331,7 +331,7 @@ export default { | ||||||
|     } else { |     } else { | ||||||
|       this.initData(0); |       this.initData(0); | ||||||
|     } |     } | ||||||
|     this.loadData(this.status); |     // this.loadData(this.status); | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   onLoad(options) { |   onLoad(options) { | ||||||
|  | @ -342,9 +342,9 @@ export default { | ||||||
|     let status = Number(options.status); |     let status = Number(options.status); | ||||||
|     this.status = status; |     this.status = status; | ||||||
|     this.tabCurrentIndex = status; |     this.tabCurrentIndex = status; | ||||||
|     if (status == 0) { |     // if (status == 0) { | ||||||
|       this.loadData(status); |     //   this.loadData(status); | ||||||
|     } |     // } | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   watch: { |   watch: { | ||||||
|  |  | ||||||
|  | @ -382,7 +382,6 @@ import popupGoods from "@/components/m-buy/goods"; //购物车商品的模块 | ||||||
| import popupAddress from "./product/popup/address"; //地址选择模块 | import popupAddress from "./product/popup/address"; //地址选择模块 | ||||||
| import shares from "@/components/m-share/index"; //分享 | import shares from "@/components/m-share/index"; //分享 | ||||||
| import popups from "@/components/popups/popups"; //气泡框 | import popups from "@/components/popups/popups"; //气泡框 | ||||||
| 
 |  | ||||||
| import setup from "./product/popup/popup"; | import setup from "./product/popup/popup"; | ||||||
| export default { | export default { | ||||||
|   components: { |   components: { | ||||||
|  | @ -527,7 +526,8 @@ export default { | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   computed: { |   computed: { | ||||||
|  | 	// udesk IM  | ||||||
|     IM() { |     IM() { | ||||||
|       return this.IMLink + this.storeDetail.merchantEuid; |       return this.IMLink + this.storeDetail.merchantEuid; | ||||||
|     }, |     }, | ||||||
|  | @ -708,40 +708,49 @@ export default { | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     linkMsgDetail() { |     linkMsgDetail() { | ||||||
|       if (this.storeDetail.merchantEuid) { |       // lili 基础客服 | ||||||
|         uni.navigateTo({ | 	 | ||||||
|           url: `/pages/tabbar/home/web-view?src=${this.IM}`, | 	  uni.navigateTo({ | ||||||
|         }); | 		url: `/pages/tabbar/home/web-view?IM=${this.storeDetail.storeId}`, | ||||||
|       } else { | 	  }); | ||||||
|         // 客服 | 		 | ||||||
|         // #ifdef MP-WEIXIN | 		// udesk 代码   | ||||||
|         const params = { | 		// if (this.storeDetail.merchantEuid) { | ||||||
|           storeName: this.storeDetail.storeName, | 		//   uni.navigateTo({ | ||||||
|           goodsName: this.goodsDetail.goodsName, | 		//     url: `/pages/tabbar/home/web-view?src=${this.IM}`, | ||||||
|           goodsId: this.goodsDetail.goodsId, | 		//   }); | ||||||
|           goodsImg: this.goodsDetail.thumbnail, | 		// } | ||||||
|           price: this.goodsDetail.promotionPrice || this.goodsDetail.price, | 		   | ||||||
|           // originalPrice: this.goodsDetail.original || this.goodsDetail.price, | 		   | ||||||
|           uuid: storage.getUuid(), |         // 客服 云智服代码  | ||||||
|           token: storage.getAccessToken(), |         // // #ifdef MP-WEIXIN | ||||||
|           sign: this.storeDetail.yzfSign, |         // const params = { | ||||||
|           mpSign: this.storeDetail.yzfMpSign, |         //   storeName: this.storeDetail.storeName, | ||||||
|         }; |         //   goodsName: this.goodsDetail.goodsName, | ||||||
|         uni.navigateTo({ |         //   goodsId: this.goodsDetail.goodsId, | ||||||
|           url: |         //   goodsImg: this.goodsDetail.thumbnail, | ||||||
|             "/pages/product/customerservice/index?params=" + |         //   price: this.goodsDetail.promotionPrice || this.goodsDetail.price, | ||||||
|             encodeURIComponent(JSON.stringify(params)), |         //   // originalPrice: this.goodsDetail.original || this.goodsDetail.price, | ||||||
|         }); |         //   uuid: storage.getUuid(), | ||||||
|         // #endif |         //   token: storage.getAccessToken(), | ||||||
|         // #ifndef MP-WEIXIN |         //   sign: this.storeDetail.yzfSign, | ||||||
|         const sign = this.storeDetail.yzfSign; |         //   mpSign: this.storeDetail.yzfMpSign, | ||||||
|         uni.navigateTo({ |         // }; | ||||||
|           url: |         // uni.navigateTo({ | ||||||
|             "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" + |         //   url: | ||||||
|             sign, |         //     "/pages/product/customerservice/index?params=" + | ||||||
|         }); |         //     encodeURIComponent(JSON.stringify(params)), | ||||||
|         // #endif |         // }); | ||||||
|       } |         // // #endif | ||||||
|  |         // // #ifndef MP-WEIXIN | ||||||
|  |         // const sign = this.storeDetail.yzfSign; | ||||||
|  |         // uni.navigateTo({ | ||||||
|  |         //   url: | ||||||
|  |         //     "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" + | ||||||
|  |         //     sign, | ||||||
|  |         // }); | ||||||
|  |         // // #endif | ||||||
|  |      | ||||||
|     }, |     }, | ||||||
|     // 格式化金钱  1999 --> [1999,00] |     // 格式化金钱  1999 --> [1999,00] | ||||||
|     formatPrice(val) { |     formatPrice(val) { | ||||||
|  |  | ||||||
|  | @ -1,184 +1,184 @@ | ||||||
| <template> | <template> | ||||||
|   <view class="wrapper"> | 	<view class="wrapper"> | ||||||
|     <div class="coupon-empty" v-if="!res">暂无优惠券</div> | 		<div class="coupon-empty" v-if="!res">暂无优惠券</div> | ||||||
|     <view class="coupon-List" v-for="(item, index) in couponRes" :key="index"> | 		<view class="coupon-List" v-for="(item, index) in couponRes" :key="index"> | ||||||
|       <view class="coupon-item"> | 			<view class="coupon-item"> | ||||||
|         <view class="top"> | 				<view class="top"> | ||||||
|           <div class="price"> | 					<div class="price"> | ||||||
|             <span v-if="item.couponType == 'DISCOUNT'">{{ item.couponDiscount }}折</span> | 						<span v-if="item.couponType == 'DISCOUNT'">{{ item.couponDiscount }}折</span> | ||||||
|             <span v-if="item.couponType == 'PRICE'">¥{{ item.price | unitPrice }}</span> | 						<span v-if="item.couponType == 'PRICE'">¥{{ item.price | unitPrice }}</span> | ||||||
|           </div> | 					</div> | ||||||
|           <view class="text"> | 					<view class="text"> | ||||||
|             <div class="coupon-List-title"> | 						<div class="coupon-List-title"> | ||||||
|               <view v-if="item.scopeType"> | 							<view v-if="item.scopeType"> | ||||||
|                 <span v-if="item.scopeType == 'ALL' && item.id == 'platform'" | 								<span v-if="item.scopeType == 'ALL' && item.id == 'platform'">全平台</span> | ||||||
|                   >全平台</span | 								<span v-if="item.scopeType == 'PORTION_CATEGORY'">仅限品类</span> | ||||||
|                 > | 								<view v-else>{{ | ||||||
|                 <span v-if="item.scopeType == 'PORTION_CATEGORY'">仅限品类</span> |                          item.storeName == "platform" ? "全平台" : item.storeName + "店铺" | ||||||
|                 <view v-else |                        }}使用</view> | ||||||
|                   >{{ | 							</view> | ||||||
|                     item.storeName == "platform" ? "全平台" : item.storeName + "店铺" | 						</div> | ||||||
|                   }}使用</view | 						<div>满{{ item.consumeThreshold | unitPrice }}可用</div> | ||||||
|                 > | 					</view> | ||||||
|               </view> | 					<view class="lingqu-btn" @click="getCoupon(item, index)"> | ||||||
|             </div> | 						<div :class="yhqFlag[index] ? 'cur' : ''"> | ||||||
|             <div>满{{ item.consumeThreshold | unitPrice }}可用</div> | 							{{ yhqFlag[index] ? "已领取或领完" : "立即领取" }} | ||||||
|           </view> | 						</div> | ||||||
|           <view class="lingqu-btn" @click="getCoupon(item, index)"> | 					</view> | ||||||
|             <div :class="yhqFlag[index] ? 'cur' : ''"> | 				</view> | ||||||
|               {{ yhqFlag[index] ? "已领取或领完" : "立即领取" }} | 				<view class="line"></view> | ||||||
|             </div> | 				<view class="time">{{ item.startTime / 1000 | unixToDate }} - {{ item.endTime / 1000 | unixToDate }}</view> | ||||||
|           </view> | 			</view> | ||||||
|         </view> | 		</view> | ||||||
|         <view class="line"></view> | 	</view> | ||||||
|         <view class="time">{{ item.startTime }} - {{ item.endTime }}</view> | </template> | ||||||
|       </view> | 
 | ||||||
|     </view> | <script> | ||||||
|   </view> | 	export default { | ||||||
| </template> | 		data() { | ||||||
| 
 | 			return { | ||||||
| <script> | 				yhqFlag: [], //获取优惠券判断是否点击 | ||||||
| export default { | 				couponRes: [], | ||||||
|   data() { | 			}; | ||||||
|     return { | 		}, | ||||||
|       yhqFlag: [], //获取优惠券判断是否点击 | 		props: { | ||||||
|       couponRes: {}, | 			res: { | ||||||
|     }; | 				type: null, | ||||||
|   }, | 				default: "", | ||||||
|   props: { | 			}, | ||||||
|     res: { | 		}, | ||||||
|       type: null, | 		watch: { | ||||||
|       default: "", | 			res: { | ||||||
|     }, | 				handler() { | ||||||
|   }, | 					if (this.res && this.res.length != 0) { | ||||||
|   watch: { | 						Object.keys(this.res).forEach((item) => { | ||||||
|     res: { | 							let key = item.split("-")[0]; | ||||||
|       handler() { | 							if (key === "COUPON") { | ||||||
|         if (this.res && this.res.length != 0) { | 								this.couponRes.push(this?.res[item]); | ||||||
|           Object.keys(this.res).forEach((item) => { | 
 | ||||||
|             let key = item.split("-")[0]; | 							} | ||||||
|             if (key === "COUPON") { | 						}); | ||||||
|               this.couponRes[item] = this?.res[item]; | 					} | ||||||
|             } | 				}, | ||||||
|           }); | 				immediate: true, | ||||||
|         } | 			}, | ||||||
|       }, | 		}, | ||||||
|       immediate: true, | 		methods: { | ||||||
|     }, | 			// 提交优惠券 | ||||||
|   }, | 			getCoupon(item, index) { | ||||||
|   methods: { | 				this.yhqFlag[index] = true; | ||||||
|     // 提交优惠券 | 				this.$emit("getCoupon", item); | ||||||
|     getCoupon(item, index) { | 			}, | ||||||
|       this.yhqFlag[index] = true; | 		}, | ||||||
|       this.$emit("getCoupon", item); | 	}; | ||||||
|     }, | </script> | ||||||
|   }, | 
 | ||||||
| }; | <style lang="scss" scoped> | ||||||
| </script> | 	.coupon-item { | ||||||
| 
 | 		width: 100%; | ||||||
| <style lang="scss" scoped> | 		height: 100%; | ||||||
| .coupon-item { | 		display: flex; | ||||||
|   width: 100%; | 		flex-direction: column; | ||||||
|   height: 100%; | 		justify-content: space-between; | ||||||
|   display: flex; | 	} | ||||||
|   flex-direction: column; | 
 | ||||||
|   justify-content: space-between; | 	.coupon-List { | ||||||
| } | 		display: flex; | ||||||
| .coupon-List { | 		flex-direction: column; | ||||||
|   display: flex; | 		height: 230rpx; | ||||||
|   flex-direction: column; | 		background: #e9ebfb; | ||||||
|   height: 230rpx; | 		margin: 30rpx 0; | ||||||
|   background: #e9ebfb; | 		padding: 10rpx 30rpx; | ||||||
|   margin: 30rpx 0; | 
 | ||||||
|   padding: 10rpx 30rpx; | 		.line { | ||||||
| 
 | 			height: 1px; | ||||||
|   .line { | 			background: #fff; | ||||||
|     height: 1px; | 			margin: 0 20rpx; | ||||||
|     background: #fff; | 			position: relative; | ||||||
|     margin: 0 20rpx; | 
 | ||||||
|     position: relative; | 			&:before, | ||||||
| 
 | 			&:after { | ||||||
|     &:before, | 				content: ""; | ||||||
|     &:after { | 				display: block; | ||||||
|       content: ""; | 				width: 15rpx; | ||||||
|       display: block; | 				height: 30rpx; | ||||||
|       width: 15rpx; | 				background: #fff; | ||||||
|       height: 30rpx; | 				position: absolute; | ||||||
|       background: #fff; | 				top: -15rpx; | ||||||
|       position: absolute; | 			} | ||||||
|       top: -15rpx; | 
 | ||||||
|     } | 			&:before { | ||||||
| 
 | 				left: -50rpx; | ||||||
|     &:before { | 			} | ||||||
|       left: -50rpx; | 
 | ||||||
|     } | 			&:after { | ||||||
| 
 | 				right: -50rpx; | ||||||
|     &:after { | 			} | ||||||
|       right: -50rpx; | 		} | ||||||
|     } | 
 | ||||||
|   } | 		.time { | ||||||
| 
 | 			flex: 1; | ||||||
|   .time { | 			font-size: 24rpx; | ||||||
|     flex: 1; | 			align-items: center; | ||||||
|     font-size: 24rpx; | 			display: flex; | ||||||
|     align-items: center; | 			align-items: center; | ||||||
|     display: flex; | 		} | ||||||
|     align-items: center; | 	} | ||||||
|   } | 
 | ||||||
| } | 	.top { | ||||||
| 
 | 		height: 140rpx; | ||||||
| .top { | 		display: flex; | ||||||
|   height: 140rpx; | 
 | ||||||
|   display: flex; | 		.price { | ||||||
| 
 | 			width: 33%; | ||||||
|   .price { | 			justify-content: center; | ||||||
|     width: 33%; | 			color: #6772e5; | ||||||
|     justify-content: center; | 			font-size: 40rpx; | ||||||
|     color: #6772e5; | 			display: flex; | ||||||
|     font-size: 40rpx; | 
 | ||||||
|     display: flex; | 			height: 100%; | ||||||
| 
 | 			align-items: center; | ||||||
|     height: 100%; | 
 | ||||||
|     align-items: center; | 			span { | ||||||
|     span { | 				font-size: 50rpx; | ||||||
|       font-size: 50rpx; | 			} | ||||||
|     } | 		} | ||||||
|   } | 
 | ||||||
| 
 | 		.text { | ||||||
|   .text { | 			width: 33%; | ||||||
|     width: 33%; | 			display: flex; | ||||||
|     display: flex; | 			flex-direction: column; | ||||||
|     flex-direction: column; | 			justify-content: center; | ||||||
|     justify-content: center; | 			font-size: 26rpx; | ||||||
|     font-size: 26rpx; | 			color: 333; | ||||||
|     color: 333; | 			margin-left: 40rpx; | ||||||
|     margin-left: 40rpx; | 
 | ||||||
| 
 | 			.coupon-List-title { | ||||||
|     .coupon-List-title { | 				font-size: 30rpx; | ||||||
|       font-size: 30rpx; | 				font-weight: bold; | ||||||
|       font-weight: bold; | 			} | ||||||
|     } | 		} | ||||||
|   } | 
 | ||||||
| 
 | 		.lingqu-btn { | ||||||
|   .lingqu-btn { | 			display: flex; | ||||||
|     display: flex; | 			align-items: center; | ||||||
|     align-items: center; | 			margin-left: 40rpx; | ||||||
|     margin-left: 40rpx; | 
 | ||||||
|     text { | 			text { | ||||||
|       width: 140rpx; | 				width: 140rpx; | ||||||
|       height: 40rpx; | 				height: 40rpx; | ||||||
|       text-align: center; | 				text-align: center; | ||||||
|       line-height: 40rpx; | 				line-height: 40rpx; | ||||||
|       color: #fff; | 				color: #fff; | ||||||
|       background: #6772e5; | 				background: #6772e5; | ||||||
|       border-radius: 5px; | 				border-radius: 5px; | ||||||
|       font-size: 26rpx; | 				font-size: 26rpx; | ||||||
| 
 | 
 | ||||||
|       &.cur { | 				&.cur { | ||||||
|         background: none; | 					background: none; | ||||||
|         transform: rotate(45deg) translate(10rpx, -46rpx); | 					transform: rotate(45deg) translate(10rpx, -46rpx); | ||||||
|       } | 				} | ||||||
|     } | 			} | ||||||
|   } | 		} | ||||||
| } | 	} | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -15,7 +15,7 @@ | ||||||
|               <span v-if="res[prom].freeFreightFlag">赠送包邮服务</span> |               <span v-if="res[prom].freeFreightFlag">赠送包邮服务</span> | ||||||
|             </span> |             </span> | ||||||
|           </div> |           </div> | ||||||
|           <div class="res_prom_item" v-if="res[prom].fullRate"> |           <div class="res_prom_item" v-if="res[prom].fullRate && res[prom].fullRateFlag"> | ||||||
|             <u-tag text="打折" type="error"></u-tag> |             <u-tag text="打折" type="error"></u-tag> | ||||||
|             <span class="pro-text" |             <span class="pro-text" | ||||||
|               >满{{ res[prom].fullMoney }}元,立享<span class="price" |               >满{{ res[prom].fullMoney }}元,立享<span class="price" | ||||||
|  |  | ||||||
|  | @ -159,7 +159,7 @@ export default { | ||||||
|       let recommendLives = await getLiveList(this.recommendParams); |       let recommendLives = await getLiveList(this.recommendParams); | ||||||
|       if (recommendLives.data.success) { |       if (recommendLives.data.success) { | ||||||
|         // 推荐直播间 |         // 推荐直播间 | ||||||
|         if (recommendLives.data.result.records.length != 0) { |         if (recommendLives.data.result.records.length ) { | ||||||
|           this.status = "loadmore"; |           this.status = "loadmore"; | ||||||
|           this.recommendLives = recommendLives.data.result.records; |           this.recommendLives = recommendLives.data.result.records; | ||||||
|         } else { |         } else { | ||||||
|  | @ -172,7 +172,7 @@ export default { | ||||||
|          * 2.如果没有直播间设置一个默认图片 |          * 2.如果没有直播间设置一个默认图片 | ||||||
|          */ |          */ | ||||||
| 
 | 
 | ||||||
|         if (this.recommendLives.length == 0) { |         if (!this.recommendLives.length) { | ||||||
|           if (this.liveList[0].shareImg) { |           if (this.liveList[0].shareImg) { | ||||||
|             this.$set(this, "swiperImg", [ |             this.$set(this, "swiperImg", [ | ||||||
|               { |               { | ||||||
|  | @ -199,7 +199,7 @@ export default { | ||||||
|       let res = await getLiveList(this.params[this.current]); |       let res = await getLiveList(this.params[this.current]); | ||||||
|       // 直播间 |       // 直播间 | ||||||
|       if (res.data.success) { |       if (res.data.success) { | ||||||
|         if (res.data.result.records.length != 0) { |         if (res.data.result.records.length ) { | ||||||
|           this.status = "loadmore"; |           this.status = "loadmore"; | ||||||
|           this.liveList.push(...res.data.result.records); |           this.liveList.push(...res.data.result.records); | ||||||
|         } else { |         } else { | ||||||
|  | @ -211,7 +211,7 @@ export default { | ||||||
|           ? (this.status = "loadmore") |           ? (this.status = "loadmore") | ||||||
|           : (this.status = "noMore"); |           : (this.status = "noMore"); | ||||||
| 
 | 
 | ||||||
|         console.log(this.status); |        | ||||||
|         this.liveList.forEach((item) => { |         this.liveList.forEach((item) => { | ||||||
|           if (item.roomGoodsList) { |           if (item.roomGoodsList) { | ||||||
|             item.roomGoodsList = JSON.parse(item.roomGoodsList); |             item.roomGoodsList = JSON.parse(item.roomGoodsList); | ||||||
|  |  | ||||||
|  | @ -102,6 +102,14 @@ export function modelNavigateTo(item) { | ||||||
|             url: `/pages/product/shopList`, |             url: `/pages/product/shopList`, | ||||||
|           }); |           }); | ||||||
|           break; |           break; | ||||||
|  |         case "外部链接": | ||||||
|  |           // #ifdef H5
 | ||||||
|  |           window.location.href = val.url; | ||||||
|  |           // #endif
 | ||||||
|  |           // #ifdef APP-PLUS
 | ||||||
|  |           plus.runtime.openURL(val.url) //不需要拼接\
 | ||||||
|  |           // #endif
 | ||||||
|  |           break; | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       break; |       break; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,12 @@ | ||||||
| <template> | <template> | ||||||
|   <div class="layout"> |   <div class="layout"> | ||||||
|     <div class="menu-list"> |     <div class="menu-list"> | ||||||
|       <div class="menu-item" @click="modelNavigateTo(item)" v-for="(item, index) in res.list" :key="index"> |       <div | ||||||
|  |         class="menu-item" | ||||||
|  |         @click="modelNavigateTo(item)" | ||||||
|  |         v-for="(item, index) in res.list" | ||||||
|  |         :key="index" | ||||||
|  |       > | ||||||
|         <div> |         <div> | ||||||
|           <u-image |           <u-image | ||||||
|             width="88rpx" |             width="88rpx" | ||||||
|  | @ -9,7 +14,7 @@ | ||||||
|             class="menu-img" |             class="menu-img" | ||||||
|             :src="item.img" |             :src="item.img" | ||||||
|           > |           > | ||||||
|            <u-loading slot="loading"></u-loading> |             <u-loading slot="loading"></u-loading> | ||||||
|           </u-image> |           </u-image> | ||||||
|         </div> |         </div> | ||||||
|         <div class="menu-title">{{ item.title }}</div> |         <div class="menu-title">{{ item.title }}</div> | ||||||
|  | @ -18,15 +23,15 @@ | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
| <script> | <script> | ||||||
| import {modelNavigateTo} from './tpl' | import { modelNavigateTo } from "./tpl"; | ||||||
| export default { | export default { | ||||||
|   title:"五列菜单", |   title: "五列菜单", | ||||||
|   props: ["res"], |   props: ["res"], | ||||||
|   data () { |   data() { | ||||||
|     return { |     return { | ||||||
|       modelNavigateTo, |       modelNavigateTo, | ||||||
|     } |     }; | ||||||
|   } |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|  | @ -34,6 +39,7 @@ export default { | ||||||
| .menu-list { | .menu-list { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|  |   justify-content: space-between; | ||||||
|   flex-wrap: wrap; |   flex-wrap: wrap; | ||||||
| 
 | 
 | ||||||
|   > .menu-item { |   > .menu-item { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,49 @@ | ||||||
|  | <template> | ||||||
|  |   <div class="layout"> | ||||||
|  |     <div class="background"> | ||||||
|  |       <u-notice-bar mode="vertical" :bg-color="res.list[0].bk_color" :color="res.list[0].color" :list="list"></u-notice-bar> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  |   export default { | ||||||
|  |     title: "公告", | ||||||
|  |     props: ["res"], | ||||||
|  |     data() { | ||||||
|  |       return { | ||||||
|  |         list: [] | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     mounted() { | ||||||
|  |       this.list = this.res.list[0].title.map(i => i.context); | ||||||
|  |     }, | ||||||
|  |   }; | ||||||
|  | </script> | ||||||
|  | <style lang="scss" scoped> | ||||||
|  |   @import "./tpl.scss"; | ||||||
|  |   .background { | ||||||
|  |     position: absolute; | ||||||
|  |     z-index: 2; | ||||||
|  |     width: 100%; | ||||||
|  |     height: 84rpx; | ||||||
|  |     text-align: left; | ||||||
|  |     font-size: 20rpx; | ||||||
|  |     background-size: cover; | ||||||
|  |   } | ||||||
|  |   .layout { | ||||||
|  |     text-align: center; | ||||||
|  |     position: relative; | ||||||
|  |     height: 84rpx; | ||||||
|  |     display: flex; | ||||||
|  |     align-items: center; | ||||||
|  |     justify-content: center; | ||||||
|  | 
 | ||||||
|  |     background: #ffffff; | ||||||
|  |   } | ||||||
|  |   .title { | ||||||
|  |     line-height: 84rpx; | ||||||
|  |     font-size: 20px; | ||||||
|  |     font-weight: bold; | ||||||
|  |   } | ||||||
|  | </style> | ||||||
|  | @ -0,0 +1,271 @@ | ||||||
|  | <template> | ||||||
|  |   <div class="layout"> | ||||||
|  |     <div class="join-list"> | ||||||
|  |       <div | ||||||
|  |         v-for="(item, index) in res.list" | ||||||
|  |         :key="index" | ||||||
|  |         class="join-list-item" | ||||||
|  |         @click="goToDetail(item.type)" | ||||||
|  |       > | ||||||
|  |         <div> | ||||||
|  |           <div class="join-title"> | ||||||
|  |             <div>{{ item.title }}</div> | ||||||
|  |             <div | ||||||
|  |               class="sub" | ||||||
|  |               v-if="item.type !== 'SECKILL'" | ||||||
|  |               :style="{ | ||||||
|  |                 backgroundColor: item.bk_color, | ||||||
|  |                 color: item.color1, | ||||||
|  |                 borderColor: item.bk_color, | ||||||
|  |               }" | ||||||
|  |             > | ||||||
|  |               {{ item.title1 }} | ||||||
|  |             </div> | ||||||
|  |             <div class="sub-seckill" v-else> | ||||||
|  |               <div class="sub-seckill-block flex"> | ||||||
|  |                 <div class="sub-seckill-block-text"> | ||||||
|  |                   {{ timeLine[0] ? timeLine[0].timeLine : "x" }}点场 | ||||||
|  |                 </div> | ||||||
|  |                 {{ times.hours == "00" ? "0" : times.hours }}:{{ | ||||||
|  |                   times.minutes | ||||||
|  |                 }}:{{ times.seconds }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="join-box"> | ||||||
|  |             <div | ||||||
|  |               class="join-item" | ||||||
|  |               v-for="(i, _index) in item.data" | ||||||
|  |               :key="_index" | ||||||
|  |             > | ||||||
|  |               <div class="item-img-box"> | ||||||
|  |                 <img | ||||||
|  |                   class="item-img" | ||||||
|  |                   :src="i.thumbnail ? i.thumbnail : i.goodsImage" | ||||||
|  |                   alt | ||||||
|  |                 /> | ||||||
|  |               </div> | ||||||
|  |               <div | ||||||
|  |                 class="ellipsis" | ||||||
|  |                 :class="{ 'max-width': res.list.length <= 1 }" | ||||||
|  |               > | ||||||
|  |                 {{ i.goodsName ? i.goodsName : i.name }} | ||||||
|  |               </div> | ||||||
|  |               <div class="item-price"> | ||||||
|  |                 <span>¥{{ i.price ? i.price : i.originalPrice }}</span> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | <script> | ||||||
|  | import * as API_Promotions from "@/api/promotions"; | ||||||
|  | import Foundation from "@/utils/Foundation.js"; | ||||||
|  | export default { | ||||||
|  |   props: ["res"], | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       timeLine: "", //获取几个点活动 | ||||||
|  |       resTime: 0, //当前时间 | ||||||
|  |       time: 0, //距离下一个活动的时间值 | ||||||
|  |       times: {}, //时间集合 | ||||||
|  |       onlyOne: "", //是否最后一个商品 | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   mounted() { | ||||||
|  |     let params = { | ||||||
|  |       pageNumber: 1, | ||||||
|  |       pageSize: 2, | ||||||
|  |       status: "START", | ||||||
|  |       promotionStatus: "START", | ||||||
|  |     }; | ||||||
|  |     this._setTimeInterval = setInterval(() => { | ||||||
|  |       if (this.time <= 0) { | ||||||
|  |         clearInterval(this._setTimeInterval); | ||||||
|  |       } else { | ||||||
|  |         this.times = Foundation.countTimeDown(this.time); | ||||||
|  |         this.time--; | ||||||
|  |       } | ||||||
|  |     }, 1000); | ||||||
|  |     this.res.list.forEach((ele) => { | ||||||
|  |       switch (ele.type) { | ||||||
|  |         case "PINTUAN": | ||||||
|  |           API_Promotions.getAssembleList(params).then((response) => { | ||||||
|  |             const data = response.data.result.records; | ||||||
|  |             if (data) { | ||||||
|  |               ele.data = data; | ||||||
|  |             } | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "SECKILL": | ||||||
|  |           API_Promotions.getSeckillTimeLine().then((response) => { | ||||||
|  |             if (response.data.success && response.data.result) { | ||||||
|  |               ele.data = response.data.result[0].seckillGoodsList.slice(0, 2); | ||||||
|  |               let timeLine = response.data.result.sort( | ||||||
|  |                 (x, y) => Number(x.timeLine) - Number(y.timeLine) | ||||||
|  |               ); | ||||||
|  |               this.timeLine = timeLine.slice(0, 5); | ||||||
|  |               this.resTime = parseInt(new Date().getTime() / 1000); | ||||||
|  |               this.onlyOne = response.data.result.length === 1; | ||||||
|  |               this.diffTime = parseInt(new Date().getTime() / 1000) - this.resTime; | ||||||
|  | 
 | ||||||
|  |               this.time = | ||||||
|  |                 this.timeLine[0].distanceStartTime || | ||||||
|  |                 (this.timeLine[1] && this.timeLine[1].distanceStartTime) || | ||||||
|  |                 Foundation.theNextDayTime() - this.diffTime; | ||||||
|  |               this.times = Foundation.countTimeDown(this.time); | ||||||
|  |               console.log(this.timeLine); | ||||||
|  |             } | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "LIVE": | ||||||
|  |           API_Promotions.getLiveList(params).then((response) => { | ||||||
|  |             if (response.success && response.result.records) { | ||||||
|  |               ele.data = response.result.records[0].commodityList.slice(0, 2); | ||||||
|  |             } | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "KANJIA": | ||||||
|  |           API_Promotions.getBargainList(params).then((response) => { | ||||||
|  |             if (response.success && response.result) { | ||||||
|  |               ele.data = response.result.records(0, 2); | ||||||
|  |             } | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         default: | ||||||
|  |           break; | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     //跳转详情 | ||||||
|  |     goToDetail(type) { | ||||||
|  |       switch(type) { | ||||||
|  |         case "SECKILL": | ||||||
|  |           uni.navigateTo({ | ||||||
|  |             url: `/pages/promotion/seckill`, | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "PINTUAN": | ||||||
|  |           uni.navigateTo({ | ||||||
|  |             url: `/pages/promotion/joinGroup`, | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "LIVE": | ||||||
|  |           uni.navigateTo({ | ||||||
|  |             url: `/pages/promotion/lives`, | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |         case "KANJIA": | ||||||
|  |           uni.navigateTo({ | ||||||
|  |             url: `/pages/promotion/bargain/list`, | ||||||
|  |           }); | ||||||
|  |           break; | ||||||
|  |       }; | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | @import "./tpl.scss"; | ||||||
|  | .join-box { | ||||||
|  |   display: flex; | ||||||
|  | } | ||||||
|  | .join-list { | ||||||
|  |   width: 100%; | ||||||
|  |   display: flex; | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | .join-list-item { | ||||||
|  |   flex: 1; | ||||||
|  | } | ||||||
|  | .ellipsis { | ||||||
|  |   overflow: hidden; | ||||||
|  |   text-overflow: ellipsis; | ||||||
|  |   white-space: nowrap; | ||||||
|  |   width: 108rpx; // 大于1个活动 | ||||||
|  |   font-size: 22rpx; | ||||||
|  | } | ||||||
|  | .max-width { | ||||||
|  |   width: 316rpx !important; | ||||||
|  | } | ||||||
|  | .item-price { | ||||||
|  |   > span { | ||||||
|  |     font-size: 28rpx; | ||||||
|  |     font-weight: 500; | ||||||
|  |     color: #e1212b; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .join-item { | ||||||
|  |   flex: 1; | ||||||
|  | } | ||||||
|  | .item-img { | ||||||
|  |   width: 150rpx; | ||||||
|  |   height: 150rpx; | ||||||
|  |   margin: 0 auto; | ||||||
|  |   display: block; | ||||||
|  | } | ||||||
|  | .item-img-box { | ||||||
|  |   position: relative; | ||||||
|  | } | ||||||
|  | .item-line-through { | ||||||
|  |   > span { | ||||||
|  |     font-size: 20rpx; | ||||||
|  |     font-weight: 400; | ||||||
|  |     text-decoration: line-through; | ||||||
|  |     color: #999; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .item-position-tips { | ||||||
|  |   position: absolute; | ||||||
|  |   right: 0; | ||||||
|  |   color: #fff; | ||||||
|  |   font-size: 24rpx; | ||||||
|  |   bottom: 0; | ||||||
|  | } | ||||||
|  | .join-title { | ||||||
|  |   display: flex; | ||||||
|  | 
 | ||||||
|  |   align-items: center; | ||||||
|  |   background: #fff; | ||||||
|  |   height: 100rpx; | ||||||
|  |   > div:nth-of-type(1) { | ||||||
|  |     font-size: 30rpx; | ||||||
|  |     font-weight: bold; | ||||||
|  |   } | ||||||
|  |   > div:nth-of-type(2) { | ||||||
|  |     font-size: 20rpx; | ||||||
|  |     line-height: 1.75; | ||||||
|  |     border-radius: 16rpx; | ||||||
|  |     text-align: center; | ||||||
|  |     padding: 0 16rpx; | ||||||
|  |     margin-left: 20rpx; | ||||||
|  |   } | ||||||
|  |   .sub { | ||||||
|  |     background-color: #e1212b; | ||||||
|  |     margin-right: 80rpx; | ||||||
|  |   } | ||||||
|  |   .sub-seckill { | ||||||
|  |     white-space: nowrap; | ||||||
|  |     padding: 0 !important; | ||||||
|  |   } | ||||||
|  |   .sub-seckill-block { | ||||||
|  |     background: rgba($main-color, 0.3); | ||||||
|  |     border-radius: 100px !important; | ||||||
|  |     color: rgba($main-color, 0.7); | ||||||
|  |     overflow: hidden; | ||||||
|  |     padding-right: 8rpx; | ||||||
|  |   } | ||||||
|  |   .sub-seckill-block-text { | ||||||
|  |     background-color: $main-color; | ||||||
|  |     color: #fff; | ||||||
|  |     border-top-right-radius: 100px; | ||||||
|  |     border-bottom-right-radius: 100px; | ||||||
|  |     padding: 0 12rpx !important; | ||||||
|  |     margin-right: 12rpx; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  | @ -1,24 +1,34 @@ | ||||||
| <template> | <template> | ||||||
|   <div class="layout"> |   <div class="layout" :style="{textAlign: res.list[0].textAlign}"  @click="modelNavigateTo(res.list[0])" > | ||||||
|     <div class="background"> |     <div class="background" :style="{ backgroundColor: res.list[0].bk_color}"> | ||||||
|       <div class="title" :style="{ color: res.list[0].color }"> |       <div class="title" :style="{ color: res.list[0].color }"> | ||||||
|         {{ res.list[0].title }} |         {{ res.list[0].title }} | ||||||
|       </div> |       </div> | ||||||
|  |       <div style="position: absolute;right: 10px;top:2px;color: #fff;line-height: 42px;font-size: 10px"> | ||||||
|  |         <a  :style="{ color: res.list[0].color1 }" style="text-decoration: none">{{ res.list[0].title1 }}</a> | ||||||
|  |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| <script> | <script> | ||||||
|  | import { modelNavigateTo } from "./tpl"; | ||||||
| export default { | export default { | ||||||
|   title: "标题栏", |   title: "标题栏", | ||||||
|   props: ["res"], |   props: ["res"], | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       modelNavigateTo, | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|   mounted() {}, |   mounted() {}, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| @import "./tpl.scss"; | @import "./tpl.scss"; | ||||||
| .background { | .background { | ||||||
|   background: url("/static/title.png") no-repeat; |   // background: url("/static/title.png") no-repeat; | ||||||
|   position: absolute; |   position: absolute; | ||||||
|   z-index: 2; |   z-index: 2; | ||||||
|   width: 100%; |   width: 100%; | ||||||
|  | @ -43,5 +53,6 @@ export default { | ||||||
|   line-height: 84rpx; |   line-height: 84rpx; | ||||||
|   font-size: 30rpx; |   font-size: 30rpx; | ||||||
|   font-weight: bold; |   font-weight: bold; | ||||||
|  |   margin-left: 8rpx; | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -1,10 +1,15 @@ | ||||||
| <template> | <template> | ||||||
|   <div class="wrapper"> |   <div class="wrapper"> | ||||||
|     <!-- uni 中不能使用 vue component 所以用if判断每个组件 --> |     <!-- uni 中不能使用 vue component 所以用if判断每个组件 --> | ||||||
|     <div v-for="(item,index) in pageData.list" :key="index"> |     <div v-for="(item, index) in pageData.list" :key="index"> | ||||||
|       <!-- 搜索栏,如果在楼层装修顶部则会自动浮动,否则不浮动 --> |       <!-- 搜索栏,如果在楼层装修顶部则会自动浮动,否则不浮动 --> | ||||||
|       <u-navbar class="navbar" v-if="item.type == 'search'" :is-back="false" :is-fixed="index ===1 ? false : true"> |       <u-navbar | ||||||
|         <search style="width:100%" :res="item.options" /> |         class="navbar" | ||||||
|  |         v-if="item.type == 'search'" | ||||||
|  |         :is-back="false" | ||||||
|  |         :is-fixed="index === 1 ? false : true" | ||||||
|  |       > | ||||||
|  |         <search style="width: 100%" :res="item.options" /> | ||||||
|         <!-- #ifndef H5 --> |         <!-- #ifndef H5 --> | ||||||
|         <!-- 扫码功能 不兼容h5 详情文档: https://uniapp.dcloud.io/api/system/barcode?id=scancode --> |         <!-- 扫码功能 不兼容h5 详情文档: https://uniapp.dcloud.io/api/system/barcode?id=scancode --> | ||||||
|         <div slot="right" class="navbar-right"> |         <div slot="right" class="navbar-right"> | ||||||
|  | @ -14,10 +19,22 @@ | ||||||
|       </u-navbar> |       </u-navbar> | ||||||
|       <carousel v-if="item.type == 'carousel'" :res="item.options" /> |       <carousel v-if="item.type == 'carousel'" :res="item.options" /> | ||||||
|       <titleLayout v-if="item.type == 'title'" :res="item.options" /> |       <titleLayout v-if="item.type == 'title'" :res="item.options" /> | ||||||
|       <leftOneRightTwo v-if="item.type == 'leftOneRightTwo'" :res="item.options" /> |       <leftOneRightTwo | ||||||
|       <leftTwoRightOne v-if="item.type == 'leftTwoRightOne'" :res="item.options" /> |         v-if="item.type == 'leftOneRightTwo'" | ||||||
|       <topOneBottomTwo v-if="item.type == 'topOneBottomTwo'" :res="item.options" /> |         :res="item.options" | ||||||
|       <topTwoBottomOne v-if="item.type == 'topTwoBottomOne'" :res="item.options" /> |       /> | ||||||
|  |       <leftTwoRightOne | ||||||
|  |         v-if="item.type == 'leftTwoRightOne'" | ||||||
|  |         :res="item.options" | ||||||
|  |       /> | ||||||
|  |       <topOneBottomTwo | ||||||
|  |         v-if="item.type == 'topOneBottomTwo'" | ||||||
|  |         :res="item.options" | ||||||
|  |       /> | ||||||
|  |       <topTwoBottomOne | ||||||
|  |         v-if="item.type == 'topTwoBottomOne'" | ||||||
|  |         :res="item.options" | ||||||
|  |       /> | ||||||
|       <flexThree v-if="item.type == 'flexThree'" :res="item.options" /> |       <flexThree v-if="item.type == 'flexThree'" :res="item.options" /> | ||||||
|       <flexFive v-if="item.type == 'flexFive'" :res="item.options" /> |       <flexFive v-if="item.type == 'flexFive'" :res="item.options" /> | ||||||
|       <flexFour v-if="item.type == 'flexFour'" :res="item.options" /> |       <flexFour v-if="item.type == 'flexFour'" :res="item.options" /> | ||||||
|  | @ -25,14 +42,13 @@ | ||||||
|       <textPicture v-if="item.type == 'textPicture'" :res="item.options" /> |       <textPicture v-if="item.type == 'textPicture'" :res="item.options" /> | ||||||
|       <menuLayout v-if="item.type == 'menu'" :res="item.options" /> |       <menuLayout v-if="item.type == 'menu'" :res="item.options" /> | ||||||
|       <flexOne v-if="item.type == 'flexOne'" :res="item.options" /> |       <flexOne v-if="item.type == 'flexOne'" :res="item.options" /> | ||||||
| 
 |  | ||||||
|       <goods v-if="item.type == 'goods'" :res="item.options" /> |       <goods v-if="item.type == 'goods'" :res="item.options" /> | ||||||
| 
 |  | ||||||
|       <group v-if="item.type == 'group'" :res="item.options" /> |       <group v-if="item.type == 'group'" :res="item.options" /> | ||||||
|  |       <notice v-if="item.type == 'notice'" :res="item.options" /> | ||||||
|  |       <promotions v-if="item.type == 'promotionDetail'" :res="item.options" /> | ||||||
|       <!-- <joinGroup v-if="item.type == 'joinGroup'" :res="item.options" /> --> |       <!-- <joinGroup v-if="item.type == 'joinGroup'" :res="item.options" /> --> | ||||||
|       <!-- <integral v-if="item.type == 'integral'" :res="item.options" /> --> |       <!-- <integral v-if="item.type == 'integral'" :res="item.options" /> --> | ||||||
|       <!-- <spike v-if="item.type == 'spike'" :res="item.options" /> --> |       <!-- <spike v-if="item.type == 'spike'" :res="item.options" /> --> | ||||||
| 
 |  | ||||||
|     </div> |     </div> | ||||||
|     <u-no-network></u-no-network> |     <u-no-network></u-no-network> | ||||||
|   </div> |   </div> | ||||||
|  | @ -60,10 +76,8 @@ import tpl_goods from "@/pages/tabbar/home/template/tpl_goods"; //商品分类 | ||||||
| import { getFloorData } from "@/api/home"; //获取楼层装修接口 | import { getFloorData } from "@/api/home"; //获取楼层装修接口 | ||||||
| import permision from "@/js_sdk/wa-permission/permission.js"; //权限工具类 | import permision from "@/js_sdk/wa-permission/permission.js"; //权限工具类 | ||||||
| import config from "@/config/config"; | import config from "@/config/config"; | ||||||
| // TODO 后续开发 | import tpl_notice from "@/pages/tabbar/home/template/tpl_notice"; //标题栏模块 | ||||||
| // import tpl_join_group from "@/pages/tabbar/home/template/tpl_join_group"; | import tpl_promotions from "@/pages/tabbar/home/template/tpl_promotions_detail"; //标题栏模块 | ||||||
| // import tpl_integral from "@/pages/tabbar/home/template/tpl_integral"; |  | ||||||
| // import tpl_spike from "@/pages/tabbar/home/template/tpl_spike"; |  | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   data() { |   data() { | ||||||
|  | @ -90,9 +104,8 @@ export default { | ||||||
|     flexOne: tpl_flex_one, |     flexOne: tpl_flex_one, | ||||||
|     goods: tpl_goods, |     goods: tpl_goods, | ||||||
|     group: tpl_group, |     group: tpl_group, | ||||||
|     // spike: tpl_spike, |     notice: tpl_notice, | ||||||
|     // joinGroup: tpl_join_group, |     promotions: tpl_promotions, | ||||||
|     // integral: tpl_integral, |  | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   mounted() { |   mounted() { | ||||||
|  | @ -131,7 +144,7 @@ export default { | ||||||
| 
 | 
 | ||||||
|           // WX_CODE 为小程序码 |           // WX_CODE 为小程序码 | ||||||
|           if (res.scanType == "WX_CODE") { |           if (res.scanType == "WX_CODE") { | ||||||
|             console.log(res) |             console.log(res); | ||||||
|             uni.navigateTo({ |             uni.navigateTo({ | ||||||
|               url: `/${res.path}`, |               url: `/${res.path}`, | ||||||
|             }); |             }); | ||||||
|  |  | ||||||
|  | @ -5,9 +5,13 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|  | import configs from "@/config/config"; | ||||||
|  | import storage from "@/utils/storage"; | ||||||
| export default { | export default { | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|  |       configs, | ||||||
|  |       storage, | ||||||
|       webviewStyles: { |       webviewStyles: { | ||||||
|         progress: { |         progress: { | ||||||
|           color: this.$lightColor, |           color: this.$lightColor, | ||||||
|  | @ -17,7 +21,12 @@ export default { | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|   onLoad(params) { |   onLoad(params) { | ||||||
|     this.src = decodeURIComponent(params.src); |     params.IM | ||||||
|  |       ? (this.src = `${configs.imWebSrc}?token=${storage.getAccessToken()}&id=${ | ||||||
|  |           params.IM | ||||||
|  |         }`) | ||||||
|  |       : (this.src = decodeURIComponent(params.src)); | ||||||
|  |     console.log(this.src); | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
|  | @ -29,4 +38,4 @@ export default { | ||||||
|     margin: 0; |     margin: 0; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,95 @@ | ||||||
|  | <template> | ||||||
|  |    <u-modal v-model="show" cancelText="不同意" confirmText="同意" showCancelButton="btnShow" title="服务协议和隐私政策" @confirm="confirm" @cancel="cancel"> | ||||||
|  |     <view class="u-update-content"> | ||||||
|  |       请您务必审慎阅读,充分理解“服务协议”和“隐私政策”各条款, | ||||||
|  |       包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识, | ||||||
|  |       操作日志等信息用于分析,优化应用性能。 您可阅读你可阅读 | ||||||
|  |       <a @click="gotoLink">《服务协议》</a> | ||||||
|  |       和 | ||||||
|  |       <a @click="gotoB"> 《隐私政策》</a>了解详细信息。 | ||||||
|  |       如果您同意,请点击下面按钮开始接受我们的服务。 | ||||||
|  |     </view> | ||||||
|  |   </u-modal> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import storage from "@/utils/storage"; | ||||||
|  | export default { | ||||||
|  |   created() { | ||||||
|  |     //先进入 created | ||||||
|  |     // if (storage.getShow()) { | ||||||
|  |     //   //展示的话进入  true | ||||||
|  |     //   console.log(this.show); //如果上面没读缓存  此时 this.show 为true | ||||||
|  |     //   if (!this.show) { | ||||||
|  |     //     //如果等于 false 了 就跳到主页 | ||||||
|  |     //     this.show = storage.getShow(); //这里就为false | ||||||
|  |     //     setTimeout(() => { | ||||||
|  |     //       //然后这里就跳转到  首页 | ||||||
|  |     //       uni.reLaunch({ | ||||||
|  |     //         //跳转到 首页 | ||||||
|  |     //         url: "/pages/tabbar/home/index", | ||||||
|  |     //       }); | ||||||
|  |     //     }, 500); | ||||||
|  |     //   } | ||||||
|  |     // } | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       show: true, //展示 | ||||||
|  |       btnShow:true, | ||||||
|  |       a: "", | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   //   onReady() { | ||||||
|  |   //     this.show = true; | ||||||
|  |   //   }, | ||||||
|  |   methods: { | ||||||
|  |     gotoLink() { | ||||||
|  |       uni.navigateTo({ | ||||||
|  |         //点击跳转到浏览器 | ||||||
|  |         url: | ||||||
|  |           "/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371992704333905920", | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     gotoB() { | ||||||
|  |       uni.navigateTo({ | ||||||
|  |         url: | ||||||
|  |           "/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371779927900160000", | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |      //取消 | ||||||
|  |     cancel(){ | ||||||
|  |       // #ifdef APP-PLUS | ||||||
|  | 		 	 const threadClass = plus.ios.importClass("NSThread"); | ||||||
|  | 		 	 const mainThread = plus.ios.invoke(threadClass, "mainThread"); | ||||||
|  | 		 	 plus.ios.invoke(mainThread, "exit") | ||||||
|  | 		 // #endif | ||||||
|  |     }, | ||||||
|  |     confirm() { | ||||||
|  |       //点击 | ||||||
|  |       this.show = false; // 让这个框为false | ||||||
|  |       storage.setShow(this.show); //存入缓存 | ||||||
|  |       if (!this.show) { | ||||||
|  |         // 他如果 不展示  就跳转到主页 | ||||||
|  |         setTimeout(() => { | ||||||
|  |           uni.reLaunch({ | ||||||
|  |             //跳转到 首页 | ||||||
|  |             url: "/pages/tabbar/home/index", | ||||||
|  |           }); | ||||||
|  |         }, 500); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .u-update-content { | ||||||
|  |   font-size: 26rpx; | ||||||
|  |   padding: 30rpx; | ||||||
|  | } | ||||||
|  | a { | ||||||
|  |   text-decoration: blue; | ||||||
|  |   color: blue; | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  | @ -854,7 +854,7 @@ function downloadPopup(data, callback, cancelCallback, rebootCallback) { | ||||||
| export default function (isPrompt = false) { | export default function (isPrompt = false) { | ||||||
|   getCurrentNo((version) => { |   getCurrentNo((version) => { | ||||||
|     getServerNo((res) => { |     getServerNo((res) => { | ||||||
|       if (res.versionCode.replace(/\./g, "") <= version.versionCode) { |       if (res.versionCode.replace(/\./g, "") <= version.version) { | ||||||
|         return false; |         return false; | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -18,7 +18,16 @@ export default { | ||||||
|   getHotWords() { |   getHotWords() { | ||||||
|     return uni.getStorageSync(`hotWords`); |     return uni.getStorageSync(`hotWords`); | ||||||
|   }, |   }, | ||||||
| 
 |   //写入 展示还是不展示
 | ||||||
|  |   setShow(val) { | ||||||
|  |     uni.setStorageSync("show", val); | ||||||
|  |   }, | ||||||
|  |   getShow() { | ||||||
|  |     if (uni.getStorageSync(`show`) === "" || uni.getStorageSync(`show`) === undefined) { | ||||||
|  |       return true; | ||||||
|  |     } | ||||||
|  |     return uni.getStorageSync(`show`); | ||||||
|  |   }, | ||||||
|   // 获取face id登录
 |   // 获取face id登录
 | ||||||
|   getFaceLogin() { |   getFaceLogin() { | ||||||
|     return uni.getStorageSync(FACE_LOGIN); |     return uni.getStorageSync(FACE_LOGIN); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue