uniapp 日常业务 随便写写 源码


现成的组件 直接用

<template>
    <view style="margin: 10rpx;">
        <view class="tea-header">
            <text class="tea-title">礼尚往来</text>
            <view class="tea-view-all">
                <text>查看全部</text>
                <text>></text>
            </view>
        </view>

        <view style="display: flex;justify-content: center;align-content: center;">
            <NavBar :navItems="myNavItems" :text_padding="12" :fontSize="30" :dynamicHeight="8" :indicatorWidth="64"
                @item-selected="onItemSelected" />
        </view>

        
        <view class="content-wrapper" style="position: relative; overflow: hidden;">
            <view v-for="(vla, i) in products" :key="i" 
                  :class="['content-page', getPageClass(i)]">
                <!-- 左边轮播图 -->
                <view class="left-container">
                    <swiper class="swiper-container" indicator-dots="true" indicator-active-color="#ffffff"
                        indicator-color="#fff9" autoplay="true" interval="3000" circular="true">
                        <swiper-item v-for="(item, index) in vla.bannerImages" :key="index">
                            <image class="swiper-image" mode="aspectFill" :src="item.src" />
                        </swiper-item>
                    </swiper>
                </view>

                <!-- 右边商品网格 -->
                <view class="right-container">
                    <view class="product-item" v-for="(item, index) in vla.list" :key="index">
                        <image class="product-image" :src="item.image" mode="aspectFill" />
                        <view style="display: flex;align-items: flex-start; flex-direction: column; ">
                            <text class="product-title" style="">{{ item.title }}</text>
                            <text class="product-price">{{ item.price }}</text>
                        </view>
                    </view>
                </view>
            </view>
        </view>


    </view>
</template>

<script>
import NavBar from './components/xztdemoNavBar.vue'

export default {
    components: {
        NavBar
    },
    data() {
        return {
            myNavItems: ['关怀领导', '探望长辈', '关爱女性', '男性健康', '关爱儿童',],
            selectedIndex: 0,
            products: [
                {
                    bannerImages: [
                        {
                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        },
                        {

                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',

                        },
                        {
                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960'
                        }
                    ],
                    list: [{
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '人参灵芝胶囊',
                        price: '¥798.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: 'KMax康麦斯',
                        price: '¥698.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '海参礼盒',
                        price: '¥1798.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '虫草',
                        price: '¥798.00'
                    },
                    ]
                },
                {
                    bannerImages: [
                        {
                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        },
                        {

                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',

                        },
                        {
                            src: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960'
                        }
                    ],
                    list: [{
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '人参灵芝胶囊1232123',
                        price: '¥798.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: 'KMax康麦斯3333',
                        price: '¥698.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '海参礼盒12132',
                        price: '¥1798.00'
                    },
                    {
                        image: 'http://gips2.baidu.com/it/u=195724436,3554684702&fm=3028&app=3028&f=JPEG&fmt=auto?w=1280&h=960',
                        title: '虫草123',
                        price: '¥798.00'
                    },
                    ]
                },

            ]
        }
    },
    methods: {
        onItemSelected(index) {
            this.selectedIndex = index;
        },
        getPageClass(index) {
            if (index === this.selectedIndex) {
                return 'active';
            } else if (index < this.selectedIndex) {
                return 'left';
            } else {
                return 'right';
            }
        }
    }
}
</script>

<style>
.tea-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15rpx 20rpx;
}

.tea-title {
    font-size: 32rpx;
    font-weight: bold;
    font-family: PingFang SC, PingFang SC;
}

.tea-view-all {
    color: #6E6E6E;
    font-size: 24rpx;
}

.content-wrapper {
    height: 300px; /* 根据需要调整高度 */
}

.content-page {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateX(100%);
    display: flex;
}

.content-page.active {
    opacity: 1;
    transform: translateX(0);
}

.content-page.left {
    transform: translateX(-100%);
}

.content-page.right {
    transform: translateX(100%);
}

.left-container {
    flex: 1;
    height: 100%;
    margin-right: 10px;
}

.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-image {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    transform: scaleX(-1);
    object-fit: cover;
}


.right-container {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
}

.product-item {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 10px;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
}

.product-image {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 5px;
}

.product-title {
    font-size: 14px;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 6em;
    /* 估算一个宽度,大约5个字 */
}

.product-price {
    font-size: 16px;
    color: #FF6A22;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值