230320a303 пре 10 месеци
родитељ
комит
471f1f17f8

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+    "stockCode": "sz002460,sz000333,sz300346"
+}

+ 6 - 0
src/api/base.js

@@ -60,4 +60,10 @@ export default {
   apiuserhouseadd: params => { // 自助上传房源
     return request('/api/user/house/add', params, 'loading')
   },
+  apiuserhouselist: params => { // 自助上传房源 分配列表
+    return request('/api/user/house/list', params, 'loading')
+  },
+  apiuserhouseverify: params => { // 自助上传房源 审核
+    return request('/api/user/house/verify', params, 'loading')
+  },
 }

+ 3 - 0
src/app.scss

@@ -55,6 +55,9 @@
     z-index: 9;
     border-radius: 50%;
     overflow: hidden;
+    &.t2 {
+      bottom: 300px;
+    }
   }
   .scoped-fix-q2 {
     position: fixed;

BIN
src/assets/img/images/icon_add_room.png


+ 1 - 1
src/components/lform/formGroup.jsx

@@ -51,7 +51,7 @@ export default class FormGroup extends Component {
   }
   selectChange (curArr, e) {
     const { valStr, bc } = this.props
-    bc(valStr, curArr[Number(e.detail.value)].val)
+    bc(valStr, curArr[Number(e.detail.value)].val, curArr)
   }
   dateChange (e) {
     const { valStr, bc } = this.props

+ 111 - 0
src/pages/index/components/popup/remindCust.jsx

@@ -0,0 +1,111 @@
+import Taro, { Component } from '@tarojs/taro'
+import { View, Image } from '@tarojs/components'
+import './remindCust.scss'
+export default class Popup extends Component {
+  constructor (props) {
+    super(props)
+    this.state = {
+      dataList: [],
+      isPopupShow: false,
+      total: 0,
+    }
+  }
+
+
+  componentWillMount () {
+    
+    this.getData()
+  }
+
+  getData () {
+    const uoObj = Taro.getStorageSync('APP_userInfo')
+    if (uoObj) {
+      Taro.api.base.apiuserhouselist().then(res => {
+        const dataList = res.list || []
+        this.setState({
+          dataList,
+          total: res.total || 0,
+          isPopupShow: dataList.length > 0 ? true : false
+        })
+      })
+    }
+  }
+
+  openPopup () {
+    this.setState({
+      isPopupShow: true
+    })
+  }
+  closePopup () {
+    this.setState({
+      isPopupShow: false
+    })
+  }
+
+  linkRoomDtl (item) {
+    Taro.navigateTo({
+      url: `/pagesMore/center/uploadRoom2?cid=${item.id}`
+    })
+  }
+
+  callHandle (phone) {
+    Taro.makePhoneCall({
+      phoneNumber: phone
+    })
+  }
+
+
+  previewImageHandle (item) {
+    const imgArr = item.images && item.images.length > 0 ? item.images.split(',') : []
+    const urls = [item.house_cert, ...imgArr]
+    Taro.previewImage({
+      current: item.house_cert,
+      urls
+    })
+  }
+
+  verifyHandle (item) {
+    let that = this
+    Taro.$msgConfirm('确定已上传该房源吗,确定后将隐藏该条记录?', () => {
+      Taro.api.base.apiuserhouseverify({id: item.id}).then(res => {
+        Taro.$msg('已隐藏!')
+        that.getData()
+      })
+    })
+  }
+
+  render () {
+    const { isPopupShow, dataList, total } = this.state
+    const bgClose = require('@img/icon_g_close2.png')
+    return (
+      <View className={isPopupShow ? 'l-modal-box' : 'l-modal-box hide'}>
+        <View className='lmb-bg'></View>
+        <View className='lmb-body'>
+          <View className="scoped-box">
+            <View className="sb-main">
+              <View className="title">已分配房源({total})</View>
+              {
+                dataList.map(item => {
+                  return(
+                    <View key={item.id} className="op">
+                      <View className="p1">
+                        <View onClick={this.callHandle.bind(this, item.phone)} className="text">[{item.id}]挂价{item.price}w,电:{item.phone}</View>
+                        <Image src={item.house_cert} className="img" onClick={this.previewImageHandle.bind(this, item)} />
+                      </View>
+                      <View onClick={this.callHandle.bind(this, item.phone)} className="p3">{item.remark}</View>
+                      <View className="p2">
+                        <View onClick={this.linkRoomDtl.bind(this, item)} className="t">去上传房源</View>
+                        <View onClick={this.verifyHandle.bind(this, item)} className="t t2">已上传</View>
+                      </View>
+                    </View>
+                  )
+                })
+              }
+            </View>
+            <Image src={bgClose} className="close" onClick={this.closePopup.bind(this)} />
+          </View>
+        </View>
+      </View>
+    )
+  }
+}

+ 63 - 0
src/pages/index/components/popup/remindCust.scss

@@ -0,0 +1,63 @@
+@import '@css/mixin.scss';
+@import '@css/modal.scss';
+.scoped-box {
+  width: 660px;
+  text-align: center;
+  position: relative;
+  .close {
+    width: 60px;
+    height: 60px;
+  }
+  .sb-main {
+    text-align: left;
+    background-color: #fff;
+    padding: 30rpx;
+    max-height: 800rpx;
+    overflow-y: auto;
+    .title {
+      height: 60rpx;
+      line-height: 60rpx;
+      text-align: center;
+      font-size: 30rpx;
+      font-weight: bold;
+      color: #333;
+    }
+    .op {
+      border-bottom: 1PX solid #dcdcdc;
+      padding: 10rpx 0;
+      color: #333;
+      font-size: 30rpx;
+      &:last-child {
+        border-bottom: 0;
+      }
+      .p3 {
+        color: #999;
+        font-size: 28rpx;
+      }
+      .p1 {
+        .text {
+          display: inline-block;
+          margin-right: 50rpx;
+        }
+        .img {
+          display: inline-block;
+          height: 50rpx;
+          width: 50rpx;
+        }
+      }
+      .p2 {
+        display: flex;
+        width: 100%;
+        justify-content: space-around;
+        padding: 10rpx 0;
+      }
+      .t {
+        color: $mainColor;
+        font-weight: bold;
+        &.t2 {
+          color: $dangerColor;
+        }
+      }
+    }
+  }
+}

+ 1 - 2
src/pages/index/components/popup/remindRoom.jsx

@@ -15,7 +15,6 @@ export default class Popup extends Component {
     const uoObj = Taro.getStorageSync('APP_userInfo')
     if (uoObj) {
       Taro.api.room.apieshouserecordremind().then(res => {
-        console.log(res)
         const dataList = res || []
         this.setState({
           dataList,
@@ -53,7 +52,7 @@ export default class Popup extends Component {
         <View className='lmb-body'>
           <View className="scoped-box">
             <View className="sb-main">
-              <View className="title">待跟进房源</View>
+              <View className="title">待跟进房源({dataList.length})</View>
               {
                 dataList.map(item => {
                   return(

+ 5 - 1
src/pages/index/index.jsx

@@ -11,6 +11,7 @@ import Channel from './components/channel'
 import PopupAd from './components/popup'
 import PopupFullAd from './components/popup/full'
 import RemindRoom from './components/popup/remindRoom'
+import RemindCust from './components/popup/remindCust'
 // import CountChart from './components/countChart'
 import FooterModule from './components/footerList'
 import './index.scss'
@@ -965,7 +966,10 @@ class Index extends Component {
         {
           uoObj && uoObj.is_sale == 1
           ?
-          <RemindRoom />
+          <View>
+            <RemindRoom />
+            <RemindCust />
+          </View>
           : ''
         }
         <ScrollView

+ 13 - 1
src/pagesHouse/indexDtl.jsx

@@ -835,6 +835,17 @@ class Index extends Component {
     )
   }
 
+  renderGoAddRoom () {
+    const icon = require('@img/images/icon_add_room.png')
+    return (
+      <Image className="g-go-home t2" src={icon} onClick={() => {
+        Taro.navigateTo({
+          url: `/pagesMore/center/uploadRoom2`
+        })
+      }}/>
+    )
+  }
+
   linkPlan () {
     const {id} = this.$router.params
     const { curObj } = this.state
@@ -1099,7 +1110,7 @@ class Index extends Component {
 
 
   render () {
-    const { curObj, buyRuleObj } = this.state
+    const { curObj, buyRuleObj, userInfo } = this.state
     const pages = getCurrentPages()
     const pagesLength = pages.length
     const schoolList = curObj.school_list || {}
@@ -1185,6 +1196,7 @@ class Index extends Component {
             {this.renderComment()}
             {this.renderPos()}
             {pagesLength < 3 && this.renderGoHome()}
+            {userInfo && userInfo.is_sale == 1 && this.renderGoAddRoom()}
             {/* {this.renderPlan()} */}
           </View>
         </ScrollView>

+ 1 - 1
src/pagesMore/center/uploadRoom.jsx

@@ -109,7 +109,7 @@ class Index extends Component {
       success: function (res) {
         const tempFilePaths = res.tempFilePaths
         Taro.uploadFile({
-          url: `https://api.honglouplus.com/api/upload/cloud`,
+          url: `https://api.honglouplus.com/api/upload/cloudpir`,
           filePath: tempFilePaths[0],
           name: 'upload',
           formData: {

+ 103 - 12
src/pagesMore/center/uploadRoom2.jsx

@@ -15,11 +15,15 @@ class Index extends Component {
   onShareAppMessage() {
     return {
       title: `自助上传房源`,
+      path: `/pagesMore/center/uploadRoom`,
+      imageUrl: 'https://img2.honglounews.com/20240717120305-2731.jpg'
     }
   }
   onShareTimeline () {
     return {
       title: `自助上传房源`,
+      path: `/pagesMore/center/uploadRoom`,
+      imageUrl: 'https://img2.honglounews.com/20240717120305-2731.jpg'
     }
   }
 
@@ -40,10 +44,12 @@ class Index extends Component {
       },
       dtlObj: {},
       imgArr: [],
+      hideAlbumArr: [],
       cutImgTempUrl: '',
       cutImgShow: false,
       curProductTypeName: '',
       productHouseList: [],
+      custObj: {},
     }
   }
   config = {
@@ -55,7 +61,7 @@ class Index extends Component {
   }
 
   componentDidMount() {
-    const {id} = this.$router.params
+    const {id, cid} = this.$router.params
     if (id) {
       Taro.api.room.apieshousedetail({id}).then(res => {
         let cObj = res || {}
@@ -70,6 +76,8 @@ class Index extends Component {
           this.getPtData(cObj.estate_id)
         }
         setTimeout(() => {
+          console.log(`${cObj.product_type}--${cObj.house_type.replace(/-/g, '')}--${cObj.area}--${cObj.house_img}`)
+          console.log(cObj.hide_album)
           this.setState({
             dtlObj: cObj,
             formObj: {
@@ -100,8 +108,9 @@ class Index extends Component {
               video: cObj.video || '',
               product_type: cObj.product_type || '',
             },
-            curProductTypeName: cObj.product_type && cObj.house_type ? `${cObj.product_type}-${cObj.house_type.replace(/-/g, '')}` : '',
+            curProductTypeName: cObj.product_type && cObj.house_type ? `${cObj.product_type}--${cObj.house_type.replace(/-/g, '')}--${cObj.area}--${cObj.house_img}` : '',
             imgArr: (cObj.images && cObj.images.length > 0) ? cObj.images.split(',') : [],
+            hideAlbumArr: (cObj.hide_album && cObj.hide_album.length > 0) ? cObj.hide_album.split(',') : [],
             addr1: addr[0],
             addr2: addr[1],
             addr3: addr[2],
@@ -114,6 +123,25 @@ class Index extends Component {
         }, 1000)
       })
     }
+    if (cid) {
+      Taro.api.base.apiuserhouselist({id: cid}).then(res => {
+        const list = res.list || []
+        const custObj = list[0] || {}
+        Taro.setNavigationBarTitle({
+          title: `房东${custObj.phone}的新增房源`
+        })
+        const imgArr = custObj.images ? custObj.images.split(',') : []
+        this.setState({
+          custObj,
+          imgArr,
+          hideAlbumArr: [custObj.house_cert],
+          formObj: {
+            owner_phone: custObj.phone,
+            introduce: custObj.remark,
+          }
+        })
+      })
+    }
   }
 
 
@@ -132,7 +160,7 @@ class Index extends Component {
 
 
   saveHandle (pStr) {
-    const { formObj, imgArr, addr1, addr2, addr3, hType1, hType2, hType3, sRate1, sRate2, dtlObj } = this.state
+    const { formObj, imgArr, hideAlbumArr, addr1, addr2, addr3, hType1, hType2, hType3, sRate1, sRate2, dtlObj } = this.state
     let house_no = ''
     if (!formObj.product_type) {
       Taro.$msg('请选择产品规格')
@@ -193,6 +221,7 @@ class Index extends Component {
       floor_price: formObj.floor_price,
       video: formObj.video || '',
       images: imgArr.join(','),
+      hide_album: hideAlbumArr.join(','),
     }
     if (pStr === 'is_sold') {
       params.is_sold = 1
@@ -241,9 +270,10 @@ class Index extends Component {
       list.forEach(one => {
         const htList = one.house_type_list || []
         htList.forEach(two => {
+          let areaObj = two.area_list && two.area_list.length > 0 ? two.area_list[0] : {}
           productHouseList.push({
             key: `${ptObj[one.product_type_val]}-${htObj[two.house_type_val]}`,
-            val: `${one.product_type_val}-${two.house_type_val}`
+            val: `${one.product_type_val}--${two.house_type_val}--${areaObj.area}--${areaObj.img_url}_plus`
           })
         })
       })
@@ -252,11 +282,14 @@ class Index extends Component {
       })
     })
   }
-  ptChange (key, val) {
-    const ptArr = val.split('-')
+  ptChange (key, val, arr) {
+    console.log(arrToObjarr)
+    const ptArr = val.split('--')
     const htSub = ptArr[1].split('')
     let { formObj } = this.state
     formObj.product_type = ptArr[0]
+    formObj.area = ptArr[2]
+    formObj.house_img = ptArr[3]
     this.setState({
       formObj,
       curProductTypeName: val,
@@ -357,6 +390,36 @@ class Index extends Component {
     }, 1, moreStr)
   }
 
+
+
+
+  addHideAlbum () {
+    this.uploadComImg((arr) => {
+      let { hideAlbumArr } = this.state
+      hideAlbumArr = [...hideAlbumArr, ...arr]
+      this.setState({
+        hideAlbumArr
+      })
+    }, 9)
+  }
+  delHideAlbum (index) {
+    let { hideAlbumArr } = this.state
+    hideAlbumArr.splice(index, 1)
+    this.setState({
+      hideAlbumArr
+    })
+  }
+  previewHideAlbumHandle (current, arr) {
+    const { hideAlbumArr } = this.state
+    let nArr = hideAlbumArr.map(item => {
+      return item + '_plus'
+    })
+    Taro.previewImage({
+      current,
+      urls: nArr
+    })
+  }
+
   addImg () {
     this.uploadComImg((arr) => {
       let { imgArr } = this.state
@@ -603,7 +666,7 @@ class Index extends Component {
 
   render () {
     const {id} = this.$router.params
-    const { formObj, imgArr, dtlObj, curProductTypeName, productHouseList } = this.state
+    const { formObj, imgArr, hideAlbumArr, dtlObj, curProductTypeName, productHouseList } = this.state
     const dictData = Taro.getStorageSync('dictData')
     const roomDecMoreOptions = {arr: dictData.room_dec}
     const houseRoomYearMoreOptions = {arr: dictData.house_room_year}
@@ -622,6 +685,14 @@ class Index extends Component {
         </View>
       )
     })
+    const hideAlbumItems = hideAlbumArr.map((src, index) => {
+      return (
+        <View className="si-op" key={index}>
+          <Image src={src + '_plus'} className="img" onClick={this.previewHideAlbumHandle.bind(this, src + '_plus')} />
+          <Image src={closeIcon} className="i" onClick={this.delHideAlbum.bind(this, index)}/>
+        </View>
+      )
+    })
     let moreEstateOptions = {
       api: 'house.admestatelist',
       opKey: 'estate_name',
@@ -661,7 +732,7 @@ class Index extends Component {
               val={curProductTypeName}
               valStr="curProductTypeName"
               keyStr="产品(必填)"
-              keyStr2="请选择"
+              keyStr2=" "
               typeStr="select"
               moreOptions={ptMoreOptions}
               bc={this.ptChange.bind(this)}
@@ -958,6 +1029,21 @@ class Index extends Component {
             placeholder='仅编辑查看,房源内部备注信息(300字以内)'
           />
         </View>
+        <View className="scoped-box">
+          <View className="sb-title">隐藏相册
+            <View className="s">(如房产证等,最多9张)</View>
+          </View>
+          <View className="scoped-img">
+            {hideAlbumItems}
+            {
+              hideAlbumArr.length < 9
+              &&
+              <View className="si-op" onClick={this.addHideAlbum.bind(this)}>
+                <Image src={addIcon} className="img"/>
+              </View>
+            }
+          </View>
+        </View>
         {/* <View className="scoped-box">
           <View className="sb-title">跟进记录备注</View>
           <AtTextarea
@@ -972,11 +1058,16 @@ class Index extends Component {
           <View className="lff-flex">
             <View className="lff-btn full" onClick={this.saveHandle.bind(this)}>提交</View>
           </View>
-          <View className="lff-flex" style="padding-top: 10px;padding-bottom: 16px;position:relative;">
-            <View className="lff-btn full t2" onClick={this.linkAddRecord.bind(this)}>添加跟进记录
+          {
+            id 
+            ?
+            <View className="lff-flex" style="padding-top: 10px;padding-bottom: 16px;position:relative;">
+              <View className="lff-btn full t2" onClick={this.linkAddRecord.bind(this)}>添加跟进记录
+              </View>
+              <View className="scoped-footer-btn-tips">创建人15天未跟进信息,房源将进入自由池,解除锁定</View>
             </View>
-            <View className="scoped-footer-btn-tips">创建人15天未跟进信息,房源将进入自由池,解除锁定</View>
-          </View>
+            : ''
+          }
           {
             id 
             ?

+ 145 - 6
src/pagesRoom/dtl.jsx

@@ -329,10 +329,6 @@ class Index extends Component {
           </View>
         </View>
         <View className="sm-op">
-          <View className="op full">
-            <View className="k">单价</View>
-            <View className="v">{parseInt(curObj.price * 10000 / curObj.area)}元/㎡</View>
-          </View>
           <View className="op full">
             <View className="k">学区</View>
             <View className="v">
@@ -342,6 +338,10 @@ class Index extends Component {
               </View>
             </View>
           </View>
+          <View className="op full">
+            <View className="k">单价</View>
+            <View className="v">{parseInt(curObj.price * 10000 / curObj.area)}元/㎡</View>
+          </View>
           <View className="op">
             <View className="k">楼层</View>
             <View className="v">{FHstr}/{curObj.storeys}层</View>
@@ -612,7 +612,7 @@ class Index extends Component {
 
 
 
-  // drawAndShareImage () {
+  // drawAndSharetestImage () {
   //   const { curObj } = this.state
   //   const imageArr = curObj.images.split(',')
   //   if (imageArr.length < 2) {
@@ -716,6 +716,145 @@ class Index extends Component {
   // }
 
 
+  async drawAndShare2Image (str) {
+    const { curObj, curShareCardImg, curShareCardImgType } = this.state
+    if (curShareCardImg) {
+      if (curShareCardImgType === str) {
+        wx.showShareImageMenu({
+          path: curShareCardImg,
+          success: res => {
+            console.log(res, 22);
+          }
+        })
+      } else {
+        Taro.$msgConfirm('请返回上一层页面,再重新进入当前页面生成图片~')
+      }
+      return
+    }
+    const imageArr = curObj.images.split(',')
+    if (imageArr.length < 2) {
+      Taro.$msgConfirm('房源图片不足~')
+      return
+    }
+    Taro.showLoading({
+      mask: true,
+      title: '图片智能生成中..'
+    })
+    const that = this
+    const cvs = Taro.createOffscreenCanvas({type: '2d', width: 700, height: 990})
+    const ctx = cvs.getContext('2d')
+    ctx.clearRect(0, 0, cvs.width, cvs.height)
+    ctx.rect(0 , 0 , cvs.width , cvs.height)
+    ctx.fillStyle = "#fff"
+    ctx.fill()
+
+    let imgBg = cvs.createImage();
+    // imgBg.src = require('./img/dtl/bg_room_dtl.jpg')
+    imgBg.src = 'https://img.honglounews.com/20240202095009-3067.jpg_adm0?r='+ Math.random()
+    await new Promise(resolve => {
+      imgBg.onload = resolve;
+    })
+
+    ctx.drawImage(imgBg, 0, 0, 700, 990)
+    let img1 = cvs.createImage();
+    await new Promise(resolve => {
+      img1.onload = resolve;
+      img1.src = curObj.pri_image + '_adm0'
+    })
+    ctx.drawImage(img1, 83, 358, 256, 200)
+
+    let img2 = cvs.createImage();
+    await new Promise(resolve => {
+      img2.onload = resolve;
+      img2.src = curObj.house_img
+    })
+    ctx.drawImage(img2, 362, 358, 256, 200)
+
+    let img3 = cvs.createImage();
+    await new Promise(resolve => {
+      img3.onload = resolve;
+      img3.src = imageArr[0] + '_adm0'
+    })
+    ctx.drawImage(img3, 83, 570, 256, 200)
+
+    let img4 = cvs.createImage();
+    await new Promise(resolve => {
+      img4.onload = resolve;
+      img4.src = imageArr[1] + '_adm0'
+    })
+    ctx.drawImage(img4, 362, 570, 256, 200)
+
+    
+    that.drawText(ctx, '#333', curObj.title.length > 25 ? curObj.title.substring(0, 25) + '...' : curObj.title, 98, 846, '18px')
+    if (str === 'hide') {
+      that.drawText(ctx, '#333', '详情咨询巴老师', 80, 220, 'normal bold 40px')
+    } else {
+      if (curObj.estate_name.length > 10) {
+        that.drawText(ctx, '#333', curObj.estate_name, 80, 220, 'normal bold 26px')
+      } else if (curObj.estate_name.length > 7) {
+        that.drawText(ctx, '#333', curObj.estate_name, 80, 220, 'normal bold 36px')
+      } else {
+        that.drawText(ctx, '#333', curObj.estate_name, 80, 220, 'normal bold 56px')
+      }
+    }
+
+
+    that.drawText(ctx, '#333', curObj.area + '㎡', 140, 310, 'normal bold 28px')
+    that.drawText(ctx, '#df6135', curObj.price + '万', 280, 310, 'normal bold 32px')
+    
+
+    // let base64 = ctx.canvas.toDataURL("image/png")
+    // that.setState({
+    //   curShareCardImg: base64
+    // })
+
+    // that.popupOpen()
+    
+    setTimeout(() => {
+      imgBg = null
+      img1 = null
+      img2 = null
+      img3 = null
+      img4 = null
+      Taro.hideLoading()
+    }, 6000)
+    
+    const imgData = cvs.toDataURL();
+    const time = new Date().getTime();
+    const fs = wx.getFileSystemManager();
+    const filePath = Taro.env.USER_DATA_PATH + "/poster" + time + "share" + ".png";
+    fs.writeFile({
+      filePath,
+      data: imgData.replace(/^data:image\/\w+;base64,/, ""),
+      encoding: 'base64',
+      success: res => {
+        that.setState({
+          curShareCardImgType: str,
+          curShareCardImg: filePath
+        })
+        ctx.clearRect(0, 0, cvs.width, cvs.height)
+        Taro.hideLoading()
+        wx.showShareImageMenu({
+          path: filePath,
+          success: res => {
+            console.log(res, 11);
+          }
+        })
+      },
+      fail: err => {
+        // 此处可能存在内存满了的情况
+        // 需要根据具体需求处理
+        console.log(err);
+        Taro.hideLoading()
+      }
+    });
+    fs.close()
+
+
+    
+  }
+
+ 
   async drawAndShareImage (str) {
     const { curObj, curShareCardImg, curShareCardImgType } = this.state
     if (curShareCardImg) {
@@ -874,7 +1013,7 @@ class Index extends Component {
   renderShare2 () {
     const iconShare = require('@img/images/icon_g_share6s2.png')
     return (
-      <Button className="g-icon-share b2 btn-to-div" onClick={this.drawAndShareImage.bind(this, 'hide')}>
+      <Button className="g-icon-share b2 btn-to-div" onClick={this.drawAndShare2Image.bind(this, 'hide')}>
         <Image className="img" src={iconShare} />
       </Button>
     )

+ 1 - 1
src/pagesRoom/dtl.scss

@@ -154,7 +154,7 @@ page {
   }
   .sm-focus {
     display: flex;
-    padding: 10px 0 30px;
+    padding: 0 0 10px;
     .op {
       &:nth-child(1) {
         width: 250px;

+ 16 - 0
src/pagesRoom/list2.jsx

@@ -525,6 +525,9 @@ class Index extends Component {
       params.order_by = JSON.stringify(curSortObj.val)
     }
     Taro.api.room[apiStr](params).then(res => {
+      Taro.setNavigationBarTitle({
+        title: `房源列表(${res.total})`
+      })
       const curData = res.list || []
       let isListEnd = false
       if (curData.length > 0) {
@@ -669,6 +672,18 @@ class Index extends Component {
   }
 
 
+  renderGoAddRoom () {
+    const icon = require('@img/images/icon_add_room.png')
+    return (
+      <Image className="g-go-home t2" src={icon} onClick={() => {
+        Taro.navigateTo({
+          url: `/pagesMore/center/uploadRoom2`
+        })
+      }}/>
+    )
+  }
+
+
   render () {
     const { estateIdCur, isEstateShow } = this.state
     const { estate_id } = this.$router.params
@@ -691,6 +706,7 @@ class Index extends Component {
           :
           <MultiSelect val={estateIdCur} moreOptions={estateMoreOptions} isShow={isEstateShow} initUpdate="no" bc={this.dealMSPopup.bind(this)} close={this.closeMSPopup.bind(this)}/>
         }
+        {isSale && this.renderGoAddRoom()}
       </View>
     )
   }

+ 4 - 0
src/pagesRoom/listMy.jsx

@@ -64,6 +64,7 @@ class Index extends Component {
       this.getDataList()
     }
     
+    
 
     // 把文件删除后再写进,防止超过最大范围而无法写入
     const fsm = wx.getFileSystemManager();  //文件管理器
@@ -530,6 +531,9 @@ class Index extends Component {
     }
     Taro.api.room[apiStr](params).then(res => {
       const curData = res.list || []
+      Taro.setNavigationBarTitle({
+        title: `我的房源(${res.total})`
+      })
       let isListEnd = false
       if (curData.length > 0) {
         if (page === 1) {