xiaoxin 9 ay önce
ebeveyn
işleme
226b0a203c
6 değiştirilmiş dosya ile 320 ekleme ve 82 silme
  1. 69 69
      components/empty.vue
  2. 1 0
      my/coupon/index.vue
  3. 215 0
      my/detail/detail.vue
  4. 26 10
      my/qinglv/index.vue
  5. 6 0
      pages.json
  6. 3 3
      pages/my/index.vue

+ 69 - 69
components/empty.vue

@@ -1,69 +1,69 @@
-<template>
-	<view class="page-box">
-		<view class="centre">
-			<image src="https://mxys.chuanghai-tech.com/wmfile/20250814/99c5ced85df04062a736276ba75bdd1e.png" mode=""></image>
-			<view class="tips">
-				{{content}}
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			content: {
-				type: String,
-				default: '暂无内容'
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.page-box {
-		position: relative;
-		// left: 0;
-		height: 50vh;
-		z-index: 0;
-		top: 70px;
-	}
-
-	.centre {
-		position: absolute;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		margin: auto;
-		height: 400rpx;
-		text-align: center;
-		// padding: 200rpx auto;
-		font-size: 32rpx;
-
-		image {
-			width: 387rpx;
-			height: 341rpx;
-			// margin-bottom: 20rpx;
-			margin: 0 auto 20rpx;
-			// border: 1px dotted #000000;
-		}
-
-		.tips {
-			font-size: 32rpx;
-			color: #2F3044;
-			margin-top: 20rpx;
-			font-weight: 700;
-		}
-
-		.btn {
-			margin: 80rpx auto;
-			width: 600rpx;
-			border-radius: 32rpx;
-			line-height: 90rpx;
-			color: #ffffff;
-			font-size: 34rpx;
-			background: #5074FF;
-		}
-	}
-</style>
+<template>
+	<view class="page-box">
+		<view class="centre">
+			<image src="https://mxys.chuanghai-tech.com/wmfile/20250814/99c5ced85df04062a736276ba75bdd1e.png" mode="aspectFill"></image>
+			<view class="tips">
+				{{ content }}
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	props: {
+		content: {
+			type: String,
+			default: '暂无内容'
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.page-box {
+	position: relative;
+	// left: 0;
+	height: 50vh;
+	z-index: 0;
+	top: 70px;
+}
+
+.centre {
+	position: absolute;
+	left: 0;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	margin: auto;
+	height: 400rpx;
+	text-align: center;
+	// padding: 200rpx auto;
+	font-size: 32rpx;
+
+	image {
+		width: 387rpx;
+		height: 341rpx;
+		// margin-bottom: 20rpx;
+		margin: 0 auto 20rpx;
+		// border: 1px dotted #000000;
+	}
+
+	.tips {
+		font-size: 32rpx;
+		color: #2f3044;
+		margin-top: 20rpx;
+		font-weight: 700;
+	}
+
+	.btn {
+		margin: 80rpx auto;
+		width: 600rpx;
+		border-radius: 32rpx;
+		line-height: 90rpx;
+		color: #ffffff;
+		font-size: 34rpx;
+		background: #5074ff;
+	}
+}
+</style>

+ 1 - 0
my/coupon/index.vue

@@ -88,6 +88,7 @@ export default {
 				limit: this.limit
 			}
 			this.$Request.get('/app/coupon/CouponList', data).then((res) => {
+				// console.log(res)
 				if (res.code == 0) {
 					this.totalCount = res.data.totalCount
 					if (this.page == 1) {

+ 215 - 0
my/detail/detail.vue

@@ -0,0 +1,215 @@
+<template>
+	<view class="container">
+		<!-- 搜索框区域 -->
+		<view class="search">
+			<u-icon name="search" size="42" color="#888888"></u-icon>
+			<input v-model="searchValue" class="search_input" type="text" placeholder="搜索可用商家名称" />
+			<view class="btn">搜索</view>
+		</view>
+
+		<!-- 列表区域 -->
+		<view class="body">
+			<view class="body_header">
+				<view class="header_left">全部可用商家</view>
+				<view class="header_right">
+					共
+					<text class="text">6</text>
+					家
+				</view>
+			</view>
+
+			<view class="body_list">
+				<!-- 每一个商家区域 -->
+				<view class="list_item" v-for="item in 6" :key="item">
+					<image class="item_img" src="/running/static/hb_bg.png" mode="aspectFill"></image>
+					<view class="item_right">
+						<view class="right_name">妈妈菜套餐饭(二食堂)</view>
+						<view class="right_info">
+							<view class="info_score">4.97分</view>
+							<view class="info_sale">月售1000+</view>
+							<view class="info_way">平台配送</view>
+						</view>
+						<view class="right_msg">
+							<view class="msg_1">起送¥7</view>
+							<view class="msg_2">配送¥1</view>
+							<view class="msg_3">45分钟 816m</view>
+						</view>
+						<view class="right_time">营业时间:9:00 - 19:20</view>
+						<view class="right_tags">
+							<view class="tag">全场85折</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			searchValue: ''
+		}
+	},
+	onReachBottom() {
+		console.log(1)
+	},
+	methods: {}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	padding: 10rpx 20rpx;
+	height: 100vh;
+	background-color: #fff9ef;
+
+	.search {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		margin: auto;
+		padding-left: 20rpx;
+		width: 625rpx;
+		height: 60rpx;
+		border-radius: 60rpx;
+		border: 2rpx solid #5b9188;
+
+		.search_input {
+			padding: 0 10rpx;
+			flex: 1;
+		}
+
+		.btn {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			width: 120rpx;
+			height: 60rpx;
+			font-size: 24rpx;
+			color: #fff;
+			border-radius: 60rpx;
+			background: linear-gradient(90deg, #74a498 0%, #5a8f86 100%);
+		}
+	}
+
+	.body {
+		margin-top: 40rpx;
+
+		.body_header {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			margin-bottom: 25rpx;
+			font-weight: bold;
+			font-size: 32rpx;
+
+			.header_left {
+			}
+
+			.header_right {
+				.text {
+					margin: 0 10rpx;
+					color: #5a9087;
+					font-size: 28rpx;
+				}
+			}
+		}
+
+		.body_list {
+			.list_item {
+				display: flex;
+				margin-bottom: 20rpx;
+				padding: 15rpx;
+				width: 710rpx;
+				border-radius: 24rpx;
+				background-color: #fff;
+
+				.item_img {
+					width: 220rpx;
+					height: 220rpx;
+				}
+
+				.item_right {
+					flex: 1;
+					padding-left: 15rpx;
+
+					.right_name {
+						margin-bottom: 8rpx;
+						font-size: 32rpx;
+						font-weight: bold;
+					}
+
+					.right_info {
+						display: flex;
+						align-items: center;
+						margin-bottom: 8rpx;
+
+						.info_score {
+							font-size: 26rpx;
+							color: #efa443;
+						}
+						.info_sale {
+							margin-left: 10rpx;
+							font-size: 22rpx;
+						}
+
+						.info_way {
+							margin-left: 150rpx;
+							padding: 2rpx;
+							height: 30rpx;
+							font-size: 16rpx;
+							color: #999999;
+							border-radius: 6rpx;
+							border: 2rpx solid #999999;
+						}
+					}
+
+					.right_msg {
+						display: flex;
+						align-items: center;
+						margin-bottom: 8rpx;
+						color: #808080;
+						font-size: 24rpx;
+
+						.msg_2 {
+							margin-left: 10rpx;
+						}
+
+						.msg_3 {
+							margin-left: 100rpx;
+						}
+					}
+
+					.right_time {
+						margin-bottom: 8rpx;
+						width: 300rpx;
+						height: 40rpx;
+						font-size: 24rpx;
+						color: #efa443;
+						border-radius: 6rpx;
+						background-color: #fdf7e9;
+					}
+
+					.right_tags {
+						display: flex;
+						flex-wrap: wrap;
+						align-items: center;
+
+						.tag {
+							margin-right: 8rpx;
+							padding: 0 4rpx;
+							height: 34rpx;
+							color: #d43030;
+							font-size: 22rpx;
+							border-radius: 6rpx;
+							border: 2rpx solid #d43030;
+						}
+					}
+				}
+			}
+		}
+	}
+}
+</style>

+ 26 - 10
my/qinglv/index.vue

@@ -14,28 +14,39 @@
 				<image style="width: 48rpx; height: 9rpx; margin-left: 20rpx" src="https://mxys.chuanghai-tech.com/wmfile/20250811/5f75606616aa4c7f8c304368f8663a39.png"></image>
 			</view>
 		</view>
-		<view @click="toXiang" v-for="(item, index) in 3" :key="index" :class="index == 0 ? 'backg1' : 'backg2'">
-			<image style="width: 289rpx; height: 319rpx; margin: 31rpx 0 0 20rpx; background-color: #000"></image>
-			<view style="margin: 31rpx 0 0 26rpx">
-				<view style="font-size: 32rpx; color: #000000; font-weight: 500; margin-top: 7rpx">月度套餐</view>
-				<view style="margin-top: 7rpx">每月14号配送定制蛋糕</view>
-				<view class="lijia">例假关怀</view>
+		<view @click="toXiang" v-for="(item, index) in dataList" :key="item.id" :class="index == 0 ? 'backg1' : 'backg2'">
+			<image :src="item.imgs" style="width: 289rpx; height: 319rpx; margin: 31rpx 0 0 20rpx; background-color: #000" mode="aspectFill"></image>
+			<view style="margin: 31rpx 0 0 26rpx; width: 400rpx">
+				<view style="font-size: 32rpx; color: #000000; font-weight: 500; margin-top: 7rpx">{{ item.name }}</view>
+				<view style="margin-top: 7rpx">{{ item.subName }}</view>
+				<view style="display: flex; flex-wrap: wrap">
+					<view class="lijia" v-for="(ele, ind) in item.serviceTag.split(',')" :key="ind">{{ ele }}</view>
+				</view>
 				<view class="q_time">
 					<view style="line-height: 30px">时间</view>
 					<view class="q_line"></view>
-					<view style="width: 276rpx; margin-left: 13rpx">2025-07-28 12:00:00 —2025-12-31 23:59:59</view>
+					<view style="width: 300rpx; margin-left: 13rpx">{{ item.startTime }}—{{ item.endTime }}</view>
 				</view>
-				<view class="jiage">¥98.00</view>
+				<view class="jiage">¥{{ item.price }}</view>
 			</view>
 		</view>
+
+		<empty v-if="!dataList.length"></empty>
 	</view>
 </template>
 
 <script>
+import empty from '@/components/empty.vue'
 export default {
+	components: {
+		empty
+	},
 	data() {
 		return {
-			isWoman: true //true是。false不是
+			isWoman: true, //true是。false不是
+			currentPage: 1,
+			totalCount: 0,
+			dataList: []
 		}
 	},
 	onLoad() {
@@ -44,17 +55,21 @@ export default {
 	methods: {
 		getData() {
 			let data = {
-				page: 1,
+				page: this.currentPage,
 				limit: 6,
 				suitSex: this.isWoman ? 2 : 1
 			}
 			this.$Request.getT('/app/lover-set/page', data).then((res) => {
 				console.log(res, 966)
+				this.dataList = [...this.dataList, ...res.data.list]
+				this.totalCount = res.data.totalCount
 			})
 		},
 		//切换男女专区
 		clickMan() {
 			this.isWoman = !this.isWoman
+			this.currentPage = 1
+			this.dataList = []
 			this.getData()
 		},
 		//跳转到详情页
@@ -96,6 +111,7 @@ export default {
 }
 .lijia {
 	margin-top: 7rpx;
+	margin-right: 8rpx;
 	width: 125rpx;
 	height: 51rpx;
 	opacity: 1;

+ 6 - 0
pages.json

@@ -361,6 +361,12 @@
 					"style": {
 						"navigationBarTitleText": "订单详情"
 					}
+				},
+				{
+					"path": "detail/detail",
+					"style": {
+						"navigationBarTitleText": "可用商家"
+					}
 				}
 			]
 		},

+ 3 - 3
pages/my/index.vue

@@ -176,14 +176,14 @@
 					<image src="../../static/images/my/8.png" style="width: 55rpx; height: 55rpx" mode="scaleToFill"></image>
 					<view class="text-sm">系统设置</view>
 				</view>
-				<view class="text-center margin-tb-sm" style="width: 25%" @click="goNav({ url: '/my/taocan/list' })">
+				<!-- <view class="text-center margin-tb-sm" style="width: 25%" @click="goNav({ url: '/my/taocan/list' })">
 					<image
 						src="https://mxys.chuanghai-tech.com/wmfile/20250812/6431457fbda24074af9bcd5c229eaa7e.png"
 						style="width: 55rpx; height: 55rpx"
 						mode="scaleToFill"
 					></image>
 					<view class="text-sm">我的套餐</view>
-				</view>
+				</view> -->
 			</view>
 		</view>
 
@@ -821,4 +821,4 @@ page {
 	background-repeat: no-repeat;
 	background-size: contain;
 }
-</style>
+</style>