From 875ff342f27ebde6ffc3ff2e65b9f7d473e095ec Mon Sep 17 00:00:00 2001 From: LuoShijie Date: Sat, 18 Nov 2023 23:00:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=97=E4=B8=96=E6=9D=B0=EF=BC=9ADropdown?= =?UTF-8?q?=E7=94=9F=E6=88=90query?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/DropDown/DropDown.vue | 29 ++++++++++++++++++++++++---- components/DropDown/DropDownItem.vue | 28 ++++++++++++++++++++++++--- service/request.js | 10 ++++++++++ 3 files changed, 60 insertions(+), 7 deletions(-) diff --git a/components/DropDown/DropDown.vue b/components/DropDown/DropDown.vue index b37b506..a23fa7b 100644 --- a/components/DropDown/DropDown.vue +++ b/components/DropDown/DropDown.vue @@ -15,7 +15,13 @@ - + @@ -38,8 +44,14 @@ ['全部', '餐饮美食', '百货超市', '美容美发'], ['区域1', '区域2', '区域3', '区域4'], ['小于50m²', '50-200m²', '200-600m²', '600-800m²', '800-1000m²', '1000m²以上'], - ['附近的', '最新发布的', '其他'] - ] + ['面积从大到小', '面积从小到大', '租金从大到小', '租金从小到大'] + ], + queryInfo: { + region: '', + sortType: '', + areaType: '', + business: '' + } }; }, computed: { @@ -59,8 +71,17 @@ this.activeIndex = index }, cancelDrop() { - console.log("取消遮罩"); this.activeIndex = -1; + }, + getQueryInfo(querys) { + this.queryInfo = { + ...this.queryInfo, + ...querys + } + const query = this.$u.queryParams(this.queryInfo) + console.log(query, 'query'); + this.$emit('getQueryInfo', query) + return query } } } diff --git a/components/DropDown/DropDownItem.vue b/components/DropDown/DropDownItem.vue index b8b9de2..5b95120 100644 --- a/components/DropDown/DropDownItem.vue +++ b/components/DropDown/DropDownItem.vue @@ -30,15 +30,38 @@ }, data() { return { - activeIndex: -1 + activeIndex: -1, + queryInfo: {} } }, methods: { handleMask() { this.$emit('cancelDrop'); }, + sendQueryInfo() { + if (this.type === '行业') { + this.queryInfo = { + business: this.list[this.activeIndex] + } + } else if (this.type === '区域') { + this.queryInfo = { + region: this.list[this.activeIndex] + } + } else if (this.type === '面积') { + this.queryInfo = { + areaType: this.activeIndex + 1 + } + } else if (this.type === '筛选') { + this.queryInfo = { + sortType: this.activeIndex + 1 + } + } + // 发送queryInfo + this.$emit('getQueryInfo', this.queryInfo); + }, async handleActive(index) { this.activeIndex = index; + this.sendQueryInfo(index); // 设置一个定时器,等待200毫秒 const delayPromise = this.delay(200); // 等待定时器完成 @@ -55,8 +78,7 @@ }, ms); }); }, - }, - + } } diff --git a/service/request.js b/service/request.js index 727a26b..58d18ad 100644 --- a/service/request.js +++ b/service/request.js @@ -253,6 +253,16 @@ const apiService = { return new Promise((resolve,reject) => { resolve(service.get(url)) }) + }, + // 获得成交案例 + getSuccList(type){ + if (!type) { + type = 1 + } + const url = `/shop/succ/?type=${type}` + return new Promise((resolve,reject) => { + resolve(service.get(url)) + }) } } export {