This commit is contained in:
mayubo@gmail.com 2025-06-30 11:05:34 +08:00
commit 91e503a159
6 changed files with 648 additions and 556 deletions

View File

@ -22,6 +22,10 @@
text-align: center; text-align: center;
color: #777; color: #777;
padding: 5px 0 10px; padding: 5px 0 10px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} }
a { a {
color: #666; color: #666;
@ -30,11 +34,26 @@ a {
a { a {
background: transparent; background: transparent;
} }
.foot-fixed .foot-item .foot-icon-box{
display: flex;
align-items: center;
justify-content: center;
width: 66rpx;
height: 66rpx;
}
.foot-fixed .foot-item .foot-icon { .foot-fixed .foot-item .foot-icon {
width: 24px; width: 47rpx;
height: 26px;
margin: 0 auto; margin: 0 auto;
} }
.foot-fixed .foot-item .foot-icon2 {
width: 66rpx;
height: 66rpx;
margin: 0 auto;
}
.foot-fixed .foot-item .foot-label { .foot-fixed .foot-item .foot-label {
margin: 5px 0; margin: 5px 0;
} }

View File

@ -3,7 +3,13 @@
<view v-for="(item, index) in navList" :key='index'> <view v-for="(item, index) in navList" :key='index'>
<view id="navIndex" :style="{width:foot_width}" @click="jump" :data-idx="index" :data-url="item.url" <view id="navIndex" :style="{width:foot_width}" @click="jump" :data-idx="index" :data-url="item.url"
class="foot-item"> class="foot-item">
<image class="foot-icon" :src="item.photo" mode=""></image>
<view class="foot-icon-box">
<image class="foot-icon" :src="item.photo" mode="widthFix" v-if="current != index"></image>
<image class="foot-icon2" :src="item.photoAc" mode="widthFix" v-if="current == index"></image>
</view>
<text class="foot-label" id="navIndexLabel">{{item.nav_name}}</text> <text class="foot-label" id="navIndexLabel">{{item.nav_name}}</text>
</view> </view>
</view> </view>
@ -13,9 +19,46 @@
<script> <script>
export default { export default {
name: "nav", name: "nav",
props:{
current:{
type:Number,
default: 0,
}
},
data() { data() {
return { return {
navList: [], navList: [
{
photo:"http://192.168.0.172:5500/footer_home.png",
photoAc:"http://192.168.0.172:5500/footer_homeAc.png",
nav_name:"首页",
url:"/pages/index/index"
},
{
photo:"http://192.168.0.172:5500/footer_community.png",
photoAc:"http://192.168.0.172:5500/footer_communityAc.png",
nav_name:"我的小区",
url:"/packages/community/index/index"
},
{
photo:"http://192.168.0.172:5500/footer_shop.png",
photoAc:"http://192.168.0.172:5500/footer_shopAc.png",
nav_name:"优选商城",
url:""
},
{
photo:"http://192.168.0.172:5500/footer_door.png",
photoAc:"http://192.168.0.172:5500/footer_doorAc.png",
nav_name:"上门服务",
url:""
},
{
photo:"http://192.168.0.172:5500/footer_mine.png",
photoAc:"http://192.168.0.172:5500/footer_mineAc.png",
nav_name:"我的",
url:"/pages/user/index"
},
],
foot_width: '20%', foot_width: '20%',
}; };
}, },
@ -65,7 +108,7 @@
jump(e) { jump(e) {
const ctoken = uni.getStorageSync('ctoken'); const ctoken = uni.getStorageSync('ctoken');
const authen = ['/pages/index/index', '/pages/user/index']; const authen = ['/pages/index/index', '/pages/user/index','/pages/user/index'];
// ctoken tab访 // ctoken tab访
if (authen.includes(e.currentTarget.dataset.url)) { if (authen.includes(e.currentTarget.dataset.url)) {
uni.redirectTo({ uni.redirectTo({
@ -79,6 +122,7 @@
}) })
return; return;
} }
uni.redirectTo({ uni.redirectTo({
url: e.currentTarget.dataset.url, url: e.currentTarget.dataset.url,
}) })
@ -87,7 +131,7 @@
}, },
mounted() { mounted() {
this.getFootnav(); // this.getFootnav();
} }
} }
</script> </script>

View File

@ -1,6 +1,15 @@
page { page {
background-color: #F6F6FA; background-color: #ffffff;
padding: 0;
}
swiper {
height: 100%;
}
image {
width: 100%;
height: 100%;
} }
.container { .container {
@ -8,316 +17,283 @@ page {
flex-direction: column; flex-direction: column;
min-height: calc(100vh - 120rpx); min-height: calc(100vh - 120rpx);
width: 100%; width: 100%;
position: relative;
} }
.searchBox { .searchBox {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 20rpx; position: absolute;
/* margin-top: 35rpx; */ left: 0;
justify-content: space-between; z-index: 2;
background-color: #fff;
} }
.searchBox_add { .searchBox_add {
display: flex; margin-left: 38rpx;
align-items: center;
font-weight: 400;
font-size: 30rpx;
color: #000000;
}
.searchBox_add2{
font-size: 36rpx;
font-weight: 700;
} }
.searchBox_add image { .emptyCommunity {
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
}
.myRealEstate {
font-weight: 700;
padding-top: 36rpx;
font-weight: normal;
font-size: 36rpx;
color: #222222;
text-align: center;
background-color: #fff;
padding-bottom: 40rpx;
}
.myRealEstate .btn {
width: 600rpx;
height: 90rpx;
background: linear-gradient(91deg, #FF7658 0%, #FF370B 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-weight: normal;
font-size: 36rpx;
color: #FFFFFF;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
margin-top: 30rpx;
}
.nearby {
padding: 0 20rpx;
margin-top: 20rpx;
background-color: #fff;
padding-top: 20rpx;
box-sizing: border-box;
flex: 1;
}
.nearbyTit {
display: flex;
justify-content: space-between;
}
.nearbyTit_left {
font-size: 36rpx;
color: #222222;
font-weight: 700;
}
.nearbyTit_right {
font-size: 26rpx;
color: #999999;
display: flex;
align-items: center;
}
.nearbyTit_right image {
width: 30rpx;
height: 30rpx;
margin-right: 10rpx;
}
.empty {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-weight: normal;
font-size: 28rpx; font-size: 28rpx;
color: #999999; color: #222222;
margin-top: 110rpx; width: 200rpx;
} height: 44rpx;
background: rgba(255, 255, 255, 0.8);
.empty image { border-radius: 100rpx 100rpx 100rpx 100rpx;
width: 366rpx;
height: 226rpx;
margin-bottom: 27rpx;
}
.communityItem {
border-bottom: 1rpx solid #EBEBEB;
margin-top: 32rpx;
}
.communityItem_msg {
font-size: 26rpx;
color: #999999;
margin-top: 20rpx;
padding-bottom: 30rpx;
}
.communityItem_Box {
display: flex; display: flex;
align-items: center;
justify-content: center;
} }
.communityItem_Box_left { .MyCommunity {
width: 180rpx; display: flex;
overflow: hidden; align-items: center;
height: 180rpx; justify-content: space-between;
border-radius: 20rpx 20rpx 20rpx 20rpx; white-space: nowrap;
margin-right: 20rpx; font-size: 28rpx;
color: #222222;
padding: 2rpx 14rpx;
background: rgba(255, 255, 255, 0.8);
border-radius: 100rpx 100rpx 100rpx 100rpx;
} }
.communityItem_Box_left image { .MyCommunity image {
width: 100%; width: 28rpx;
height: 28rpx;
}
.MyCommunity span {
margin: 0 10rpx;
}
.swiperBox1 {
height: 500rpx;
width: 750rpx;
position: relative;
}
.swiperBox1 swiper {
height: 100%; height: 100%;
} }
.communityItem_Box_right { .swiperBox1::after {
flex: 1; content: '';
width: 100%;
position: absolute;
left: 0;
bottom: 0;
height: 120rpx;
/* 从上到下 透明渐变成白色 */
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
} }
.communityItem_Box_right_tit { .dot {
font-size: 32rpx; position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 107rpx;
display: flex;
align-items: center;
justify-content: center;
}
.dotItem {
width: 11rpx;
height: 11rpx;
background: rgba(255, 55, 11, 0.8);
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0 5rpx;
}
.active {
width: 26rpx;
}
.swiperBox2 {
height: 150rpx;
width: 710rpx;
margin: 0 auto;
margin-top: -96rpx;
}
.funcList {
display: flex;
align-items: center;
flex-wrap: wrap;
margin-top: 37rpx;
}
.funcItem {
width: 20%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #222222; color: #222222;
margin-bottom: 8rpx;
} }
.funcItem image {
.communityItem_Box_right_com { width: 100rpx;
font-size: 26rpx; height: 100rpx;
color: #555555; margin-bottom: 16rpx;
margin-top: 8rpx;
height: 72rpx;
line-height: 36rpx;
-webkit-line-clamp: 2;
/* 限制显示 2 行 */
-webkit-box-orient: vertical;
/* 垂直排列 */
overflow: hidden;
/* 超出部分隐藏 */
text-overflow: ellipsis;
display: -webkit-box;
} }
.ads {
.communityItem_Box_right_msg {
margin-top: 14rpx;
}
.communityItem_Box_right_msg_right {
width: 140rpx;
height: 40rpx;
background: #FF370B;
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-size: 26rpx;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
}
.communityItem_Box_right_msg {
display: flex;
align-items: center;
justify-content: space-between;
}
.communityItem_Box_right_msg_left {
display: flex;
align-items: center;
}
.communityItem_Box_right_msg_left1 {
width: 110rpx;
height: 40rpx;
background: rgba(255, 81, 42, 0.1);
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #555555;
margin-right: 20rpx;
}
.communityItem_Box_right_msg_left1 image {
width: 24rpx;
height: 24rpx;
margin-right: 10rpx;
}
.communityItem_Box_right_msg_left2 {
width: 110rpx;
height: 40rpx;
background: #FFF2DA;
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #555555;
}
.communityItem_Box_right_msg_left2 image {
width: 24rpx;
height: 24rpx;
margin-right: 10rpx;
}
.myRealEstates {
width: 710rpx; width: 710rpx;
height: 200rpx; height: 200rpx;
margin: 0 auto; margin: 0 auto;
margin-top: 40rpx;
}
.tabs {
margin-top: 32rpx;
display: flex;
align-items: center;
background: #F6F6FA;
height: 100rpx;
padding: 0 20rpx;
box-sizing: border-box;
}
.tabItem {
font-size: 30rpx;
color: #222222;
margin-right: 60rpx;
height: 42rpx;
}
.active2 {
font-size: 30rpx;
font-weight: 700;
position: relative; position: relative;
} }
.myRealEstates image { .active2::after {
width: 100%; content: '';
height: 100%; background: url(http://192.168.0.172:5500/com_active.png) no-repeat;
object-fit: cover; background-size: 100% 100%;
width: 52rpx;
height: 22rpx;
position: absolute; position: absolute;
z-index: 1;
left: 50%; left: 50%;
top: 50%; bottom: -16rpx;
transform: translate(-50%, -50%); transform: translateX(-50%);
} }
.name { .newsItem {
font-size: 50rpx; display: flex;
color: #FFFFFF; align-items: center;
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6); justify-content: space-between;
padding: 30rpx 0;
margin: 0 20rpx;
box-sizing: border-box;
border-bottom: 1rpx solid #EBEBEB;
}
.newsItem_left {
flex: 1;
}
.newsItem_left_tit {
font-size: 32rpx;
color: #222222;
margin-bottom: 10rpx;
}
.newsItem_left_sub {
font-size: 26rpx;
color: #999999;
}
.newsItem_right {
width: 180rpx;
height: 160rpx;
border-radius: 20rpx;
overflow: hidden;
}
.tips {
font-size: 26rpx;
color: #999999;
text-align: center; text-align: center;
position: relative; background-color: #f6f6fa;
z-index: 2; padding: 40rpx;
padding-top: 24rpx;
} }
.Visitor { .bigAds {
font-weight: normal; position: fixed;
font-size: 24rpx; left: 0;
color: #FFFFFF; right: 0;
width: 380rpx; top: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.16);
z-index: 3;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 52rpx;
margin: 0 auto;
margin-top: 30rpx;
position: relative;
z-index: 2;
background: rgba(0, 0, 0, 0.3);
border-radius: 10rpx 10rpx 10rpx 10rpx;
} }
.Householder { .bigAdsCon {
font-weight: normal; display: flex;
font-size: 24rpx; flex-direction: column;
color: #FFFFFF; align-items: center;
white-space: nowrap; justify-content: center;
padding: 9rpx 36rpx;
margin: 0 auto;
margin-top: 30rpx;
position: relative;
z-index: 2;
background: rgba(0, 0, 0, 0.3);
border-radius: 10rpx 10rpx 10rpx 10rpx;
display: inline-block;
} }
.addRealEstateList{ .bigAdsCon .bigAdsCon_img {
height: auto; width: 660rpx;
background-color: #fff; height: 700rpx;
padding-bottom: 40rpx;
margin-bottom: 20rpx;
} }
.addRealEstate {
margin-top: 54rpx; .bigAdsCon .close {
width: 50rpx;
height: 50rpx;
margin-top: 53rpx;
}
.bigAdsCon2 {
width: 600rpx;
height: 480rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
box-sizing: border-box;
padding: 23rpx 20rpx 0;
}
.bigAdsCon2_img {
width: 560rpx;
height: 308rpx;
}
.AdsBtnList {
margin-top: 35rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 25rpx;
box-sizing: border-box;
}
.AdsBtnItem1 {
width: 230rpx;
height: 70rpx;
background: #D9D9D9;
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 36rpx;
color: #222222;
}
.AdsBtnItem2 {
width: 230rpx;
height: 70rpx;
background: #FF370B;
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 36rpx; font-size: 36rpx;
color: #FFFFFF; color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
width: 600rpx;
height: 90rpx;
background: linear-gradient(91deg, #FF7658 0%, #FF370B 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0 auto;
} }

View File

@ -1,96 +1,106 @@
<template> <template>
<view class="container"> <div class="container">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<view class="addRealEstateList" :style="{ paddingTop: 54 + top + 'px' }"> <div class="searchBox_add">
<div class="addRealEstate" @click="apply"> <div class="emptyCommunity" @click="addCommunity">添加我的房产</div>
申请入驻 / 新增房产 <div class="MyCommunity" v-if="false">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/community_mycommunity.png"
mode="aspectFill"></image>
<span>惠生活</span>
<u-icon name="arrow-down" color="#999999" size="28"></u-icon>
</div> </div>
</view>
<view class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }" v-if="false">
<view class="searchBox_add">
<img src="http://192.168.0.172:5500/com_communityIcon.png" alt="" />
我的房产
</view>
</view>
<view class="searchBox">
<view class="searchBox_add2">
我的房产
</view>
</view>
<div class="myRealEstate">
<div class="myRealEstateEmpty" v-if="false">
抱歉您尚未绑定任何房产
<div class="btn" @click="apply">
商户申请入驻
</div> </div>
</div> </div>
<div class="myRealEstates"> <div class="swiperBox1">
<swiper>
<swiper-item>
<image src="http://192.168.0.172:5500/test.png"></image>
</swiper-item>
<swiper-item>
<image src="http://192.168.0.172:5500/test.png"></image>
</swiper-item>
</swiper>
<div class="dot">
<div class="dotItem"></div>
<div class="dotItem active"></div>
</div>
</div>
<div class="swiperBox2">
<swiper>
<swiper-item>
<image src="http://192.168.0.172:5500/com_communityNav.png"></image>
</swiper-item>
<swiper-item>
<image src="http://192.168.0.172:5500/com_communityNav.png"></image>
</swiper-item>
</swiper>
</div>
<div class="funcList">
<div class="funcItem" v-for="item in functionList" @click="jump(item.link)">
<image :src="item.url"></image>
{{ item.name }}
</div>
</div>
<div class="ads">
<image src="http://192.168.0.172:5500/com_communityNav.png" mode="aspectFill"></image> <image src="http://192.168.0.172:5500/com_communityNav.png" mode="aspectFill"></image>
<div class="name">滏阳锦苑</div>
<div class="Visitor" v-if="false">访客身份 点击立即入驻本社区</div>
<div class="Householder">
3号楼 2单元 17 1706 | 1 | 物业公积金55.68
</div> </div>
<div class="ads">
<image src="http://192.168.0.172:5500/com_communityNav.png" mode="aspectFill"></image>
</div>
<div class="tabs">
<div class="tabItem active2">物业公告</div>
<div class="tabItem">天气</div>
<div class="tabItem">放假时间</div>
<div class="tabItem">送饭</div>
</div>
<div class="newsList">
<div class="newsItem" v-for="item in 4">
<div class="newsItem_left">
<div class="newsItem_left_tit">关于小区停车场治理通告</div>
<div class="newsItem_left_sub">高尚</div>
</div>
<div class="newsItem_right">
<image src="http://192.168.0.172:5500/test.png"></image>
</div>
</div> </div>
</div> </div>
<div class="nearby"> <div class="tips">下拉加载后续10条共计30条</div>
<div class="nearbyTit">
<div class="nearbyTit_left">附近已开通的小区</div> <div class="bigAds" v-if="ads1Show">
<div class="nearbyTit_right"> <div class="bigAdsCon">
<image src="http://192.168.0.172:5500/com_searchIcon.png" alt="" mode="aspectFill" /> <div class="bigAdsCon_img">
搜索 <image src="http://192.168.0.172:5500/test.png"></image>
</div>
<div class="close" @click="closeAds">
<image src="http://192.168.0.172:5500/com_close.png"></image>
</div>
</div> </div>
</div> </div>
<div class="empty" v-if="false"> <div class="bigAds" v-if="ads2Show">
<image src="http://192.168.0.172:5500/com_empty.png" alt="" mode="aspectFill" /> <div class="bigAdsCon2">
暂无信息 <div class="bigAdsCon2_img">
<image src="http://192.168.0.172:5500/test.png"></image>
</div> </div>
<div class="AdsBtnList">
<div class="AdsBtnItem1" @click="closeAds">取消</div>
<div class="communityList"> <div class="AdsBtnItem2">了解详情</div>
<div class="communityItem" v-for="item in communityList">
<div class="communityItem_Box">
<div class="communityItem_Box_left">
<image :src="picUrl + item.community.pic" alt="" mode="aspectFill" />
</div>
<div class="communityItem_Box_right">
<div class="communityItem_Box_right_tit">滏阳锦苑</div>
<div class="communityItem_Box_right_com">物业公司河北锦绣繁华物业管理有限公司物 业管理有限公司</div>
<div class="communityItem_Box_right_msg">
<div class="communityItem_Box_right_msg_left">
<div class="communityItem_Box_right_msg_left1">
<image src="http://192.168.0.172:5500/com_navigationIcon.png" mode="aspectFill">
</image>
导航
</div>
<div class="communityItem_Box_right_msg_left2">
<image src="http://192.168.0.172:5500/com_phoneIconIcon.png" mode="aspectFill">
</image>
电话
</div>
</div>
<div class="communityItem_Box_right_msg_right" @click="desc">进入小区</div>
</div> </div>
</div> </div>
</div> </div>
<div class="communityItem_msg"> <nav-footer :current="1"/>
河北省衡水市桃城区红旗大街与河阳路交叉口西北300米东车辆入口
</div> </div>
</div>
</div>
<nav-footer />
</div>
</view>
</template> </template>
<script> <script>
@ -117,6 +127,37 @@ export default {
}, },
communityList: [], communityList: [],
flag: false, flag: false,
functionList: [
{
name: "报事报修",
link: "",
url: "http://192.168.0.172:5500/com_homeIcon1.png",
},
{
name: "物业缴费",
link: "/packages/community/propertyPayment/index",
url: "http://192.168.0.172:5500/com_homeIcon2.png",
},
{
name: "物业公积",
link: "",
url: "http://192.168.0.172:5500/com_homeIcon3.png",
},
{
name: "物业公积",
link: "",
url: "http://192.168.0.172:5500/com_homeIcon4.png",
},
{
name: "物业服务",
link: "",
url: "http://192.168.0.172:5500/com_homeIcon5.png",
},
],
ads1Show: false,
ads2Show: false,
} }
}, },
onLoad(options) { onLoad(options) {
@ -124,7 +165,7 @@ export default {
this.top = meun.top; this.top = meun.top;
// this.top = meun.height + meun.top; // this.top = meun.height + meun.top;
this.localHeight = meun.height; this.localHeight = meun.height;
this.getCommunityList() // this.getCommunityList()
}, },
@ -135,25 +176,37 @@ export default {
apply() { apply() {
NavgateTo("../applyOwer/index") NavgateTo("../applyOwer/index")
}, },
closeAds() {
getCommunityList() { this.ads1Show = false
let that = this this.ads2Show = false
request(apiArr.getCommunityList, 'POST', {
page_num: that.queryPage.page_num,
page_size: that.queryPage.page_size,
user_id:""
}).then(res => {
console.log(res)
if (res.rows.length == that.queryPage.page_size) {
that.queryPage.page_num++
that.flag = true
that.communityList = that.communityList.concat(res.rows)
}else{
that.flag = false
that.communityList = that.communityList.concat(res.rows)
}
})
}, },
jump(e) {
console.log(e);
NavgateTo(e)
},
addCommunity(){
},
// getCommunityList() {
// let that = this
// request(apiArr.getCommunityList, 'POST', {
// page_num: that.queryPage.page_num,
// page_size: that.queryPage.page_size,
// user_id:""
// }).then(res => {
// console.log(res)
// if (res.rows.length == that.queryPage.page_size) {
// that.queryPage.page_num++
// that.flag = true
// that.communityList = that.communityList.concat(res.rows)
// }else{
// that.flag = false
// that.communityList = that.communityList.concat(res.rows)
// }
// })
// },
}, },

View File

@ -1,5 +1,5 @@
{ {
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages "pages": [
{ {
"path": "pages/index/index", "path": "pages/index/index",
"style": { "style": {

View File

@ -114,7 +114,7 @@
<view>客服</view> <view>客服</view>
</view> </view>
<view style="padding-top: 174rpx;"></view> <view style="padding-top: 174rpx;"></view>
<nav-footer /> <nav-footer :current="4"/>
</view> </view>
</template> </template>