暖心人
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

304 lines
12 KiB

<template>
<view class="body-background"></view>
<u-navbar
:title="title"
:auto-back="true"
left-icon-size="40rpx"
:safe-area-inset-top="true"
:placeholder="true"
bgColor="#ffffff"
></u-navbar>
<view class="app-wallpaper">
<view class="follow-container">
<view class="big-title" v-if="listsRoom.length > 0">
<u-text text="公寓出租" size="32" color="#020B18"></u-text>
</view>
<view class="room-list border-box">
<view class="item row" v-for="item in listsRoom" @click="api.navTo('/pages/Room/index?id='+item.id)">
<view class="image col">
<u-image radius="24" mode="aspectFill" width="176" height="176" :src="item.cover"></u-image>
</view>
<view class="info col">
<view class="top row col">
<view class="title">
<u-text :text="item.name" color="#020B18" size="28" line-height="40" :lines="2"></u-text>
</view>
<view class="street"><u-text :text="item.street" color="#178AF2" size="28"></u-text></view>
</view>
<view class="center row">
<u-text :text="item.area+'㎡ | 朝'+item.toward" color="#AFB5BE" size="28" line-height="50"></u-text>
</view>
<view class="bottom row">
<view class="tags row col">
<view class="tag">
<u-text :text="item.payment_cycle" color="#AFB5BE" size="28" line-height="28"></u-text>
</view>
<view class="tag">
<u-text :text="item.payment_type" color="#AFB5BE" size="28" line-height="28"></u-text>
</view>
<view class="tag" v-for="tag in item.tags">
<u-text :text="tag" color="#AFB5BE" size="28" line-height="28"></u-text>
</view>
</view>
<view class="price row col">
<view class="price-number">
<u-text :text="item.price" color="#FF9545" size="28"></u-text>
</view>
<view class="price-label">
<u-text text="元/月" color="#020B18" size="28"></u-text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="big-title" v-if="listsGood.length > 0">
<u-text text="暖新商品" size="32" color="#020B18"></u-text>
</view>
<view class="good-list border-box">
<view class="item row" v-for="item in listsGood" @click="api.navTo('/pages/Goods/index?id='+item.id)">
<view class="image col">
<u-image radius="24" mode="aspectFill" width="176" height="176" :src="item.cover"></u-image>
</view>
<view class="info col">
<view class="top row col">
<view class="title" style="max-width: 100%;">
<u-text :text="item.name" color="#020B18" size="28" line-height="40" :lines="1"></u-text>
</view>
<!-- <view class="street"><u-text text="桂溪街道" color="#178AF2" size="28"></u-text></view>-->
</view>
<view class="bottom row">
<view></view>
<view class="price row col">
<view class="price-label">
<u-text text="暖新币" color="#020B18" size="28" custom-style="margin-right:10rpx;"></u-text>
</view>
<view class="price-number">
<u-text :text="item.coin_number+'币'" color="#FF9545" size="28"></u-text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="big-title" v-if="listsProject.length > 0">
<u-text text="暖新项目" size="32" color="#020B18"></u-text>
</view>
<view class="project-list border-box">
<view class="item" style="padding:4rpx;background-color: #fff;border-radius:20rpx;margin-bottom:16rpx;" v-for="item in listsProject" @click="api.navTo('/pages/Project/index?id='+item.id)">
<view class="" style="padding:20rpx;border-radius:20rpx;">
<view class="title row" style="padding-bottom:16rpx;">
<view class="title-item blue">
<view class="title-content">
<u-text :text="item.type_name" color="#ffffff" size="28" line-height="40"></u-text>
</view>
</view>
<view class="title-item">
<view class="title-content">
<u-text :text="item.community" color="#90A0AF" size="28" line-height="40"></u-text>
</view>
</view>
</view>
<view class="body row" style="padding-top:16rpx;">
<view class="cover" style="margin-right:24rpx;">
<u-image mode="widthFix" width="260" height="160" :src="item.cover" radius="10"></u-image>
</view>
<view class="content col">
<view class="content-title" style="margin-bottom:32rpx;">
<u-text :text="item.title" color="#020B18" size="32" :lines="1"></u-text>
</view>
<view class="content-body">
<view class="body-address row" style="margin-bottom:10rpx;">
<view class="icon" style="margin-right:20rpx;">
<u-image mode="widthFix" width="32" height="32" :src="staticImage.listPosition"></u-image>
</view>
<view class="value col ">
<u-text :text="item.address" color="#AFB5BE" size="28" custom-style="display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; "></u-text>
</view>
</view>
<view class="body-phone row" style="justify-content: flex-start">
<view class="icon" style="margin-right:20rpx;">
<u-image mode="widthFix" width="32" height="32" :src="staticImage.listTime"></u-image>
</view>
<view class="value row col">
<view class="">
<u-text :text="$u.timeFormat(item.start_time,'yyyy/mm/dd')" color="#AFB5BE" size="28"></u-text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="big-title" v-if="listsActivity.length > 0">
<u-text text="暖新活动" size="32" color="#020B18"></u-text>
</view>
<view class="project-list border-box">
<view class="item" style="padding:4rpx;background-color: #fff;border-radius:20rpx;margin-bottom:16rpx;" v-for="item in listsActivity" @click="api.navTo('/pages/Activity/index?id='+item.id)">
<view class="" style="padding:20rpx;border-radius:20rpx;">
<view class="title row" style="padding-bottom:16rpx;">
<view class="title-item blue">
<view class="title-content">
<u-text :text="item.type_name" color="#ffffff" size="28" line-height="40"></u-text>
</view>
</view>
<view class="title-item">
<view class="title-content">
<u-text :text="item.community" color="#90A0AF" size="28" line-height="40"></u-text>
</view>
</view>
</view>
<view class="body row" style="padding-top:16rpx;">
<view class="cover" style="margin-right:24rpx;">
<u-image mode="widthFix" width="260" height="160" :src="item.cover" radius="10"></u-image>
</view>
<view class="content col">
<view class="content-title" style="margin-bottom:32rpx;">
<u-text :text="item.title" color="#020B18" size="32" :lines="1"></u-text>
</view>
<view class="content-body">
<view class="body-address row" style="margin-bottom:10rpx;">
<view class="icon" style="margin-right:20rpx;">
<u-image mode="widthFix" width="32" height="32" :src="staticImage.listPosition"></u-image>
</view>
<view class="value col ">
<u-text :text="item.address" color="#AFB5BE" size="28" custom-style="display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; "></u-text>
</view>
</view>
<view class="body-phone row" style="justify-content: flex-start">
<view class="icon" style="margin-right:20rpx;">
<u-image mode="widthFix" width="32" height="32" :src="staticImage.listTime"></u-image>
</view>
<view class="value row col">
<view class="">
<u-text :text="$u.timeFormat(item.start_time,'yyyy/mm/dd')" color="#AFB5BE" size="28"></u-text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<u-loadmore :custom-style="{display:'flex'}" :status="status" fontSize="28"
marginBottom="30" marginTop="30" @loadmore="getUserFollow()"/>
</view>
</template>
<script>
import {
imghost
} from '@/config/host.js'
import MzSubsection from '@/components/MzSubsection/Index.vue';
import api from '@/utils/functions.js';
import {goodsOrder, orderLogistics, roomOrder, tabCount} from "@/api/user";
import {userFollow, userLeave} from "@/api/other";
export default {
components: {
MzSubsection
},
data() {
return {
listItem:[
{name:'全部留言'},
{name:'已回答'},
{name:'未回答'},
],
tabCheck:'room',
title: '我的活动',
loading: true,
staticImage: {
bg: imghost + '/BG.png',
newIcon: imghost + '/new-icon.png',
shopThumb: imghost + '/new-1.png',
ask:imghost+ '/ask.png',
answer:imghost+ '/answer.png',
listPosition:imghost+'/activity-position.png',
listTime:imghost+'/activity-time.png',
rightRed:imghost+'/activity-red.png',
rightBlue:imghost+'/activity-blue.png',
rightGreen:imghost+'/activity-green.png',
rightOrange:imghost+'/activity-orange.png',
},
item:{
status:1,
type_name:'社区活动',
community:'三元社区',
title:'家庭教育培训课堂开课啦!',
address:'asdasd',
start_time:'2023-11-11',
cover:imghost+'/activity-banner.png',
},
status:'loadmore',
listsRoom:[],
listsGood:[],
listsActivity:[],
listsProject:[],
pages:{
page:1,
limit:10,
type:'goods,house,activity,project',
},
}
},
onLoad() {
},
onReady() {
},
computed: {
api() {
return api
}
},
methods: {
getUserFollow(clear = false){
if (clear) {
this.status = 'loadmore'
this.pages.page = 1;
this.listsRoom = [];
this.listsGood = [];
this.listsActivity = [];
this.listsProject = [];
}
if (this.status === 'nomore') {
return false;
}
userFollow(this.pages).then(res => {
this.listsRoom.push.apply(this.listsRoom, res.data.house_list);
this.listsGood.push.apply(this.listsGood, res.data.goods_list);
this.listsActivity.push.apply(this.listsActivity, res.data.activity_list);
this.listsProject.push.apply(this.listsProject, res.data.project_list);
if (res.data.house_list.length === 0 &&res.data.goods_list.length === 0 &&res.data.activity_list.length === 0 &&res.data.project_list.length === 0) {
this.status = 'nomore'
}
})
this.pages.page++;
},
},
onReachBottom() {
this.getUserFollow();
},
onPageScroll(res) {
},
mounted() {
this.getUserFollow();
},
created() {
}
}
</script>
<style lang="scss">
@import './components/follow.scss';
</style>