rk
2026-03-23 bf7b975c7ebe94ac801d72671cefc4d6ec01d56e
mini-program/pages/confirm-order/confirm-order.vue
@@ -89,23 +89,23 @@
            <view class="info-item">
               <view class="info-item-label">商品总价</view>
               <view class="info-item-price">
                  <text>{{orderInfo.amount}}</text>
                  <text>{{((orderInfo.amount || 0)-(orderInfo.mailAmount || 0)).toFixed(2)}}</text>
               </view>
            </view>
            <view class="info-item">
               <view class="info-item-label">运费</view>
               <view class="info-item-price1">¥{{orderInfo.mailAmount}}</view>
            </view>
            <view class="info-item">
            <view class="info-item" @click="show = true">
               <view class="info-item-label">优惠券</view>
               <view class="info-item-price1" @click="show = true">
               <view class="info-item-price1">
                  -¥{{orderInfo.couponAmount}}
                  <image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
               </view>
            </view>
            <view class="info-item">
            <view class="info-item" @click="show1 = true">
               <view class="info-item-label">积分抵扣</view>
               <view class="info-item-price1" @click="show1 = true">
               <view class="info-item-price1">
                  -¥{{orderInfo.integralAmount}}
                  <image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
               </view>
@@ -113,7 +113,7 @@
            <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>{{orderInfo.payAmount}}</text>
                  <text>{{(orderInfo.payAmount || 0).toFixed(2)}}</text>
               </view>
            </view>
         </view>
@@ -160,6 +160,7 @@
               </view>
            </scroll-view>
            <view class="coupon-btn" @click="confirmCoupon">确定</view>
            <view style="width: 100%; height: 30rpx;"></view>
         </view>
      </u-popup>
      <!-- 积分 -->
@@ -178,6 +179,7 @@
               </view>
            </view>
            <view class="coupon-btn" @click="confirmJF">确定</view>
            <view style="width: 100%; height: 30rpx;"></view>
         </view>
      </u-popup>
      <!-- 门店 -->
@@ -199,7 +201,7 @@
                  <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>
                           <image :src="item.imgFullUrl || '/static/icon/default2.png'" mode="widthFix"></image>
                        </view>
                        <view class="dian-top-info">
                           <view class="dian-top-info-title">
@@ -261,13 +263,14 @@
            useIntegralCopy: 0,
            useIntegral: 0,
            receiveType: 0,
            couponId: null,
            couponId: -1,
            shopId: null,
            payDetailRequestList: [],
            shopList: [],
            isPosition: true,
            lat: '',
            lgt: '',
            loading: false,
         };
      },
      onLoad(option) {
@@ -283,6 +286,9 @@
         uni.$on('city', (data) => {
            this.cityName = data
            this.getShopLists()
         })
         uni.$on('addressDele', (data) => {
            this.getDefaultAddr()
         })
         this.getDefaultAddr()
      },
@@ -406,6 +412,8 @@
               title: '请选择门店',
               icon: 'none'
            })
            if (this.loading) return;
            this.loading = true
            this.$u.api.orderPay({
               addressId: this.addr ? this.addr.id : null,
               couponId: this.couponId,
@@ -419,6 +427,7 @@
               if (res.code === 200) {
                  // 积分抵扣
                  if (res.data.payType === 1) {
                     uni.$emit('shuaxin')
                     uni.redirectTo({
                        url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
                     })
@@ -430,17 +439,24 @@
                        signType: res.data.response.signType,
                        paySign: res.data.response.paySign,
                        success (pay) {
                           uni.$emit('shuaxin')
                           if (pay.errMsg === "requestPayment:ok") {
                              uni.redirectTo({
                                 url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
                              })
                           } else {
                              uni.showToast({ title: '订单取消支付', icon: 'none' })
                           }
                        },
                        fail (err) {
                           uni.$emit('shuaxin')
                           uni.redirectTo({
                              url: '/pagesA/pages/order/order?userType=0&status=1'
                           })
                        }
                     })
                  }
               }
            }).finally(() => {
               this.loading = false
            })
         },
         // 确定使用积分
@@ -454,6 +470,8 @@
            let arr = this.orderInfo.memberCouponList.filter(item => item.active)
            if (arr.length > 0) {
               this.couponId = arr[0].id
            } else {
               this.couponId = null
            }
            this.show = false
            this.getOrderInfo()
@@ -461,7 +479,11 @@
         // 选择优惠券
         selectCoupon(i) {
            this.orderInfo.memberCouponList.forEach((item, index) => {
               item.active = index === i
               if (index === i) {
                  item.active = !item.active
               } else {
                  item.active = false
               }
            })
         },
         // 获取订单详细信息
@@ -478,7 +500,11 @@
                     res.data.memberCouponList = []
                  } else {
                     res.data.memberCouponList.forEach(item => {
                        item.active = false
                        if (res.data.memberCoupon) {
                           item.active = item.id === res.data.memberCoupon.id
                        } else {
                           item.active = false
                        }
                     })
                  }
                  this.orderInfo = res.data
@@ -699,7 +725,7 @@
            font-weight: 500;
            font-size: 32rpx;
            color: #FFFFFF;
            margin-top: 60rpx;
            margin: 60rpx 0 30rpx 0;
         }
         .coupon-content {
            width: 100%;
@@ -1060,6 +1086,11 @@
               flex-direction: column;
               justify-content: space-between;
               .item-info-title {
                  width: 100%;
                  display: -webkit-box;
                  -webkit-box-orient: vertical;
                  -webkit-line-clamp: 2;
                  overflow: hidden;
                  font-weight: 400;
                  font-size: 30rpx;
                  color: #222222;