ZZ 3 주 전
부모
커밋
949c966c81
3개의 변경된 파일172개의 추가작업 그리고 10개의 파일을 삭제
  1. 8 0
      mer_uniapp/api/secondHand.js
  2. 2 2
      mer_uniapp/pages/goods/order_details/index.vue
  3. 162 8
      mer_uniapp/pages/trade_fair/trade_fair_user/index.vue

+ 8 - 0
mer_uniapp/api/secondHand.js

@@ -147,3 +147,11 @@ export function secondHandRefundVerify(data) {
 export function secondHandRefundReason() {
 	return request.get('refund/secondhand/refundReason');
 }
+
+/**
+ * 售后申请列表(可申请售后列表)
+ *
+ */
+export function secondHandAfterSaleList(data) {
+	return request.get(`refund/secondhand/after/sale/apply/list`, data)
+}

+ 2 - 2
mer_uniapp/pages/goods/order_details/index.vue

@@ -286,8 +286,8 @@
 					<view class='bnt bg_color' v-show="orderType == 'secondHand' && shippingType == 1 && orderInfo.status == 4 && orderInfo.uid == uid" @tap='confirmOrder'>确认收货</view>
 					<view class='bnt bg_color' v-show="orderType == 'secondHand' && shippingType == 1 && orderInfo.status == 1 && orderInfo.sellerId == uid"
 					 @tap='confirmFHOrder'>确认发货</view>
-					 <view class='bnt bg_color' v-show="orderType == 'secondHand' && orderInfo.refundStatus === 1 && orderInfo.sellerId == uid"
-					  @tap='refundFHOrder'>同意退款</view>
+					 <!-- <view class='bnt bg_color' v-show="orderType == 'secondHand' && orderInfo.refundStatus === 1 && orderInfo.sellerId == uid"
+					  @tap='refundFHOrder'>同意退款</view> -->
 					<view class='bnt cancel' v-show="orderInfo.status==6 || orderInfo.status==9" @tap='delOrder'>删除订单
 					</view>
 					<view class='bnt bg_color' v-show="orderInfo.status==0" @tap='goPay(orderInfo)'>立即付款</view>

+ 162 - 8
mer_uniapp/pages/trade_fair/trade_fair_user/index.vue

@@ -67,15 +67,20 @@
 				</view>
 			</view>
 			<view v-if="!id && isShow" class="tab_count relative">
-				<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">我发布的</text>
-				<text @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">我想要的</text>
-				<text @click.stop="changeTab(2)" :class="tab==2 ? 'on' : ''">我收藏的</text>
-				<text @click.stop="changeTab(3)" :class="tab==3 ? 'on' : ''">我购买的</text>
+				<scroll-view :scroll-x="true" scroll-with-animation style="white-space: nowrap;margin: 20rpx 0rpx;padding: 0 20rpx;box-sizing: border-box;">
+					<block>
+						<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">我发布的</text>
+						<text @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">我想要的</text>
+						<text @click.stop="changeTab(2)" :class="tab==2 ? 'on' : ''">我收藏的</text>
+						<text @click.stop="changeTab(3)" :class="tab==3 ? 'on' : ''">我购买的</text>
+						<text @click.stop="changeTab(4)" :class="tab==4 ? 'on' : ''">售后/退款</text>
+					</block>
+				</scroll-view>
 			</view>
 		</view>
 		<view class="main">
 			<view class="tab-conts">
-				<view v-if="list.length > 0 && tab!==3" class="goods-wrap flex-1">
+				<view v-if="list.length > 0 && tab!==3 && tab!==4" class="goods-wrap flex-1">
 					<view class="goods">
 						<!-- <WaterfallsFlow v-if="list.length" :wfList="list" :fromType="1" fromTo="home">
 						</WaterfallsFlow> -->
@@ -86,7 +91,7 @@
 						</WaterfallsFlow>
 					</view>
 				</view>
-				<view class='my-order' v-else>
+				<view class='my-order' v-else-if="tab == 3">
 					<view class='list'>
 						<view class='item' v-for="(item,index) in list" :key="index">
 							<view class='title acea-row row-between-wrapper'>
@@ -159,6 +164,62 @@
 						</view>
 					</view>
 				</view>
+				<view v-else-if="tab == 4">
+					<view class='goodWrapper borRadius14' v-for="(items,index) in list" :key="index">
+						<view v-if="refundTypeStatus ==-1" class='orderNum acea-row'>
+							<text class="mr10 iconfont icon-shangjiadingdan"></text>
+							<text class="no mr10">{{items.merName}}</text>
+						</view>
+						<view v-else class='orderNum acea-row row-between'>
+							<view class="acea-row">
+								<view class="tit mr10">退款单号: </view>
+								<view class="no">{{items.refundOrderNo}}</view>
+							</view>
+							<view class="afterSalesType">
+								<span class="iconfont" :class="items.afterSalesType===1?'icon-jintuikuan':'icon-tuihuotuikuan'"></span>
+								<span>{{items.afterSalesType===1?'仅退款':'退货退款'}}</span>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='pictrue'>
+								<image :src='items.image'></image>
+							</view>
+							<view class='text'>
+								<view class='name line1 mb20'>{{items.productName}}</view>
+								<view class="f-s-20 text-999 mb24">{{items.sku}}</view>
+								<view class='acea-row row-between-wrapper'>
+									<view class='num mr20 line-heightOne'>
+										{{refundTypeStatus ==-1?'数量:'+items.payNum:'申请数量:'+items.applyRefundNum}}
+									</view>
+									<view v-show="refundTypeStatus !==-1" class='attr font-color line-heightOne'>
+										{{items.refundStatus===3?'已退款':'申请退款'}}:{{items.refundPrice}}
+									</view>
+					
+								</view>
+							</view>
+						</view>
+						<view v-if="refundTypeStatus===-1" class="btn-box acea-row row-between">
+							<view @click.stop="handlerToRecord(items.orderNo)" v-if="items.applyRefundNum+items.refundNum>0" class="applyRefundNum">
+								<text>有{{items.applyRefundNum+items.refundNum}}件商品已申请售后</text><span class="iconfont icon-gengduo3 ml10" style="font-size: 20rpx;"></span>
+							</view>
+							<view v-else></view>
+							<view class="btn bg-color acea-row row-center" style="color: #fff;" @click="goRefund(items)">申请售后</view>
+						</view>
+						<view v-else>
+							<view class="refundTypeStatus line1">
+								{{ items.refundStatus| refundStatusFilter}}
+								<span class="tips ml20">{{items.refundStatus| orderRefundTipsStatusFilter}}</span>
+							</view>
+							<view class="btn-box acea-row" style="justify-content: flex-end;">
+								<view></view>
+								<view v-if="items.refundStatus === 0 || items.refundStatus === 4 || items.refundStatus === 5"
+									class="btn btn-999 acea-row row-center line-heightOne" @click="handleRevokeRefund(items.refundOrderNo)">撤销售后</view>
+								<view v-if="items.refundStatus === 4 && items.afterSalesType === 2" style="color: #fff;"
+									class="btn bg-color acea-row row-center line-heightOne ml20" @click="handleReturningRefund(items)">退回商品</view>
+							</view>
+						</view>
+					</view>
+				</view>
 				<view class="empty-boxs noContent" v-if="list.length == 0 && !loading">
 					<emptyPage title="暂无更多内容~" mTop="13%" :imgSrc="urlDomain+'crmebimage/presets/noguanzhu.png'">
 					</emptyPage>
@@ -224,7 +285,8 @@
 		secondHandCancel,
 		secondHandStatusImgApi,
 		secondHandSend,
-		secondHandOrderList
+		secondHandOrderList,
+		secondHandAfterSaleList
 	} from '@/api/secondHand.js';
 	import {
 		ProductTypeEnum,
@@ -445,11 +507,36 @@
 				} else if (tab === 2) {
 					this.manage = 0;
 					this.myFollowList()
-				} else {
+				} else if (tab === 3) {
 					this.manage = 0;
 					this.myOrderList()
+				} else {
+					this.manage = 0;
+					this.mySaleList()
 				}
 			},
+			// 获取售后/退款
+			mySaleList: function() {
+				let that = this;
+				if (that.loaded || that.loading) return;
+				that.loading = true;
+				that.loadTitle = '';
+				secondHandAfterSaleList(that.where).then(res => {
+					let list = res.data.list;
+					let goods = that.$util.SplitArray(list, that.list);
+					that.loaded = list.length < that.where.limit;
+					that.loading = false;
+					that.loadTitle = that.loaded ? '到底了' : '加载更多';
+					that.$set(that, 'list', goods);
+					that.$set(that.where, 'page', that.where.page + 1);
+				}).catch(err => {
+					that.loading = false;
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+				})
+			},
 			// 获取我购买的作品
 			myOrderList: function() {
 				let that = this;
@@ -753,6 +840,7 @@
 			border-radius: 12px 12px 0 0;
 
 			text {
+				display: inline-block;
 				font-size: 28rpx;
 				color: #999999;
 				margin: 0 30rpx;
@@ -1105,4 +1193,70 @@
 		width: 100%;
 		height: 100%;
 	}
+	
+	.goodWrapper {
+		background-color: #fff;
+		margin-top: 20rpx;
+		position: relative;
+		padding: 0rpx 24rpx 20rpx 24rpx;
+	}
+	
+	.goodWrapper .orderNum {
+		border-bottom: 1px solid #eee;
+		height: 86rpx;
+		line-height: 86rpx;
+	
+		.tit {
+			font-size: 28rpx;
+			color: #282828;
+		}
+	
+		.no {
+			font-size: 28rpx;
+			color: #282828;
+		}
+	}
+	
+	.goodWrapper .item {
+		border-bottom: 0;
+		padding: 25rpx 0;
+	
+		.money {
+			color: #999999;
+			font-weight: 26rpx;
+			margin-top: 0;
+		}
+	
+		.attr,
+		.num {
+			font-size: 20rpx;
+			color: #999999;
+			margin-top: 0;
+		}
+	}
+	
+	.goodWrapper .totalSum {
+		padding: 0 0 32rpx 0;
+		// text-align: right;
+		font-size: 26rpx;
+		color: #282828;
+		display: flex;
+		justify-content: space-between;
+	}
+	
+	.goodWrapper .totalSum .price {
+		font-size: 28rpx;
+		font-weight: bold;
+		@include price_color(theme);
+	}
+	
+	.hui {
+		color: #CCCCCC;
+		font-size: 24rpx;
+	}
+	
+	.goodWrapper .powder {
+		@include price_color(theme);
+		//font-size: 24rpx;
+	}
 </style>