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.
		
		
		
		
		
			
		
			
				
					
					
						
							447 lines
						
					
					
						
							11 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							447 lines
						
					
					
						
							11 KiB
						
					
					
				
								<template>
							 | 
						|
									<view class="app-container">
							 | 
						|
										<view class="agent-content">
							 | 
						|
											<view class="avatar-information">
							 | 
						|
												<image v-if="accountInfo.logo" style="width: 110rpx;height: 110rpx; border-radius: 50%;" :src="accountInfo.logo"
							 | 
						|
													alt="" />
							 | 
						|
												<image v-else style="width: 110rpx;height: 110rpx;" src="/static/index/head-sculpture.png" alt="" />
							 | 
						|
												<view class="information-content">
							 | 
						|
													<view class="information-name">{{accountInfo.name}}</view>
							 | 
						|
													<view class="address-text">地址:{{accountInfo.address || '未填写地址'}}</view>
							 | 
						|
												</view>
							 | 
						|
											</view>
							 | 
						|
											<view class="information-id-content">
							 | 
						|
												<view class="content-id-item">
							 | 
						|
													<view class="id-text">
							 | 
						|
														商户ID:
							 | 
						|
													</view>
							 | 
						|
													<view class="id-value">
							 | 
						|
														{{accountInfo.id}}
							 | 
						|
													</view>
							 | 
						|
												</view>
							 | 
						|
												<view class="information-alipay-content" @click="toManagement()">
							 | 
						|
													<view>
							 | 
						|
														<text>支付宝余额:¥{{accountInfo.wallet_balance}}</text>
							 | 
						|
													</view>
							 | 
						|
													<view>
							 | 
						|
														<text>提现管理 >></text>
							 | 
						|
													</view>
							 | 
						|
												</view>
							 | 
						|
								
							 | 
						|
											</view>
							 | 
						|
											<view class="revenue-information" @click="handlerOrder">
							 | 
						|
												<view class="projected-revenue-content">
							 | 
						|
													<view class="projected-revenue-item">
							 | 
						|
														<view class="character-style">¥</view>
							 | 
						|
														<view class="character-price">{{accountInfo.waiting_revenue}}</view>
							 | 
						|
													</view>
							 | 
						|
													<view class="revenue-item-text">
							 | 
						|
														<view class="character-text">预计到账收益</view>
							 | 
						|
														<image class="help-icon"
							 | 
						|
															src="https://common-1257637852.cos.ap-guangzhou.myqcloud.com/paidui-pay/help-icon.png" />
							 | 
						|
													</view>
							 | 
						|
												</view>
							 | 
						|
												<view class="segmentation"></view>
							 | 
						|
												<view class="projected-revenue-content">
							 | 
						|
													<view class="projected-revenue-item">
							 | 
						|
														<view class="character-style">¥</view>
							 | 
						|
														<view class="character-price">{{accountInfo.received_revenue}}</view>
							 | 
						|
													</view>
							 | 
						|
													<view class="revenue-item-text">
							 | 
						|
														<view class="character-text">总到账收益</view>
							 | 
						|
														<image class="help-icon"
							 | 
						|
															src="https://common-1257637852.cos.ap-guangzhou.myqcloud.com/paidui-pay/help-icon.png" />
							 | 
						|
													</view>
							 | 
						|
												</view>
							 | 
						|
											</view>
							 | 
						|
											<view class="recent-orders-content">
							 | 
						|
												<view class="recent-orders-title">
							 | 
						|
													<image class="title-stlye" src="/static/index/merchant-title-style.png" alt="" />
							 | 
						|
													<view class="title-text">最近订单</view>
							 | 
						|
												</view>
							 | 
						|
												<view class="ordering-information" v-for="order in orderList" :key="order.out_trade_no">
							 | 
						|
													<view class="order-number">订单编号 {{order.out_trade_no}}</view>
							 | 
						|
													<view class="ordering-information-item">
							 | 
						|
														<view class="ordering-pic">
							 | 
						|
															<image v-if="accountInfo.logo" class="order-chart" :src="accountInfo.logo" alt="" />
							 | 
						|
															<image v-else class="order-chart" src="/static/index/order-chart.png" alt="" />
							 | 
						|
														</view>
							 | 
						|
														<view class="ordering-text">
							 | 
						|
															<view class="ordering-text-title">{{accountInfo.name}}</view>
							 | 
						|
															<view class="amount-of-money">金额:<span class="price-style">¥{{order.amount}}</span></view>
							 | 
						|
															<view class="order-time">订单时间:{{order.paid_at}}</view>
							 | 
						|
														</view>
							 | 
						|
													</view>
							 | 
						|
													<view class="order-status">
							 | 
						|
														<button class="refund-button" v-if="order.refund_status==0" @click="orderRefund(order)">退款</button>
							 | 
						|
														<button class="refunded-button-style" v-if="order.refund_status==1">退款中...</button>
							 | 
						|
														<text class="refunded-style-success" v-if="order.refund_status==2">退款成功</text>
							 | 
						|
														<text class="refunded-style-reject" v-if="order.refund_status==3">退款失败:{{order.refund_fail_reason}}</text>
							 | 
						|
													</view>
							 | 
						|
													<view class="divider-style"></view>
							 | 
						|
												</view>
							 | 
						|
											</view>
							 | 
						|
								
							 | 
						|
										<view class="load-more" @click="getOrderList">{{ hasMore ? '加载更多数据...' : '已加载完毕' }}</view>
							 | 
						|
										</view>
							 | 
						|
									</view>
							 | 
						|
								</template>
							 | 
						|
								<script>
							 | 
						|
									import {
							 | 
						|
										merchantAccountInfo,
							 | 
						|
										merchantOrderList,
							 | 
						|
										merchantOrderRefund
							 | 
						|
									} from '../../common/api.js'
							 | 
						|
								
							 | 
						|
									export default {
							 | 
						|
										data() {
							 | 
						|
											return {
							 | 
						|
												accountInfo: {},
							 | 
						|
												orderList: [],
							 | 
						|
												hasMore: true,
							 | 
						|
												page: 0,
							 | 
						|
											}
							 | 
						|
										},
							 | 
						|
										onLoad() {
							 | 
						|
											this.getAccountInfo()
							 | 
						|
											this.getOrderList()
							 | 
						|
										},
							 | 
						|
										onReachBottom() {
							 | 
						|
											this.getOrderList()
							 | 
						|
										},
							 | 
						|
										methods: {
							 | 
						|
											getAccountInfo() {
							 | 
						|
												merchantAccountInfo().then(data => this.accountInfo = data)
							 | 
						|
											},
							 | 
						|
											getOrderList() {
							 | 
						|
												if (!this.hasMore) {
							 | 
						|
													return
							 | 
						|
												}
							 | 
						|
												this.page++
							 | 
						|
												merchantOrderList({
							 | 
						|
													page: this.page,
							 | 
						|
													page_size: 15
							 | 
						|
												}).then(data => {
							 | 
						|
													this.orderList = [...this.orderList, ...data.list]
							 | 
						|
													this.hasMore = data.has_more
							 | 
						|
												})
							 | 
						|
											},
							 | 
						|
											orderRefund(item) {
							 | 
						|
												uni.showModal({
							 | 
						|
													content: '确认退款?',
							 | 
						|
													success: function (res) {
							 | 
						|
														if (res.confirm) {
							 | 
						|
															merchantOrderRefund({
							 | 
						|
																out_trade_no: item.out_trade_no
							 | 
						|
															}).then(data => {
							 | 
						|
																item = Object.assign(item, data.new_attr)
							 | 
						|
																uni.showModal({
							 | 
						|
																	content: data.refund_msg,
							 | 
						|
																	showCancel: false
							 | 
						|
																});
							 | 
						|
															})
							 | 
						|
														}
							 | 
						|
													}
							 | 
						|
												})
							 | 
						|
											},
							 | 
						|
											toManagement(){
							 | 
						|
												uni.navigateTo({
							 | 
						|
													url:'/pages/merchant-withdrawal-management/merchant-withdrawal-management'
							 | 
						|
												})
							 | 
						|
											},
							 | 
						|
											handlerOrder() {
							 | 
						|
												// uni.navigateTo({
							 | 
						|
												// 	url: '/pages/user-orders/user-orders'
							 | 
						|
												// });
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<style lang="scss">
							 | 
						|
									.agent-content {
							 | 
						|
										position: relative;
							 | 
						|
										width: 100%;
							 | 
						|
										height: 1500rpx;
							 | 
						|
										padding-left: 30rpx;
							 | 
						|
										padding-right: 30rpx;
							 | 
						|
										background: url(../../static/index/merchant-index-bg.png) no-repeat top center;
							 | 
						|
										background-size: 100% 100%;
							 | 
						|
										box-sizing: border-box;
							 | 
						|
								
							 | 
						|
										.avatar-information {
							 | 
						|
											display: flex;
							 | 
						|
											justify-content: left;
							 | 
						|
											align-items: center;
							 | 
						|
											padding: 30rpx 0;
							 | 
						|
								
							 | 
						|
											.information-content {
							 | 
						|
												margin-left: 30rpx;
							 | 
						|
								
							 | 
						|
												.information-name {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 32rpx;
							 | 
						|
													color: #fff;
							 | 
						|
													font-weight: bold;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.address-text {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 24rpx;
							 | 
						|
													color: #fff;
							 | 
						|
													margin-top: 15rpx;
							 | 
						|
												}
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										
							 | 
						|
										.information-alipay-content{
							 | 
						|
											font-size: 24rpx;
							 | 
						|
											color: #fff;
							 | 
						|
											display: flex;
							 | 
						|
											flex-direction: column;
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										.information-id-content {
							 | 
						|
											display: flex;
							 | 
						|
											justify-content: space-between;
							 | 
						|
											align-items: center;
							 | 
						|
											padding: 0 25rpx;
							 | 
						|
											padding-bottom: 30rpx;
							 | 
						|
								
							 | 
						|
											.content-id-item {
							 | 
						|
												display: flex;
							 | 
						|
												justify-content: left;
							 | 
						|
												align-items: center;
							 | 
						|
								
							 | 
						|
												.id-text {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 24rpx;
							 | 
						|
													color: #fff;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.id-value {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 24rpx;
							 | 
						|
													color: #fff;
							 | 
						|
												}
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										.revenue-information {
							 | 
						|
											display: flex;
							 | 
						|
											justify-content: space-between;
							 | 
						|
											align-items: center;
							 | 
						|
											height: 200rpx;
							 | 
						|
											background: url(../../static/index/income-bg.png) no-repeat center center;
							 | 
						|
											background-size: cover;
							 | 
						|
											padding: 0 60rpx;
							 | 
						|
								
							 | 
						|
											.projected-revenue-content {
							 | 
						|
												text-align: center;
							 | 
						|
								
							 | 
						|
												.projected-revenue-item {
							 | 
						|
													display: flex;
							 | 
						|
													justify-content: left;
							 | 
						|
													align-items: baseline;
							 | 
						|
								
							 | 
						|
													.character-style {
							 | 
						|
														font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
														font-size: 30rpx;
							 | 
						|
														color: #454545;
							 | 
						|
													}
							 | 
						|
								
							 | 
						|
													.character-price {
							 | 
						|
														font-family: "Din";
							 | 
						|
														font-size: 50rpx;
							 | 
						|
														color: #454545;
							 | 
						|
														font-weight: bold;
							 | 
						|
														margin-left: 10rpx;
							 | 
						|
													}
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.revenue-item-text {
							 | 
						|
													display: flex;
							 | 
						|
													justify-content: center;
							 | 
						|
													align-items: center;
							 | 
						|
													margin-top: 10rpx;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.character-text {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 28rpx;
							 | 
						|
													color: #454545;
							 | 
						|
													font-weight: bold;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												image.help-icon {
							 | 
						|
													width: 30rpx;
							 | 
						|
													height: 30rpx;
							 | 
						|
													background-size: cover;
							 | 
						|
													margin-left: 10rpx;
							 | 
						|
												}
							 | 
						|
											}
							 | 
						|
								
							 | 
						|
											.segmentation {
							 | 
						|
												width: 1rpx;
							 | 
						|
												height: 90rpx;
							 | 
						|
												background: #E6E3E3;
							 | 
						|
											}
							 | 
						|
								
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										.recent-orders-content {
							 | 
						|
											background: #fff;
							 | 
						|
											margin-top: -2rpx;
							 | 
						|
								
							 | 
						|
											.recent-orders-title {
							 | 
						|
												display: flex;
							 | 
						|
												justify-content: left;
							 | 
						|
												align-items: center;
							 | 
						|
												padding: 30rpx;
							 | 
						|
								
							 | 
						|
												image.title-stlye {
							 | 
						|
													width: 15rpx;
							 | 
						|
													height: 19rpx;
							 | 
						|
													background-size: cover;
							 | 
						|
													margin-right: 20rpx;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.title-text {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 30rpx;
							 | 
						|
													color: #454545;
							 | 
						|
													font-weight: bold;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
											}
							 | 
						|
								
							 | 
						|
											.ordering-information {
							 | 
						|
												padding-bottom: 30rpx;
							 | 
						|
								
							 | 
						|
												.order-number {
							 | 
						|
													font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
													font-size: 26rpx;
							 | 
						|
													color: #454545;
							 | 
						|
													padding: 0 30rpx;
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.ordering-information-item {
							 | 
						|
													display: flex;
							 | 
						|
													justify-content: left;
							 | 
						|
													align-items: center;
							 | 
						|
													padding: 30rpx;
							 | 
						|
								
							 | 
						|
													.ordering-pic {
							 | 
						|
														width: 120rpx;
							 | 
						|
														height: 120rpx;
							 | 
						|
														background-size: cover;
							 | 
						|
														border-radius: 15rpx;
							 | 
						|
								
							 | 
						|
														image.order-chart {
							 | 
						|
															width: 120rpx;
							 | 
						|
															height: 120rpx;
							 | 
						|
															background-size: cover;
							 | 
						|
															border-radius: 15rpx;
							 | 
						|
														}
							 | 
						|
													}
							 | 
						|
								
							 | 
						|
													.ordering-text {
							 | 
						|
														margin-left: 30rpx;
							 | 
						|
								
							 | 
						|
														.ordering-text-title {
							 | 
						|
															font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
															font-size: 30rpx;
							 | 
						|
															color: #454545;
							 | 
						|
														}
							 | 
						|
								
							 | 
						|
														.amount-of-money {
							 | 
						|
															font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
															font-size: 24rpx;
							 | 
						|
															color: #999;
							 | 
						|
															padding: 10rpx 0;
							 | 
						|
								
							 | 
						|
															span.price-style {
							 | 
						|
																font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
																font-size: 24rpx;
							 | 
						|
																color: #F52F3E;
							 | 
						|
															}
							 | 
						|
														}
							 | 
						|
								
							 | 
						|
														.order-time {
							 | 
						|
															font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
															font-size: 24rpx;
							 | 
						|
															color: #999;
							 | 
						|
														}
							 | 
						|
													}
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.order-status {
							 | 
						|
													display: flex;
							 | 
						|
													justify-content: right;
							 | 
						|
													align-items: center;
							 | 
						|
													padding: 30rpx 20rpx;
							 | 
						|
													border-top: 1rpx solid #eeeeee;
							 | 
						|
								
							 | 
						|
													button.refund-button {
							 | 
						|
														min-width: 120rpx;
							 | 
						|
														height: 48rpx;
							 | 
						|
														line-height: 44rpx;
							 | 
						|
														font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
														font-size: 24rpx;
							 | 
						|
														color: #454545;
							 | 
						|
														border-color: #E5E5E5;
							 | 
						|
														background: #fff;
							 | 
						|
														border-radius: 100rpx;
							 | 
						|
														margin: 0;
							 | 
						|
														margin-left: 500rpx;
							 | 
						|
														border: 1rpx solid #E5E5E5;
							 | 
						|
													}
							 | 
						|
								
							 | 
						|
													button.refunded-button-style {
							 | 
						|
														min-width: 130rpx;
							 | 
						|
														height: 48rpx;
							 | 
						|
														line-height: 44rpx;
							 | 
						|
														font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
														font-size: 24rpx;
							 | 
						|
														color: #999 !important;
							 | 
						|
														background: #fff;
							 | 
						|
														border-radius: 100rpx;
							 | 
						|
														margin: 0;
							 | 
						|
														margin-left: 500rpx;
							 | 
						|
														border: 1rpx solid #E5E5E5;
							 | 
						|
													}
							 | 
						|
													
							 | 
						|
													.refunded-style-success {
							 | 
						|
														height: 48rpx;
							 | 
						|
														line-height: 44rpx;
							 | 
						|
														font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
														font-size: 24rpx;
							 | 
						|
														color: #38a800 !important;
							 | 
						|
														margin: 0;
							 | 
						|
													}
							 | 
						|
													
							 | 
						|
													.refunded-style-reject {
							 | 
						|
														height: 48rpx;
							 | 
						|
														line-height: 44rpx;
							 | 
						|
														font-family: PingFangSC-Regular, sans-serif;
							 | 
						|
														font-size: 24rpx;
							 | 
						|
														color: #e30000 !important;
							 | 
						|
														margin: 0;
							 | 
						|
													}
							 | 
						|
												}
							 | 
						|
								
							 | 
						|
												.divider-style {
							 | 
						|
													width: 690rpx;
							 | 
						|
													height: 10rpx;
							 | 
						|
													background: #f7f7f7;
							 | 
						|
												}
							 | 
						|
											}
							 | 
						|
								
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									.load-more {
							 | 
						|
										text-align: center;
							 | 
						|
										font-size: 14px;
							 | 
						|
									}
							 | 
						|
								</style>
							 |