Files
vpUni/.svn/pristine/b8/b83d17e99f7c80eedd193c4cb9af2b2aa0ead936.svn-base
2026-03-09 16:39:03 +08:00

324 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view>
<view :style="{'height':topHeight+'rpx'}"
style=" position: fixed; top: 0; z-index: 2; width: 100%; background-color: #fff; ">
<view class="" :style="{'margin-top':top+'rpx','height':height+'rpx','line-height':height+'rpx'}"
style=" margin-left: 40rpx; display: flex; align-items: center;">
<img :src="Service.GetIconImg('/static/index/index/location.png')" style="width: 40rpx; height: 40rpx;"
alt="" />
<text style="margin-left: 15rpx; font-size: 26rpx; font-weight: 600; ">许昌市魏都区</text>
</view>
</view>
<view class="" :style="{ 'margin-top':topHeight+20+'rpx' } ">
<view class="" style="margin: 40rpx 20rpx">
<up-swiper imgMode='heightFix' indicatorStyle="right: 20px" :list="swiperList" height='140'
@change="e => current = e.current" :autoplay="false">
<template #indicator style="right: 36rpx;">
<view class="indicator">
<view class="indicator__dot" v-for="(item, index) in swiperList" :key="index"
:class="[index === current && 'indicator__dot--active']">
</view>
</view>
</template>
</up-swiper>
</view>
</view>
<view class="" style="margin-top: 40rpx; background-color: #fff; padding: 20rpx; ">
<view class=""
style=" margin: 40rpx 0; display: flex; align-items: center; justify-content: space-between;">
<view class="" style=" display: flex;align-items: center; font-weight: 600; font-size: 38rpx;">
<up-icon name="bell-fill" color="#333333" size="20"></up-icon>
<text style="margin-left: 20rpx;">社区公告</text>
</view>
<view class="" @click="Service.GoPage('/pages/community/noticeList')"
style="display: flex;align-items: center;">
<text style="color: #666666;margin-right: 10rpx; font-size: 28rpx; ">查看更多</text>
<up-icon name="arrow-right" size="14" color='#666666' :bold='true'></up-icon>
</view>
</view>
<view class="" @click="Service.GoPage('/pages/article/articleCom')"
style=" padding: 20rpx; margin: 20rpx 0; border-radius: 20rpx; box-shadow: 0 0 10rpx 4rpx #e2e2e2; ">
<view class="" style="display: flex; align-items: center; ">
<view class="tag"
style=" color: #fff; border-radius: 12rpx; background-color: #FF6B35; padding: 4rpx 20rpx; ">
<img :src="Service.GetIconImg('/static/index/community/top.png')"
style="width: 30rpx; height: 30rpx; " alt="" />
<text style="margin-left: 10rpx;">置顶</text>
</view>
<text style="font-size: 32rpx; font-weight: 600;">【重要】社区发帖规范更新通知</text>
</view>
<view class=""
style=" margin: 16rpx 0; color: #666666; font-size: 26rpx; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; ">
为营造健康社区环境,即日起发帖需实名认证。请各位用户知悉并配合执行新的发帖规范。
</view>
<view class="" style=" font-size: 22rpx; color: #999999; display: flex; align-items: center;">
<text>2小时前</text>
<text style="margin: 0 15rpx;">·</text>
<view class="" style="display: flex;align-items: center;">
<img :src="Service.GetIconImg('/static/index/community/see.png')"
style="width: 30rpx; height: 30rpx; " alt="" />
<text style="margin-left: 10rpx;">1200人阅读</text>
</view>
</view>
</view>
</view>
<view class="" style="margin-top: 40rpx; background-color: #fff; padding: 20rpx; ">
<view class="" style=" display: flex; align-items: center; justify-content: space-between;">
<view class="" style=" font-weight: 600; ">
附近商家推荐
</view>
</view>
<view class=""
style=" display: flex; align-items: center; justify-content: space-around; background-color: #fff; padding: 30rpx 20rpx">
<view v-for="(item, index) in tabList" @click="chooseTab(index)"
style="display: flex; flex-direction: column; align-items: center; justify-content: center;"
:key="index">
<view class="" :class="{tabimgActive:index==tabCurrent,tabimg: index!=tabCurrent }"
style=" border-radius: 50%; display: flex; align-items: center; justify-content: center; height: 80rpx; width: 80rpx; ">
<img :src="Service.GetIconImg( index==tabCurrent? item.imged:item.img)"
style="width: 45rpx; height: 45rpx; "></img>
</view>
<view :class="{tabActivefont:index==tabCurrent,tabfont:index!=tabCurrent}"
style="font-size: 26rpx; margin-top: 15rpx;" class="">
{{item.name}}
</view>
</view>
</view>
<view class="" style=" display: flex; align-items: center; justify-content: space-between;">
<view class="" style=" font-weight: 600; ">
</view>
<view class="" @click="Service.GoPage('/pages/community/merchantCom')"
style="display: flex;align-items: center;">
<text style="color: #666666;margin-right: 10rpx; font-size: 28rpx; ">查看更多</text>
<up-icon name="arrow-right" size="14" color='#666666' :bold='true'></up-icon>
</view>
</view>
<view class=""
style="padding: 20rpx; margin-top: 20rpx; border-radius: 20rpx; box-shadow: 0 0 10rpx 4rpx #e2e2e2;">
<view class="" style="display: flex; ">
<img :src="Service.GetMateUrlByImg('/static/dele/dele1.jpg')"
style=" border-radius: 20rpx; width: 140rpx; height: 140rpx;" alt="" />
<view class=""
style=" flex: 1; margin-left: 20rpx; display: flex; flex-direction: column; justify-content: space-between; ">
<view class="" style="display: flex; align-items: center;">
<view class="" style="font-weight: 700; font-size: 32rpx;">
老北京炸酱面
</view>
<view class="tag"
style=" margin-left: 15rpx; color: #fff; border-radius: 12rpx; background-color: #FF6B35; padding: 4rpx 20rpx; ">
新店
</view>
</view>
<view class="" style="display: flex;align-items: center;">
<up-rate count="1" activeColor='#FF6B35' size='16' :readonly='true'></up-rate>
<text style="color: #666666; font-size: 26rpx;">3.8</text>
<text style="margin-left: 10rpx;color: #666666; font-size: 26rpx; ">月售892单</text>
</view>
<view class="" style="display: flex; align-items: center; justify-content: space-between; ">
<view class="" style="display: flex;align-items: center;">
<up-icon name="map" color="#666666" size="18"></up-icon>
<text style="color: #666666; margin-left: 12rpx; font-size: 26rpx;">0.8km</text>
</view>
<view class="" style="margin-right: 20rpx;">
<text style="font-size: 28rpx;font-weight: 600; color: #FF6B35; "> ¥58/人 </text>
</view>
</view>
</view>
</view>
<view class="" style="margin: 20rpx; margin-bottom: 0; ">
<up-scroll-list :indicator='false'>
<view v-for="(item, index) in scrollList" :key="index"
style="display: flex; flex-direction: column; justify-content: center; align-items: center;">
<img :src="Service.GetIconImg(item.img)" alt=""
style="width: 100rpx; height: 100rpx; border-radius: 20rpx; " />
<view class="" style="font-size: 24rpx; color: #666666; margin-top: 10rpx; ">
{{item.name}}
</view>
</view>
</up-scroll-list>
</view>
</view>
</view>
<view class="" style="margin-top: 40rpx; background-color: #fff; padding: 20rpx; ">
<view class=""
style=" margin: 10rpx 0; display: flex; align-items: center; justify-content: space-between;">
<view class="" style="font-weight: 600; width: 70%; font-size: 32rpx;">
<up-notice-bar bgColor='#fff' color='#FF6B35' :text="notice"></up-notice-bar>
</view>
<view class="" @click="Service.GoPage('/pages/article/newsList')"
style="display: flex;align-items: center;">
<text style="color: #666666;margin-right: 10rpx; font-size: 28rpx; ">查看更多</text>
<up-icon name="arrow-right" size="14" color='#666666' :bold='true'></up-icon>
</view>
</view>
<view class="" @click="Service.GoPage('/pages/article/news')"
style="display: flex; margin-top: 20rpx; border-radius: 20rpx; ">
<image :src="Service.GetMateUrlByImg('/static/dele/dele1.jpg')" mode="aspectFill"
style=" border-radius: 20rpx; width: 190rpx; height: 150rpx;" alt="" />
<view class=""
style=" flex: 1; margin-left: 20rpx; display: flex; flex-direction: column; justify-content: space-between; ">
<view class="" style=" ">
<view class=""
style="font-weight: 700; font-size: 32rpx; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
老北京炸酱面
</view>
</view>
<view class=""
style="color: #666666; font-size: 26rpx; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; ">
老北京炸酱面是北京市传统小吃,属北京菜系,在京津冀地区广为流传。该菜品以面条为主料,搭配炸酱与时令菜码拌制而成,核心酱料选用肥瘦相间的五花肉丁,配以干黄酱和甜面酱混合炒制,经慢火熬煮形成深褐色酱料
</view>
<view class="" style=" ">
<text style="color: #666666; font-size: 26rpx;">2026-10-15</text>
</view>
</view>
</view>
</view>
<view class="" style="width: 100%; height: 100rpx; ">
</view>
</view>
</template>
<script setup lang="ts">
import { onShow, onLoad } from "@dcloudio/uni-app";
import { ref } from "vue";
import { Service } from "@/Service/Service"
// 导航栏
let topHeight = ref()
let height = ref()
let top = ref()
let current = ref(0)
let swiperList = ref(
[
'/static/dele/dele1.jpg',
'/static/dele/dele2.jpg'
]
)
let notice = ref('uview-plus UI众多组件覆盖开发过程的各个需求组件功能丰富多端兼容。让您快速集成开箱即用')
let tabCurrent = ref(0)
let tabList = ref(
[
{
name: '美食',
img: '/static/index/index/food.png',
imged: '/static/index/index/fooded.png'
},
{
name: '饮品',
img: '/static/index/index/cofe.png',
imged: '/static/index/index/cofed.png'
},
{
name: '超市',
img: '/static/index/index/shop.png',
imged: '/static/index/index/shoped.png'
},
{
name: '美妆',
img: '/static/index/index/good.png',
imged: '/static/index/index/gooded.png'
},
{
name: '医疗',
img: '/static/index/index/medical.png',
imged: '/static/index/index/medicaled.png'
}
]
)
let scrollList = ref([
{
name: '牛肉面',
img: '/static/dele/dele1.jpg'
}
])
onLoad(() => {
let res = wx.getMenuButtonBoundingClientRect()
topHeight.value = (res.top + res.height + 5) * 2
height.value = res.height * 2
top.value = res.top * 2
});
onShow(() => {
});
const chooseTab = (e) => {
tabCurrent.value = e
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
.indicator {
@include flex(row);
justify-content: center;
&__dot {
height: 6px;
width: 6px;
border-radius: 100px;
background-color: rgba(255, 255, 255, 0.35);
margin: 0 5px;
transition: background-color 0.3s;
&--active {
background-color: #ffffff;
}
}
}
.tag {
display: flex;
align-items: center;
justify-content: center;
width: fit-content;
font-size: 24rpx;
}
.tabimgActive {
background-color: var(--nav-mian);
}
.tabimg {
background-color: #F5F5F5;
}
.tabActivefont {
color: var(--nav-mian);
}
.tabfont {
color: #333333
}
</style>