feat:优惠券

This commit is contained in:
2026-06-15 14:20:38 +08:00
parent cac63ff675
commit 3523cc3a21
14 changed files with 688 additions and 1137 deletions
+3 -2
View File
@@ -88,8 +88,9 @@
<view class="content_item_yd_msg">(快递动态跟进请复制单号至[快递100官网] 查询)</view>
<view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view>
</view> -->
<view class="collect_msg">运费:¥{{ item.postage }},商品总价:¥{{item.sumAmount}}</view>
<view class="collect_msg">共{{ item.buyNum }}件,合计¥{{ item.sumAmount + item.postage }}</view>
<view class="collect_msg" v-if="item.buyDeductionValue">共{{ item.buyNum }}件,合计抵扣券{{item.buyDeductionValue}} +¥{{item.sumAmount}}</view>
<view class="collect_msg" v-if="!item.buyDeductionValue">运费:¥{{ item.postage }},商品总价:¥{{item.sumAmount}}</view>
<view class="collect_msg" v-if="!item.buyDeductionValue">共{{ item.buyNum }}件,合计¥{{ item.sumAmount + item.postage }}</view>
<view class="collect_operate">
<!-- <view class="operate_comm operate_but_1" v-if="item.status === ORDER_TYPE.UNSHIPPED" @click="checkCancel(true)">取消订单</view> -->
<view class="operate_comm operate_but_2" v-if="
@@ -1,27 +1,13 @@
<template>
<view
class="mine_order_info_warp"
:style="{
height: height,
}"
>
<view class="mine_order_info_warp" :style="{
height: height,
}">
<up-loading-page :loading="listLoading"></up-loading-page>
<view class="order_info_header">
<up-image
src="/static/common/left_b.png"
width="20"
height="19"
bgColor="#f1f6ff00"
@click="jumpLeft"
></up-image>
<up-image src="/static/common/left_b.png" width="20" height="19" bgColor="#f1f6ff00" @click="jumpLeft"></up-image>
<view class="header_status">
<view style="margin-top: 10rpx">
<up-image
src="/static/common/order_status_1.png"
width="20"
height="19"
bgColor="#f1f6ff00"
></up-image>
<up-image src="/static/common/order_status_1.png" width="20" height="19" bgColor="#f1f6ff00"></up-image>
</view>
<text class="msg">{{ getValue(ORDER_STATUS, orderInfo.status) }}</text>
</view>
@@ -35,45 +21,25 @@
<text style="font-size: 36rpx; font-weight: bold">{{
orderInfo.sumAmount
}}</text>
<text style="font-size: 20rpx; font-weight: bold; margin-left: 20rpx"
>订单</text
>
<text
style="font-size: 28rpx; font-weight: bold; margin-left: 10rpx"
>{{ formatDate1(orderInfo.expireTime) }}</text
>
<text style="font-size: 20rpx; font-weight: bold"
>&nbsp;自动取消</text
>
<text style="font-size: 20rpx; font-weight: bold; margin-left: 20rpx">订单</text>
<text style="font-size: 28rpx; font-weight: bold; margin-left: 10rpx">{{ formatDate1(orderInfo.expireTime)
}}</text>
<text style="font-size: 20rpx; font-weight: bold">&nbsp;自动取消</text>
</view>
</view>
<view
class="content_cancel"
v-if="orderInfo.status === ORDER_TYPE.CANCELED"
>取消原因:超时未支付</view
>
<view class="content_cancel" v-if="orderInfo.status === ORDER_TYPE.CANCELED">取消原因:超时未支付</view>
<!-- 地址 -->
<view class="steps_warp">
<!-- 物流单号 -->
<view class="address_info">
<view class="address_data_warp">
<up-image
src="/static/common/waybill.png"
width="20"
height="20"
bgColor="#f1f6ff00"
></up-image>
<up-image src="/static/common/waybill.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<view class="address_info_name">订单编号:</view>
<view class="address_info_mobile" style="margin-right: 20rpx">{{
orderInfo.orderNum
}}</view>
<up-image
src="/static/common/copy.png"
width="14"
height="14"
bgColor="#f1f6ff00"
@click="copyData(orderInfo.orderNum)"
></up-image>
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
@click="copyData(orderInfo.orderNum)"></up-image>
</view>
</view>
<view class="address_info_right">&nbsp;</view>
@@ -81,12 +47,7 @@
<view class="address_warp">
<view class="address_info">
<view class="address_data_warp">
<up-image
src="/static/common/address.png"
width="20"
height="20"
bgColor="#f1f6ff00"
></up-image>
<up-image src="/static/common/address.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<view class="address_info_name">{{ orderInfo.name }}</view>
<view class="address_info_mobile">{{ orderInfo.phone }}</view>
</view>
@@ -102,42 +63,25 @@
<view class="order_comm order_product_warp">
<!-- 头部 -->
<view class="order_product_header">
<up-image
:src="orderInfo.shopLogo"
width="22"
height="22"
bgColor="#f1f6ff00"
shape="circle"
></up-image>
<up-image :src="orderInfo.shopLogo" width="22" height="22" bgColor="#f1f6ff00" shape="circle"></up-image>
<view class="order_product_title">{{ orderInfo.shopName }}</view>
</view>
<!-- 产品详情 -->
<view class="order_item_content">
<view v-for="pItem in orderInfo.items" :key="pItem.id">
<view class="content_item">
<up-image
:src="pItem.mainGraph"
width="80"
height="80"
bgColor="#f1f6ff00"
></up-image>
<up-image :src="pItem.mainGraph" width="80" height="80" bgColor="#f1f6ff00"></up-image>
<view class="content_info">
<view class="content_info_title">{{ pItem.title }}</view>
<view class="content_info_tag">{{ pItem.goodsSpece }}</view>
<view>
<text
class="content_info_description"
v-for="dItem in pItem.description"
:key="dItem"
>
<text class="content_info_description" v-for="dItem in pItem.description" :key="dItem">
{{ dItem }}
</text>
</view>
</view>
<view class="content_right">
<view class="content_right_total"
>¥{{ pItem.goodsAmount }}</view
>
<view class="content_right_total">¥{{ pItem.goodsAmount }}</view>
<view class="content_right_quantity">x{{ pItem.buyNum }}</view>
</view>
</view>
@@ -147,13 +91,8 @@
<view class="item_value">
<view>{{ pItem.expressNo }} </view>
<view style="margin-left: 10rpx">
<up-image
src="/static/common/copy.png"
width="14"
height="14"
bgColor="#f1f6ff00"
@click="copyData(pItem.expressNo)"
></up-image>
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
@click="copyData(pItem.expressNo)"></up-image>
</view>
</view>
</view>
@@ -166,25 +105,27 @@
<view class="order_comm order_data_warp">
<view class="data_item">
<view class="item_title">商品总价</view>
<view class="item_value">¥{{ orderInfo.sumAmount }}</view>
<view class="item_value" v-if="!orderInfo.buyDeductionValue">¥{{ orderInfo.sumAmount }}</view>
<view class="item_value" v-else>抵扣券{{ orderInfo.buyDeductionValue }} +¥{{ orderInfo.sumAmount }}</view>
</view>
<view class="data_item">
<view class="item_title">快递运费</view>
<view class="item_value">¥{{ orderInfo.postage }}</view>
</view>
<view class="data_item" v-if="orderInfo.buyDeductionValue">
<view class="item_title">抵扣券</view>
<view class="item_value" style="color: #7934F6">{{ orderInfo.buyDeductionValue }}抵扣券</view>
</view>
<view class="data_item">
<view class="item_title"
>平台优惠<text class="copy_order_coupon" v-if="orderInfo.coupon"
>优惠券</text
></view
>
<view class="item_title">平台优惠<text class="copy_order_coupon" v-if="orderInfo.coupon">优惠券</text></view>
<view class="item_value">-¥0.00</view>
</view>
<view class="data_item">
<view class="item_title">应付款</view>
<view class="item_value pay_amount"
>¥{{ orderInfo.sumAmount + orderInfo.postage }}</view
>
<view class="item_value pay_amount">¥{{ orderInfo.sumAmount + orderInfo.postage }}</view>
</view>
<view class="order_data_but"></view>
@@ -208,77 +149,45 @@
<view class="code_content" v-if="orderInfo.antChainHash">
<view>
<view style="font-size: 28rpx; color: #333; font-weight: bold"
>您的订单已接入蚂蚁链溯源</view
>
<view style="font-size: 20rpx; color: #999; margin-bottom: 18rpx"
>扫描二维码或复制下方链接查看溯源信息</view
>
<view class="code_content_item"><view class="code_content_item_text">
<view style="font-size: 28rpx; color: #333; font-weight: bold">您的订单已接入蚂蚁链溯源</view>
<view style="font-size: 20rpx; color: #999; margin-bottom: 18rpx">扫描二维码或复制下方链接查看溯源信息</view>
<view class="code_content_item">
<view class="code_content_item_text">
{{
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
}}
</view>
<up-image
style="margin-left: 8rpx"
src="/static/rwa/copy.png"
width="12"
@click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
)
"
height="12"
bgColor="#f1f6ff00"
></up-image
></view>
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
)
" height="12" bgColor="#f1f6ff00"></up-image>
</view>
</view>
<view>
<up-qrcode
:val="`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`"
:size="63"
@click.stop="previewQrcode(`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`)"
></up-qrcode>
@click.stop="previewQrcode(`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`)"></up-qrcode>
</view>
</view>
<!-- 支付方式 -->
<view
class="order_way_warp"
@click="wayShowFun(true)"
v-if="orderInfo.status === ORDER_TYPE.UNPAID"
>
<view class="order_way_warp" @click="wayShowFun(true)" v-if="orderInfo.status === ORDER_TYPE.UNPAID">
<view>支付方式</view>
<view class="order_way_right">
{{ getValue(wayOption, wayForm.payway) }}
<up-image
src="/static/common/right.png"
width="20"
height="20"
bgColor="#f1f6ff00"
></up-image>
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
</view>
</view>
<view
class="collect_operate order_but_warp"
v-if="
[ORDER_TYPE.UNPAID, ORDER_TYPE.NOT_RECEIVE].includes(orderInfo.status)
"
>
<view class="collect_operate order_but_warp" v-if="
[ORDER_TYPE.UNPAID, ORDER_TYPE.NOT_RECEIVE].includes(orderInfo.status)
">
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">取消订单</view> -->
<view
class="operate_comm operate_but_2"
v-if="orderInfo.status === ORDER_TYPE.UNPAID"
@click="goPay"
>去付款</view
>
<view class="operate_comm operate_but_2" v-if="orderInfo.status === ORDER_TYPE.UNPAID" @click="goPay">去付款</view>
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请退款</view> -->
<view
class="operate_comm operate_but_2"
v-if="orderInfo.status === ORDER_TYPE.NOT_RECEIVE"
@click="confirmReceiptOk(orderInfo)"
>确认收货</view
>
<view class="operate_comm operate_but_2" v-if="orderInfo.status === ORDER_TYPE.NOT_RECEIVE"
@click="confirmReceiptOk(orderInfo)">确认收货</view>
<!-- <view class="operate_comm operate_but_3" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> -->
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请售后</view> -->
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.AFTER_SALE">查看售后</view> -->
@@ -287,38 +196,22 @@
</view>
<!-- 选择支付方式 -->
<up-popup
v-model:show="wayShow"
:round="10"
:closeOnClickOverlay="false"
:closeable="true"
:safeAreaInsetBottom="false"
>
<up-popup v-model:show="wayShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
:safeAreaInsetBottom="false">
<view class="way_popup_warp">
<view class="way_popup_title">支付方式</view>
<up-radio-group v-model="wayForm.payway" placement="column">
<view
v-for="item in wayOption"
:key="item.id"
style="margin-bottom: 10rpx"
>
<view v-for="item in wayOption" :key="item.id" style="margin-bottom: 10rpx">
<view class="way_item">
<view class="way_item_">
<!-- <view style="margin-top: 2rpx;"><up-image :src="item.path" width="20" height="20" bgColor="#f1f6ff00"></up-image></view> -->
<view class="way_item_val"
>{{ item.name
}}<text v-if="item.balance"
>&nbsp;&nbsp;(¥{{ item.balance }})</text
>
<view class="way_item_val">{{ item.name
}}<text v-if="item.balance">&nbsp;&nbsp;(¥{{ item.balance }})</text>
</view>
</view>
<up-radio :name="item.type" activeColor="#FF7C41"> </up-radio>
</view>
<view
class="balance_comm_msg"
v-if="item.type === 'balance' && isShowBalance"
>当前现金余额不足,如需支付请前往充值</view
>
<view class="balance_comm_msg" v-if="item.type === 'balance' && isShowBalance">当前现金余额不足,如需支付请前往充值</view>
</view>
</up-radio-group>
<view class="popup_but" @click="wayShow = false"> 确认 </view>
@@ -565,7 +458,7 @@ export default {
this.id,
});
},
previewQrcode(val) {
previewQrcode(val) {
console.log("val--", val);
this.qrcodeVal = val;
this.$refs.qrcodePreview.open();
@@ -583,11 +476,13 @@ export default {
justify-content: space-between;
align-items: center;
margin-bottom: 48rpx;
.code_content_item {
font-size: 20rpx;
color: #7934f6;
display: flex;
align-items: center;
.code_content_item_text {
width: 350rpx;
overflow: hidden;
@@ -598,6 +493,7 @@ export default {
}
}
}
.mine_order_info_warp {
height: 100vh;
// height: calc(100vh - 180rpx);
@@ -681,8 +577,7 @@ export default {
margin: 10rpx 20rpx;
}
.address_warp {
}
.address_warp {}
.address_info {
display: flex;