import Taro, { Component } from '@tarojs/taro'
import { View, Image } from '@tarojs/components'
import ListMore from '@/c/pageDataList/listMore'
import './news.scss'
class Index extends Component {
onShareAppMessage() {
const {id, name} = this.$router.params
return {
title: `${name}-楼盘动态`,
path: `/pagesHouse/indexDtl?id=${id}&name=${name}`,
}
}
onShareTimeline () {
const {id, name} = this.$router.params
return {
title: `${name}-楼盘动态`,
path: `/pagesHouse/indexDtl?id=${id}&name=${name}`,
}
}
constructor (props) {
super(props)
this.state = {
page_size: 10,
page: 1,
isListEnd: false,
isListLoading: false,
isListEmpty: false,
dataList: [],
}
}
config = {
navigationBarTitleText: '楼盘动态',
}
componentWillMount () {
this.getDataList()
}
componentDidShow () { }
componentDidHide () { }
getDataList () {
const {id: estate_id} = this.$router.params
let { page_size, page, dataList, isListEmpty } = this.state
Taro.api.house.apiestatenewslist({
page,
page_size,
estate_id
}).then(res => {
const curData = res.list || []
let isListEnd = false
if (curData.length > 0) {
if (page === 1) {
dataList = curData
} else {
dataList = dataList.concat(curData)
}
if (curData.length === page_size && res.total !== curData.length) {
isListEnd = false
} else {
isListEnd = true
}
}
if (curData.length === 0 && page === 1) {
isListEmpty = true
dataList = []
} else {
isListEmpty = false
}
this.setState({
dataList,
isListEnd,
isListEmpty,
isListLoading: false
})
})
}
onScrollToLower (e) {
let { isListEnd, isListLoading, page } = this.state
if (!isListEnd && !isListLoading) {
page++
this.setState({
page,
isListLoading: true
}, () => {
this.getDataList()
})
}
}
renderTop () {
const { name } = this.$router.params
const bg = require('@img/images/bg_house.jpg')
return (
{name}
)
}
urlDtlLink () {
const { id } = this.$router.params
Taro.navigateTo({url: '/pagesHouse/indexDtl?id=' + id})
}
renderList () {
const exImg = require('@img/images/ex_banner.jpg')
const { dataList, isListEnd, isListLoading, isListEmpty } = this.state
const itemsList = dataList.map((item, index) => {
const imgArr = (item.images || '').split(',')
return (
{item.news_at}
{item.title}
{item.trends_cont}
{
item.trends_cont.length > 50
?
item.isMoreAllShow
?
收起
:
全文
: ''
}
{
item.images
&&
{
imgArr.map((img, imgIndex) => {
return (
)
})
}
}
洪楼Plus
)
})
return (
{itemsList}
)
}
previewImageHandle (cur, arr) {
const current = `${cur}_plus`
const urls = arr.map(item => {
return `${item}_plus`
})
Taro.previewImage({
current,
urls
})
}
changeMoreHandle (index) {
const { dataList } = this.state
let mList = dataList || []
mList.map((item, i) => {
if (index === i) item.isMoreAllShow = !item.isMoreAllShow
})
this.setState({
dataList: [...mList]
})
}
render () {
return (
{this.renderTop()}
{this.renderList()}
)
}
}
export default Index