diff --git a/src/assets/homeImage/Mycollect.png b/src/assets/homeImage/Mycollect.png new file mode 100644 index 0000000..21dcc0a Binary files /dev/null and b/src/assets/homeImage/Mycollect.png differ diff --git a/src/assets/homeImage/seachIcon.svg b/src/assets/homeImage/seachIcon.svg new file mode 100644 index 0000000..6c3930b --- /dev/null +++ b/src/assets/homeImage/seachIcon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/pageTopBar/pageTopBar.vue b/src/components/pageTopBar/pageTopBar.vue index 66a6431..4cb8ba9 100644 --- a/src/components/pageTopBar/pageTopBar.vue +++ b/src/components/pageTopBar/pageTopBar.vue @@ -39,7 +39,7 @@ -
+
diff --git a/src/components/seachModule/seachModule.vue b/src/components/seachModule/seachModule.vue index b987d35..f6e8dc8 100644 --- a/src/components/seachModule/seachModule.vue +++ b/src/components/seachModule/seachModule.vue @@ -176,6 +176,13 @@ let setSeachConditions = (type, data) => { data.indexOf('iselevator')!==-1?seachAllType['iselevator']=1:seachAllType['iselevator']=0 data.indexOf('issunshinearea')!==-1?seachAllType['issunshinearea']=1:seachAllType['issunshinearea']=0 } + if(type==='school'){ + seachAllType.location=[] + } + if(type==='location'){ + seachAllType.school='' + } + console.log('seachAllType',seachAllType) getDataList(seachAllType) } diff --git a/src/components/seachPage/input.vue b/src/components/seachPage/input.vue new file mode 100644 index 0000000..a6da492 --- /dev/null +++ b/src/components/seachPage/input.vue @@ -0,0 +1,223 @@ + + + + \ No newline at end of file diff --git a/src/components/seachPage/select.vue b/src/components/seachPage/select.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/components/selectTabBox/selectTabBox.vue b/src/components/selectTabBox/selectTabBox.vue index 94838ab..5af0894 100644 --- a/src/components/selectTabBox/selectTabBox.vue +++ b/src/components/selectTabBox/selectTabBox.vue @@ -7,9 +7,9 @@
按区域
+ @click="setSelectPosition('region')">按区域
按学校
+ @click="setSelectPosition('school')">按学校
{{ item.name }}
 >  -
+
{{ selectData.data && selectData.data.length === 0 ? '不限' : selectData.data && selectData.data.length @@ -100,8 +100,7 @@
+ :class="{ 'btn-check': hireTypeObj.hireId === item.title }" @click="setHireId(item)"> {{ item.title }} > {{ hireTypeObj.title || '不限' }}
{{ + v-if="item.title === '不限'" @click="setHireId(item)">{{ item.title }}
@@ -322,6 +321,10 @@ let setSchoolData = () => { let setSchoolObj = (obj) => { schoolSelectObj.id = obj.id schoolSelectObj.title = obj.title + selectTabCheck.id = ''; + selectTabCheck.title = '不限' + selectTabCheck.data = []; + selectData.data = [] setSeachCondition('school', obj.id) } @@ -340,30 +343,44 @@ let nextSchoolData = () => { schoolData.next() } +//设置状态 +let setSelectPosition = (type) => { + selectPosition.value = type + // if (type === 'school') { + // selectTabCheck.id = ''; + // selectTabCheck.title = '不限' + // selectTabCheck.data = []; + // selectData.data = [] + // } else { + // schoolSelectObj.id = '' + // schoolSelectObj.title = '' + // } +} + //点击区域/学校选项 -let clearSelectTabCheck=ref(true) +let clearSelectTabCheck = ref(true) let setSelectData = (id, data = [], title) => { showSelect.value = true - console.log(id ,selectTabCheck.id, data, title) - - if (id === selectTabCheck.id){ - clearSelectTabCheck.value=false + if (id === selectTabCheck.id) { + clearSelectTabCheck.value = false return - } - clearSelectTabCheck.value=true + } + clearSelectTabCheck.value = true selectTabCheck.id = id; selectTabCheck.title = title selectTabCheck.data = data; selectData.data = [] - if(id===''){ + schoolSelectObj.id = '' + schoolSelectObj.title = '' + if (id === '') { setSeachCondition('location', []) } } //取消按钮 let closeSeach = () => { - console.log(selectTabCheck,selectData) + // console.log(selectTabCheck,selectData) showSelect.value = false - clearSelectTabCheck.value=false + clearSelectTabCheck.value = false } //确认按钮 let selectSeach = (data = []) => { @@ -377,6 +394,11 @@ let selectSeach = (data = []) => { }) selectData.data = arr showSelect.value = false + schoolSelectObj.id = '' + schoolSelectObj.title = '' + if (data.length === 0 && selectTabCheck.id) { + data.push(selectTabCheck.id) + } setSeachCondition('location', data) } @@ -420,12 +442,16 @@ let setHireTypeArr = (type, id) => { let hireTypeObj = reactive({ id: '', title: '', hireId: '不限' })//出租方式所选 -let setHireId = (title) => { - if (hireTypeObj.hireId != title) { +let setHireId = (item) => { + console.log(item) + if (hireTypeObj.hireId != item.title) { hireTypeObj.id = '' hireTypeObj.title = '' } - hireTypeObj.hireId = title + if (item.hireType.length === 0) { + setSeachCondition('types', '') + } + hireTypeObj.hireId = item.title } let dropdownCommand = (obj) => { @@ -442,9 +468,9 @@ let setRent = () => { } //清空租金 -let cleanRent=()=>{ - rentObj.min='' - rentObj.max='' +let cleanRent = () => { + rentObj.min = '' + rentObj.max = '' setSeachCondition('rent', rentObj) } @@ -554,8 +580,9 @@ img { .housing-pd { padding: 5px 0 25px 0; } -.pd-t-25{ - padding-top:25px; + +.pd-t-25 { + padding-top: 25px; } .housing-pd-25 { @@ -894,7 +921,7 @@ img { } .select-num { - padding:0px 10px; + padding: 0px 10px; background: inherit; background-color: rgba(80, 227, 194, 1); border: none; diff --git a/src/main.js b/src/main.js index 0bd5147..16836e1 100644 --- a/src/main.js +++ b/src/main.js @@ -22,7 +22,7 @@ import { ElMessage, ElSpace, ElSkeleton, - ElSkeletonItem, + ElSkeletonItem // 其他需要的组件 } from 'element-plus' diff --git a/src/router/index.js b/src/router/index.js index 51f6296..d945a11 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -46,16 +46,33 @@ const routes = [ }, {//个人房源 path: '/personHousing', - component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/person.vue') + component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/person.vue'), + meta:{ + title:'个人房源' + } }, {//中介房源 path: '/intermediaryHousing', - component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/intermediary.vue') + component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/intermediary.vue'), + meta:{ + title:'中介房源' + } }, {//求房源 path: '/needHousing', - component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/needHousing.vue') - }, { + component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/needHousing.vue'), + meta:{ + title:'求房源' + } + }, + {//搜索 + path:'/seachPage', + component:()=> import(/* webpackChunkName: "seachPage" */ '@/views/seachIndex.vue'), + meta:{ + title:'搜索' + } + }, + { path: "/apartment", component: () => import(/* webpackChunkName: "housing" */ '@/views/housingView/apartment.vue'), meta: { diff --git a/src/views/housingView/needHousing.vue b/src/views/housingView/needHousing.vue index 5cca5d3..34743ad 100644 --- a/src/views/housingView/needHousing.vue +++ b/src/views/housingView/needHousing.vue @@ -53,8 +53,8 @@ let setSeachSelectData = (data) => { ...data } loading.value = true - // console.log('seachSelectData',seachSelectData.data) - // return + console.log('seachSelectData',seachSelectData.data) + return getDataList(seachSelectData.data) } diff --git a/src/views/housingView/person.vue b/src/views/housingView/person.vue index 7738018..bc1d7ed 100644 --- a/src/views/housingView/person.vue +++ b/src/views/housingView/person.vue @@ -48,6 +48,7 @@ let setSeachSelectData = (data) => { seachSelectData.data = { ...data } + // console.log(data) loading.value = true getDataList(seachSelectData.data) } diff --git a/src/views/seachIndex.vue b/src/views/seachIndex.vue new file mode 100644 index 0000000..4c94798 --- /dev/null +++ b/src/views/seachIndex.vue @@ -0,0 +1,190 @@ + + + + + \ No newline at end of file