| | |
| | | <template> |
| | | <view class="page"> |
| | | <top-bar selectedTitleIndex="kitchenCustomize" textColor="black" bgColor="#ffffff" @changeTab="topBarChange"></top-bar> |
| | | <top-bar selectedTitleIndex="kitchenCustomize" textColor="black" bgColor="#ffffff" |
| | | @changeTab="topBarChange"></top-bar> |
| | | <view class="banner"> |
| | | <image class="banner-img" :src="banner" mode="aspectFill"></image> |
| | | </view> |
| | |
| | | async initData() { |
| | | await getKitchenBanner().then(res => { |
| | | if (res.statusCode === 200) { |
| | | this.banner = res.data.data[0].coverUrl; |
| | | console.log(res) |
| | | if (res.data.data.length > 0) { |
| | | this.banner = res.data.data[0].coverUrl; |
| | | } |
| | | |
| | | } |
| | | }); |
| | | await getKitchenTag().then(res => { |
| | |
| | | } |
| | | } |
| | | }); |
| | | this.queryParams.tagId = this.tags[0].value; |
| | | this.getProductList(); |
| | | if (this.tags.length > 0) { |
| | | this.queryParams.tagId = this.tags[0].value; |
| | | this.getProductList(); |
| | | } else { |
| | | console.warn('标签数据为空,不请求商品列表'); |
| | | this.products = []; // 清空商品列表,避免旧数据残留 |
| | | } |
| | | |
| | | }, |
| | | getProductList() { |
| | |
| | | } else { |
| | | this.products = this.products.concat(newList); |
| | | } |
| | | |
| | | |
| | | // 判断是否还有更多数据 |
| | | if (newList.length < this.queryParams.pageSize) { |
| | | this.loadStatus = 'noMore'; |
| | |
| | | this.tags.forEach(t => { |
| | | t.selected = (t.value === tag.value); |
| | | }); |
| | | |
| | | |
| | | // 重置分页参数 |
| | | this.queryParams.tagId = tag.value; |
| | | this.queryParams.pageNumber = 1; |
| | | this.products = []; |
| | | this.loadStatus = 'more'; |
| | | |
| | | |
| | | // 重新获得商品 |
| | | this.getProductList(); |
| | | }, |
| | |
| | | font-size: 30rpx; |
| | | color: black; |
| | | border: 1rpx solid #e5e5e5; |
| | | border-radius: 25rpx 25rpx 0 0; |
| | | border-radius: 25rpx 25rpx 0 0; |
| | | background-color: #f7f7f7; |
| | | white-space: nowrap; |
| | | flex-shrink: 0; |
| | |
| | | } |
| | | |
| | | .product-orign-price { |
| | | font-size:24rpx; |
| | | font-size: 24rpx; |
| | | color: #999; |
| | | text-decoration: line-through; |
| | | } |
| | |
| | | color: #999; |
| | | font-size: 24rpx; |
| | | } |
| | | |
| | | .topBar { |
| | | position: fixed; |
| | | top: 20rpx; |
| | | left: 20rpx; |
| | | z-index: 1000 |
| | | position: fixed; |
| | | top: 20rpx; |
| | | left: 20rpx; |
| | | z-index: 1000 |
| | | } |
| | | </style> |