feat:优化售后

This commit is contained in:
2026-07-23 16:52:28 +08:00
parent bf7970dae4
commit df7cdce7cb
2 changed files with 58 additions and 61 deletions
@@ -1,10 +1,10 @@
<template> <template>
<!-- 退货退款模块 --> <!-- 退货退款模块 -->
<view> <view class="refund_box">
<view v-if="status > 0"> <view v-if="status > 0" class="refund_header">
<salesStatus :topLabel="topLabel" :topTitle="topTitle" :status="status"></salesStatus> <salesStatus :topLabel="topLabel" :topTitle="topTitle" :status="status"></salesStatus>
</view> </view>
<view class="refund_content"> <scroll-view scroll-y class="refund_content">
<view class="content_card"> <view class="content_card">
<image :src="product.items[0].mainGraph" class="card_img"></image> <image :src="product.items[0].mainGraph" class="card_img"></image>
<view class="card_info"> <view class="card_info">
@@ -60,17 +60,18 @@
v-model="product.expressNo" /> v-model="product.expressNo" />
</view> </view>
</view> </view>
<view v-if="buttonLabel" :class="[ </scroll-view>
'bottom_box',
{ <view v-if="buttonLabel" :class="[
bottom_box_disabled: 'bottom_box',
status == 2 && (!product.expressNo || !product.expressName), {
}, bottom_box_disabled:
{ bottom_box_quash: status == 1 || status == 3 }, status == 2 && (!product.expressNo || !product.expressName),
]"> },
<view class="button operate_but_2" @click="submit"> { bottom_box_quash: status == 1 || status == 3 },
{{ buttonLabel }}</view> ]">
</view> <view class="button operate_but_2" @click="submit">
{{ buttonLabel }}</view>
</view> </view>
<up-toast ref="uToastRef"></up-toast> <up-toast ref="uToastRef"></up-toast>
@@ -321,15 +322,22 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.refund_box {
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.refund_header {
flex-shrink: 0;
}
.refund_content { .refund_content {
width: 100%; width: 100%;
padding: 0 32rpx; height: 52vh;
padding: 0 32rpx 30rpx;
box-sizing: border-box; box-sizing: border-box;
overflow-y: scroll;
// .card_list_box {
// padding-bottom: 88rpx;
// }
.content_card { .content_card {
display: flex; display: flex;
margin-bottom: 48rpx; margin-bottom: 48rpx;
@@ -410,49 +418,39 @@ export default {
font-size: 28rpx; font-size: 28rpx;
} }
} }
}
.bottom_box { .bottom_box {
position: fixed; flex-shrink: 0;
bottom: 0; text-align: center;
left: 0; background: #ffffff;
/* 补充 left:0,确保容器从左侧开始 */ padding: 16rpx 32rpx calc(28rpx + env(safe-area-inset-bottom));
right: 0; box-sizing: border-box;
/* 补充 right:0,让容器宽度自适应屏幕/弹窗 */ box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
.button {
width: 100%;
height: 88rpx;
background: linear-gradient(270deg, #b164fb 0%, #7934f6 100%);
color: #ffffff;
line-height: 88rpx;
text-align: center; text-align: center;
background: #ffffff; border-radius: 8rpx;
padding: 0 48rpx 28rpx; }
/* 增加内边距,避免按钮贴边 */
z-index: 10;
/* 确保整个底部区域在内容上方 */ &.bottom_box_quash {
.button { .button {
width: 100%; background: #ffffff;
/* 直接用 100%,利用父容器的 padding 控制边距 */ color: #b164fb;
height: 88rpx; border: 1rpx solid #b164fb;
background: linear-gradient(270deg, #b164fb 0%, #7934f6 100%);
color: #ffffff;
line-height: 88rpx;
text-align: center;
border-radius: 8rpx;
margin-top: 28rpx;
/* 只保留顶部 margin,底部由父容器 padding 控制 */
/* 移除 margin 左右值,改用父容器 padding 控制边距 */
} }
}
&.bottom_box_quash { &.bottom_box_disabled {
.button { .button {
background: #ffffff; background: #e8ebf6;
color: #b164fb; color: #cbced9;
border: 1rpx solid #b164fb; border: 1rpx solid #e7ebf6;
}
}
&.bottom_box_disabled {
.button {
background: #e8ebf6;
color: #cbced9;
border: 1rpx solid #e7ebf6;
}
} }
} }
} }
+4 -5
View File
@@ -95,7 +95,7 @@
<view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view> <view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view>
</view> --> </view> -->
<view class="collect_msg" v-if="item.buyDeductionValue">共{{ item.buyNum }}件,合计数字积分{{ item.buyDeductionValue <view class="collect_msg" v-if="item.buyDeductionValue">共{{ item.buyNum }}件,合计数字积分{{ item.buyDeductionValue
}} }}
+¥{{ item.sumAmount }}</view> +¥{{ item.sumAmount }}</view>
<view class="collect_msg" v-if="!item.buyDeductionValue">运费:¥{{ item.postage }},商品总价:¥{{ item.sumAmount }} <view class="collect_msg" v-if="!item.buyDeductionValue">运费:¥{{ item.postage }},商品总价:¥{{ item.sumAmount }}
</view> </view>
@@ -134,7 +134,8 @@
form.type === MINE_ORDER_TYPE.UNPAID form.type === MINE_ORDER_TYPE.UNPAID
? 'operate_but_3' ? 'operate_but_3'
: 'operate_but_1', : 'operate_but_1',
]" v-if="!item.isAfter && form.type !== MINE_ORDER_TYPE.AFTER_SALE" @click="onSaleAfter(item)"> ]" v-if="!item.isAfter && form.type !== MINE_ORDER_TYPE.AFTER_SALE && item.status !== 5"
@click="onSaleAfter(item)">
{{ {{
form.type === MINE_ORDER_TYPE.UNPAID ? "取消支付" : "去售后" form.type === MINE_ORDER_TYPE.UNPAID ? "取消支付" : "去售后"
}} }}
@@ -185,10 +186,8 @@
<!-- 申请售后 --> <!-- 申请售后 -->
<up-popup v-model:show="afterShow" class="after-sales-popup" :customStyle="{ <up-popup v-model:show="afterShow" class="after-sales-popup" :customStyle="{
// maxHeight: '80%', overflow: 'hidden',
overflow: 'scroll',
position: 'relative', position: 'relative',
paddingBottom: '80rpx',
}" :round="10" :closeOnClickOverlay="false" :closeable="true" :safeAreaInsetBottom="false" }" :round="10" :closeOnClickOverlay="false" :closeable="true" :safeAreaInsetBottom="false"
@close="afterShow = false"> @close="afterShow = false">
<view class="after-sales-title"> <view class="after-sales-title">