import Taro, { Component } from '@tarojs/taro' import { View, Map } from '@tarojs/components' import { arrToObj } from '@utils' import './pkDtl.scss' class Index extends Component { onShareAppMessage() { const { pkArr } = this.state let idArr = [] const nameArr = pkArr.map(item => { idArr.push(item.id) return item.estate_name }) return { title: `${nameArr.join('vs')}-楼盘对比`, path: `/pagesHouse/pkDtl?id=${idArr.join(',')}`, } } onShareTimeline () { return { title: '让买房,更省心!', } } constructor (props) { super(props) this.state = { pkArr: [], } } config = { navigationBarTitleText: '楼盘PK', } componentWillMount () { const {id} = this.$router.params if (id) { const idArr = id.split(',') || [] let tempArr = [] idArr.forEach(cId => { tempArr.push( new Promise((resolve, reject) => { Taro.api.house.admestatesimple({id: cId}).then(res => { return resolve(res) }).catch(err => { return reject(err) }) }) ) }) Promise.all(tempArr).then(res => { if (res && res.length > 0 && !Taro.getStorageSync('APP_pkList')) Taro.setStorageSync('APP_pkList', res) this.setState({ pkArr: res || [] }) }) } else { this.getDtl() } } renderTop () { const bg = require('./img/pk/bg.jpg') const { pkArr } = this.state return ( { pkArr.map((item, index) => { return ( {item.estate_name} ) }) } ) } getDtl = (data) => { const { i } = this.$router.params const iArr = i.split(',') const pkList = data || Taro.getStorageSync('APP_pkList') || [] let pkArr = iArr.map(i => { return pkList[i] }) this.setState({ pkArr }) } componentDidShow () { } componentDidHide () { } previewImageHandle (cur, arr) { const current = `${cur}_plus` const urls = arr.map(item => { return `${item.img_url}_plus` }) Taro.previewImage({ current, urls }) } previewQrcodeImageHandle (current, urls) { Taro.previewImage({ current: 'http://icon.honglounews.com/miniqrcode.jpg', urls: ['http://icon.honglounews.com/miniqrcode.jpg'] }) } linkHome () { Taro.reLaunch({ url: '/pages/index/index' }) } renderGoHome () { const icon = require('@img/images/icon_go_home.png') return ( ) } render () { const dictData = Taro.getStorageSync('dictData') const saObj = arrToObj(dictData.school_attrib) const mlObj = arrToObj(dictData.metro_line) const mtObj = arrToObj(dictData.metro_type) const { pkArr } = this.state const pk0Obj = pkArr[0] || {} const pk1Obj = pkArr[1] || {} let metroLineStr0 = '' if (pk0Obj.metro_line) { const ml0Arr = pk0Obj.metro_line.split(',') const ml0Str = ml0Arr.map(v => { return mlObj[v] }) metroLineStr0 = ml0Str.join(',') } let metroLineStr1 = '' if (pk1Obj.metro_line) { const ml1Arr = pk1Obj.metro_line.split(',') const ml1Str = ml1Arr.map(v => { return mlObj[v] }) metroLineStr1 = ml1Str.join(',') } let metroTypeStr0 = '' if (pk0Obj.metro_type) { const mt0Arr = pk0Obj.metro_type.split(',') const mt0Str = mt0Arr.map(v => { return mtObj[v] }) metroTypeStr0 = mt0Str.join(',') } let metroTypeStr1 = '' if (pk1Obj.metro_type) { const mt1Arr = pk1Obj.metro_type.split(',') const mt1Str = mt1Arr.map(v => { return mtObj[v] }) metroTypeStr1 = mt1Str.join(',') } let pk0SchoolStr = '' const school0list = pk0Obj.school_list || {duikou: [], guihua: []} const sl0Arr = [...school0list.duikou, ...school0list.guihua] if (sl0Arr && sl0Arr.length > 0) { const schoolStr0 = sl0Arr.map(item => { return `(${saObj[item.school_attrib]})${item.school_name}` }) pk0SchoolStr = schoolStr0.join(';') } let pk1SchoolStr = '' const school1list = pk1Obj.school_list || {duikou: [], guihua: []} const slArr = [...school1list.duikou, ...school1list.guihua] if (slArr && slArr.length > 0) { const schoolStr1 = slArr.map(item => { return `(${saObj[item.school_attrib]})${item.school_name}` }) pk1SchoolStr = schoolStr1.join(';') } const product_type0 = pk0Obj.product_type || '' const productTypeArr0 = product_type0.split(',').map(v => { return arrToObj(dictData.product_type)[v] }) const product_type1 = pk1Obj.product_type || '' const productTypeArr1 = product_type1.split(',').map(v => { return arrToObj(dictData.product_type)[v] }) const iconShare = require('./img/pk/i2.png') return ( {this.renderTop()} 基本信息 {arrToObj(dictData.estate_tag)[pk0Obj.estate_tag]} 楼盘状态 {arrToObj(dictData.estate_tag)[pk1Obj.estate_tag]} {pk0Obj.price_range}/㎡ 参考价格 {pk1Obj.price_range}/㎡ {arrToObj(dictData.area_type)[pk0Obj.area_type]} 所属区域 {arrToObj(dictData.area_type)[pk1Obj.area_type]} {productTypeArr0.length > 0 ? `${productTypeArr0.join('/')}` : ''} 产品类型 {productTypeArr1.length > 0 ? `${productTypeArr1.join('/')}` : ''} {pk0Obj.built_area}㎡ 面积户型 {pk1Obj.built_area}㎡ {/* {pk0Obj.stairs_rate} 梯户比 {pk1Obj.stairs_rate} */} {pk0Obj.household} 总户数 {pk1Obj.household} {pk0Obj.parking} 车位数 {pk1Obj.parking} {pk0Obj.green_rate}% 绿化率 {pk1Obj.green_rate}% {pk0Obj.plot_ratio} 容积率 {pk1Obj.plot_ratio} {pk0Obj.deliver_time} 初次交付 {pk1Obj.deliver_time} 物业配套 {pk0Obj.property_fee || '0'}元 物业费 {pk1Obj.property_fee || '0'}元 {pk0Obj.property_type} 物业公司 {pk1Obj.property_type} {pk0SchoolStr} 对口学校 {pk1SchoolStr} {metroLineStr0} 地铁线 {metroLineStr1} {metroTypeStr0} 地铁站 {metroTypeStr1} 查看更多 更多 查看更多 {this.renderGoHome()} ) } } export default Index