|
|
- <template>
- <view class="recommend">
- <view class="flex recommend-item" v-for="item in recommendList" :key="item.id" @click="onClick(item)">
- <image class="img" :src="item.icon" mode="widthFix"></image>
- <view>
- <view class="label">{{ item.label }}</view>
- <view :class="['desc', item.highlight ? 'highlight' : '']">{{ item.desc }}</view>
- </view>
- </view>
- </view>
- </template>
-
- <script>
- export default {
- data() {
- return {
- recommendList: [],
- }
- },
- created() {
- this.getData()
- },
- methods: {
- getData() {
-
- // todo: fetch
-
- this.recommendList = [
- {
- id: '001',
- icon: '/static/image/temp-11.png',
- label: '限时优惠',
- desc: '速抢折扣',
- highlight: true,
- path: `/pages_order/product/search?isDiscount=1&title=限时优惠`,
- },
- {
- id: '002',
- icon: '/static/image/temp-12.png',
- label: '口碑爆款',
- desc: '热销推荐',
- path: `/pages_order/product/search?isHot=1&title=口碑爆款`,
- },
- {
- id: '003',
- icon: '/static/image/temp-13.png',
- label: '新上线路',
- desc: '全新上线',
- path: `/pages_order/product/search?isNew=1&title=新上线路`,
- },
- ]
-
- },
- onClick(target) {
- const { path } = target
-
- if (path) {
- uni.navigateTo({
- url: path
- })
- }
- },
- },
- }
- </script>
-
- <style scoped lang="scss">
-
- .recommend {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- column-gap: 12rpx;
-
- &-item {
- justify-content: flex-start;
- column-gap: 8rpx;
- padding: 16rpx;
- box-sizing: border-box;
- background: linear-gradient(to right, #FFF5EA, #FFFCF9 70%, #FFFCF9);
- border-radius: 16rpx;
-
- .img {
- width: 56rpx;
- height: auto;
- }
-
- .label {
- font-size: 26rpx;
- color: #181818;
- }
-
- .desc {
- font-size: 22rpx;
- color: #9B9B9B;
-
- &.highlight {
- color: #FF9035;
- }
- }
- }
- }
- </style>
|