From 9fab9f298fa5450d43a3cae05e9cc8295e2782ee Mon Sep 17 00:00:00 2001 From: luJianJun <2587063613@qq.com> Date: Thu, 27 Jul 2023 18:18:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E6=95=B0=E6=8D=AE=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/selectTabBox/selectTabBox.vue | 62 ++++++++++++-------- src/views/HomeView.vue | 13 +++- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/components/selectTabBox/selectTabBox.vue b/src/components/selectTabBox/selectTabBox.vue index fdedc86..3ac1b89 100644 --- a/src/components/selectTabBox/selectTabBox.vue +++ b/src/components/selectTabBox/selectTabBox.vue @@ -468,7 +468,7 @@ let listSortCheck = (item) => { //出租方式 -let hireTypeArr = shallowReactive([{ hireType: [], title: '不限' }, { title: '合租', hireType: [] }, { hireType: [], title: '整租' }]) +let hireTypeArr = shallowReactive([{ hireType: [], title: '不限' }, { title: '合租',id:1, hireType: [] }, { hireType: [],id:2, title: '整租' }]) //设置出租方式 let setHireTypeArr = (type, id) => { @@ -577,14 +577,20 @@ let cleanSelect = () => { // setCheckData([]) } -//获取一级区域 -let getAddressListId=(id)=>{ - list.map(res=>{ - if(res.id==id){ +//查找数据 +let getAddressListId=(id,type)=>{ + let data=null + let checkList= type==='location'?list:type==='types'?hireTypeArr:type==='school'?school:'' + let dataId= type==='location'?id:type==='types'?id.substring(0,1):'' + checkList.map(res=>{ + console.log(res,id) + if(res.id==dataId){ console.log(res) - return res + data= res } }) + console.log(data) + return data } //解数据 @@ -596,26 +602,28 @@ let deconstructionData=(data={})=>{ key.map((res,index)=>{ if(index===0){//类型 seachData['type']=res - seachData['selectData']=data[res] + seachData['selectData']=seachData['type']==='location'?data[res].split(','):getAddressListId(data[res],'types') } - if(index===1){//一级区域类型 - let address=getAddressListId(data[res]) - console.log(address) - seachData['areaItem']={id:'',name:'',data:''} + if(index===1){//类型参数 + if(seachData['type']!=='location') return + let address=getAddressListId(data[res],'location') + seachData['areaItem']={} seachData['areaItem'].id=address.id seachData['areaItem'].name=address.name seachData['areaItem'].data=address.data } }) - console.log(seachData) + return seachData } +let deconstructionSeachData=null + //根据路由设置参数 let setRouterQuerySet = ref(true) let routerQuerySet = () => { console.log(123, routeQuery) - deconstructionData(routeQuery.data) - return + deconstructionSeachData=deconstructionData(routeQuery.data) + console.log(deconstructionSeachData) if (!setRouterQuerySet.value) return //路由参数设置 if ((routeQuery.data && routeQuery.data.houseingPageType === '1') || (routePath.value === '/intermediaryHousing')) { @@ -626,24 +634,26 @@ let routerQuerySet = () => { otherData.value = [{ title: '认证房源', id: 'isverified' }, { title: '有电梯', id: 'iselevator' }, { title: '有阳台', id: 'issunshinearea' }] } if (Object.keys(routeQuery.data).length > 0) { - if (!routeQuery.data || routeQuery.data && !routeQuery.data.data) return - let data = routeQuery.data.data.split(',') + if (Object.keys(deconstructionSeachData).length===0) return + let data = deconstructionSeachData.areaItem if (routeQuery.data.type === 'school') { selectPosition.value = 'school' schoolSelectObj.id = data.id schoolSelectObj.title = data.title - } else if (routeQuery.data.type === 'types') { - let type = data.id.toString().substring(0, 1) + } else if (deconstructionSeachData.type === 'types') { + + let type = deconstructionSeachData.selectData.toString().substring(0, 1) hireTypeObj.id = data.id hireTypeObj.title = data.name hireTypeObj.hireId = type == 1 ? '合租' : type == 2 ? '整租' : '不限' - } else if (routeQuery.data.type === 'location') { - let areaItem = routeQuery.data.areaItem ? routeQuery.data.areaItem.split(',') : '' - selectTabCheck.id = areaItem[0]*1; - selectTabCheck.title = areaItem[1]; - selectTabCheck.data = list[selectTabCheck.id].data; - console.log(list) - selectData.data = seachAreaId(data) + + } else if (deconstructionSeachData.type === 'location') { + + selectTabCheck.id = deconstructionSeachData.areaItem.id; + selectTabCheck.title = deconstructionSeachData.areaItem.title; + selectTabCheck.data = deconstructionSeachData.areaItem.data; + selectData.data = seachAreaId(deconstructionSeachData.selectData) + if (routeQuery.data.types) { let types = JSON.parse(routeQuery.data.types) let { data } = types @@ -652,7 +662,7 @@ let routerQuerySet = () => { hireTypeObj.title = selectData.data.length == 0 ? '' : data.name hireTypeObj.hireId = type == 1 ? '合租' : type == 2 ? '整租' : '不限' } - setCheckBoxData(data)//设置地区选项 + setCheckBoxData(deconstructionSeachData.selectData)//设置地区选项 } } setRouterQuerySet.value = false diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 7656a25..d874cc1 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -370,12 +370,19 @@ let indexWaterfallBoxCheck = (res) => { //跳转个人房源 let personHouseingInfo = (type, data, areaItem) => { console.log(type, data, areaItem) - let areaItems=JSON.parse(areaItem) + let areaItems={} + let setData=null + if(type==="location"){ + areaItems=JSON.parse(areaItem) + setData=data.toString() + }else if(type==='types'){ + setData=data.id + } router.push({ path: `/personHousing`, query: { - [type]:data.toString(), - areaItem:`${areaItems['id']}` + [type]:setData, + areaItem:areaItems['id']?`${areaItems['id']}`:'' }, // params:{ // type,