|  | @@ -1,35 +1,66 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |  	<view class="pages">
 | 
	
		
			
				|  |  | -		<TopTabs :list="tabList" @changeTab="changeTab" :placeholder="'输入景点名称/订单号'">
 | 
	
		
			
				|  |  | -		</TopTabs>
 | 
	
		
			
				|  |  | +		<!-- <TopTabs :list="tabList" @changeTab="changeTab">
 | 
	
		
			
				|  |  | +		</TopTabs> -->
 | 
	
		
			
				|  |  | +		<view class="tb">
 | 
	
		
			
				|  |  | +			<view class="tabs">
 | 
	
		
			
				|  |  | +				<view v-for="(item,index) in tabList" :key="index" @tap="changeTab1(index)">
 | 
	
		
			
				|  |  | +					<text :class="index==current?'active':''">{{item.name}}</text>
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  | +			</view>
 | 
	
		
			
				|  |  | +		</view>
 | 
	
		
			
				|  |  |  		<view class="mainContain">
 | 
	
		
			
				|  |  | -			<view class="card" >
 | 
	
		
			
				|  |  | +			<view class="card" v-for="item,index  in dataList" :key="index">
 | 
	
		
			
				|  |  |  				<view class="header">
 | 
	
		
			
				|  |  | -					<span style="font-weight: 700;">订单号:A20231213102359619119</span>
 | 
	
		
			
				|  |  | +					<span style="font-weight: 700;">订单号:{{item.orderCode}}</span>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					<text :class="statusClass[0]">{{status[0]}}</text>
 | 
	
		
			
				|  |  | +					<text v-if='item.orderStatus==-1&&item.status==1' class="orange">待确认</text>
 | 
	
		
			
				|  |  | +					<text v-else-if='item.status==0&&item.orderStatus==-1' class="red">待支付</text>
 | 
	
		
			
				|  |  | +					<text v-else-if='item.orderStatus==1&&item.status==1' class="green">已预订</text>
 | 
	
		
			
				|  |  | +					<text v-else :class="statusClass[item.orderStatus]">{{status[item.orderStatus]}}</text>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  |  				<view class="mainContent">
 | 
	
		
			
				|  |  | -					<view class="image">
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -					</view>
 | 
	
		
			
				|  |  | +					<image class="image" :src="item.cover" mode="aspectFill"></image>
 | 
	
		
			
				|  |  |  					<view class="middle">
 | 
	
		
			
				|  |  | -						<span class="title">海景房-306</span>
 | 
	
		
			
				|  |  | +						<span class="title">{{item.houseBaseName}}-{{item.roomNumber}}</span>
 | 
	
		
			
				|  |  |  						<span class='info'>
 | 
	
		
			
				|  |  | -							<span>郑一璇</span>
 | 
	
		
			
				|  |  | -							<span>15753988251</span>
 | 
	
		
			
				|  |  | -							<span>03/11 - 03/12 (共两晚)</span>
 | 
	
		
			
				|  |  | +							<span>{{item.guestName}}</span>
 | 
	
		
			
				|  |  | +							<span>{{item.guestPhone}}</span>
 | 
	
		
			
				|  |  | +							<span>{{item.arriveDate}}到{{item.leaveDate}} </span>
 | 
	
		
			
				|  |  |  						</span>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  |  					<view class="price">
 | 
	
		
			
				|  |  | -						¥1288.0
 | 
	
		
			
				|  |  | +						¥{{item.orderAmount}}
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  | -				<view class="bottom" @click="handleDetail()">
 | 
	
		
			
				|  |  | +				<view class="bottom"  v-if="item.orderStatus==-1">
 | 
	
		
			
				|  |  | +					<view class="refuse">
 | 
	
		
			
				|  |  | +						拒绝
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +					<view class="btn">
 | 
	
		
			
				|  |  | +						确认订单
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  | +				<view class="bottom"  v-else-if="item.orderStatus==1">
 | 
	
		
			
				|  |  |  					<view class="btn">
 | 
	
		
			
				|  |  |  						办理入住
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  | +				<view class="bottom" v-else-if="item.orderStatus==2">
 | 
	
		
			
				|  |  | +					<view class="btn">
 | 
	
		
			
				|  |  | +						办理退房
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  | +				<view class="bottom" @click="handleDetail(item)" v-else-if="item.orderStatus==3">
 | 
	
		
			
				|  |  | +					<view class="detail">
 | 
	
		
			
				|  |  | +						详情
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  | +				<view class="bottom" @click="handleDetail(item)" v-else-if="item.orderStatus==4">
 | 
	
		
			
				|  |  | +					<view class="detail">
 | 
	
		
			
				|  |  | +						详情
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  |  			</view>
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  |  	</view>
 | 
	
	
		
			
				|  | @@ -44,17 +75,24 @@
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  		data() {
 | 
	
		
			
				|  |  |  			return {
 | 
	
		
			
				|  |  | +				current: 0,
 | 
	
		
			
				|  |  | +				mysearch: '',
 | 
	
		
			
				|  |  | +				dataList: [],
 | 
	
		
			
				|  |  | +				limit: 10,
 | 
	
		
			
				|  |  | +				page: 1,
 | 
	
		
			
				|  |  |  				statusClass: [
 | 
	
		
			
				|  |  | +					'',
 | 
	
		
			
				|  |  |  					'green',
 | 
	
		
			
				|  |  |  					'blue',
 | 
	
		
			
				|  |  |  					'grey',
 | 
	
		
			
				|  |  | -					'orange'
 | 
	
		
			
				|  |  | +					'grey',
 | 
	
		
			
				|  |  |  				],
 | 
	
		
			
				|  |  |  				status: [
 | 
	
		
			
				|  |  | +					'',
 | 
	
		
			
				|  |  |  					'已预订',
 | 
	
		
			
				|  |  |  					'已入住',
 | 
	
		
			
				|  |  | +					'已退房',
 | 
	
		
			
				|  |  |  					'已取消',
 | 
	
		
			
				|  |  | -					'待确认'
 | 
	
		
			
				|  |  |  				],
 | 
	
		
			
				|  |  |  				// mt: uni.getSystemInfoSync().statusBarHeight + 44,
 | 
	
		
			
				|  |  |  				tabList: [{
 | 
	
	
		
			
				|  | @@ -75,27 +113,94 @@
 | 
	
		
			
				|  |  |  				],
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  | +		onLoad(option) {
 | 
	
		
			
				|  |  | +			if (option.Type) {
 | 
	
		
			
				|  |  | +				const type = parseInt(option.Type) + 1
 | 
	
		
			
				|  |  | +				console.log(type, 'option');
 | 
	
		
			
				|  |  | +				console.log(option.Type, 'option11111');
 | 
	
		
			
				|  |  | +				this.changeTab1(type)
 | 
	
		
			
				|  |  | +			} else {
 | 
	
		
			
				|  |  | +				this.getOrderList()
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  |  		methods: {
 | 
	
		
			
				|  |  | -			handleDetail() {
 | 
	
		
			
				|  |  | +			changeTab1(index) {
 | 
	
		
			
				|  |  | +				this.current = index;
 | 
	
		
			
				|  |  | +				this.changeTab(index)
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			getOrderList(orderStatus) {
 | 
	
		
			
				|  |  | +				this.$api.get('/merchant/hotel/order/getMerchantOrderPageList', {
 | 
	
		
			
				|  |  | +					homestayId: '1711268640588517378',
 | 
	
		
			
				|  |  | +					limit: this.limit,
 | 
	
		
			
				|  |  | +					page: this.page,
 | 
	
		
			
				|  |  | +					orderStatus: orderStatus ? orderStatus : ''
 | 
	
		
			
				|  |  | +				}).then((res => {
 | 
	
		
			
				|  |  | +					if (res.data.code == 0) {
 | 
	
		
			
				|  |  | +						this.dataList = res.data.data.list
 | 
	
		
			
				|  |  | +						this.dataList.forEach((i, index) => {
 | 
	
		
			
				|  |  | +							this.dataList[index].arriveDate = i.arriveDate.slice(0, 10)
 | 
	
		
			
				|  |  | +							this.dataList[index].leaveDate = i.leaveDate.slice(0, 10)
 | 
	
		
			
				|  |  | +						})
 | 
	
		
			
				|  |  | +						console.log(this.dataList, 'this.dataList');
 | 
	
		
			
				|  |  | +					} else {
 | 
	
		
			
				|  |  | +						uni.showToast({
 | 
	
		
			
				|  |  | +							title: res.data.msg,
 | 
	
		
			
				|  |  | +							icon: 'none'
 | 
	
		
			
				|  |  | +						})
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				}))
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			getOrderByStatusList() {
 | 
	
		
			
				|  |  | +				this.$api.get('/merchant/hotel/order/getMerchantOrderPageList', {
 | 
	
		
			
				|  |  | +					homestayId: '1711268640588517378',
 | 
	
		
			
				|  |  | +					limit: this.limit,
 | 
	
		
			
				|  |  | +					page: this.page,
 | 
	
		
			
				|  |  | +					status: 0
 | 
	
		
			
				|  |  | +				}).then((res => {
 | 
	
		
			
				|  |  | +					if (res.data.code == 0) {
 | 
	
		
			
				|  |  | +						this.dataList = res.data.data.list
 | 
	
		
			
				|  |  | +						this.dataList.forEach((i, index) => {
 | 
	
		
			
				|  |  | +							this.dataList[index].arriveDate = i.arriveDate.slice(0, 10)
 | 
	
		
			
				|  |  | +							this.dataList[index].leaveDate = i.leaveDate.slice(0, 10)
 | 
	
		
			
				|  |  | +						})
 | 
	
		
			
				|  |  | +						console.log(this.dataList, 'this.dataList');
 | 
	
		
			
				|  |  | +					} else {
 | 
	
		
			
				|  |  | +						uni.showToast({
 | 
	
		
			
				|  |  | +							title: res.data.msg,
 | 
	
		
			
				|  |  | +							icon: 'none'
 | 
	
		
			
				|  |  | +						})
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				}))
 | 
	
		
			
				|  |  | +			},
 | 
	
		
			
				|  |  | +			handleDetail(item) {
 | 
	
		
			
				|  |  |  				uni.navigateTo({
 | 
	
		
			
				|  |  | -					url: '/pagesMy/orderList/alreadyBook'
 | 
	
		
			
				|  |  | +					url: '/pages/house/orderInfo?orderId='+item.orderCode
 | 
	
		
			
				|  |  |  				})
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  			changeTab(index) {
 | 
	
		
			
				|  |  | +				console.log(index, 'index------');
 | 
	
		
			
				|  |  |  				this.tabIdx = index;
 | 
	
		
			
				|  |  | -				// switch (index) {
 | 
	
		
			
				|  |  | -				// 	case 0:
 | 
	
		
			
				|  |  | -				// 		this.gtiList()
 | 
	
		
			
				|  |  | -				// 		break
 | 
	
		
			
				|  |  | -				// 	case 1:
 | 
	
		
			
				|  |  | -				// 		this.getiList(0)
 | 
	
		
			
				|  |  | -				// 		break
 | 
	
		
			
				|  |  | -				// 	case 2:
 | 
	
		
			
				|  |  | -				// 		this.getiList(1)
 | 
	
		
			
				|  |  | -				// 		break
 | 
	
		
			
				|  |  | -				// 	case 3:
 | 
	
		
			
				|  |  | -				// 		this.getiList(-3)
 | 
	
		
			
				|  |  | -				// }
 | 
	
		
			
				|  |  | +				switch (index) {
 | 
	
		
			
				|  |  | +					case 0:
 | 
	
		
			
				|  |  | +						this.getOrderList()
 | 
	
		
			
				|  |  | +						break
 | 
	
		
			
				|  |  | +					case 1:
 | 
	
		
			
				|  |  | +						this.getOrderList(-1)
 | 
	
		
			
				|  |  | +						break
 | 
	
		
			
				|  |  | +					case 2:
 | 
	
		
			
				|  |  | +						this.getOrderByStatusList()
 | 
	
		
			
				|  |  | +						break
 | 
	
		
			
				|  |  | +					case 3:
 | 
	
		
			
				|  |  | +						this.getOrderList(1)
 | 
	
		
			
				|  |  | +						break
 | 
	
		
			
				|  |  | +					case 4:
 | 
	
		
			
				|  |  | +						this.getOrderList(4)
 | 
	
		
			
				|  |  | +						break
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -104,7 +209,64 @@
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  |  	.pages {
 | 
	
		
			
				|  |  |  		background: #F9FAFC;
 | 
	
		
			
				|  |  | -		height: 100vh;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		.tb {
 | 
	
		
			
				|  |  | +			width: 100%;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			top: 0;
 | 
	
		
			
				|  |  | +			left: 0;
 | 
	
		
			
				|  |  | +			z-index: 999;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			.searchBoxParent {
 | 
	
		
			
				|  |  | +				width: 100%;
 | 
	
		
			
				|  |  | +				background: #fff;
 | 
	
		
			
				|  |  | +				padding: 20rpx 24rpx 6rpx;
 | 
	
		
			
				|  |  | +				box-sizing: border-box;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				.searchBox {
 | 
	
		
			
				|  |  | +					width: 100%;
 | 
	
		
			
				|  |  | +					background-color: #fff;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			.tabs {
 | 
	
		
			
				|  |  | +				background: #fff;
 | 
	
		
			
				|  |  | +				padding: 26rpx 0;
 | 
	
		
			
				|  |  | +				display: flex;
 | 
	
		
			
				|  |  | +				align-items: center;
 | 
	
		
			
				|  |  | +				width: 100%;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				&>view {
 | 
	
		
			
				|  |  | +					width: 25%;
 | 
	
		
			
				|  |  | +					font-size: 28rpx;
 | 
	
		
			
				|  |  | +					font-family: PingFangSC-Regular, PingFang SC;
 | 
	
		
			
				|  |  | +					font-weight: 400;
 | 
	
		
			
				|  |  | +					color: black;
 | 
	
		
			
				|  |  | +					line-height: 40rpx;
 | 
	
		
			
				|  |  | +					position: relative;
 | 
	
		
			
				|  |  | +					text-align: center;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				.active {
 | 
	
		
			
				|  |  | +					font-size: 32rpx;
 | 
	
		
			
				|  |  | +					font-family: PingFang-SC-Bold, PingFang-SC;
 | 
	
		
			
				|  |  | +					font-weight: bold;
 | 
	
		
			
				|  |  | +					color: black;
 | 
	
		
			
				|  |  | +					line-height: 45rpx;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				.active::after {
 | 
	
		
			
				|  |  | +					position: absolute;
 | 
	
		
			
				|  |  | +					content: '';
 | 
	
		
			
				|  |  | +					width: 50rpx;
 | 
	
		
			
				|  |  | +					height: 8rpx;
 | 
	
		
			
				|  |  | +					background: #1372FF;
 | 
	
		
			
				|  |  | +					bottom: -26rpx;
 | 
	
		
			
				|  |  | +					left: 60%;
 | 
	
		
			
				|  |  | +					margin-left: -42rpx;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		.green {}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -125,6 +287,10 @@
 | 
	
		
			
				|  |  |  					border-bottom: 1px #f3f3f3 solid;
 | 
	
		
			
				|  |  |  					padding: 20rpx;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +					.red {
 | 
	
		
			
				|  |  | +						color: indianred;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  					.green {
 | 
	
		
			
				|  |  |  						color: #39CE77;
 | 
	
		
			
				|  |  |  					}
 | 
	
	
		
			
				|  | @@ -151,10 +317,9 @@
 | 
	
		
			
				|  |  |  					justify-content: space-evenly;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  					.image {
 | 
	
		
			
				|  |  | -						background: url('https://i.ringzle.com/file/20231024/a68c2b2909d84930bbec1e5c7adbb0b4.jpg');
 | 
	
		
			
				|  |  |  						background-repeat: no-repeat;
 | 
	
		
			
				|  |  |  						background-size: cover;
 | 
	
		
			
				|  |  | -						width: 180rpx;
 | 
	
		
			
				|  |  | +						width: 198rpx;
 | 
	
		
			
				|  |  |  						height: 180rpx;
 | 
	
		
			
				|  |  |  						border-radius: 16rpx;
 | 
	
		
			
				|  |  |  					}
 | 
	
	
		
			
				|  | @@ -164,6 +329,7 @@
 | 
	
		
			
				|  |  |  						display: flex;
 | 
	
		
			
				|  |  |  						flex-direction: column;
 | 
	
		
			
				|  |  |  						justify-content: space-between;
 | 
	
		
			
				|  |  | +						margin-left: 25rpx;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  						.title {
 | 
	
	
		
			
				|  | @@ -201,12 +367,29 @@
 | 
	
		
			
				|  |  |  					display: flex;
 | 
	
		
			
				|  |  |  					justify-content: flex-end;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +					.refuse {
 | 
	
		
			
				|  |  | +						margin-right: 30rpxs;
 | 
	
		
			
				|  |  | +						border: 1rpx solid orangered;
 | 
	
		
			
				|  |  | +						border-radius: 35rpx;
 | 
	
		
			
				|  |  | +						color: orangered;
 | 
	
		
			
				|  |  | +						padding: 13rpx 34rpx;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  					.btn {
 | 
	
		
			
				|  |  |  						background: #1372FF;
 | 
	
		
			
				|  |  |  						border-radius: 35rpx;
 | 
	
		
			
				|  |  |  						color: white;
 | 
	
		
			
				|  |  |  						padding: 13rpx 34rpx;
 | 
	
		
			
				|  |  | +						margin-left: 30rpx;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +					.detail {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +						border: 1rpx solid darkgrey;
 | 
	
		
			
				|  |  | +						border-radius: 35rpx;
 | 
	
		
			
				|  |  | +						color: darkgrey;
 | 
	
		
			
				|  |  | +						padding: 13rpx 34rpx;
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  
 |