多租户商城-商户小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

500 lines
13 KiB

<!-- 售后列表 -->
<template>
<view>
<global-loading />
<view class="content">
<view class="order-list-box">
<view>
<view class="item" v-for="item in FindReturnDatalist">
<view class="order-list-top">
<view class="top-l" @click="goShop(item.shopId)">
<image :src="item.shopLogo" class="shop-img"></image>
<text class="shop-name">{{item.shopName}}</text>
<image src="http://36.138.125.206:8081/ceres-local-file/static/images/arrowRight.png" class="arrow-img"></image>
</view>
<view class="top-r">
<image src="http://36.138.125.206:8081/ceres-local-file/static/images/afterSaleTuikuan.png" class="order-status-img"></image>
<text class="order-status">{{item.afterType==1?$t('common.refund'):$t('common.return')}}</text>
</view>
</view>
<view class="order-info-box" v-for="(itemlist,index) in item.skus" :key="index">
<view class="order-info" @click="goodsDetails(item.shopId,itemlist.productId,itemlist.skuId)">
<view class="order-info-item">
<image :src="itemlist.image" class="product-img"></image>
<view class="info-box">
<text class="product-name">{{itemlist.productName}}</text>
<view class="product-sku">{{itemlist.value}}</view>
<view class="price-sku-box">
<text class="product-price">$t('common.refund'):<text class="fuhao">¥{{itemlist.total}}</text></text>
</view>
</view>
</view>
</view>
</view>
<view class="total-price-box">
<!-- 退款 -->
<view v-if='item.afterType==1'>
<text class="total-price-l" v-if="item.afterState == 1">{{$t('common.shz')}}</text>
<text class="total-price-l" v-if="item.afterState == 2">{{$t('common.tkz')}}</text>
<text class="total-price-l" v-if="item.afterState == 4">{{$t('common.tkwc')}}</text>
<text class="total-price-l" v-if="item.afterState == 5">{{$t('common.tksb')}}</text>
<text class="total-price-l" v-if="item.afterState == 6">{{$t('common.shbtg')}}</text>
<text class="total-price-l" v-if="item.afterState == 7">{{$t('common.psz')}}</text>
<text class="total-price-l" v-if="item.afterState == 9">{{$t('common.cxsq')}}</text>
<text class="total-price-l" v-if="item.afterState == 10">{{$t('common.shtg')}}</text>
</view>
<!-- 退货 -->
<view v-if='item.afterType==2'>
<text class="total-price-l" v-if="item.afterState == 1">{{$t('common.thshz')}}</text>
<text class="total-price-l" v-if="item.afterState == 3">{{$t('common.thz')}}</text>
<text class="total-price-l" v-if="item.afterState == 4">{{$t('common.ytk')}}</text>
<text class="total-price-l" v-if="item.afterState == 2">{{$t('common.tkz')}}</text>
<text class="total-price-l" v-if="item.afterState == 5">{{$t('common.tksb')}}</text>
<text class="total-price-l" v-if="item.afterState == 6">{{$t('common.shbtg')}}</text>
<text class="total-price-l" v-if="item.afterState == 7">{{$t('common.psz')}}</text>
<text class="total-price-l" v-if="item.afterState == 8">{{$t('thwc')}}</text>
<text class="total-price-l" v-if="item.afterState == 9">{{$t('common.cxsq')}}</text>
<text class="total-price-l" v-if="item.afterState == 10">{{$t('common.shtg')}}</text>
</view>
<text class="total-price-r mar-left-30" v-if="item.afterState != 0 || item.afterState != 6">退款金额 ¥ {{item.price}}</text>
</view>
<!-- 退款 -->
<view class="order-btn-box" v-if='item.afterType==1'>
<text class="btn l" @click="deleteRecord(item)">{{$t('common.deleterecord')}}</text>
<text class="btn l" v-if="(item.afterType==1 && item.afterState == 1 || item.returnType==2 && item.afterState == 6)" @click="cancelRefundTap(item)">{{$t('common.cxtk')}}</text>
<text class="btn viewDetail l" @click="gotoDetails(item)">{{$t('common.viewdetail')}}</text>
</view>
<!-- 退货 -->
<view class="order-btn-box" v-if='item.afterType==2'>
<text class="btn l" @click="deleteRecord(item)">{{$t('common.deleterecord')}}</text>
<text class="btn l" v-if="(item.afterType==2 && item.afterState == 1 || item.afterType==2 && item.afterState == 10 || item.afterState == 6)" @click="cancelRefundTaphuo(item)">{{$t('common.cxth')}}</text>
<text class="btn viewDetail l" @click="gotoDetailshuo(item)">{{$t('common.viewdetail')}}</text>
</view>
</view>
</view>
<view v-if="ifEmpty" class="emptyCart-box flex-items-plus flex-column">
<image class="emptyCart-img" src="http://36.138.125.206:8081/ceres-local-file/static/img/bgnull.png"></image>
<label class="font-color-999 fs26 mar-top-30">{{$t('common.zwxsjl')}}</label>
</view>
</view>
</view>
<!-- 优惠券领取 -->
<tui-modal :show="delRecord" :custom="true" :fadein="true">
<view class="Put-box1">
<view class="text-align fs34 fs-bold">
{{$t('common.sfsccjl')}}
</view>
<view class="flex-display flex-sp-between">
<view class="btn" @click="delRecord = false">
{{$t('common.sure')}}
</view>
<view class="btn submit" @click="delRecordFn">
{{$t('common.sure')}}
</view>
</view>
</view>
</tui-modal>
</view>
</template>
<script>
import tuiModal from "@/components/modal/modal";
const NET = require('../../utils/request')
const API = require('../../config/api')
export default {
components: {
tuiModal
},
data() {
return {
FindReturnData:[],
moneyReturnId:{
id:''
},
sellPriceitem:'',
FindReturnDatalist:[],
page:1,//当前页
pageSize:20,//每页记录数
loadingType:0,
delRecord: false,
currentAfterId: '',
ifEmpty: false
}
},
onLoad(){
this.getFindReturn()
},
onUnload() {
// #ifdef MP-WEIXIN
this.back();
// #endif
},
onBackPress(e) {
if (e.from === 'navigateBack') {
return false;
}
this.back();
return true;
},
onReachBottom(){
if(this.loadingType == 1){
uni.stopPullDownRefresh()
}else{
this.page = this.page+1
this.getFindReturn()
}
},
methods: {
goodsDetails(shopId,productId,skuId){
uni.navigateTo({
url:'../goodsModule/goodsDetails?shopId='+shopId + '&productId='+productId +'&skuId='+skuId
})
},
goShop(shopId){
uni.navigateTo({
url: '../store/index?storeId=' + shopId
})
},
back(){
uni.switchTab({
url:'../../pages/tabbar/user/index'
});
},
// 获取售后列表数据
getFindReturn() {
// uni.showLoading({
// title:'加载中...'
// })
NET.request(API.FindReturnList, {
page: this.page,
pageSize:this.pageSize,
}, 'GET').then(res => {
// uni.hideLoading()
if(res.data.list.length == 0){
this.loadingType = 1
this.page = this.page
}
this.FindReturnDatalist = this.FindReturnDatalist.concat(res.data.list)
if (this.FindReturnDatalist.length === 0) {
this.ifEmpty = true
}
this.FindReturnData = res.data
}).catch(res => {
// uni.hideLoading()
})
},
// 删除记录
deleteRecord (item) {
this.currentAfterId = item.afterId
this.delRecord = true
},
delRecordFn () {
this.delRecord = false
// uni.showLoading({
// title:'正在删除...'
// })
NET.request(API.deleteAfter, {
id: this.currentAfterId,
}, 'POST').then(res => {
// uni.hideLoading()
uni.showToast({
title:this.$t('common.deletesuccess'),
icon:'none',
duration:1500
})
this.currentAfterId = ''
setTimeout(() => {
this.page = 1
this.FindReturnDatalist = []
this.getFindReturn()
}, 2000);
}).catch(res => {
// uni.hideLoading()
})
},
// 撤销申请
cancelRefundTap(item){
this.Delete(item)
},
// 退款
Delete(item){
// uni.showLoading({
// title:'正在撤销退款...'
// })
NET.request(API.CancelRefund, {
afterId:item.afterId,
orderId:item.orderId
}, 'POST').then(res => {
// uni.hideLoading()
uni.showToast({
title:this.$t('common.undosuccess'),
icon:'none',
duration:2000
})
setTimeout(() => {
this.page = 1
this.FindReturnDatalist = []
this.getFindReturn()
}, 2500);
}).catch(res => {
// uni.hideLoading()
})
},
// 撤销退货
cancelRefundTaphuo(item){
this.Deletehuo(item)
},
// 退货
Deletehuo(item){
NET.request(API.CancelReturnGoods, {
afterId:item.afterId,
orderId:item.orderId
}, 'POST').then(res => {
uni.showToast({
title:this.$t('common.undosuccess'),
icon:'none',
duration:2000
})
setTimeout(() => {
this.page = 1
this.FindReturnDatalist = []
this.getFindReturn()
}, 2500);
}).catch(res => {
})
},
// 退款查看详情
gotoDetails(item){
uni.navigateTo({
url:'refundDetails?item=' + JSON.stringify(item)
})
},
// 退货查看详情
gotoDetailshuo(item){
uni.navigateTo({
url:'returnDetails?item=' + JSON.stringify(item)
})
}
}
}
</script>
<style lang="scss" scoped>
page {
background-color: #F7F7F7;
}
.Put-box1 {
.btn {
text-align: center;
margin-top: 40rpx;
border: 2rpx solid #333333;
height: 80upx;
line-height: 80upx;
width: 100%;
color: #333333;
}
.submit {
background-color: #333333;
color: #FFEBC4;
margin-left: 20rpx;
}
}
.emptyCart-box {
margin-top: 70upx;
.emptyCart-img {
margin-top: 45%;
width: 113upx;
height: 98upx;
}
}
.order-list-box {
padding: 20upx 30upx 0;
box-sizing: border-box;
}
.order-list-box .item {
margin-bottom: 20upx;
background: #fff;
border-radius: 10upx;
}
.order-list-top {
height: 96upx;
padding: 0 30upx;
box-sizing: border-box;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #eee;
}
.top-l {
display: flex;
flex-direction: row;
align-items: center;
}
.shop-img {
width: 36upx;
height: 36upx;
margin-right: 10upx;
}
.shop-name {
font-size: 30upx;
color: #333;
font-weight: bold;
}
.arrow-img {
margin-left: 15upx;
width: 24upx;
height: 24upx;
}
.top-r {
display: flex;
flex-direction: row;
align-items: center;
}
.order-status-img {
width: 50rpx;
height: 50rpx;
margin-right: 8upx;
}
.order-status {
font-size: 32rpx;
color: #C5AA7B;
}
.order-info-box {
padding: 0 30upx;
box-sizing: border-box;
}
.order-info {}
.order-info-item {
display: flex;
flex-direction: row;
padding: 20upx 0;
}
.product-img {
width: 180upx;
height: 180upx;
border-radius: 10upx;
margin-right: 30upx;
}
.info-box {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.product-name {
font-size: 26upx;
color: #333;
height: 68upx;
line-height: 34upx;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.price-sku-box {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.product-sku {
font-size: 24upx;
color: #999;
}
.product-price {
font-size: 28upx;
color: #333;
font-weight: 400;
}
.product-price .fuhao {
font-size: 32upx;
color: #C83732;
font-weight: bold;
}
.product-num {
font-size: 28upx;
color: #999;
}
.total-price-box {
font-size: 26upx;
color: #333;
border: 2rpx solid #E4E5E6;
display: flex;
flex-direction: row;
align-items: center;
height: 70upx;
line-height: 70upx;
margin: 0 30rpx;
}
.total-price-l {
width: 170upx;
margin-left: 40upx;
font-size: 30upx;
color: #333;
}
.total-price-r {
text-align: left;
}
.order-btn-box {
padding: 30upx 0;
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.order-btn-box .btn {
display: inline-view;
width: 140upx;
height: 58upx;
text-align: center;
line-height: 58upx;
font-size: 26upx;
color: #333;
margin-left: 20upx;
}
.order-btn-box .btn.l {
color: #333;
border: 2rpx solid #333333;
}
.order-btn-box .viewDetail {
background: #333333;
border: none;
color: #FFEBC4 !important;
}
/* .order-btn-box .btn.r {
border: 1px solid #ff7911;
color: #ff7911;
} */
</style>