342 lines
9.2 KiB
Vue
342 lines
9.2 KiB
Vue
<template>
|
||
<view>
|
||
<!--pages/after_sales_detail/after_sales_detail.wxml-->
|
||
<view class="after-sales-detail">
|
||
<view class="after-sales-header">
|
||
<view class="after-sales-status white lg">
|
||
{{lists.status_text}}
|
||
</view>
|
||
<!-- <view class="after-sales-explain bg-white" hidden="{{lists.status == 2 || lists.status == 5 || lists == 6}}">
|
||
<text class="xs muted" style="line-height: 40rpx" wx:if="{{lists.status == 0 || lists.status == 1 || lists == 4}}">如果商家拒绝,您可重新发起申请
|
||
如果商家同意,将通过申请原路退款至您的账户中
|
||
如果商家逾期未处理,平台将自动通过申请并退款给您
|
||
</text>
|
||
<text class="xs muted" style="line-height: 40rpx" wx:if="{{lists.status == 3}}">如果商家确认收到货后将会退款给您
|
||
如果商家拒绝收货,该次退款将会关闭,您可以重新发起退款
|
||
</text>
|
||
</view> -->
|
||
</view>
|
||
<!-- <view class="negotiation-record row-between bg-white mt20">
|
||
<view class="nr">协商记录</view>
|
||
<view class="arrow">
|
||
<image src="/images/arrow_right.png" />
|
||
</view>
|
||
</view> -->
|
||
<view class="return-address-contain row bg-white mt20" v-show="!(lists.refund_type == 0)">
|
||
<view class="nr normal address-title">退货地址:</view>
|
||
<view class="sm normal address">{{lists.shop && lists.shop.address}}
|
||
{{lists.shop && lists.shop.contact}} {{lists.shop && lists.shop.mobile}}</view>
|
||
<view class="xs copy-btn row-center flex-none" @tap="onCopy">复制</view>
|
||
</view>
|
||
<view class="goods-container bg-white mt20">
|
||
<!-- <view class="goods-header row">
|
||
<view class="store-img mr10">
|
||
<image src="/images/icon_shop.png" />
|
||
</view>
|
||
<view class="store-name nr bold">
|
||
{{lists.shop.name}}
|
||
</view>
|
||
</view> -->
|
||
<view class="goods-item row">
|
||
<view class="goods-img">
|
||
<custom-image width="100%" height="100%" radius="10rpx" lazy-load
|
||
:src="lists.order_goods && lists.order_goods.image" />
|
||
</view>
|
||
<view class="goods-info">
|
||
<view class="two-txt-cut nr">{{lists.order_goods && lists.order_goods.goods_name}}</view>
|
||
<view class="row-between mt20">
|
||
<!-- <view class="md">¥999.00</view> -->
|
||
<price-format :price="lists.order_goods && lists.order_goods.goods_price" :firstSize="30"
|
||
:secondSize="30" :showSubscript="true" :subscriptSize="30" color="#101010" />
|
||
<view class="nr">x{{lists.order_goods && lists.order_goods.goods_num}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="return-goods-container bg-white mt20">
|
||
<view class="return-goods-row row sm">
|
||
<view class="return-title">退款方式:</view>
|
||
<view class="return-explain">{{lists.refund_type == 0 ? '仅退款' : '退款退货'}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20">
|
||
<view class="return-title">退款原因:</view>
|
||
<view class="return-explain">{{lists.refund_reason}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20">
|
||
<view class="return-title">退款金额:</view>
|
||
<view class="return-explain primary">¥{{lists.refund_price}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20">
|
||
<view class="return-title">退款编号:</view>
|
||
<view class="return-explain">{{lists.sn}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20">
|
||
<view class="return-title">申请时间:</view>
|
||
<view class="return-explain">{{lists.create_time}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20" v-if="lists.refund_remark">
|
||
<view class="return-title">备注说明:</view>
|
||
<view class="return-explain">{{lists.refund_remark}}</view>
|
||
</view>
|
||
<view class="return-goods-row row sm mt20" v-if="lists.refund_image">
|
||
<view class="return-title">图片凭证:</view>
|
||
<view class="return-explain">
|
||
<custom-image mode="aspectFit" class="img-preview" radius="10rpx" :src="lists.refund_image" width="160rpx" height="160rpx" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="btn-group fixed bg-white row-end" v-show="lists.status != 6">
|
||
<view class="mr20 btn br60" @tap="showDialog">撤销申请</view>
|
||
<view class="mr20 btn br60" @tap="goRefund" v-show="lists.status == 4 || lists.status == 1">重新申请</view>
|
||
<navigator hover-class="none"
|
||
:url="'/bundle/pages/input_express_info/input_express_info?id=' + lists.id" class="mr20 btn br60"
|
||
v-show="lists.status == 2">填写快递单号</navigator>
|
||
<view class="btn br60" v-show="false">平台退款</view>
|
||
</view>
|
||
</view>
|
||
<u-modal v-model="confirmDialog" confirm-text="确定" :showCancelButton="true" :show-title="false"
|
||
confirm-color="#FF2C3C" @confirm="cancelApplyFun" @cancel="hideDialog">
|
||
<view class="column-center tips-dialog" style="padding: 20rpx 0;">
|
||
<image class="icon-lg" src="/static/images/icon_warning.png"></image>
|
||
<view style="margin-top:30rpx">是否要撤销申请?</view>
|
||
</view>
|
||
</u-modal>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
// +----------------------------------------------------------------------
|
||
// | LikeShop100%开源免费商用电商系统
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | 开源版本可自由商用,保留版权即可
|
||
// | 商业版本务必购买商业授权,以免引起法律纠纷
|
||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||
// | Gitee下载:https://gitee.com/likeshop_gitee/likeshop
|
||
// | 访问官网:https://www.likemarket.net
|
||
// | 访问社区:https://home.likemarket.net
|
||
// | 访问手册:http://doc.likemarket.net
|
||
// | 微信公众号:好象科技
|
||
// | 好象科技开发团队 版权所有 拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: LikeShopTeam
|
||
// +----------------------------------------------------------------------
|
||
import {
|
||
afterSaleDetail,
|
||
cancelApply
|
||
} from "@/api/user";
|
||
import {
|
||
trottle,
|
||
copy
|
||
} from "@/utils/tools.js";
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
goods: {},
|
||
reason: [],
|
||
lists: {},
|
||
copyContent: "",
|
||
confirmDialog: false
|
||
};
|
||
},
|
||
|
||
components: {},
|
||
props: {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function(options) {
|
||
let {
|
||
afterSaleId,
|
||
order_id
|
||
} = options;
|
||
this.afterSaleId = afterSaleId;
|
||
this.orderId = order_id;
|
||
},
|
||
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function() {
|
||
this.afterSaleDetailFun();
|
||
},
|
||
|
||
methods: {
|
||
onCopy() {
|
||
let {
|
||
lists,
|
||
copyContent
|
||
} = this;
|
||
let {
|
||
address,
|
||
contact,
|
||
mobile
|
||
} = lists.shop;
|
||
copyContent = address + " " + contact + " " + mobile;
|
||
copy(copyContent)
|
||
},
|
||
|
||
goRefund(e) {
|
||
let {
|
||
lists
|
||
} = this;
|
||
uni.navigateTo({
|
||
url: '/bundle/pages/apply_refund/apply_refund?order_id=' + this.orderId + '&afterSaleId=' +
|
||
this.afterSaleId + '&item_id=' + lists.order_goods.item_id
|
||
});
|
||
},
|
||
|
||
showDialog() {
|
||
this.confirmDialog = true
|
||
},
|
||
|
||
hideDialog() {
|
||
this.confirmDialog = false;
|
||
},
|
||
|
||
confirmCancel() {},
|
||
|
||
cancelApplyFun() {
|
||
cancelApply({
|
||
id: this.afterSaleId
|
||
}).then(res => {
|
||
if (res.code == 1) {
|
||
this.$toast({
|
||
title: res.msg
|
||
}, {
|
||
tab: 3
|
||
});
|
||
uni.$emit("refreshsale")
|
||
}
|
||
});
|
||
},
|
||
|
||
afterSaleDetailFun() {
|
||
afterSaleDetail({
|
||
id: this.afterSaleId
|
||
}).then(res => {
|
||
if (res.code == 1) {
|
||
this.lists = res.data
|
||
}
|
||
});
|
||
}
|
||
|
||
}
|
||
};
|
||
</script>
|
||
<style lang="scss">
|
||
/* pages/after_sales_detail/after_sales_detail.wxss */
|
||
|
||
.after-sales-detail {
|
||
padding-bottom: calc(120rpx + env(safe-area-inset-bottom));
|
||
|
||
.after-sales-header {
|
||
.after-sales-status {
|
||
padding: 48rpx 30rpx;
|
||
background-color: #555555;
|
||
}
|
||
|
||
.after-sales-explain {
|
||
padding: 20rpx 30rpx 24rpx;
|
||
}
|
||
}
|
||
|
||
.negotiation-record {
|
||
padding: 24rpx 30rpx;
|
||
|
||
.arrow {
|
||
width: 28rpx;
|
||
height: 28rpx;
|
||
}
|
||
}
|
||
|
||
.return-goods-container {
|
||
padding: 20rpx 24rpx 55rpx;
|
||
|
||
.return-goods-row {
|
||
line-height: 40rpx;
|
||
font-weight: 400;
|
||
}
|
||
}
|
||
|
||
.btn-group {
|
||
padding: 0rpx 24rpx;
|
||
position: fixed;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
height: 100rpx;
|
||
|
||
.btn {
|
||
padding: 10rpx 34rpx;
|
||
border: 1px solid #999999;
|
||
}
|
||
}
|
||
|
||
.goods-container {
|
||
.goods-header {
|
||
padding: 20rpx 24rpx;
|
||
|
||
.store-img {
|
||
width: 40rpx;
|
||
height: 40rpx;
|
||
}
|
||
|
||
.store-name {
|
||
line-height: 40rpx;
|
||
align-self: flex-end;
|
||
font-family: PingFang SC;
|
||
}
|
||
}
|
||
|
||
.goods-item {
|
||
padding: 25rpx 24rpx;
|
||
|
||
.goods-img {
|
||
width: 180rpx;
|
||
height: 180rpx;
|
||
flex: none;
|
||
}
|
||
|
||
.goods-info {
|
||
margin-left: 24rpx;
|
||
flex: 1;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.return-address-contain {
|
||
padding: 20rpx 24rpx 28rpx 30rpx;
|
||
|
||
.address {
|
||
flex: 1;
|
||
line-height: 38rpx;
|
||
}
|
||
|
||
.address-title {
|
||
width: 150rpx;
|
||
align-self: flex-start;
|
||
line-height: 40rpx;
|
||
}
|
||
|
||
.copy-btn {
|
||
flex: 0 0 13%;
|
||
background-color: #F4F4F4;
|
||
color: #555555;
|
||
align-self: flex-start;
|
||
padding: 3rpx 16rpx;
|
||
margin-left: 12rpx;
|
||
border-radius: 4rpx;
|
||
}
|
||
}
|
||
|
||
.tips-dialog {
|
||
height: 230rpx;
|
||
width: 100%;
|
||
}
|
||
</style>
|