ZZ 1 hónapja
szülő
commit
9695746a60

+ 7 - 0
mer_uniapp/pages.json

@@ -95,6 +95,13 @@
 				"navigationStyle": "custom",
 				"navigationBarTitleText": "骑手"
 			}
+		},
+		{
+			"path": "pages/takeout/index",
+			"style": {
+				"navigationStyle": "custom",
+				"navigationBarTitleText": "美食"
+			}
 		}
 	],
 	"subPackages": [{

+ 0 - 1
mer_uniapp/pages/index/index.vue

@@ -122,7 +122,6 @@
 				<view>
 					<image :src="item.pcLogo" style="width: 230rpx;height: 230rpx;"></image>
 				</view>
-
 				<view style="margin-left: 20rpx;flex: 1;">
 					<view class="">
 						<text class="goods-title">{{item.name}}</text>

+ 55 - 6
mer_uniapp/pages/merchant/home/index.vue

@@ -12,7 +12,12 @@
 					<view class="left">
 						<view class="store-name">
 							<text style="font-weight: 600;font-size: 35rpx;color: #141414;">{{ merchanInfo.name }}</text>
-							<view class="iconfont iconarrow-right"></view>
+							<view>
+								<!-- 未收藏icon -->
+								<image class='icon-img' src="/static/img/收藏-灰.png" @click='getMerCollectAddApi' v-if="!merchanInfo.isCollect" />
+								<!-- 已经收藏 -->
+								<image class='icon-img' src="/static/img/收藏-亮.png" @click='getMerCollectCancelApi' v-else />
+							</view>
 						</view>
 						<view class="store-score" style="margin: 7rpx 0;">
 							<text style="font-weight: 600;font-size: 27rpx;color: #FD6716;">{{ merchanInfo.starLevel }}分</text>
@@ -66,8 +71,8 @@
 							<view class="items">
 								<!-- 商品 begin -->
 								<!-- <view v-if="!item.goodsList">无商品</view> -->
-								<view class="good" v-for="(good, key) in item.childList" :key="key">
-									<image :src="good.icon" class="image" @tap="console.log('点击图片')"></image>
+								<view class="good" v-for="(good, key) in item.childList" :key="key" @tap="getOrderdetils(good)">
+									<image :src="good.icon" class="image"></image>
 									<view class="right">
 										<text class="name">{{ good.name }}</text>
 										<view class="tips">
@@ -241,6 +246,10 @@
 		getMerchantProList
 	} from '@/api/merchant.js';
 	import {
+		getMerCollectAddApi,
+		getMerCollectCancelApi
+	} from '@/api/merchant.js';
+	import {
 		getProductDetail
 	} from '@/api/product.js';
 	import {
@@ -328,7 +337,7 @@
 		},
 		computed: {
 			goodCartNum() { //计算单个饮品添加到购物车的数量
-			// this.good
+				// this.good
 				return (text) => this.cart.reduce((acc, cur) => {
 					!text ? text = this.getGoodSelectedProps(this.good) : ''
 					if (cur.props_text === text) {
@@ -360,6 +369,39 @@
 			}
 		},
 		methods: {
+			// 跳转详情
+			getOrderdetils(item) {
+				console.log(item)
+				uni.navigateTo({
+					url: `/pages/goods/goods_details/index?id=${item.id}&mt=0`
+				})
+
+			},
+			// 收藏接口
+			getMerCollectAddApi() {
+				// 商户id
+				getMerCollectAddApi(this.merId).then(res => {
+					console.log('收藏', res)
+					if (res.code == 200) {
+						this.$util.Tips({
+							title: "收藏成功",
+						});
+						getMerchantInfo(this.merId) //商家信息 
+					}
+				})
+			},
+			// 取消收藏
+			getMerCollectCancelApi() {
+				getMerCollectCancelApi(this.merId).then(res => {
+					console.log()
+					if (res.code == 200) {
+						this.$util.Tips({
+							title: "取消收藏",
+						});
+						getMerchantInfo(this.merId) //商家信息 
+					}
+				})
+			},
 			// 获取地址数据
 			getAddressList() {
 				getAddressList().then(res => {
@@ -550,7 +592,8 @@
 							item.optionList.forEach((items, index) => {
 								index === 0 ? items.is_default = true : '' // 规格默认选中
 							})
-							return { ...item }
+							return { ...item
+							}
 						})
 						console.log(this.good)
 						// this.productValue = res.data.productAttr //规格数组
@@ -722,7 +765,7 @@
 
 				.store-name {
 					display: flex;
-					justify-content: flex-start;
+					justify-content: space-between;
 					align-items: center;
 					font-size: $font-size-lg;
 					margin-bottom: 10rpx;
@@ -731,6 +774,12 @@
 						margin-left: 10rpx;
 						line-height: 100%;
 					}
+
+					.icon-img {
+						width: 40rpx;
+						height: 40rpx;
+						flex-shrink: 0;
+					}
 				}
 
 				.store-tip {

+ 291 - 1388
mer_uniapp/pages/takeout/index.vue

@@ -1,10 +1,112 @@
 <template>
-	<view class="container" :style="{ height: winHeight+ 'px' }">
+	<view class="container flex-col":style="{height: winHeight + 'px'}">
 		<!-- #ifdef MP -->
 		<view class="cart_nav">
-			<nav-bar iconColor='#fff' ref="navBarRef" navTitle="" backgroundColor="#FF6702" :isBackgroundColor="false">
+			<nav-bar iconColor='#fff' ref="navBarRef" navTitle="美食" backgroundColor="#FF6702" :isBackgroundColor="false">
 			</nav-bar>
 		</view>
+		<!-- #endif -->
+		<view class="box-color"></view>
+		<view class="box-merchant flex-col">
+			<view class="top-merchant">
+				<view class="flex-y-center">
+					<image style="width: 80rpx; height: 80rpx;" src="/static/img/ic-message.png"></image>
+					<view style="margin-left: 15rpx;">
+						<view class="mer-name">BOOS盖饭·农家大碗香(德思勤店)</view>
+						<view>
+							<text>今日推荐</text>
+							<text>4.8</text>
+							<text>月销7000+</text>
+							<text>配送约¥0</text>
+						</view>
+					</view>
+				</view>
+				<view style="position: absolute;right: 20rpx;top: 20rpx;">进店</view>
+				<view class="flex-y-center" style="margin: 15rpx 0;">
+					<view class="cert-box">28减1</view>
+					<view class="cert-box">50减2</view>
+					<view class="cert-box">1元优惠券</view>
+					<view class="cert-box">2元优惠券</view>
+				</view>
+				<scroll-view :scroll-x="true" scroll-with-animation style="height: 130px;white-space: nowrap;">
+					<view class="top-box-item">
+						<image style="width: 100%; height: 120rpx;border-radius: 10rpx;" src="/static/img/ic-message.png"></image>
+						<view class="name">请炒土豆丝|放就爱哦但是见附件就能看</view>
+						<view>
+							<text :class="$bg-color-primary">¥</text><text class="bg-color">2.88</text>
+							<text style="text-decoration: line-through;">¥6</text>
+						</view>
+					</view>
+					<view class="top-box-item">
+						<image style="width: 100%; height: 120rpx;border-radius: 10rpx;" src="/static/img/ic-message.png"></image>
+						<view class="name">肉末茄子|放就爱哦但是见附件就能看</view>
+						<view>
+							<text :class="$bg-color-primary">¥</text><text class="bg-color">2.88</text>
+							<text style="text-decoration: line-through;">¥6</text>
+						</view>
+					</view>
+					<view class="top-box-item">
+						<image style="width: 100%; height: 120rpx;border-radius: 10rpx;" src="/static/img/ic-message.png"></image>
+						<view class="name">辣椒炒肉盖饭|放就爱哦但是见附件就能看</view>
+						<view>
+							<text :class="$bg-color-primary">¥</text><text class="bg-color">2.88</text>
+							<text style="text-decoration: line-through;">¥6</text>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+			<scroll-view :scroll-x="true" scroll-with-animation style="white-space: nowrap;margin: 20rpx 0rpx;">
+				<view style="display: inline-block;margin-right: 30rpx;" v-for="(item, index) in optionData">
+					<view class="flex-col flex-center">
+						<image style="border-radius: 50%;width: 80rpx;height: 80rpx;" src="/static/img/ic-message.png"></image>
+						<view class="name">{{item.name}}</view>
+					</view>
+				</view>
+			</scroll-view>
+			<!-- 销量排行 -->
+			<view class="tab-list" style="margin-top: 10rpx;">
+				<view :class=" item.checked ? 'tab-item2' : 'tab-item2-false' " v-for="item in labelList" :key="item.id" @click="item2Click(item)">{{item.label}}</view>
+			</view>
+
+			<scroll-view scroll-y scroll-with-animation style="flex: 1;overflow: hidden;">
+				<view class="content-goods2" v-for="item in merchantList" :key="item.id" @click="merchantTab(item)">
+					<view>
+						<image :src="item.pcLogo" style="width: 230rpx;height: 230rpx;"></image>
+					</view>
+
+					<view style="margin-left: 20rpx;flex: 1;">
+						<view class="">
+							<text class="goods-title">{{item.name}}</text>
+							<image src="/static/img/ic-close.png" style="width: 32rpx;height: 32rpx;float: right; "></image>
+						</view>
+
+						<view style="margin-top: 10rpx;">
+							<text class="goods-score">{{item.score}}</text>
+							<text class="goods-info" style="margin-left: 10rpx;">月销 {{item.salesVolume}}</text>
+							<text class="goods-info" style="margin-left: 25rpx;">人均 ¥ {{item.perCapita}}</text>
+						</view>
+
+						<view style="margin-top: 10rpx;display: flex;align-items: center;">
+							<text class="goods-info">起送 ¥ {{item.perCapita}}</text>
+							<text v-if="!item.isfreeDeliverfee" class="goods-info" style="color: #E5AD21;margin-left: 18rpx;">免配送费</text>
+							<view v-if="!item.isfreeDeliverfee" style="color: #999999;font-size: 21rpx;margin-left: 10rpx;text-decoration: line-through;">¥
+								{{item.freeDeliverFee}}</view>
+							<text v-if="item.isfreeDeliverfee" style="color: #999999;font-size: 21rpx;margin-left: 10rpx;">配送费¥
+								{{item.distCosts}}</text>
+							<text class="goods-info" style="margin-left: 38rpx;">10分钟</text>
+							<text class="goods-info" style="margin-left: 10rpx;">{{item.distance}}</text>
+						</view>
+
+						<view style="margin-top: 22rpx;"><text class="goods-sales">已售卖{{item.salesVolume}}件</text></view>
+
+						<view style="margin-top: 14rpx;">
+							<text class="goods-labels" v-for="(item2,index2) in item.discountLabel" :key="index2">{{item2}}</text>
+						</view>
+
+					</view>
+				</view>
+			</scroll-view>
+		</view>
 	</view>
 </template>
 
@@ -18,22 +120,11 @@
 	// +----------------------------------------------------------------------
 	// | Author: CRMEB Team <admin@crmeb.com>
 	// +----------------------------------------------------------------------
-	import {
-		getCategoryCacheTree,
-		getMerchantInfo,
-		getMerchantProList
-	} from '@/api/merchant.js';
-	import {
-		getProductDetail
-	} from '@/api/product.js';
-	import {
-		orderCreate,
-		preOrderApi
-	} from '@/api/order.js';
 	import navBar from '@/components/navBar';
 	import {
-		getAddressList
-	} from '@/api/user.js';
+		getMerchantList,
+		getHomeInfo
+	} from '@/api/home.js';
 	let app = getApp();
 	var statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'rpx';
 	export default {
@@ -42,35 +133,56 @@
 		},
 		data() {
 			return {
-				merId: 0,
 				winHeight: 0,
-				merchanInfo: {},
-				statusBarHeight: app.globalData.statusBarHeight,
-				navigationBarHeight: 112,
-				goods: [], //所有商品
-				loading: true,
-				currentCateId: 1, //默认分类
-				cateScrollTop: 0,
-				lastScrollTop: 0,
-				menuScrollIntoView: '',
-				cart: [], //购物车
-				goodDetailModalVisible: false, //是否饮品详情模态框
-				good: {}, //当前饮品
-				category: {}, //当前饮品所在分类
-				cartPopupVisible: false,
-				sizeCalcState: false,
-				orderType: 'takeout',
-				store: {
-					min_price: 0.01
-				},
-				specifications: '', //点击的这一项菜品信息
-				specificationsList: [], //点击的这一项菜品信息的大类
-				selectble: false, //规格弹窗
-				productValue: [], //规格数组
-				productObj: {}, //规格对象
-				productid: '', //选中规格的id
-				lockcatble: false, // 购物车弹窗
-				addressInfo: {}
+				optionData: [{
+						id: 1,
+						name: '全部',
+						icon: '/static/img/ic-message.png'
+					},
+					{
+						id: 2,
+						name: '饺子混沌',
+						icon: '/static/img/ic-message.png'
+					},
+					{
+						id: 3,
+						name: '汉堡薯条',
+						icon: '/static/img/ic-message.png'
+					},
+					{
+						id: 4,
+						name: '意面披萨',
+						icon: '/static/img/ic-message.png'
+					},
+					{
+						id: 5,
+						name: '包子粥店',
+						icon: '/static/img/ic-message.png'
+					},
+					{
+						id: 6,
+						name: '快餐',
+						icon: '/static/img/ic-message.png'
+					},
+				],
+				labelList: [{
+					id: 1,
+					label: "销量排行",
+					checked: true
+				}, {
+					id: 2,
+					label: "满减大促",
+					checked: false
+				}, {
+					id: 3,
+					label: "首单立减",
+					checked: false
+				}, {
+					id: 4,
+					label: "减配送费",
+					checked: false
+				}],
+				merchantList: [],
 			}
 		},
 		onLoad(options) {
@@ -80,1406 +192,197 @@
 					that.winHeight = res.windowHeight
 				},
 			});
-			this.merId = uni.getStorageSync('merId')
-			//首页数据加载
-			// 获取商家信息
-			getMerchantInfo(this.merId).then(res => {
-				this.merchanInfo = res.data
-			});
-			// 获取商品列表
-			getCategoryCacheTree(this.merId).then(res => {
-				console.log(res.data)
-				this.goods = res.data
-				// this.goods.unshift({
-				// 	id: 9999,
-				// 	name: '推荐'
-				// })
-				this.currentCateId = this.goods[0].id
-				// this.menuScrollIntoView = `cate-${9999}`
+			uni.getLocation({
+				type: 'wgs84',
+				geocode: true, //设置该参数为true可直接获取经纬度及城市信息
+				success: function(res) {
+					getMerchantList({
+						latitude: res.latitude,
+						longitude: res.longitude
+					}).then(res => {
+						// that.merchantList = res.data.list;
+						that.merchantList.push(res.data.list[0]);
+						that.merchantList.push(res.data.list[0]);
+						that.merchantList.push(res.data.list[0]);
+						that.merchantList.push(res.data.list[0]);
+						that.merchantList.push(res.data.list[0]);
+						console.log('商品信息:', that.merchantList);
+					});
+				},
+				fail: function() {
+					uni.showToast({
+						title: '获取地址失败,将导致部分功能不可用',
+						icon: 'none'
+					});
+				}
 			})
-			// 获取用户默认地址
-			this.getAddressList()
-			// this.getIndexConfig();
-			// #ifdef MP-WEIXIN
-			// 获取微信胶囊的位置信息 width,height,top,right,left,bottom
-			const custom = wx.getMenuButtonBoundingClientRect()
-			// 导航栏高度(标题栏高度) = 胶囊高度 + (顶部距离 - 状态栏高度) * 2
-			// this.navigationBarHeight = custom.height + (custom.top - this.statusBarHeight) * 2
-			// console.log("导航栏高度:"+this.globalData.navigationBarHeight)
-			// #endif
 
 		},
-		computed: {
-			goodCartNum() { //计算单个饮品添加到购物车的数量
-			// this.good
-				return (text) => this.cart.reduce((acc, cur) => {
-					!text ? text = this.getGoodSelectedProps(this.good) : ''
-					if (cur.props_text === text) {
-						return acc += cur.number
-					}
-					return acc
-				}, 0)
-			},
-			menuCartNum() {
-				return (id) => this.cart.reduce((acc, cur) => {
-					if (cur.cate_id === id) {
-						return acc += cur.number
-					}
-					return acc
-				}, 0)
-			},
-			getCartGoodsNumber() { //计算购物车总数
-				return this.cart.reduce((acc, cur) => acc + cur.number, 0)
-			},
-			getCartGoodsPrice() { //计算购物车总价
-				return this.cart.reduce((acc, cur) => acc + cur.number * cur.price, 0)
-			},
-			disabledPay() { //是否达到起送价
-				return this.orderType == 'takeout' && (this.getCartGoodsPrice < this.store.min_price) ? true : false
-			},
-			spread() { //差多少元起送
-				if (this.orderType != 'takeout') return
-				return parseFloat((this.store.min_price - this.getCartGoodsPrice).toFixed(2))
-			}
-		},
 		methods: {
-			// 获取地址数据
-			getAddressList() {
-				getAddressList().then(res => {
-					console.log('地址', res)
-					if (res.code = 200) {
-						this.addressInfo = res.data.find(item => item.isDefault === true);
-						console.log('默认地址', this.addressInfo)
-					}
-				})
-			},
-			handBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			handleMenuTap(id) { //点击菜单项事件
-				this.menuScrollIntoView = `cate-${id}`
-				if (!this.sizeCalcState) {
-					this.calcSize()
-				}
-
-				this.$nextTick(() => this.cateScrollTop = this.goods.find(item => item.id == id).top)
-			},
-			handleGoodsScroll({
-				detail
-			}) { //商品列表滚动事件
-				if (!this.sizeCalcState) {
-					this.calcSize()
-				}
-				const {
-					scrollTop
-				} = detail
-				let tabs = this.goods.filter(item => item.top <= scrollTop).reverse()
-				if (tabs.length > 0) {
-					this.currentCateId = tabs[0].id
-				}
-			},
-			calcSize() {
-				let h = 10
-
-				this.goods.forEach(item => {
-					let view = uni.createSelectorQuery().select(`#cate-${item.id}`)
-					view.fields({
-						size: true
-					}, data => {
-						// if (data.goodsList) {
-						item.top = h
-						h += data.height
-						item.bottom = h
-						// }
-					}).exec()
-				})
-				this.sizeCalcState = true
-			},
-			showGoodDetailModal(item, good) {
-				this.good = JSON.parse(JSON.stringify({ ...good
-				}))
-				this.category = JSON.parse(JSON.stringify(item))
-				this.goodDetailModalVisible = true
-			},
-			handlePropertyAdd() {
-				this.good.number += 1
-			},
-			handlePropertyReduce() {
-				if (this.good.number === 1) return
-				this.good.number -= 1
-			},
-			changePropertyDefault(index, key) { //改变默认属性值
-				this.good.property[index].optionList.forEach(value => this.$set(value, 'is_default', 0))
-				this.good.property[index].optionList[key].is_default = 1
-				this.good.number = 1
-				this.good = JSON.parse(JSON.stringify(this.good))
-			},
-			handleAddToCartInModal() {
-				const product = Object.assign({}, this.good, {
-					props_text: this.getGoodSelectedProps(this.good),
-					props: this.getGoodSelectedProps(this.good, 'id')
-				})
-				this.handleAddToCart(this.category, product, this.good.number)
-				// this.closeGoodDetailModal()
-			},
-			getGoodSelectedProps(good, type = 'text') { //计算当前饮品所选属性
-				// if (good.use_property) {
-				let props = []
-				good.property.forEach(({
-					optionList
-				}) => {
-					optionList.forEach(value => {
-						if (value.is_default) {
-							props.push(type === 'text' ? value.optionName : value.id)
-						}
-					})
-				})
-				return type === 'text' ? props.join(',') : props
-				// }
-				// return ''
-			},
-			handleReduceFromCart(item, good) {
-				const goodText = this.getGoodSelectedProps(this.good) // 购物车当前选中的规格
-				const index = this.cart.findIndex(item => item.id === good.id && item.props_text === goodText)
-				this.cart[index].number -= 1
-				if (this.cart[index].number <= 0) {
-					this.cart.splice(index, 1)
-				}
-			},
-			handleAddToCart(cate, good, num) { //添加到购物车
-				const goodText = this.getGoodSelectedProps(this.good) // 购物车当前选中的规格
-				const index = this.cart.findIndex(item => {
-					// if (good.use_property) {
-					// !good.props_text ? good.props_text = this.getGoodSelectedProps(good) : ''
-					return (item.id === good.id) && (item.props_text === goodText)
-					// } else {
-					// 	return item.id === good.id
-					// }
-				})
-				if (index > -1) {
-					this.cart[index].number += num
-				} else {
-					this.cart.push({
-						id: good.id,
-						cate_id: cate.id,
-						name: good.name,
-						price: good.price,
-						number: num,
-						icon: good.icon,
-						use_property: good.use_property,
-						props_text: this.getGoodSelectedProps(this.good),
-						props: this.getGoodSelectedProps(this.good, 'id'),
-						productid: this.productObj[goodText].id,
-						iconText: this.productObj[goodText].image,
-						...good
-					})
-				}
-
-				console.log(this.cart, '购物车')
-			},
-			toPay() {
-				// if(!this.isLogin) {
-				// 	uni.navigateTo({url: '/pages/login/login'})
-				// 	return
-				// }
-
-				uni.showLoading({
-					title: '加载中'
-				})
-
-				let orderDetails = this.cart.map((item) => {
-					return {
-						attrValueId: item.productid, //商品规格属性id(立即购买、活动购买必填)
-						groupBuyActivityId: null, //拼团活动id(拼团下单时必填)
-						groupBuyRecordId: 0, // 拼团记录id,营销类型2=拼团 时必填 0=开团 实际
-						productId: item.id, //商品id
-						productNum: item.number //商品数量
-					};
-				});
-				preOrderApi({
-					"preOrderType": 'buyNow',
-					//类型 预下单类型(“shoppingCart”:购物车下单,“buyNow”:
-					// 立即购买,“video”: 视频号商品下单,“seckill”:秒杀下单,“group”:拼团下单)
-					"orderDetails": orderDetails //购物车信息
-				}).then(res => {
-					console.log('预下单接口', res)
-					if (res.code == 200) {
-						let cartList = JSON.stringify(this.cart)
-						// uni.setStorageSync('cart', JSON.parse(JSON.stringify(this.cart)))
-						uni.navigateTo({
-							// url: `/pages/goods/order_confirm/index?cartList=${cartList}`
-							url: '/pages/goods/order_confirm/index?is_address=1&orderNo=' + res.data.orderNo +
-								'&addressId=' + this.addressInfo.id
-						})
-					}
-				})
-				uni.setStorageSync('cart', JSON.parse(JSON.stringify(this.cart)))
-				uni.hideLoading()
-			},
-			// 选规格打开
-			Selectpox(item, itemInfo) {
-				this.specifications = itemInfo //这一项信息
-				this.specificationsList = item //这一项信息
-				// this.good = Object.assign({}, this.good, itemInfo)
-				getProductDetail(
-					itemInfo.id,
-					0, 0, ''
-				).then((res) => {
-					console.log('规格', res)
-					if (res.code == 200) {
-						this.good.property = res.data.productAttr.map(item => {
-							item.optionList.forEach((items, index) => {
-								index === 0 ? items.is_default = true : '' // 规格默认选中
-							})
-							return { ...item }
-						})
-						console.log(this.good)
-						// this.productValue = res.data.productAttr //规格数组
-						this.productObj = res.data.productValue //默认选择的id
-						this.selectble = true
-					}
-				})
-			},
-			// 关闭规格
-			Close() {
-				this.specifications = '' //这一项信息
-				this.specificationsList = [] //这一项信息
-				this.selectble = false
+			item2Click(item) {
+				item.checked = !item.checked;
 			},
 		}
 	}
 </script>
 <style lang="scss" scoped>
-	/* #ifdef H5 */
-	page {
-		min-height: 100%;
-	}
-
-	/* #endif */
-
-	.bg-color {
-		background-color: $bg-color-primary;
-	}
-
-	.order-nav {
-		// height: 111rpx;
-		position: relative;
-		background-color: #FF6702;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-
-		.back-button {
-			position: absolute;
-			left: 20rpx;
-		}
-
-		text {
-			font-weight: 500;
-			font-size: 35rpx;
-			color: #FFFFFF;
-		}
-	}
-
 	.container {
-		display: flex;
-		flex-direction: column;
 		overflow: hidden;
 		position: relative;
 	}
 
-	.loading {
+	.box-color {
 		width: 100%;
-		height: 100%;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-
-		image {
-			width: 260rpx;
-			height: 260rpx;
-			position: relative;
-			margin-top: -200rpx;
-			/* #ifdef h5 */
-			margin-top: 0;
-			/* #endif */
-		}
-	}
-
-	.stores {
-		width: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-		margin-bottom: -40rpx;
-
-		.store {
-			width: 100%;
-			background-color: $bg-color-grey;
-			padding: 20rpx;
-			display: flex;
-			align-items: center;
-			margin-bottom: 20rpx;
-			border-radius: 6rpx;
-
-			.iconfont {
-				font-size: 50rpx;
-				margin-right: 15rpx;
-
-				&.iconradio-button-off {
-					color: $text-color-assist;
-				}
-
-				&.iconradio-button-on {
-					color: $color-primary;
-				}
-			}
-
-			.infos {
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-				color: $text-color-base;
-				overflow: hidden;
-
-				.name_and_distance {
-					width: 100%;
-					display: flex;
-					justify-content: space-between;
-					margin-bottom: 10rpx;
-					overflow: hidden;
-
-					.name {
-						flex: 1;
-						flex-shrink: 0;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						white-space: nowrap;
-						font-size: $font-size-lg;
-					}
-
-					.distance {
-						flex-shrink: 0;
-						font-size: $font-size-lg;
-						font-weight: bold;
-						margin-left: 20rpx;
-					}
-				}
-
-				.street {
-					color: $text-color-assist;
-					font-size: $font-size-sm;
-				}
-			}
-		}
+		height: 200rpx;
+		margin-top: -1px;
+		background-color: $bg-color-primary;
+		position: absolute;
+		z-index: -1;
 	}
 
-	.main {
+	.box-merchant {
+		background-color: #F5F5F5;
+		border-radius: 30rpx 30rpx 0 0;
+		padding: 20rpx 20rpx 0 20rpx;
+		margin-top: 30rpx;
 		overflow: hidden;
-		width: 100%;
-		display: flex;
-		flex-direction: column;
+		flex: 1;
 	}
 
-	.nav {
-		width: 100%;
-		flex-shrink: 0;
-		display: flex;
-		flex-direction: column;
-		border-radius: 23rpx;
-		padding: 19rpx 57rpx 38rpx 58rpx;
-		background-color: #ffffff;
-
-		.header {
-			width: 100%;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-
-			.left {
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-
-				.store-name {
-					display: flex;
-					justify-content: flex-start;
-					align-items: center;
-					font-size: $font-size-lg;
-					margin-bottom: 10rpx;
-
-					.iconfont {
-						margin-left: 10rpx;
-						line-height: 100%;
-					}
-				}
-
-				.store-tip {
-					font-weight: 400;
-					font-size: 21rpx;
-					color: #858687;
-					margin-top: 10rpx;
-					background: #F8F9FB;
-					border-radius: 4rpx;
-				}
-			}
-
-			.right {
-				background-color: $bg-color-grey;
-				border-radius: 38rpx;
-				display: flex;
-				align-items: center;
-				font-size: $font-size-sm;
-				padding: 0 38rpx;
-				color: $text-color-assist;
-
-				.dinein,
-				.takeout {
-					position: relative;
-					display: flex;
-					align-items: center;
-
-					&.active {
-						padding: 14rpx 38rpx;
-						color: #ffffff;
-						background-color: $color-primary;
-						border-radius: 38rpx;
-					}
-				}
-
-				.takeout {
-					margin-left: 20rpx;
-					height: 100%;
-					flex: 1;
-					padding: 14rpx 0;
-				}
-
-				.dinein.active {
-					margin-left: -38rpx;
-				}
-
-				.takeout.active {
-					margin-right: -38rpx;
-				}
-			}
-		}
-
-		.coupon {
-			flex: 1;
-			width: 100%;
-			background-color: $bg-color-primary;
-			font-size: $font-size-base;
-			color: $color-primary;
-			padding: 0 20rpx;
-			display: flex;
-			align-items: center;
-			overflow: hidden;
-
-			.title {
-				flex: 1;
-				margin-left: 10rpx;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
+	.top-merchant {
+		background-color: #fff;
+		position: relative;
+		padding: 20rpx;
+		border-radius: 20rpx;
 
-			.iconfont {
-				line-height: 100%;
-			}
+		.mer-name {
+			font-weight: 600;
+			font-size: 27rpx;
+			color: #141414;
 		}
-	}
-
-	.content {
-		flex: 1;
-		overflow: hidden;
-		width: 100%;
-		display: flex;
-		border-radius: 23rpx 23rpx 0rpx 0rpx;
-
-		.menus {
-			width: 200rpx;
-			height: 100%;
-			overflow: hidden;
-			background-color: $bg-color-grey;
 
-			.wrapper {
-				width: 100%;
-				height: 100%;
-
-				.menu {
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					padding: 30rpx 20rpx;
-					font-size: 26rpx;
-					color: $text-color-assist;
-					position: relative;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-
-					&:nth-last-child(1) {
-						margin-bottom: 230rpx;
-					}
-
-					&.current {
-						background-color: #ffffff;
-						color: $text-color-base;
-					}
-
-					.dot {
-						position: absolute;
-						width: 34rpx;
-						height: 34rpx;
-						line-height: 34rpx;
-						font-size: 22rpx;
-						background-color: $bg-color-primary;
-						color: #ffffff;
-						top: 16rpx;
-						right: 10rpx;
-						border-radius: 100%;
-						text-align: center;
-					}
-				}
-			}
+		.cert-box {
+			color: #FF4B4B;
+			border: 2rpx solid #FF4B4B;
+			border-radius: 8rpx;
+			background: rgba(255, 75, 75, 0.05);
+			padding: 10rpx;
+			margin-right: 10rpx;
 		}
 
-		.goods {
-			flex: 1;
-			height: 100%;
-			overflow: hidden;
-			background-color: #ffffff;
+		.top-box-item {
+			width: 31%;
+			margin-right: 20rpx;
+			display: inline-block;
 
-			.wrapper {
+			.name {
+				font-weight: 400;
+				font-size: 23rpx;
+				color: #141414;
 				width: 100%;
-				height: 100%;
-				padding: 20rpx;
-
-				.ads {
-					height: calc(300 / 550 * 510rpx);
-
-					image {
-						width: 100%;
-						height: 100%;
-						border-radius: 8rpx;
-					}
-				}
-
-				.list {
-					width: 100%;
-					font-size: $font-size-base;
-					padding-bottom: 800rpx;
-
-					.category {
-						width: 100%;
-
-						.title {
-							padding: 30rpx 0;
-							display: flex;
-							align-items: center;
-							color: $text-color-base;
-
-							.icon {
-								width: 38rpx;
-								height: 38rpx;
-								margin-left: 10rpx;
-							}
-						}
-					}
-
-					.items {
-						display: flex;
-						flex-direction: column;
-						padding-bottom: -30rpx;
-
-						.good {
-							display: flex;
-							align-items: center;
-							margin-bottom: 30rpx;
-
-							.image {
-								width: 160rpx;
-								height: 160rpx;
-								margin-right: 20rpx;
-								border-radius: 8rpx;
-							}
-
-							.right {
-								flex: 1;
-								// height: 160rpx;
-								overflow: hidden;
-								display: flex;
-								flex-direction: column;
-								align-items: flex-start;
-								justify-content: space-between;
-								padding-right: 14rpx;
-
-								.name {
-									font-size: $font-size-base;
-									margin-bottom: 10rpx;
-								}
-
-								.tips {
-									width: 100%;
-									height: 40rpx;
-									line-height: 40rpx;
-									overflow: hidden;
-									text-overflow: ellipsis;
-									white-space: nowrap;
-									font-size: $font-size-sm;
-									color: $text-color-assist;
-									margin-bottom: 10rpx;
-								}
-
-								.price_and_action {
-									width: 100%;
-									display: flex;
-									justify-content: space-between;
-									align-items: center;
-
-									.price {
-										font-size: $font-size-base;
-										font-weight: 600;
-										color: $bg-color-primary;
-									}
-
-									.btn-group {
-										display: flex;
-										justify-content: space-between;
-										align-items: center;
-										position: relative;
-
-										.btn {
-											padding: 0 20rpx;
-											box-sizing: border-box;
-											font-size: $font-size-sm;
-											height: 44rpx;
-											line-height: 44rpx;
-
-											&.property_btn {
-												border-radius: 24rpx;
-											}
-
-											&.add_btn,
-											&.reduce_btn {
-												padding: 0;
-												width: 44rpx;
-												border-radius: 44rpx;
-											}
-										}
-
-										.dot {
-											position: absolute;
-											background-color: #ffffff;
-											border: 1px solid $bg-color-primary;
-											color: $bg-color-primary;
-											font-size: $font-size-sm;
-											width: 36rpx;
-											height: 36rpx;
-											line-height: 36rpx;
-											text-align: center;
-											border-radius: 100%;
-											right: -12rpx;
-											top: -10rpx;
-										}
-
-										.number {
-											width: 44rpx;
-											height: 44rpx;
-											line-height: 44rpx;
-											text-align: center;
-										}
-									}
-								}
-							}
-						}
-					}
-				}
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
 			}
 		}
 	}
 
-	.modal-box {
-		max-height: 90vh;
+	.bg-color {
+		color: $bg-color-primary;
+		font-size: 30rpx;
 	}
 
-	.good-detail-modal {
-		width: 100%;
-		height: 100%;
+	.tab-list {
 		display: flex;
-		flex-direction: column;
-
-		.cover {
-			height: 320rpx;
-			padding: 30rpx 0;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			position: relative;
-
-			.image {
-				width: 260rpx;
-				height: 260rpx;
-			}
-
-			.btn-group {
-				position: absolute;
-				right: 10rpx;
-				top: 30rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-
-				image {
-					width: 80rpx;
-					height: 80rpx;
-				}
-			}
-		}
-
-		.detail {
-			width: 100%;
-			min-height: 1vh;
-			max-height: calc(90vh - 320rpx - 80rpx - 120rpx);
-
-			.wrapper {
-				width: 100%;
-				height: 100%;
-				overflow: hidden;
-
-				.basic {
-					padding: 0 20rpx 30rpx;
-					display: flex;
-					flex-direction: column;
-
-					.name {
-						font-size: $font-size-base;
-						color: $text-color-base;
-						margin-bottom: 10rpx;
-					}
-
-					.tips {
-						font-size: $font-size-sm;
-						color: $text-color-grey;
-					}
-				}
-
-				.properties {
-					width: 100%;
-					border-top: 2rpx solid $bg-color-grey;
-					padding: 10rpx 30rpx 0;
-					display: flex;
-					flex-direction: column;
-
-					.property {
-						width: 100%;
-						display: flex;
-						flex-direction: column;
-						margin-bottom: 30rpx;
-						padding-bottom: -16rpx;
-
-						.title {
-							width: 100%;
-							display: flex;
-							justify-content: flex-start;
-							align-items: center;
-							margin-bottom: 20rpx;
-
-							.name {
-								font-size: 26rpx;
-								color: $text-color-base;
-								margin-right: 20rpx;
-							}
-
-							.desc {
-								flex: 1;
-								font-size: $font-size-sm;
-								color: $color-primary;
-								overflow: hidden;
-								text-overflow: ellipsis;
-								white-space: nowrap;
-							}
-						}
-
-						.values {
-							width: 100%;
-							display: flex;
-							flex-wrap: wrap;
-
-							.value {
-								border-radius: 8rpx;
-								background-color: $bg-color-grey;
-								padding: 16rpx 30rpx;
-								font-size: 26rpx;
-								color: $text-color-assist;
-								margin-right: 16rpx;
-								margin-bottom: 16rpx;
-
-								&.default {
-									background-color: $bg-color-primary;
-									color: $text-color-white;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		.action {
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			background-color: $bg-color-grey;
-			height: 120rpx;
-			padding: 0 26rpx;
-
-			.left {
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				margin-right: 20rpx;
-				overflow: hidden;
-
-				.price {
-					font-size: $font-size-lg;
-					color: $text-color-base;
-				}
-
-				.props {
-					color: $text-color-assist;
-					font-size: 24rpx;
-					width: 100%;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-				}
-			}
-
-			.btn-group {
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-
-				.number {
-					font-size: $font-size-base;
-					width: 44rpx;
-					height: 44rpx;
-					line-height: 44rpx;
-					text-align: center;
-				}
+		/* 启用弹性布局 */
+		flex-direction: row;
+		/* 横向排列 */
+		justify-content: space-between;
+		/* 均匀分布子项 */
+		flex-wrap: wrap;
+		/* 允许换行(适用于屏幕宽度不足时) */
 
-				.btn {
-					padding: 0;
-					font-size: $font-size-base;
-					width: 44rpx;
-					height: 44rpx;
-					line-height: 44rpx;
-					border-radius: 100%;
-				}
-			}
+		.tab-item2 {
+			width: 23%;
+			/* 5个元素平分宽度,留2%作为间隙 */
+			text-align: center;
+			background-color: #FFC127;
+			border-radius: 8rpx;
+			font-size: 23rpx;
+			padding: 6rpx;
+			font-weight: 400;
 		}
 
-		.add-to-cart-btn {
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			background-color: $color-primary;
-			color: $text-color-white;
-			font-size: $font-size-base;
-			height: 80rpx;
-			border-radius: 0 0 12rpx 12rpx;
+		.tab-item2-false {
+			width: 23%;
+			/* 5个元素平分宽度,留2%作为间隙 */
+			text-align: center;
+			background-color: #fff;
+			border-radius: 8rpx;
+			font-size: 23rpx;
+			padding: 6rpx;
+			font-weight: 400;
 		}
 	}
 
-	.cart-box {
-		// position: absolute;
-		// bottom: 30rpx;
-		// left: 30rpx;
-		// right: 30rpx;
-		height: 96rpx;
-		border-radius: 48rpx;
-		box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.2);
-		background-color: #000;
+	.content-goods2 {
+		background: #FFFFFF;
+		border-radius: 23rpx;
+		margin-top: 10rpx;
+		padding: 20rpx;
 		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		z-index: 9999;
 
-		.cart-img {
-			width: 50rpx;
-			height: 47rpx;
-			position: relative;
-			// margin-top: -48rpx;
+		.goods-title {
+			color: #141414;
+			font-size: 26rpx;
+			font-weight: 600;
 		}
 
-		.pay-btn {
-			height: 100%;
-			padding: 0 30rpx;
-			color: #FFFFFF;
-			border-radius: 0 50rpx 50rpx 0;
-			display: flex;
-			align-items: center;
-			font-size: $font-size-base;
+		.goods-desc {
+			color: #646464;
+			font-size: 21rpx;
+			margin-top: 10rpx;
 		}
 
-		.mark {
-			padding-left: 46rpx;
-			margin-right: 30rpx;
-			position: relative;
-
-			.tag {
-				background-color: $color-warning;
-				color: $text-color-white;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				font-size: $font-size-sm;
-				position: absolute;
-				right: -13rpx;
-				top: -20rpx;
-				border-radius: 100%;
-				padding: 4rpx;
-				width: 27rpx;
-				height: 27rpx;
-				opacity: .9;
-			}
+		.goods-price {
+			color: #FF9805;
+			font-size: 34rpx;
+			font-weight: 600;
 		}
 
-		.price {
-			flex: 1;
-			color: $text-color-base;
+		.goods-score {
+			color: #FD6716;
+			font-size: 26rpx;
 		}
-	}
 
-	.cart-popup {
-		.top {
-			background-color: $bg-color-primary;
-			color: $color-primary;
-			padding: 10rpx 30rpx;
-			font-size: 24rpx;
-			text-align: right;
+		.goods-info {
+			color: #999999;
+			font-size: 21rpx;
 		}
 
-		.cart-list {
-			background-color: #FFFFFF;
-			width: 100%;
-			overflow: hidden;
-			min-height: 1vh;
-			max-height: 60vh;
-
-			.wrapper {
-				height: 100%;
-				display: flex;
-				flex-direction: column;
-				padding: 0 30rpx;
-				margin-bottom: 156rpx;
-
-				.item {
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					padding: 30rpx 0;
-					position: relative;
-
-					&::after {
-						content: ' ';
-						position: absolute;
-						bottom: 0;
-						left: 0;
-						width: 100%;
-						background-color: $border-color;
-						height: 2rpx;
-						transform: scaleY(.6);
-					}
-
-					.left {
-						flex: 1;
-						display: flex;
-						flex-direction: column;
-						overflow: hidden;
-						margin-right: 30rpx;
-
-						.name {
-							font-size: $font-size-sm;
-							color: $text-color-base;
-						}
-
-						.props {
-							color: $text-color-assist;
-							font-size: 24rpx;
-							overflow: hidden;
-							text-overflow: ellipsis;
-							white-space: nowrap;
-						}
-					}
-
-					.center {
-						margin-right: 120rpx;
-						font-size: $font-size-base;
-					}
-
-					.right {
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-
-						.btn {
-							width: 46rpx;
-							height: 46rpx;
-							border-radius: 100%;
-							padding: 0;
-							text-align: center;
-							line-height: 46rpx;
-						}
-
-						.number {
-							font-size: $font-size-base;
-							width: 46rpx;
-							height: 46rpx;
-							text-align: center;
-							line-height: 46rpx;
-						}
-					}
-				}
-			}
+		.goods-info3 {
+			color: #999999;
+			font-size: 21rpx;
+			margin-left: 10rpx;
+			text-decoration: line-through;
 		}
-	}
-
-	.back-button {
-
-		width: 30rpx;
-
-		height: 30rpx;
-
-		border-right: 4rpx solid #fff;
-		border-bottom: 4rpx solid #fff;
-
-		transform: rotate(135deg);
-
-		margin-left: 10rpx;
-
-		display: inline-block;
-
-		position: relative;
-	}
-
-	.newsTitle {
-		display: flex;
-		align-items: center;
-	}
-
-	.mode {
-		position: fixed;
-		width: 100%;
-		height: 100%;
-		left: 0;
-		top: 0;
-		background: rgba(33, 33, 33, 0.8);
-		z-index: 99999;
-		display: flex;
-		align-items: flex-end;
-	}
-
-	.mode-1 {
-		width: 100%;
-		height: 840rpx;
-		background: #FFF;
-		display: flex;
-		flex-direction: column;
-		gap: 20rpx;
-		// padding: 30rpx;
-		box-sizing: border-box;
-		overflow: auto;
-		/* 添加这个属性使容器可以滚动 */
-	}
-
-	// 规格弹窗
-	.sel-mode-1 {
-		width: 100%;
-		// height: 440rpx;
-		background: #FFF;
-		display: flex;
-		flex-direction: column;
-		gap: 20rpx;
-		box-sizing: border-box;
-		overflow: auto;
-		z-index: 99999;
-		padding: 20rpx 20rpx 60rpx 20rpx;
-		box-sizing: border-box;
-		position: relative;
-	}
 
-	.close {
-		text-align: right;
-		font-size: 40rpx;
-	}
-
-	.sel-2 {
-		display: flex;
-		align-items: center;
-		gap: 20rpx;
-
-		.nexbox1 {
-			flex: 1;
-			text-overflow: ellipsis;
-			white-space: nowrap;
-			color: $text-color-assist;
+		.goods-sales {
+			background-color: #FEEFE5;
+			color: #FF6702;
+			border-radius: 8rpx;
+			font-size: 21rpx;
+			padding: 4rpx 20rpx;
 		}
-	}
-
-	.sel-3 {
-		display: flex;
-		flex-direction: column;
-		gap: 10rpx;
-	}
-
-	.sel-4 {
-		display: flex;
-		align-items: center;
-		gap: 10rpx;
-	}
-
-	.sel-5 {
-		width: 80rpx;
-		height: 40rpx;
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		font-size: 24rpx;
-		background: #999999;
-		color: #FFF;
-		padding: 8rpx;
-		border-radius: 8rpx;
-	}
-
-	.sel-6 {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-	}
-
-	.sel-btn {
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-	}
 
-	.sel-btn1 {
-		width: 110px;
-		height: 60rpx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		background: rgba(255, 103, 2, 1);
-		color: #FFF;
-		font-size: 30rpx;
-		border-radius: 10rpx;
-	}
-
-	.neximg {
-		width: 160rpx;
-		height: 160rpx;
-		margin-right: 20rpx;
-		border-radius: 8rpx;
-		/* 保持图片等比例缩放,并且不会裁切 */
-	}
-
-
-	.btn-group {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		position: relative;
-
-		.btn {
-			padding: 0 20rpx;
-			box-sizing: border-box;
-			font-size: $font-size-sm;
-			height: 44rpx;
-			line-height: 44rpx;
-
-			&.property_btn {
-				border-radius: 24rpx;
-			}
-
-			&.add_btn,
-			&.reduce_btn {
-				padding: 0;
-				width: 44rpx;
-				border-radius: 44rpx;
-			}
+		.goods-labels {
+			background-color: #FFF6F6;
+			color: #FF4B4B;
+			border: 2rpx solid #FF4B4B;
+			border-radius: 8rpx;
+			font-size: 21rpx;
+			padding: 4rpx 16rpx;
+			margin-right: 20rpx;
 		}
-
-		.dot {
-			position: absolute;
-			background-color: #ffffff;
-			border: 1px solid $bg-color-primary;
-			color: $bg-color-primary;
-			font-size: $font-size-sm;
-			width: 36rpx;
-			height: 36rpx;
-			line-height: 36rpx;
-			text-align: center;
-			border-radius: 100%;
-			right: -12rpx;
-			top: -10rpx;
-		}
-
-		.number {
-			width: 44rpx;
-			height: 44rpx;
-			line-height: 44rpx;
-			text-align: center;
-		}
-	}
-
-	.nexbox-txt3 {
-		color: $bg-color-primary;
-	}
-
-	.mode-box {
-		width: 100%;
-		display: flex;
-		flex-direction: column;
-		gap: 20rpx;
-		padding: 30rpx;
-		box-sizing: border-box;
-	}
-
-	.items {
-		display: flex;
-		flex-direction: column;
-		padding-bottom: -30rpx;
-
-		.good {
-			display: flex;
-			align-items: center;
-			margin-bottom: 30rpx;
-
-			.image {
-				width: 160rpx;
-				height: 160rpx;
-				margin-right: 20rpx;
-				border-radius: 8rpx;
-			}
-
-			.right {
-				flex: 1;
-				// height: 160rpx;
-				overflow: hidden;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: space-between;
-				padding-right: 14rpx;
-
-				.name {
-					font-size: $font-size-base;
-					margin-bottom: 10rpx;
-				}
-
-				.tips {
-					width: 100%;
-					height: 40rpx;
-					line-height: 40rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-					font-size: $font-size-sm;
-					color: $text-color-assist;
-					margin-bottom: 10rpx;
-				}
-
-				.price_and_action {
-					width: 100%;
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-
-					.price {
-						font-size: $font-size-base;
-						font-weight: 600;
-						color: $bg-color-primary;
-					}
-
-					.btn-group {
-						display: flex;
-						justify-content: space-between;
-						align-items: center;
-						position: relative;
-
-						.btn {
-							padding: 0 20rpx;
-							box-sizing: border-box;
-							font-size: $font-size-sm;
-							height: 44rpx;
-							line-height: 44rpx;
-
-							&.property_btn {
-								border-radius: 24rpx;
-							}
-
-							&.add_btn,
-							&.reduce_btn {
-								padding: 0;
-								width: 44rpx;
-								border-radius: 44rpx;
-							}
-						}
-
-						.dot {
-							position: absolute;
-							background-color: #ffffff;
-							border: 1px solid $bg-color-primary;
-							color: $bg-color-primary;
-							font-size: $font-size-sm;
-							width: 36rpx;
-							height: 36rpx;
-							line-height: 36rpx;
-							text-align: center;
-							border-radius: 100%;
-							right: -12rpx;
-							top: -10rpx;
-						}
-
-						.number {
-							width: 44rpx;
-							height: 44rpx;
-							line-height: 44rpx;
-							text-align: center;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	.mode-clear {
-		padding: 30rpx;
-		box-sizing: border-box;
-		position: sticky;
-		z-index: 99;
-		top: 0;
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		background: #FFF;
-		border-bottom: 1px solid burlywood;
-	}
-
-	.mode-txt {
-		display: flex;
-		align-items: center;
-		gap: 8rpx;
-	}
-
-	.mode-txt1 {
-		font-weight: 500;
-		font-size: 32rpx;
 	}
 </style>