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;
color: #777;
padding: 5px 0 10px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
a {
color: #666;
@ -30,11 +34,26 @@ a {
a {
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 {
width: 24px;
height: 26px;
width: 47rpx;
margin: 0 auto;
}
.foot-fixed .foot-item .foot-icon2 {
width: 66rpx;
height: 66rpx;
margin: 0 auto;
}
.foot-fixed .foot-item .foot-label {
margin: 5px 0;
}

View File

@ -3,7 +3,13 @@
<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"
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>
</view>
</view>
@ -13,9 +19,46 @@
<script>
export default {
name: "nav",
props:{
current:{
type:Number,
default: 0,
}
},
data() {
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%',
};
},
@ -65,7 +108,7 @@
jump(e) {
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访
if (authen.includes(e.currentTarget.dataset.url)) {
uni.redirectTo({
@ -79,6 +122,7 @@
})
return;
}
uni.redirectTo({
url: e.currentTarget.dataset.url,
})
@ -87,7 +131,7 @@
},
mounted() {
this.getFootnav();
// this.getFootnav();
}
}
</script>

View File

@ -1,6 +1,15 @@
page {
background-color: #F6F6FA;
background-color: #ffffff;
padding: 0;
}
swiper {
height: 100%;
}
image {
width: 100%;
height: 100%;
}
.container {
@ -8,316 +17,283 @@ page {
flex-direction: column;
min-height: calc(100vh - 120rpx);
width: 100%;
position: relative;
}
.searchBox {
display: flex;
align-items: center;
padding: 0 20rpx;
/* margin-top: 35rpx; */
justify-content: space-between;
background-color: #fff;
position: absolute;
left: 0;
z-index: 2;
}
.searchBox_add {
display: flex;
align-items: center;
font-weight: 400;
font-size: 30rpx;
color: #000000;
}
.searchBox_add2{
font-size: 36rpx;
font-weight: 700;
margin-left: 38rpx;
}
.searchBox_add image {
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;
.emptyCommunity {
font-size: 28rpx;
color: #999999;
margin-top: 110rpx;
}
.empty image {
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 {
color: #222222;
width: 200rpx;
height: 44rpx;
background: rgba(255, 255, 255, 0.8);
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
}
.communityItem_Box_left {
width: 180rpx;
overflow: hidden;
height: 180rpx;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin-right: 20rpx;
.MyCommunity {
display: flex;
align-items: center;
justify-content: space-between;
white-space: nowrap;
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 {
width: 100%;
.MyCommunity image {
width: 28rpx;
height: 28rpx;
}
.MyCommunity span {
margin: 0 10rpx;
}
.swiperBox1 {
height: 500rpx;
width: 750rpx;
position: relative;
}
.swiperBox1 swiper {
height: 100%;
}
.communityItem_Box_right {
flex: 1;
.swiperBox1::after {
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 {
font-size: 32rpx;
.dot {
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;
margin-bottom: 8rpx;
}
.communityItem_Box_right_com {
font-size: 26rpx;
color: #555555;
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;
.funcItem image {
width: 100rpx;
height: 100rpx;
margin-bottom: 16rpx;
}
.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 {
.ads {
width: 710rpx;
height: 200rpx;
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;
}
.myRealEstates image {
width: 100%;
height: 100%;
object-fit: cover;
.active2::after {
content: '';
background: url(http://192.168.0.172:5500/com_active.png) no-repeat;
background-size: 100% 100%;
width: 52rpx;
height: 22rpx;
position: absolute;
z-index: 1;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
bottom: -16rpx;
transform: translateX(-50%);
}
.name {
font-size: 50rpx;
color: #FFFFFF;
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.6);
.newsItem {
display: flex;
align-items: center;
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;
position: relative;
z-index: 2;
padding-top: 24rpx;
background-color: #f6f6fa;
padding: 40rpx;
}
.Visitor {
font-weight: normal;
font-size: 24rpx;
color: #FFFFFF;
width: 380rpx;
.bigAds {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.16);
z-index: 3;
display: flex;
align-items: 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 {
font-weight: normal;
font-size: 24rpx;
color: #FFFFFF;
white-space: nowrap;
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;
.bigAdsCon {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.addRealEstateList{
height: auto;
background-color: #fff;
padding-bottom: 40rpx;
margin-bottom: 20rpx;
.bigAdsCon .bigAdsCon_img {
width: 660rpx;
height: 700rpx;
}
.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;
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>
<view class="container">
<view class="addRealEstateList" :style="{ paddingTop: 54 + top + 'px' }">
<div class="addRealEstate" @click="apply">
申请入驻 / 新增房产
</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 class="container">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<div class="searchBox_add">
<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>
<div class="myRealEstates">
<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>
<div class="nearby">
<div class="nearbyTit">
<div class="nearbyTit_left">附近已开通的小区</div>
<div class="nearbyTit_right">
<image src="http://192.168.0.172:5500/com_searchIcon.png" alt="" mode="aspectFill" />
搜索
</div>
<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 class="empty" v-if="false">
<image src="http://192.168.0.172:5500/com_empty.png" alt="" mode="aspectFill" />
暂无信息
</div>
<div class="communityList">
<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 class="communityItem_msg">
河北省衡水市桃城区红旗大街与河阳路交叉口西北300米东车辆入口
</div>
</div>
</div>
<nav-footer />
</div>
</view>
<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>
</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 class="tips">下拉加载后续10条共计30条</div>
<div class="bigAds" v-if="ads1Show">
<div class="bigAdsCon">
<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 class="bigAds" v-if="ads2Show">
<div class="bigAdsCon2">
<div class="bigAdsCon2_img">
<image src="http://192.168.0.172:5500/test.png"></image>
</div>
<div class="AdsBtnList">
<div class="AdsBtnItem1" @click="closeAds">取消</div>
<div class="AdsBtnItem2">了解详情</div>
</div>
</div>
</div>
<nav-footer :current="1"/>
</div>
</template>
<script>
@ -116,7 +126,38 @@ export default {
page_size: 10,
},
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) {
@ -124,7 +165,7 @@ export default {
this.top = meun.top;
// this.top = meun.height + meun.top;
this.localHeight = meun.height;
this.getCommunityList()
// this.getCommunityList()
},
@ -135,25 +176,37 @@ export default {
apply() {
NavgateTo("../applyOwer/index")
},
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)
}
})
closeAds() {
this.ads1Show = false
this.ads2Show = false
},
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",
"style": {

View File

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