2912631854@qq.com 1 rok temu
rodzic
commit
640010db46

+ 7 - 3
App.vue

@@ -5,9 +5,13 @@
 		},
 		onShow: function() {
 			console.log('App Show')
-			this.autoUpdate();
-			if(uni.getStorageSync('userInfo')) uni.reLaunch({ url:'/pages/home/index' })
-			else uni.reLaunch({ url:'/pages/login/index' })
+			// this.autoUpdate();
+			// if (uni.getStorageSync('userInfo')) uni.reLaunch({
+			// 	url: '/pages/home/index'
+			// })
+			// else uni.reLaunch({
+			// 	url: '/pages/login/index'
+			// })
 		},
 		onHide: function() {
 			console.log('App Hide')

+ 25 - 25
http/index.js

@@ -10,31 +10,31 @@ export const $http = (url, method, data, json, isAuth, isBuffer) => {
 		})
 		config.header = {
 			'content-type': json ? 'application/json' : 'application/x-www-form-urlencoded',
-			'access_token':access_token
+			'access_token': access_token
 		}
-		if(isAuth) config.header.authorization = authorization;
-		if(isBuffer) config.responseType = 'arrayBuffer';
+		if (isAuth) config.header.authorization = authorization;
+		if (isBuffer) config.responseType = 'arrayBuffer';
 	}
 	//设置请求结束后拦截器
 	http.interceptor.response = async (response) => {
 		//判断返回状态 执行相应操作
-		uni.hideLoading()
-		if((response.data&&response.data.code&&response.data.code === 401) 
-		|| (response.data&&response.data.msg&&(response.data.msg.indexOf('未授权')>-1
-		|| response.data.msg.indexOf('重新登录')>-1))){
-			return uni.showModal({
-				title:'温馨提示',
-				content:'当前登录已失效,是否重新登录?',
-				success: (res) => {
-					if(res.confirm){
-						uni.clearStorageSync();
-						uni.reLaunch({
-							url:'/pages/login/index'
-						})
-					}
-				}
-			})
-		}
+		// uni.hideLoading()
+		// if ((response.data && response.data.code && response.data.code === 401) ||
+		// 	(response.data && response.data.msg && (response.data.msg.indexOf('未授权') > -1 ||
+		// 		response.data.msg.indexOf('重新登录') > -1))) {
+		// 	return uni.showModal({
+		// 		title: '温馨提示',
+		// 		content: '当前登录已失效,是否重新登录?',
+		// 		success: (res) => {
+		// 			if (res.confirm) {
+		// 				uni.clearStorageSync();
+		// 				uni.reLaunch({
+		// 					url: '/pages/login/index'
+		// 				})
+		// 			}
+		// 		}
+		// 	})
+		// }
 		// 请根据后端规定的状态码判定
 		if (response.data.code === 300) { //token失效
 			//	return response.data = await doRequest(response, url)//动态刷新token,并重新完成request请求
@@ -70,24 +70,24 @@ async function login() {
 	})
 }
 
-function postJson(url, data, json=true, isAuth=true, isBuffer=false) {
+function postJson(url, data, json = true, isAuth = true, isBuffer = false) {
 	return $http(url, 'POST', data, json, isAuth, isBuffer)
 }
 
-function get(url, data, json=true, isAuth=true, isBuffer=false) {
+function get(url, data, json = true, isAuth = true, isBuffer = false) {
 
 	return $http(url, 'GET', data, json, isAuth, isBuffer)
 }
 
-function post(url, data, json=true, isAuth=true, isBuffer=false) {
+function post(url, data, json = true, isAuth = true, isBuffer = false) {
 	return $http(url, 'POST', data, json, isAuth, isBuffer)
 }
 
-function put(url, data, json=true, isAuth=true, isBuffer=false) {
+function put(url, data, json = true, isAuth = true, isBuffer = false) {
 	return $http(url, 'PUT', data, json, isAuth, isBuffer)
 }
 
-function del(url, data, json=true, isAuth=true, isBuffer=false) {
+function del(url, data, json = true, isAuth = true, isBuffer = false) {
 	return $http(url, 'DELETE', data, json, isAuth, isBuffer)
 }
 

+ 8 - 0
pages.json

@@ -160,6 +160,14 @@
 						"enablePullDownRefresh": false,
 						"navigationStyle": "custom"
 					}
+				},
+				{
+					"path": "Mine/ordersList/index",
+					"style": {
+						"navigationBarTitleText": "我的订单",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
 				}
 			]
 		},

+ 322 - 3
pagesHouse/Mine/index.vue

@@ -1,5 +1,51 @@
 <template>
-	<view>
+	<view class="page" :style="{'min-height':(h-th)+'px','padding-top':mt+'px'}">
+		<image class="bg_img" src="https://i.ringzle.com/file/20240129/3931d06eaa3346c9955aa7e5e535a95b.png"
+			mode="widthFix"></image>
+		<view class="account" :style="{'margin-top':(mt-44)+'px'}">
+			<view class="a_left">
+				<view class="al_avatar" @tap="toLogin">
+					<image :src="avatar"></image>
+				</view>
+				<view class="al_name_edit">
+					<text>{{name}}</text>
+					<view class="ane_edit" @tap="toTurn('/pagesMy/handerUser/handerUser',true)">
+						<text>编辑</text>
+						<image src="https://i.ringzle.com/file/20240129/e824a765b6c24ac6aafbb49b12c23aa9.png"></image>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="orders box">
+			<view class="o_title">
+				<text>我的订单</text>
+				<view class="ot_all" @tap="toTurn('/pagesHouse/Mine/ordersList/index?type=',true)">
+					<!-- <view class="ot_all" @tap="toToast"> -->
+					<text>全部订单</text>
+					<image src="../../static/index/steamerTicket/icon_yjt.png"></image>
+				</view>
+			</view>
+			<view class="o_menus">
+				<view v-for="(item,index) in orderMenus" :key="index"
+					@tap="toTurn('/pagesMy/order/index?type='+item.type,true)">
+					<!-- <view v-for="(item,index) in orderMenus" :key="index" @tap="toToast"> -->
+					<image :src="item.img"></image>
+					<text>{{item.text}}</text>
+				</view>
+			</view>
+		</view>
+
+		<view class="wallet box">
+			<view class="w_left">
+				<view class="wl_top">
+					<image src="https://i.ringzle.com/file/20240129/60f0d414e1494b8a9feeef2a8e627934.png"></image>
+					<text>钱包余额</text>
+				</view>
+				<view class="wl_price"><span>¥</span><text>{{price.toFixed(2)}}</text></view>
+			</view>
+			<view class="w_right" @tap="toTurn('/pagesMy/wallet/index',true)">去结算</view>
+		</view>
+
 		<Tabbares :tabbarid="2"></Tabbares>
 	</view>
 </template>
@@ -9,15 +55,288 @@
 
 		data() {
 			return {
-
+				h: uni.getSystemInfoSync().windowHeight,
+				w: uni.getSystemInfoSync().windowWidth,
+				mt: uni.getSystemInfoSync().statusBarHeight + 44,
+				avatar: 'https://i.ringzle.com/file/20240129/5b4a757190334fa7ae8616620c770bc4.png',
+				name: '游客',
+				orderMenus: [ //type:1 待付款、2 待使用、3 待评价、4 退款/售后
+					{
+						type: 1,
+						img: 'https://i.ringzle.com/file/20240129/818fa751cf8d4772ac1cf818522a7f54.png',
+						text: '待付款'
+					},
+					{
+						type: 2,
+						img: 'https://i.ringzle.com/file/20240129/c4ef5f92f5274dbe9e281ad509571fc3.png',
+						text: '待使用'
+					},
+					{
+						type: 3,
+						img: 'https://i.ringzle.com/file/20240129/2a73e5e9afcf4d759b31e5332a21d012.png',
+						text: '已完成'
+					},
+					{
+						type: 4,
+						img: 'https://i.ringzle.com/file/20240129/f3fd049aaffb4768aa115572851a2bb1.png',
+						text: '退款/售后'
+					}
+				],
+				price: 0, //钱包余额
 			}
 		},
 		methods: {
+			toTurn(url, login) { //login 是否需要验证登录跳转
+				if (!url) return this.$showToast('正在开发中...')
+				uni.navigateTo({
+					url
+				});
 
+				// if (login) {
+				// 	this.$login().then(res => {
+				// 		if (res === 0) {
+				// 			uni.navigateTo({
+				// 				url
+				// 			});
+				// 		} else this.$refs['phoneNumber'].show = true;
+				// 	})
+				// } else {
+				// 	uni.navigateTo({
+				// 		url
+				// 	});
+				// }
+			},
 		}
 	}
 </script>
+<style scoped lang="less">
+	.page {
+		background: #F5F8FA;
+		padding-bottom: 256rpx;
+		box-sizing: border-box;
+
+		.bg_img {
+			width: 100%;
+			position: absolute;
+			top: 0;
+			left: 0;
+			z-index: 0;
+		}
+
+		.account {
+			width: 100%;
+			display: flex;
+			justify-content: space-between;
+
+			.a_left {
+				padding: 10rpx 0 0 40rpx;
+				display: flex;
+				z-index: 1;
+
+				.al_avatar {
+					width: 120rpx;
+					height: 120rpx;
+					border-radius: 50%;
+					background: #FFFFFF;
+					padding: 4rpx;
+					box-sizing: border-box;
+
+					image {
+						width: 100%;
+						height: 100%;
+						border-radius: 50%;
+					}
+				}
+
+				.al_name_edit {
+					margin-left: 30rpx;
+					display: flex;
+					flex-direction: column;
+
+					&>text {
+						font-size: 36rpx;
+						font-family: PingFang-SC, PingFang-SC;
+						font-weight: bold;
+						color: #111111;
+						line-height: 50rpx;
+						padding-top: 4rpx;
+					}
+
+					.ane_edit {
+						width: 120rpx;
+						height: 54rpx;
+						border-radius: 27rpx;
+						border: 1rpx solid #D3D7DE;
+						margin-top: 10rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+
+						&>text {
+							font-size: 26rpx;
+							font-family: PingFangSC, PingFang SC;
+							font-weight: 400;
+							color: #5A697C;
+							line-height: 37rpx;
+						}
+
+						&>image {
+							margin-left: 8rpx;
+							width: 24rpx;
+							height: 24rpx;
+						}
+					}
+				}
+			}
+
+
+		}
+
+
+		.box {
+			width: calc(100% - 40rpx);
+			margin: 0 20rpx;
+			box-sizing: border-box;
+			background: #FFFFFF;
+			border-radius: 20rpx;
+			position: relative;
+		}
+
+		.wallet {
+			margin-top: 32rpx;
+			padding: 34rpx 40rpx 30rpx 31rpx;
+			// background: url(https://i.ringzle.com/file/20240129/062264cb5e224845b86e4567c2ec37a6.png) no-repeat;
+			// background-size: 100% 100%;
+			background-color: #fff;
+			display: flex;
+			justify-content: space-between;
+
+			.w_left {
+				.wl_top {
+					display: flex;
+					align-items: center;
 
-<style>
+					image {
+						width: 30rpx;
+						height: 30rpx;
+					}
 
+					text {
+						margin-left: 12rpx;
+						font-size: 26rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #111;
+						line-height: 37rpx;
+					}
+				}
+
+				.wl_price {
+					margin-top: 17rpx;
+
+					span {
+						font-size: 36rpx;
+						font-family: DINAlternate, DINAlternate;
+						font-weight: bold;
+						color: #111;
+						line-height: 42rpx;
+					}
+
+					text {
+						font-size: 48rpx;
+						font-family: DINAlternate, DINAlternate;
+						font-weight: bold;
+						color: #111;
+						line-height: 56rpx;
+						margin-left: 10rpx;
+					}
+				}
+			}
+
+			.w_right {
+				margin-top: 16rpx;
+				width: 164rpx;
+				height: 72rpx;
+				background: linear-gradient(270deg, #D6F6ED 0%, #FFFFFF 100%);
+				border-radius: 36rpx;
+				line-height: 72rpx;
+				text-align: center;
+				font-size: 26rpx;
+				font-family: PingFang-SC, PingFang-SC;
+				font-weight: bold;
+				color: #007750;
+			}
+		}
+
+		.orders {
+			margin-top: 20rpx;
+			padding: 40rpx 0;
+
+			.o_title {
+				width: 100%;
+				padding: 0 20rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				&>text {
+					font-size: 36rpx;
+					font-family: PingFang-SC, PingFang-SC;
+					font-weight: bold;
+					color: #1C1E41;
+					line-height: 36rpx;
+				}
+
+				.ot_all {
+					display: flex;
+					align-items: center;
+
+					&>text {
+						font-size: 28rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #808080;
+						line-height: 28rpx;
+					}
+
+					&>image {
+						margin-left: 8rpx;
+						width: 24rpx;
+						height: 24rpx;
+					}
+				}
+			}
+
+			.o_menus {
+				margin-top: 44rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-around;
+
+				&>view {
+					width: 25%;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+
+					image {
+						width: 54rpx;
+						height: 54rpx;
+					}
+
+					text {
+						font-size: 26rpx;
+						font-family: PingFangSC, PingFang SC;
+						font-weight: 400;
+						color: #111111;
+						line-height: 26rpx;
+						margin-top: 24rpx;
+					}
+				}
+			}
+		}
+
+
+	}
 </style>

+ 363 - 0
pagesHouse/Mine/ordersList/index.vue

@@ -0,0 +1,363 @@
+<template>
+	<!-- 54是搜索框整体高度  52是tab的整体高度  不展示搜索框时需去除54-->
+	<view class="page" :style="{'min-height':h+'px','padding-top':(mt+54+52)+'px'}">
+		<!-- 头部 -->
+		<!-- 	<u-navbar title="酒店民宿订单" :leftIconSize="36" bgColor="#ffffff" leftIconColor="#333333" :titleStyle="titleStyle"
+			@leftClick="returnBack"></u-navbar> -->
+		<c-nav-bar title="我的订单"></c-nav-bar>
+
+		<TopTabs :list="list" @changeTab="changeTab" :top="mt" :placeholder="'输入关键字'" @sousuo="sousuo"></TopTabs>
+
+		<view class="list">
+			<view v-for="(item,index) in orderList" :key="index" cc v-if="FormData.orderStatus==item.orderStatus"
+				@click.stop="orderDeatils(item)">
+				<view class="item">
+					<text class="status s3" v-if="item.orderStatus=='-1'">待确定</text>
+					<text class="status disabled" v-if="item.orderStatus=='5'">已退款</text>
+					<text class="status s2" v-if="item.orderStatus=='-2'">待付款</text>
+					<text class="status s3" v-if="item.orderStatus=='1'">待使用</text>
+					<text class="status s3" v-if="item.orderStatus=='2'||item.orderStatus=='3'">已使用</text>
+					<text class="status disabled" v-if="item.orderStatus=='4'">已取消</text>
+
+					<view class="head">
+						<!-- <image src="../../../static/scenicSpots/ticketIcon_.png" v-if="status=='0'"></image> -->
+						<!-- <image src="../../../static/scenicSpots/ticketIcon.png" v-else></image> -->
+						<image src="../../../static/my/jd_ms.png" mode="" v-if="item.orderStatus=='0'"></image>
+						<image src="../../../static/my/jd_ms.png" mode="" v-else></image>
+						<text>酒店民宿</text>
+					</view>
+
+					<view class="mid">
+						<view class="name" :class="item.orderStatus=='-3'?'disabled':''">{{item.homestayName}}</view>
+						<view class="date">入离日期 {{item.arriveDate}} 至 {{item.leaveDate}} </view>
+						<view class="des">{{item.houseBaseName}}</view>
+					</view>
+					<view class="price" :class="item.orderStatus=='0'?'disabled':''">¥{{item.orderAmount}}</view>
+
+					<view class="btns">
+
+						<template v-if="item.orderStatus==1">
+							<view @click.stop="toStatus0(item)">
+								取消
+							</view>
+							<!-- 	<view @click.stop="GoRefund(item)">
+								申请退订
+							</view> -->
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+
+						<template v-if="item.orderStatus==-2">
+							<view @click.stop="toStatus0(item)">
+								取消
+							</view>
+							<view @click.stop="GoToPay(item)" style="color: #0DBFFD;">
+								去支付
+							</view>
+						</template>
+
+
+						<template v-if="item.orderStatus==3||item.orderStatus==2">
+							<!-- 	<view @click.stop="applyAfterSales(item)">
+								删除
+							</view> -->
+							<view @click.stop="toEvaluate(item)">
+								评价
+							</view>
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+						<template v-if="item.orderStatus==5||item.orderStatus==4">
+							<!-- 	<view @click.stop="applyAfterSales(item)">
+								删除
+							</view> -->
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+						<template v-if="item.orderStatus==-1">
+							<view @click.stop="GoRefund(item)">
+								取消
+							</view>
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+
+					</view>
+				</view>
+
+			</view>
+			<view v-else @click.stop="orderDeatils(item)">
+				<view class="item">
+					<text class="status s3" v-if="item.orderStatus=='-1'">待确定</text>
+					<text class="status disabled" v-if="item.orderStatus=='5'">已退款</text>
+					<text class="status s2" v-if="item.orderStatus=='-2'">待付款</text>
+					<text class="status s3" v-if="item.orderStatus=='1'">待使用</text>
+					<text class="status s3" v-if="item.orderStatus=='2'||item.orderStatus=='3'">已使用</text>
+					<text class="status disabled" v-if="item.orderStatus=='4'">已取消</text>
+
+					<view class="head">
+						<!-- <image src="../../../static/scenicSpots/ticketIcon_.png" v-if="status=='0'"></image> -->
+						<!-- <image src="../../../static/scenicSpots/ticketIcon.png" v-else></image> -->
+						<image src="../../../static/my/jd_ms.png" mode="" v-if="item.orderStatus=='0'"></image>
+						<image src="../../../static/my/jd_ms.png" mode="" v-else></image>
+						<text>酒店民宿</text>
+					</view>
+
+					<view class="mid">
+						<view class="name" :class="item.orderStatus=='0'?'disabled':''">{{item.homestayName}}</view>
+						<view class="date">入离日期 {{item.arriveDate}} 至 {{item.leaveDate}} </view>
+						<view class="des">{{item.houseBaseName}}</view>
+					</view>
+					<view class="price" :class="item.orderStatus=='0'?'disabled':''">¥{{item.orderAmount}}</view>
+
+					<view class="btns">
+
+						<template v-if="item.orderStatus==1">
+							<view @click.stop="toStatus0(item)">
+								取消
+							</view>
+							<!-- 	<view @click.stop="GoRefund(item)">
+								申请退订
+							</view> -->
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+
+						<template v-if="item.orderStatus==-2">
+							<view @click.stop="toStatus0(item)">
+								取消
+							</view>
+							<view @click.stop="GoToPay(item)" style="color: #0DBFFD;">
+								去支付
+							</view>
+						</template>
+						<template v-if="item.orderStatus==3||item.orderStatus==2">
+							<!-- 	<view @click.stop="applyAfterSales(item)">
+								删除
+							</view> -->
+							<view @click.stop="toEvaluate(item)">
+								评价
+							</view>
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+						<template v-if="item.orderStatus==5||item.orderStatus==4">
+							<!-- 	<view @click.stop="applyAfterSales(item)">
+								删除
+							</view> -->
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+						<template v-if="item.orderStatus==-1">
+							<view @click.stop="GoRefund(item)">
+								取消
+							</view>
+							<view @click.stop="applyAfterSales(item)">
+								再次预订
+							</view>
+						</template>
+
+					</view>
+				</view>
+				<!-- <view class="tip">{{orderList.length>0?'已显示全部订单':'暂无订单'}}</view> -->
+			</view>
+		</view>
+		<!-- <view class="tip"> -->
+		<!-- {{orderList.length>0?'已显示全部订单':'暂无订单'}} -->
+		<!-- <nodata v-if="orderList.length === 0"></nodata> -->
+		<!-- </view> -->
+		<!-- 取消弹框 -->
+		<!-- <u-modal :show="showAgree" :title="title" :content='content' showCancelButton="true" confirmText='确定'
+			confirmColor='#0cbffd' @confirm="confirm" @cancel='cancel'></u-modal> -->
+
+
+		<!-- <u-toast ref="uToast"></u-toast> -->
+
+	</view>
+</template>
+
+<script>
+	// import nodata from '@/compoments/NoData/index.vue'
+	// import TopTabs from '@/compoments/TopTabs/topTabs.vue';
+	export default {
+		components: {
+			// TopTabs,
+			// nodata
+		},
+		data() {
+			return {
+				// mt: uni.getSystemInfoSync().statusBarHeight + 44,
+				h: uni.getSystemInfoSync().windowHeight,
+				mt: uni.getSystemInfoSync().statusBarHeight + 44,
+				titleStyle: {
+					fontSize: '36rpx',
+					fontWeight: "bold",
+					color: "#333333"
+				},
+				list: [{
+					name: '全部'
+				}, {
+					name: '待付款'
+				}, {
+					name: '待使用'
+				}, {
+					name: '退款'
+				}],
+
+			}
+		},
+
+		onLoad() {
+
+		},
+		onReachBottom() {
+
+		},
+
+		methods: {
+
+
+		}
+	}
+</script>
+
+<style lang="less">
+	.orderList {
+		box-sizing: border-box;
+		background-color: #fff;
+
+		.u-tabs__wrapper__nav__line {
+			// left: 20rpx !important
+		}
+	}
+
+	.u-button {
+		height: 60rpx !important;
+	}
+
+	.tip {
+		width: 100%;
+		text-align: center;
+		font-size: 24rpx;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #AAAAAA;
+		line-height: 33rpx;
+		margin: 56rpx 0;
+	}
+</style>
+<style lang="scss">
+	page {
+		background-color: #F5F8FA;
+	}
+
+	.disabled {
+		color: #AAA !important
+	}
+
+	.list {
+		padding: 0 24rpx;
+
+		.item {
+			background-color: #fff;
+			margin-top: 20rpx;
+			border-radius: 16rpx;
+			padding: 36rpx 24rpx 0;
+			position: relative;
+
+			.status {
+				right: 24rpx;
+				top: 40rpx;
+				font-size: 26rpx;
+				color: #AAA;
+				position: absolute;
+
+				&.s2 {
+					color: #FF7D01;
+				}
+
+				&.s3 {
+					color: #01B9F9
+				}
+			}
+
+			.head {
+				color: #111;
+
+				image {
+					width: 36rpx;
+					height: 36rpx;
+					margin-right: 20rpx;
+					vertical-align: middle;
+				}
+
+				text {
+					vertical-align: middle;
+				}
+			}
+
+			.mid {
+				padding: 24rpx 50rpx 40rpx 56rpx;
+				border-bottom: 1rpx solid #EFEFEF;
+
+				.name {
+					font-size: 32rpx;
+				}
+
+				.date {
+					margin: 30rpx 0;
+					color: #AAAAAA;
+				}
+
+				.des {
+					color: #AAAAAA;
+				}
+			}
+
+			.btns {
+				display: flex;
+				align-items: center;
+				justify-content: flex-end;
+
+				&>view {
+					// margin: 24rpx 0 0 24rpx;
+					margin: 24rpx;
+					width: 148rpx;
+					height: 56rpx;
+					border: 1rpx solid #EFEFEF;
+					border-radius: 28rpx;
+					line-height: 56rpx;
+					text-align: center;
+					font-size: 24rpx;
+					font-family: PingFangSC-Regular, PingFang SC;
+					font-weight: 400;
+					color: #333333;
+				}
+			}
+
+			.price {
+				position: absolute;
+				right: 24rpx;
+				bottom: 144rpx;
+				font-size: 32rpx;
+				color: #111;
+				font-weight: 600;
+			}
+		}
+	}
+
+	.ml12 {
+		height: 56rpx;
+		width: 148rpx;
+		line-height: 56rpx;
+		display: inline-block;
+		margin-left: 24rpx;
+	}
+</style>

+ 76 - 3
pagesHouse/Verification/index.vue

@@ -1,5 +1,26 @@
 <template>
-	<view>
+	<view class="page" :style="{'min-height':(h-th)+'px','padding-top':mt+'px'}">
+		<c-nav-bar title="核销"></c-nav-bar>
+		<view class="content">
+			<view class="content-one">
+				<view class="image">
+					<image src="https://i.ringzle.com/file/20240224/f7c81755b4f74f47b80c53ba4e6b051a.png" mode="">
+					</image>
+				</view>
+				<view class="text">
+					扫一扫核销
+				</view>
+			</view>
+			<view class="content-two">
+				<view class="image">
+					<image src="https://i.ringzle.com/file/20240224/49af25724572427fadff57f73a29d15b.png" mode="">
+					</image>
+				</view>
+				<view class="text">
+					手工核销
+				</view>
+			</view>
+		</view>
 		<Tabbares :tabbarid="1"></Tabbares>
 	</view>
 </template>
@@ -8,7 +29,8 @@
 	export default {
 		data() {
 			return {
-
+				h: uni.getSystemInfoSync().windowHeight - 87,
+				mt: uni.getSystemInfoSync().statusBarHeight + 44,
 			}
 		},
 		methods: {
@@ -17,6 +39,57 @@
 	}
 </script>
 
-<style>
+<style lang="less">
+	* {
+		margin: 0;
+		padding: 0;
+		box-sizing: border-box
+	}
+
+	.page {
+		height: 100%;
+		background-color: #FFFFFF;
+
+		.content {
+			// height: 100%;
+			// line-height: 100%;
+			// padding: 40rpx auto;
+			margin: 34% 64rpx;
+			display: flex;
+			flex-wrap: wrap;
+
+			.content-one,
+			.content-two {
+				box-sizing: border-box;
+				width: 100%;
+				height: 224rpx;
+				background-color: #F0F8F6;
+				padding: 40rpx 0;
+				margin-top: 60rpx;
+				border-radius: 24rpx;
+
+				.image {
+					width: 88rpx;
+					height: 88rpx;
+					margin: auto;
+
 
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+
+				.text {
+					margin-top: 24rpx;
+					text-align: center;
+					font-size: 32rpx;
+					color: #111111;
+					font-weight: Regular;
+				}
+			}
+
+		}
+
+	}
 </style>