From 0a206f3acb9af0ec9db650861d34a256cda1c960 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 26 二月 2026 17:48:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 mini-program/pages/confirm-order/confirm-order.vue |  595 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 483 insertions(+), 112 deletions(-)

diff --git a/mini-program/pages/confirm-order/confirm-order.vue b/mini-program/pages/confirm-order/confirm-order.vue
index d5db9c4..0b07b24 100644
--- a/mini-program/pages/confirm-order/confirm-order.vue
+++ b/mini-program/pages/confirm-order/confirm-order.vue
@@ -1,71 +1,85 @@
 <template>
-	<view class="box">
+	<view class="box" v-if="orderInfo">
 		<view class="box-addr">
 			<view class="box-addr-list">
-				<view class="box-addr-list-row active">
+				<view @click="changeOrderType(0)" :class="receiveType === 0 ? 'box-addr-list-row active' : 'box-addr-list-row'">
 					<image src="/static/icon/ic_wuliu_sel@2x.png" mode="widthFix"></image>
 					<text>鐗╂祦閰嶉��</text>
 				</view>
-				<view class="box-addr-list-row">
+				<view @click="changeOrderType(1)" :class="receiveType === 1 ? 'box-addr-list-row active' : 'box-addr-list-row'">
 					<image src="/static/icon/ic_daodian@2x.png" mode="widthFix"></image>
 					<text>闂ㄥ簵鑷彁</text>
 				</view>
 			</view>
 			<!-- 鐗╂祦閰嶉�� -->
-			<!-- <view class="box-addr-val">
+			<view class="box-addr-val" v-if="receiveType === 0">
 				<image class="icon1" src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
-				<view class="info">
-					<view class="info-top">
-						<text>鏉庨噾骞�</text>
-						<text>181777889338</text>
-					</view>
-					<view class="info-bottom">
-						瀹夊窘鐪佸悎鑲ュ競缁忓紑鍖烘澗璋疯矾鍑ゅ嚢鍥介檯B搴�808 璞嗙背绉戞妧鏈夐檺鍏徃
+				<view class="info" @click="jumpAddr">
+					<template v-if="addr">
+						<view class="info-top">
+							<text>{{addr.name}}</text>
+							<text>{{addr.phone}}</text>
+						</view>
+						<view class="info-bottom">
+							{{addr.areaDetail}}{{addr.addr}}
+						</view>
+					</template>
+					<view class="info-wu" v-else>
+						<text>閫夋嫨鍦板潃</text>
+						<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
 				</view>
-				<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
-			</view> -->
+				<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix" v-if="addr"></image>
+			</view>
 			<!-- 闂ㄥ簵鑷彁 -->
-			<view class="box-addr-val">
-				<image class="icon1" src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
-				<view class="info">
-					<view class="info-top">
-						<text>XXX缁忛攢鍟�</text>
-					</view>
-					<view class="info-bottom">
-						瀹夊窘鐪佸悎鑲ュ競缁忓紑鍖烘澗璋疯矾鍑ゅ嚢鍥介檯B搴�808瀹�
+			<template v-if="receiveType === 1">
+				<view class="box-addr-val" @click="openShop">
+					<image class="icon1" src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
+					<template v-if="shopId">
+						<view class="info">
+							<view class="info-top">
+								<text>{{shopId.name}}</text>
+							</view>
+							<view class="info-bottom">
+								{{shopId.addr}}
+							</view>
+						</view>
+						<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
+					</template>
+					<view class="info-wu" v-else>
+						<text>閫夋嫨闂ㄥ簵</text>
+						<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
 				</view>
-				<image class="icon2" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
-			</view>
-			<view class="box-addr-time">
-				<text>钀ヤ笟鏃堕棿锛�</text>
-				<text>鍛ㄤ竴鑷冲懆浜� 09:00-19:00</text>
-			</view>
-			<view class="box-addr-dz">
-				<view class="box-addr-dz-left">
-					<text>鑱旂郴鐢佃瘽锛�</text>
-					<text>0551-87899903</text>
+				<view class="box-addr-time" v-if="shopId">
+					<text>钀ヤ笟鏃堕棿锛�</text>
+					<text>{{shopId.startTime}}</text>
 				</view>
-				<view class="box-addr-dz-r">
-					<image src="/static/icon/ic_address@2x.png" mode="widthFix"></image>
-					<text>1.3km</text>
+				<view class="box-addr-dz" v-if="shopId">
+					<view class="box-addr-dz-left" @click="show3 = true">
+						<text>鑱旂郴鐢佃瘽锛�</text>
+						<text>{{shopId.phone}}</text>
+					</view>
+					<view class="box-addr-dz-r">
+						<image src="/static/icon/ic_address@2x.png" mode="widthFix"></image>
+						<text>{{shopId.distance}}km</text>
+					</view>
 				</view>
-			</view>
+			</template>
 		</view>
 		<view class="box-shop">
-			<view class="item">
+			<view class="item" v-for="(item, index) in orderInfo.goodsCalculateList" :key="index">
 				<view class="item-image">
-					<image src="/static/logo.png" mode="widthFix"></image>
+					<image :src="item.skuImg" mode="widthFix"></image>
 				</view>
 				<view class="item-info">
-					<view class="item-info-title">涓仈鑹剧瀹介娇 閫傜敤闆锋矁/涓仈/涔呬繚鐢�</view>
+					<view class="item-info-title">{{item.name}}</view>
 					<view class="item-info-bottom">
-						<view class="price">楼499.00</view>
+						<view class="price">楼{{item.skuAmount}}</view>
 						<view class="num">
-							<view class="num-add">-</view>
-							<view class="num-total">0</view>
-							<view class="num-add">+</view>
+							<!-- <view class="num-add">-</view> -->
+							<view class="num-total">鏁伴噺锛歿{item.goodsNum}}</view>
+							<!-- <view class="num-add">+</view> -->
 						</view>
 					</view>
 				</view>
@@ -75,166 +89,424 @@
 				<view class="info-item">
 					<view class="info-item-label">鍟嗗搧鎬讳环</view>
 					<view class="info-item-price">
-						<text>897</text>
-						<text>.00</text>
+						<text>{{orderInfo.amount}}</text>
 					</view>
 				</view>
 				<view class="info-item">
 					<view class="info-item-label">杩愯垂</view>
-					<view class="info-item-price1">楼10.00</view>
+					<view class="info-item-price1">楼{{orderInfo.mailAmount}}</view>
 				</view>
 				<view class="info-item">
 					<view class="info-item-label">浼樻儬鍒�</view>
-					<view class="info-item-price1">
-						-楼100.00
+					<view class="info-item-price1" @click="show = true">
+						-楼{{orderInfo.couponAmount}}
 						<image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
 				</view>
 				<view class="info-item">
 					<view class="info-item-label">绉垎鎶垫墸</view>
-					<view class="info-item-price1">
-						-楼10.00
+					<view class="info-item-price1" @click="show1 = true">
+						-楼{{orderInfo.integralAmount}}
 						<image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
 				</view>
 				<view class="info-item">
 					<view class="info-item-label" style="color: #222222; font-size: 30rpx; font-weight: 600;">搴斾粯娆�</view>
 					<view class="info-item-price2">
-						<text>797</text>
-						<text>.00</text>
+						<text>{{orderInfo.payAmount}}</text>
 					</view>
 				</view>
 			</view>
 		</view>
 		<view class="remark">
 			<view class="remark-label">璁㈠崟澶囨敞</view>
-			<input type="text" placeholder="璇疯緭鍏ュ娉�" />
+			<input type="text" v-model="remark" placeholder="璇疯緭鍏ュ娉�" />
 		</view>
 		<view class="play">
 			<view class="play-info">
 				<image src="/static/icon/order_ic_wepay@2x.png" mode="widthFix"></image>
 				<text>寰俊鏀粯</text>
 			</view>
-			<image src="/static/icon/ic_agree@2x.png" mode=""></image>
+			<image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix"></image>
 		</view>
 		<view class="footer">
 			<view class="edit">
-				<view class="edit-btn">绔嬪嵆鏀粯 楼799.00</view>
+				<view class="edit-btn" @click="payment">绔嬪嵆鏀粯 楼{{orderInfo.payAmount}}</view>
 			</view>
 			<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
 		</view>
 		<!-- 浼樻儬鍒� -->
-		<u-popup :show="show" round="15" :closeable="true" mode="bottom">
+		<u-popup :show="show" round="15" :closeable="true" @close="show = false" mode="bottom">
 			<view class="coupon">
 				<view class="coupon-title">閫夋嫨浼樻儬鍒�</view>
-				<view class="coupon-list">
-					<view class="coupon-list-item">
-						<view class="jiage">
-							<text>100</text>
-							<text>婊�300鍙敤</text>
+				<scroll-view scroll-y class="coupon-list">
+					<view class="coupon-list-item" v-for="(item, index) in orderInfo.memberCouponList" :key="index" @click="selectCoupon(index)">
+						<view class="jiage" v-if="item.couponType === 0">
+							<text>{{item.price}}</text>
+							<text>婊{item.limitPrice}}鍙敤</text>
+						</view>
+						<view class="jiage1" v-if="item.couponType === 1">
+							<text>{{item.price}}</text>
+							<text>婊{item.limitPrice}}鍙敤</text>
 						</view>
 						<view class="juaninfo">
 							<view class="juaninfo-info">
-								<text>鏂板涓撲韩</text>
-								<text>2020.5.25 鏃ュ埌鏈�</text>
+								<text>{{item.name}}</text>
+								<text>{{item.endDate.substring(0, 10)}} 鏃ュ埌鏈�</text>
 							</view>
-							<image src="/static/icon/ic_agree@2x.png" mode="widthFix"></image>
+							<image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-if="!item.active"></image>
+							<image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix" v-else></image>
 						</view>
 					</view>
-					<view class="coupon-list-item disable">
-						<view class="jiage">
-							<text>100</text>
-							<text>婊�300鍙敤</text>
-						</view>
-						<view class="juaninfo">
-							<view class="juaninfo-info">
-								<text>鏂板涓撲韩</text>
-								<text>2020.5.25 鏃ュ埌鏈�</text>
-							</view>
-							<image src="/static/icon/ic_agree@2x.png" mode="widthFix"></image>
-						</view>
-					</view>
-				</view>
-				<view class="coupon-btn">纭畾</view>
+				</scroll-view>
+				<view class="coupon-btn" @click="confirmCoupon">纭畾</view>
 			</view>
 		</u-popup>
 		<!-- 绉垎 -->
-		<u-popup :show="show1" round="15" :closeable="true" mode="bottom">
+		<u-popup :show="show1" round="15" @close="show1 = false" :closeable="true" mode="bottom">
 			<view class="coupon">
 				<view class="coupon-title">浣跨敤绉垎</view>
 				<view class="coupon-content">
 					<view class="coupon-content-a">
 						<text>褰撳墠绉垎锛�</text>
-						<text>1200</text>
+						<text>{{orderInfo.surplusIntegral || 0}}</text>
 					</view>
-					<view class="coupon-content-b">
-						<text>鏈崟鍙敤绉垎锛�1000</text>
-						<image src="/static/icon/ic_agree_sel@2x.png" mode="widthFix"></image>
+					<view class="coupon-content-b" @click="useIntegralCopy = useIntegralCopy === 1 ? 0 : 1">
+						<text>鏈崟鍙敤绉垎锛歿{orderInfo.deductIntegral}}</text>
+						<image src="/static/icon/ic_agree_sel@2x.png" mode="widthFix" v-if="useIntegralCopy === 1"></image>
+						<image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-else></image>
 					</view>
 				</view>
-				<view class="coupon-btn">纭畾</view>
+				<view class="coupon-btn" @click="confirmJF">纭畾</view>
 			</view>
 		</u-popup>
 		<!-- 闂ㄥ簵 -->
-		<u-popup :show="show2" round="15" :closeable="true" mode="bottom">
+		<u-popup :show="show2" round="15" @close="show2 = false" :closeable="true" mode="bottom">
 			<view class="coupon">
 				<view class="coupon-title">閫夋嫨闂ㄥ簵</view>
-				<view class="coupon-search">
-					<view class="coupon-search-city">
-						<text>鍚堣偉甯�</text>
+				<view class="coupon-search" v-if="isPosition">
+					<view class="coupon-search-city" @click="jumpCity">
+						<text>{{cityName}}</text>
 						<u-icon name="arrow-down" color="#999999" size="13"></u-icon>
 					</view>
 					<view class="coupon-search-input">
 						<u-search placeholder="杈撳叆闂ㄥ簵鍚嶇О" height="35" searchIconColor="#999999" borderColor="#eeeeee"
-							bgColor="#F9F9FB" :showAction="false" v-model="keyword" />	
+							bgColor="#F9F9FB" :showAction="false" v-model="shopName" @search="getShopLists" />	
 					</view>
 				</view>
 				<scroll-view scroll-y>
-					<view class="dian active" v-for="(item, index) in 10" :key="index">
-						<view class="dian-top">
-							<view class="dian-top-image">
-								<image src="/static/logo.png" mode="widthFix"></image>
-							</view>
-							<view class="dian-top-info">
-								<view class="dian-top-info-title">
-									<text>XXX缁忛攢鍟�</text>
-									<text>璺濈1.2km</text>
+					<template v-if="isPosition">
+						<view :class="item.active ? 'dian active' : 'dian'" @click="seleShop(index)" v-for="(item, index) in shopList" :key="index">
+							<view class="dian-top">
+								<view class="dian-top-image">
+									<image :src="item.imgFullUrl" mode="widthFix"></image>
 								</view>
-								<view class="dian-top-info-val">闄垫硥璺�358鍙风孩鏄熺編鍑緳A棣�3妤间腑澶數姊梺P2301-P2308</view>
+								<view class="dian-top-info">
+									<view class="dian-top-info-title">
+										<text>{{item.name}}</text>
+										<text>璺濈{{item.distance}}km</text>
+									</view>
+									<view class="dian-top-info-val">{{item.addr}}</view>
+								</view>
+							</view>
+							<view class="dian-bottom">
+								<text>钀ヤ笟鏃堕棿锛歿{item.startTime}}</text>
+								<view class="dian-bottom-icon">
+									<image src="/static/icon/ic_phonecall@2x.png" mode="widthFix" @click="dianhua(item.phone)"></image>
+									<image src="/static/icon/ic_distance@2x.png" mode="widthFix" @click="openLoation(item)"></image>
+								</view>
 							</view>
 						</view>
-						<view class="dian-bottom">
-							<text>钀ヤ笟鏃堕棿锛氬懆涓�鑷冲懆浜� 09:30-17:00</text>
-							<view class="dian-bottom-icon">
-								<image src="/static/icon/ic_phonecall@2x.png" mode="widthFix"></image>
-								<image src="/static/icon/ic_distance@2x.png" mode="widthFix"></image>
-							</view>
+					</template>
+					<template v-else>
+						<view class="wushuju">
+							<image src="/static/images/img_dingwei@2x.png" mode="widthFix"></image>
+							<view class="wushuju-a">瀹氫綅澶辫触</view>
+							<view class="wushuju-b">璇峰紑鍚畾浣嶈幏鍙栦綅缃俊鎭�</view>
+							<view class="wushuju-c" @click="goToAppSetting">寮�鍚畾浣�</view>
 						</view>
-					</view>
+					</template>
 				</scroll-view>
-				<view class="coupon-btn">纭畾閫夋嫨</view>
+				<view class="coupon-btn" v-if="isPosition" @click="confirmMD">纭畾閫夋嫨</view>
 			</view>
 		</u-popup>
 		<!-- 鑱旂郴鐢佃瘽 -->
-		<u-popup :show="show3" round="15" :closeable="true" mode="bottom">
+		<u-popup :show="show3" round="15" @close="show3 = false" :closeable="true" mode="bottom">
 			<view class="coupon">
 				<view class="coupon-title">鑱旂郴鐢佃瘽</view>
-				<view class="coupon-phone">0551-87899903</view>
+				<view class="coupon-phone" @click="dianhua(shopId.phone)">{{shopId.phone}}</view>
 			</view>
 		</u-popup>
 	</view>
 </template>
 
 <script>
+	var QQMapWX = require('@/utils/qqmap-wx-jssdk.js')
+	import { mapState } from 'vuex'
 	export default {
+		computed: {
+			...mapState(['position'])
+		},
 		data() {
 			return {
 				show: false,
 				show1: false,
 				show2: false,
-				show3: true,
-				keyword: ''
+				show3: false,
+				shopName: '',
+				orderInfo: null,
+				addr: null,
+				remark: '',
+				cityName: '',
+				useIntegralCopy: 0,
+				useIntegral: 0,
+				receiveType: 0,
+				couponId: null,
+				shopId: null,
+				payDetailRequestList: [],
+				shopList: [],
+				isPosition: true,
+				lat: '',
+				lgt: '',
 			};
+		},
+		onLoad(option) {
+			const shop = uni.getStorageSync('shop');
+			if (shop) {
+				this.payDetailRequestList = shop
+				uni.removeStorageSync('shop');
+			}
+			uni.$on('update', (data) => {
+				this.addr = data
+				this.getOrderInfo()
+			})
+			uni.$on('city', (data) => {
+				this.cityName = data
+				this.getShopLists()
+			})
+			this.getDefaultAddr()
+		},
+		methods: {
+			goToAppSetting() {
+				var that = this;
+			    uni.openSetting({
+			        success: (res) => {
+						if (res.authSetting['scope.userLocation']) {
+							this.isPosition = true
+							that.positioning()
+						}
+			        }
+			    });
+			},
+			// 瀹氫綅
+			positioning() {
+				var that = this;
+				uni.getLocation({
+					type: 'gcj02',
+					highAccuracyExpireTime: 3000,
+					isHighAccuracy: true,
+					success: function (addr) {
+						const locParam = { latitude: addr.latitude, longitude: addr.longitude };
+						const qqmapsdk = new QQMapWX({
+							key: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'
+						});
+						qqmapsdk.reverseGeocoder({
+							locParam,
+							success: function(res) {
+								that.cityName = res.result.ad_info.city
+								that.lat = res.result.location.lat
+								that.lgt = res.result.location.lng
+								that.getShopLists(1)
+							},
+							fail: (err) => {
+								console.error('鑾峰彇浣嶇疆澶辫触===========', err);
+							}
+						});
+					}
+				});
+			},
+			
+			jumpCity() {
+				uni.navigateTo({
+					url: '/pages/select-city/select-city'
+				})
+			},
+			openShop() {
+				// 妫�鏌ョ敤鎴锋槸鍚﹀凡缁忔巿鏉冧綅缃潈闄�
+				uni.getSetting({
+					success: (res) => {
+						if (res.authSetting['scope.userLocation']) {
+							// 鐢ㄦ埛宸叉巿鏉冧綅缃潈闄�
+							this.isPosition = true
+							this.positioning()
+						} else {
+							// 鐢ㄦ埛鏈巿鏉冧綅缃潈闄�
+							this.isPosition = false
+							this.show2 = true
+							// this.getShopLists(1)
+						}
+					}
+				});
+			},
+			// 鎵撶數璇�
+			dianhua(phoneNumber) {
+				uni.makePhoneCall({
+					phoneNumber
+				})
+			},
+			// 鎵撳紑浣嶇疆
+			openLoation(item) {
+				uni.openLocation({
+					latitude: item.latitude,
+					longitude: item.longitude,
+					name: item.name,
+					address: item.addr
+				})
+			},
+			seleShop(index) {
+				this.shopList.forEach((item, i) => {
+					item.active = index === i
+				})
+			},
+			confirmMD() {
+				if (this.shopList.filter(item => item.active).length === 0) return uni.showToast({
+					title: '璇烽�夋嫨闂ㄥ簵',
+					icon: 'none'
+				})
+				this.shopId = this.shopList.filter(item => item.active)[0]
+				this.show2 = false
+			},
+			// 鑾峰彇闄勮繎闂ㄥ簵
+			getShopLists(type) {
+				this.$u.api.getShopList({
+					cityName: this.cityName,
+					lat: this.lat,
+					lgt: this.lng,
+					shopName: this.shopName
+				}).then(res => {
+					if (res.code === 200) {
+						res.data.forEach(item => {
+							item.active = false
+						})
+						this.shopList = res.data
+						if (type === 1) {
+							this.show2 = true
+						}
+					}
+				})
+			},
+			// 鏀粯
+			payment() {
+				var that = this;
+				this.$u.api.orderPay({
+					addressId: this.addr ? this.addr.id : null,
+					couponId: this.couponId,
+					payDetailRequestList: this.payDetailRequestList,
+					receiveType: this.receiveType,
+					useIntegral: this.useIntegral,
+					remark: this.remark,
+					titlePrice: this.orderInfo.payAmount,
+					shopId: this.shopId ? this.shopId.id : null
+				}).then(res => {
+					if (res.code === 200) {
+						// 绉垎鎶垫墸
+						if (res.data.payType === 1) {
+							// if (this.receiveType === 0) {
+								uni.redirectTo({
+									url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
+								})
+							// } else {
+							// 	uni.reLaunch({
+							// 		url: `/pages/payment-successful/payment-successful?id=${res.data.orderId}&userType=0`
+							// 	})
+							// }
+						} else {
+							wx.requestPayment({
+								timeStamp: res.data.response.timeStamp,
+								nonceStr: res.data.response.nonceStr,
+								package: res.data.response.packageValue,
+								signType: res.data.response.signType,
+								paySign: res.data.response.paySign,
+								success (pay) {
+									if (pay.errMsg === "requestPayment:ok") {
+										// if (that.receiveType === 0) {
+											uni.redirectTo({
+												url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
+											})
+										// } else {
+										// 	uni.reLaunch({
+										// 		url: `/pages/payment-successful/payment-successful?id=${res.data.orderId}&userType=0`
+										// 	})
+										// }
+									} else {
+										uni.showToast({ title: '璁㈠崟鍙栨秷鏀粯', icon: 'none' })
+									}
+								}
+							})
+						}
+					}
+				})
+			},
+			// 纭畾浣跨敤绉垎
+			confirmJF() {
+				this.useIntegral = this.useIntegralCopy
+				this.show1 = false
+				this.getOrderInfo()
+			},
+			// 纭畾閫夋嫨浼樻儬鍒�
+			confirmCoupon() {
+				let arr = this.orderInfo.memberCouponList.filter(item => item.active)
+				if (arr.length > 0) {
+					this.couponId = arr[0].id
+				}
+				this.show = false
+				this.getOrderInfo()
+			},
+			// 閫夋嫨浼樻儬鍒�
+			selectCoupon(i) {
+				this.orderInfo.memberCouponList.forEach((item, index) => {
+					item.active = index === i
+				})
+			},
+			// 鑾峰彇璁㈠崟璇︾粏淇℃伅
+			getOrderInfo() {
+				this.$u.api.orderPayConfirm({
+					addressId: this.addr ? this.addr.id : null,
+					couponId: this.couponId,
+					payDetailRequestList: this.payDetailRequestList,
+					receiveType: this.receiveType,
+					useIntegral: this.useIntegral
+				}).then(res => {
+					if (res.code === 200) {
+						if (!res.data.memberCouponList) {
+							res.data.memberCouponList = []
+						} else {
+							res.data.memberCouponList.forEach(item => {
+								item.active = false
+							})
+						}
+						this.orderInfo = res.data
+					}
+				})
+			},
+			changeOrderType(type) {
+				this.receiveType = type
+				this.getOrderInfo()
+			},
+			jumpAddr() {
+				uni.navigateTo({
+					url: '/pages/address/address?type=1'
+				})
+			},
+			getDefaultAddr() {
+				this.$u.api.findDefault()
+					.then(res => {
+						if (res.code === 200) {
+							this.addr = res.data
+							this.getOrderInfo()
+						}
+					})
+			}
 		}
 	}
 </script>
@@ -252,7 +524,43 @@
 			box-sizing: border-box;
 			scroll-view {
 				width: 100%;
-				max-height: 65vh;
+				height: 65vh;
+				.wushuju {
+					width: 100%;
+					height: 100%;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					justify-content: center;
+					image {
+						width: 140rpx;
+						height: 140rpx;
+					}
+					.wushuju-a {
+						font-weight: 600;
+						font-size: 30rpx;
+						color: #111111;
+						margin-top: 20rpx;
+					}
+					.wushuju-b {
+						font-weight: 400;
+						font-size: 26rpx;
+						color: #999999;
+						margin-top: 20rpx;
+					}
+					.wushuju-c {
+						width: 168rpx;
+						height: 72rpx;
+						line-height: 72rpx;
+						font-weight: 500;
+						font-size: 26rpx;
+						color: #FFFFFF;
+						text-align: center;
+						background: #004096;
+						border-radius: 44rpx;
+						margin-top: 40rpx;
+					}
+				}
 				.active {
 					border: 2rpx solid #004096 !important;
 					background: #E8F2FF !important;
@@ -434,6 +742,7 @@
 			}
 			.coupon-list {
 				width: 100%;
+				max-height: 600rpx;
 				display: flex;
 				flex-direction: column;
 				.disable {
@@ -481,6 +790,35 @@
 								color: #E4001D;
 								&::before {
 									content: '锟�';
+									font-weight: 600;
+									font-size: 24rpx;
+									color: #E4001D;
+								}
+							}
+							&:nth-child(2) {
+								font-weight: 400;
+								font-size: 24rpx;
+								color: #E93047;
+								margin-top: 8rpx;
+							}
+						}
+					}
+					.jiage1 {
+						flex-shrink: 0;
+						width: 208rpx;
+						height: 100%;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						justify-content: center;
+						border-right: 1rpx dashed #E3C1C1;
+						text {
+							&:nth-child(1) {
+								font-weight: 600;
+								font-size: 44rpx;
+								color: #E4001D;
+								&::after {
+									content: '鎶�';
 									font-weight: 600;
 									font-size: 24rpx;
 									color: #E4001D;
@@ -868,6 +1206,7 @@
 				}
 				.info {
 					flex: 1;
+					min-height: 48rpx;
 					display: flex;
 					flex-direction: column;
 					.info-top {
@@ -893,6 +1232,22 @@
 						color: #333333;
 						margin-top: 14rpx;
 					}
+					.info-wu {
+						flex: 1;
+						height: 100%;
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						text {
+							font-weight: 400;
+							font-size: 30rpx;
+							color: #333333;
+						}
+						image {
+							width: 16rpx;
+							margin: 0 !important;
+						}
+					}
 				}
 				.icon2 {
 					flex-shrink: 0;
@@ -901,6 +1256,22 @@
 					margin-left: 40rpx;
 					margin-top: 55rpx;
 				}
+				.info-wu {
+					flex: 1;
+					height: 48rpx;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					text {
+						font-weight: 400;
+						font-size: 30rpx;
+						color: #333333;
+					}
+					image {
+						width: 16rpx;
+						margin: 0 !important;
+					}
+				}
 			}
 		}
 	}

--
Gitblit v1.9.3