feat: 退款退货

This commit is contained in:
2025-08-27 20:29:20 +08:00
parent 18547acdd9
commit b76360992e
4 changed files with 134 additions and 24 deletions
+114 -22
View File
@@ -144,13 +144,23 @@
</view>
</up-modal>
<!-- 申请售后 -->
<up-modal :show="afterShow" :showConfirmButton="false">
<up-popup v-model:show="afterShow" class="after-sales-popup" :round="10" :closeOnClickOverlay="false"
:closeable="true" :safeAreaInsetBottom="false" @close="afterShow = false;">
<view class="after-sales-title">
申请售后
</view>
<view class="slot-content">
<view class="close_warp" @click="afterShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<view class="after-sales-tabs">
<view :class="['after-sales-tabs-item', { 'active': activeIndex === 0 }]" @click="activeIndex = 0">联系售后
<text class="after-sales-tabs-text">荐</text>
</view>
<view :class="['after-sales-tabs-item', { 'active': activeIndex === 1 }]" @click="activeIndex = 1">退货退款</view>
</view>
<view class="content_">
<view class="content_1">售后联系方式</view>
<view class="content_" v-if="activeIndex === 0">
<view class="content_1 ">售后联系方式</view>
<view class="content_2">如遇退/换货等问题,请联系客服处理</view>
<view class="content_3">
<view style="margin-left: 20rpx;">
@@ -159,15 +169,13 @@
<view class="content_info">
<view class="content_info_title">客服电话</view>
<view class="content_info_mobile">
<!-- {{ CUSTOMER_SERVICE_PHONE_NUMBER }} -->
18945829413
{{ PHONE_NUMBER }}
<view style="margin-left: 20rpx;">
<up-image src="/static/common/copy_c.png" width="14" height="14" bgColor="#f1f6ff00"
@click="copyMobile(CUSTOMER_SERVICE_PHONE_NUMBER)"></up-image>
@click="copyMobile(PHONE_NUMBER)"></up-image>
</view>
</view>
</view>
</view>
<view class="content_3">
<view style="margin-left: 20rpx;">
@@ -176,22 +184,20 @@
<view class="content_info">
<view class="content_info_title">客服微信</view>
<view class="content_info_mobile">
<!-- {{ CUSTOMER_SERVICE_PHONE_NUMBER }} -->
W-418613
{{ WECHAT }}
<view style="margin-left: 20rpx;">
<up-image src="/static/common/copy_c.png" width="14" height="14" bgColor="#f1f6ff00"
@click="copyMobile(CUSTOMER_SERVICE_PHONE_NUMBER)"></up-image>
@click="copyMobile(WECHAT)"></up-image>
</view>
</view>
</view>
</view>
</view>
<view class="but_">
<!-- <view class="but_copy" @click="copyMobile('13922786999')">复制号码</view> -->
<view class="but_close" @click="afterShow = false;">确定</view>
</view>
<!-- 退货退款 -->
<after-sales v-if="activeIndex === 1" />
</view>
</up-modal>
</up-popup>
<!-- 腾讯电子签H5 → 集成到UniApp -->
<web-view v-if="signUrl" :src="signUrl" @message="handleMessage"></web-view>
@@ -210,10 +216,12 @@ import { getOrderList, confirmReceipt, getSignUrl, signContract, isSignContract,
import dayjs from 'dayjs';
import { formatDate1, copyData } from '@/utils/index.js'
import { getUserInfo } from '@/api/auth.js'
import { CUSTOMER_SERVICE_PHONE_NUMBER } from '@/utils/config.js';
import { CUSTOMER_SERVICE_PHONE_NUMBER, CLOUD_SERVICE_WECHAT } from '@/utils/config.js';
import afterSales from './after-sales/index'
export default {
components: { DownPopup },
components: { DownPopup, afterSales },
computed: {
MINE_ORDER_TYPE() {
return MINE_ORDER_TYPE;
@@ -226,7 +234,14 @@ export default {
},
ORDER_TYPE() {
return ORDER_TYPE;
}
},
PHONE_NUMBER() {
return CUSTOMER_SERVICE_PHONE_NUMBER;
},
WECHAT() {
return CLOUD_SERVICE_WECHAT;
},
},
data() {
return {
@@ -291,8 +306,8 @@ export default {
downShow: false,
selectItem: null,
userInfo: null,
search: ''
search: '',
activeIndex: 0
}
},
onLoad(options) {
@@ -585,6 +600,83 @@ export default {
</script>
<style lang="scss" scoped>
.after-sales-popup {
.after-sales-title {
font-size: 28rpx;
color: #71737C;
text-align: center;
padding: 28rpx 32rpx;
.close_but {
color: #000;
font-weight: 800;
}
}
.slot-content {
width: calc(100% - 64rpx);
padding: 0 32rpx;
.after-sales-tabs {
width: calc(100% - 64rpx);
height: 80rpx;
background: #F5F5F7;
border-radius: 8rpx;
display: flex;
align-items: center;
padding: 0 8rpx;
.after-sales-tabs-item {
width: 50%;
height: 64rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 28rpx;
color: #666666;
.after-sales-tabs-text {
width: 36rpx;
height: 30rpx;
text-align: center;
line-height: 30rpx;
background: #7934F6;
border-radius: 4rpx;
font-size: 20rpx;
color: #FFFFFF;
margin-left: 12rpx;
}
&.active {
color: #000000;
border-radius: 8rpx;
background-color: #fff;
}
}
}
.content_ {
margin-top: 20rpx;
.content_1,
.content_2 {
text-align: left;
margin-top: 20rpx;
}
.content_3 {
width: calc(100% - 32rpx);
height: 132rpx;
box-shadow: 0px 4rpx 12rpx 0px rgba(215, 215, 215, 0.5);
border-radius: 16rpx;
box-sizing: border-box;
}
}
}
}
.order_warp {
height: calc(100vh - 130rpx);
background-color: $app-bj;