| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- import houseApi from '../../apis/house'
- import cityApi from '../../apis/city'
- import { isPhoneX } from '../../utils/tools'
- import { bindInput } from '../../utils/utils'
- const app = getApp();
- const panelData={
- 'region':[{
- id:'quyu',
- items:[{
- name:'珠海',
- id:''
- }]
- },
- {
- id:'didian',
- items:[{
- name:'不限',
- id:''
- }]
- },
- {
- id:'xianshi',
- items:[{
- name:'不限',
- id:''
- }]
- }],
- 'jiage':[{
- id:'jiage',
- filter:'价格',
- items:[{
- name:'不限',
- id:''
- },{
- name:'50万以下',
- id:'0#50'
- },{
- name:'50万-100万',
- id:'50#100'
- },{
- name:'100万-150万',
- id:'100#150'
- },{
- name:'150万-200万',
- id:'150#200'
- },{
- name:'200万-250万',
- id:'200#250'
- },{
- name:'250万-300万',
- id:'250#300'
- }]
- }],
- 'jushi':[{
- id:'jushi',
- filter:'居室',
- items:[{
- name:'不限',
- id:''
- },{
- name:'1室',
- id:'1'
- },{
- name:'2室',
- id:'2'
- },{
- name:'3室',
- id:'3'
- },{
- name:'4室',
- id:'4'
- }]
- }]
- }
- let type_acive = ''
- const LD = {
- agencyId: '',
- id: '',
- name: "不限",
- parentId: '',
- type: ''
- }
- Page({
- /**
- * 组件的属性列表
- */
- bindInput,
- data: {
- houses: [],
- type_acive,
- tab_panel:panelData[type_acive]||[],
- icon_list: [
- {name: '总价',icon:'edit',type:"jiage"},
- {name: '居室',icon:'write',type:"jushi"}
- ],
- fetcherData: {
- page_num: 1,
- city: '',
- page_size: 10,
- saleState: 1,
- district:'',
- price_s:'',
- rooms:''
- },
- has_next: true,
- navbarInitTop: 80,
- seachKey:'',
- currentCity:'珠海市'
- },
- changeListType(e){
- let {type} = e.currentTarget.dataset
- let obj = {
- type_acive: type,
- tab_panel: panelData[type]
- }
-
- if (type===this.data.type_acive) {
- obj['type_acive'] = ''
- }
- this.setData({
- type_acive: '',
- tab_panel: []
- })
- this.setData(obj)
- },
- getCityListByProv(){
- // app.wxshowloading('拼命加载中...');
- var province = app.globalData.province;
- cityApi.getCityListByProv(province).then(res => {
- let items = res.data
- let quyu = panelData['region'].find(item=>item.id==='quyu')
- quyu['items'] = items
- let city = items.find(sub=>sub.name===this.data.currentCity)
- city && this.getSubList({
- selectObj:{
- didian:LD,
- xianshi:LD,
- quyu:city
- },
- type:'quyu'
- })
- }).finally(() => {
- // wx.hideLoading()
- })
- },
- getSubList(data){
- let {selectObj,type} = data
- let current = selectObj[type]
- cityApi.getSubList(current.id).then(res => {
- let items = res.data
- let tmp = []
- if (type==='quyu') {
- tmp = panelData['region'].find(item=>item.id==='didian')
- let sub = panelData['region'].find(item=>item.id==='xianshi')
- sub['items'] = [LD]
- }
- if (type==='didian') {
- tmp = panelData['region'].find(item=>item.id==='xianshi')
- }
- items.unshift(LD)
- tmp['items'] = tmp['items'] && items
- this.setData({
- tab_panel:panelData['region']
- })
- }).finally(() => {
- // wx.hideLoading()
- })
- },
- comfirmhandle(e){
- let data = e.detail
- let fetData = this.data.fetcherData
- let tmp = Object.assign(fetData,{
- price_s:data.jiage||fetData.price||'',
- room_s:data.jushi||''
- })
- this.closeTypeActive()
- this.setData({
- fetcherData: tmp
- })
- this.closeTypeActive()
- this.getHouseList()
- },
- selecthandle(e){
- let {selectObj,type} = e.detail
- console.log( e.detail)
- if (type === 'quyu'||type === 'xianshi'||type === 'didian') {
- this.getSubList(e.detail)
- }
- console.log(selectObj)
- let tmp = Object.assign(this.data.fetcherData,{
- district:selectObj.didian.name,
- price_s:selectObj.jiage?selectObj.jiage.id:'',
- rooms:selectObj.jushi?selectObj.jushi.id:'',
- city: selectObj.quyu.name.replace('市', '')
- })
- this.setData({
- fetcherData: tmp
- })
- if (type !== 'quyu' && type !== 'didian') {
- this.closeTypeActive()
- }
- this.getHouseList()
- },
- tapSearch(){
- this.setData({
- 'fetcherData.title': this.data.seachKey
- })
- this.getHouseList()
- },
- closeTypeActive(){
- this.setData({
- type_acive:''
- })
- },
- // onReachBottomDistance: 50,
- // onReachBottom: function () {
- // let page = this.data.fetcherData.page++
- // this.setData({
- // 'fetcherData.page': page
- // })
- // this.getHouseList()
- // },
- onShow: function () {
- this.getInitData()
- },
- getInitData(){
- this.getHouseList()
- this.getCityListByProv()
- },
- getHouseList: function () {
- // app.wxshowloading('拼加载中...');
- this.data.fetcherData.agency_user_id = getApp().globalData.userinfo.user_id
- houseApi.fetchAgencyHouseList(this.data.fetcherData).then(res => {
- this.setData({
- houses: res.data.list.map(item => {
- item.cover_image += '?x-oss-process=image/resize,w_210,limit_0'
- return item
- })
- })
- }).finally(() => {
- // wx.hideLoading()
- })
- },
- onLoad: function (options) {
- // this.getInitData()
- isPhoneX().then(res => {
- this.setData({
- isIphoneX: res
- })
- })
- },
- stop () {
- return
- },
- onShareAppMessage: function (res) {
- var path ='/pages/index/index'
- return {
- title: '四维看看,海量复刻真房源',
- path: path,
- imageUrl: 'https://4d-tjw.oss-cn-shenzhen.aliyuncs.com/4dHouse/share.png', // 分享的封面图
- }
- },
- getPermission:function(){
- var that = this;
- return new Promise((resolve, reject) => {
- wx.getLocation({
- type: 'wgs84',
- success: function (res) {
- var latitude = res.latitude;
- var longitude = res.longitude;
- app.globalData.qqmapsdk.reverseGeocoder({
- location: {
- latitude: latitude,
- longitude: longitude
- },
- success: function (res) {
- var ad_info = res.result.ad_info;
- let province = ad_info.province;
- let city = ad_info.city.replace('市', '');
- let district = ad_info.district;
- app.SetProvinceCity(province, city, district);
- that.setData({
- // 'fetcherData.city': city
- })
-
- that.getInitData()
- app.ShowToast('定位城市:' + city)
- },
- fail:function (res) {
- wx.showModal({
- title: '定位失败,请手动选择城市',
- });
- that.getInitData()
- }
- });
- },
- fail(err) {
- wx.showModal({
- title: '定位失败,请手动选择城市',
- });
- }
- })
- })
- }
- });
|