xuxueyang
2024-10-18 0512f40da106268ac342377256cf9099d7f90b3e
sub_pages/customer/shopping/confirm.vue
@@ -23,21 +23,41 @@
            if (this.dto.couponRecordId && this.cache_coupon) {
               //计算优惠券
               if (this.cache_coupon.couponDiscountType === 'zero') {
                  return this.cache_coupon.couponDiscountValue || 0
                  return parseFloat(this.cache_coupon.couponDiscountValue).toFixed(2) || 0
               } else if (this.cache_coupon.minOrderAmount && this.cache_coupon.minOrderAmount > 0) {
                  var total = ((this.dto.totalMemberAmount || this.dto.totalAmount || 0) + (this.dto.packing || 0) +
                        (this.current_transport.fee ||
                           0) || 0)
                     .toFixed(2)
                  var total = (this.dto.totalMemberAmount || this.dto.totalAmount || 0).toFixed(2)
                  // + (this.dto.packing || 0) +
                  //    (this.current_transport.fee ||
                  //       0) || 0)
                  // .toFixed(2)
                  if (total >= this.cache_coupon.minOrderAmount) {
                     return this.cache_coupon.couponDiscountValue || 0
                     return parseFloat(this.cache_coupon.couponDiscountValue).toFixed(2) || 0
                  } else {
                  }
               } else {
                  return this.cache_coupon.couponDiscountValue || 0
                  return parseFloat(this.cache_coupon.couponDiscountValue).toFixed(2) || 0
               }
            }
            return 0
         },
         order_fee() {
            // 如果订单-优惠券<0,就等于0 +打包+运费,如果还等于0,那么就0.01
            var m1 = parseFloat(this.dto.totalMemberAmount || this.dto.totalAmount || 0)
            var m2 = parseFloat((this.dto.packing || 0) + (this.current_transport.fee || 0))
            if (m1 <= parseFloat(this.coupon_fee)) {
               if (m2 > 0) {
                  return (m2).toFixed(2)
               } else {
                  return '0.01'
               }
            } else {
               return ((m1 - parseFloat(this.coupon_fee)) + m2).toFixed(2)
            }
         }
      },
@@ -47,6 +67,46 @@
      },
      async onShow() {
         // 支付回调
         // #ifdef PUB_CUSTOMER
         if (this.sign['cache_topay']) {
            let options = wx.getEnterOptionsSync();
            if (options.scene == '1038' && options.referrerInfo.appId == 'wxef277996acc166c3') {
               // 代表从收银台小程序返回
               let extraData = options.referrerInfo.extraData;
               // if (!extraData) {
               //    // "当前通过物理按键返回,未接收到返参,建议自行查询交易结果";
               // } else {
               //    if (extraData.code == 'success') {
               //       // "支付成功";
               //    } else if (extraData.code == 'cancel') {
               //       // "支付已取消";
               //       this.$message.showToast("支付已取消" + extraData.errmsg)
               //    } else {
               //       // "支付失败:" + extraData.errmsg;
               //       this.$message.showToast("支付失败:" + extraData.errmsg)
               //    }
               // }
               //
               //只要是进入了这个支付页面,都算是支付了,不管成功与否都返回
               console.log('pay success options.referrerInfo', options.referrerInfo)
               //返回上一页
               let tmp = this
               await tmp.$store.dispatch('sign_add', 'shopping')
               //清空优惠券
               tmp.$store.dispatch('cache_coupon_select', {})
               tmp.$store.dispatch('cache_goods_select', [])
               // await tmp.$message.showToast('支付操作', {
               // duration: 500
               // })
               uni.navigateBack()
               await tmp.$store.dispatch('sign_clear', 'cache_topay')
               return
            }
         }
         // #endif
         //优惠券
         if (this.cache_coupon && this.cache_coupon.id) {
            this.dto.couponRecordId = this.cache_coupon.id
@@ -167,9 +227,9 @@
                  .current_transport.fee ||
                  0) || 0)
               .toFixed(2)
            // if (total >= this.cache_coupon.minOrderAmount) {
            //    return this.cache_coupon.couponDiscountValue || 0
            // }
            // 不考虑打包费了
            total = ((this.dto.totalMemberAmount || this.dto.totalAmount || 0))
               .toFixed(2)
            uni.navigateTo({
               url: `/sub_pages/customer/coupon/coupon-self?source=shopping&paymoney=${total}`
@@ -277,6 +337,7 @@
                           await tmp.$store.dispatch('sign_add', 'shopping')
                           uni.navigateBack()
                        } else if (data) {
                           // #ifndef PUB_CUSTOMER
                           wx.requestPayment({
                              ...data,
                              async success(res) {
@@ -304,6 +365,35 @@
                                 // uni.navigateBack()
                              }
                           })
                           // #endif
                           // openEmbeddedMiniProgram,需要小程序基础库版本不低于 2.26.2
                           // #ifdef PUB_CUSTOMER
                           var param = {
                              // cusid: "平台分配的商户号",
                              // appid: "平台分配的appid",
                              // orgid: "平台分配的机构号",
                              // version: "12",
                              // trxamt: "1",
                              // reqsn: "商户唯一订单号",
                              // notify_url: "服务器异步通知页面路径",
                              // body: "标题",
                              // remark: "备注",
                              // validtime: "订单有效时间",
                              // limit_pay: "no_credit",
                              // randomstr: "随机字符串",
                              // paytype: "W06",
                              // signtype: "签名方式",
                              // sign: "签名,参考2.1",
                              ...data,
                           }
                           await tmp.$store.dispatch('sign_add', 'cache_topay')
                           wx.openEmbeddedMiniProgram({
                              appId: 'wxef277996acc166c3',
                              extraData: param
                           })
                           // #endif
                        }
                     }
@@ -456,10 +546,10 @@
               <view class="m-l-a m-r-0 flex" style="word-break: break-all;"
                  :class="[!dto.goodsRecordIdList||dto.goodsRecordIdList.length==0?'desc-gray':'']"
                  @click="toSelectGood">
                  <view> {{dto.goodsRecordIdListStr|| '请选择'}}
                  <view class="word-e" style="max-width: 400rpx;"> {{dto.goodsRecordIdListStr|| '请选择'}}
                  </view>
                  <!-- <view>{{dto.goodsRecordIdListStr|| '请选择'}}</view> -->
                  <view style="min-width: 60rpx;">
                  <view class="m-t-4">
                     <u-icon class="m-l-a" name="arrow-right"></u-icon>
                  </view>
               </view>
@@ -502,7 +592,7 @@
      <view class="bottom-price flex">
         <view class="m-t-12 m-l-0 m-r-a">
            合计 <span class="t-red">¥
               {{ (( dto.totalMemberAmount || dto.totalAmount || 0) + (dto.packing || 0) + (current_transport.fee || 0) - coupon_fee || 0).toFixed(2) }}
               {{ order_fee }}
            </span>元
         </view>
         <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx" @click="submitOrder">