Commit a98d0440 by 汪睦雄

修改了搜索和分类搜索

parent 8e89955d
// components/search-filter/index.js
import api from '../../utils/Api.js'
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
filter_idx: 0,
selected: {
sort: 'default',
region_params:{}
},
selected_titles: {
region: '全部地域',
sort: '默认排序'
},
sorts: [
{
id: 1,
name: '默认排序',
value: 'default'
},
{
id: 2,
name: '最新发布',
value: 'latest'
}, {
id: 3,
name: '价格最低',
value: 'pricelow'
}
],
// 地域选择
region_selected: {
level_1: -1,
level_1_title: '',
level_2: -1,
level_2_title: '',
level_3: -1,
level_3_title: '',
},
region_level1_datas: [],
region_level2_datas: [],
region_level3_datas: []
},
/**
* 组件渲染完后的方法
*/
ready() {
api.search.filter().then(res => {
this.setData({
types: res.data.type,
catalogs: res.data.catalog_id,
region_level1_datas: res.data.region_level_1,
tags: res.data.tags
})
})
},
/**
* 组件的方法列表
*/
methods: {
// 排序筛选
sortFilter: function (event) {
let item = event.target.dataset.item
let _selected = this.data.selected
_selected.sort = item.value
let _selected_titles = this.data.selected_titles
_selected_titles.sort = item.name
this.setData({
filter_idx: 0,
selected: _selected,
selected_titles: _selected_titles
})
this._submitFilter()
},
// 点击筛选项
filterTap: function(event) {
let idx = event.target.dataset.idx;
console.log(idx)
if (idx == this.data.filter_idx) {
this.setData({
filter_idx: 0
})
} else {
this.setData({
filter_idx: idx
})
}
},
// 提交筛选数据请求
_submitFilter() {
// console.log(this.data.selected)
let myEventDetail = {
filters: this.data.selected
} // detail对象,提供给事件监听函数
let myEventOption = {} // 触发事件的选项
this.triggerEvent('filter', myEventDetail, myEventOption)
},
// 点击蒙层关闭筛选弹框
closeFilter: function(event) {
this.setData({
filter_idx: 0
})
},
// 阻止子元素冒泡点击事件到付元素
preventEvent: function(event) {
},
// 选择地域
getLevelDatas: function(level, id) {
let that = this
let params = {
id: id
}
api.search.queryRegion(params).then(res => {
// TODO:success code id 0
if (res.code == 1) {
if (level == 1) {
that.setData({
region_level2_datas: res.data,
region_level3_datas: []
})
} else if (level == 2) {
that.setData({
region_level3_datas: res.data
})
}
}
})
},
/* 选择地域等级 */
selectRegionLevel: function(event) {
let region = event.target.dataset.item
let order = event.target.dataset.order
// 设置选中的ID
let _region_selected = this.data.region_selected
if (order == '1') {
_region_selected.level_1 = parseInt(region.id)
_region_selected.level_1_title = region.title
} else if (order == '2') {
_region_selected.level_2 = parseInt(region.id)
_region_selected.level_2_title = region.title
} else if (order == '3') {
_region_selected.level_3 = parseInt(region.id)
_region_selected.level_3_title = region.title
}
this.setData({
region_selected: _region_selected
})
// 选择区域
if (order == '1' || order == '2') {
if (order == '1') {
_region_selected.level_2 = -1
_region_selected.level_3 = -1
this.setData({
region_selected: _region_selected,
region_level2_datas: [],
region_level3_datas: []
})
} else {
_region_selected.level_3 = -1
this.setData({
region_selected: _region_selected,
region_level3_datas: []
})
}
if (region.id == 0) {
// 搜索上一级数据的全部
this.submitRegionFilter()
} else {
// 请求下一级数据
this.getLevelDatas(region.level, region.id)
}
} else {
// 搜索当前数据
this.submitRegionFilter()
}
},
/* 提交地域搜索 */
submitRegionFilter: function(){
let region_params = {}
let region_selected = this.data.region_selected
let title = '全部地域'
if (region_selected.level_1 == 0) {
region_params['key'] = 'level_1'
region_params['value'] = region_selected.level_1
}else{
if (region_selected.level_2 == 0) {
region_params['key'] = 'level_1'
region_params['value'] = region_selected.level_1
title = region_selected.level_1_title
} else {
if (region_selected.level_3 == 0) {
region_params['key'] = 'level_2'
region_params['value'] = region_selected.level_2
title = region_selected.level_2_title
} else {
region_params['key'] = 'level_3'
region_params['value'] = region_selected.level_3
title = region_selected.level_3_title
}
}
}
// 设置全部地域的标题
let _selected_titles = this.data.selected_titles
_selected_titles.region = title
this.setData({
selected_titles: _selected_titles
})
// 设置地域筛选参数
let _selected = this.data.selected
_selected.region_params = region_params
this.setData({
selected: _selected,
filter_idx: 0 // 关闭弹框
})
// 提交搜索
this._submitFilter()
}
}
})
\ No newline at end of file
{
"component": true,
"usingComponents": {
"i-row": "/iview/row/index",
"i-col": "/iview/col/index"
}
}
\ No newline at end of file
<!--components/search-filter/index.wxml-->
<wxs src="../../pages/common.wxs" module="common"></wxs>
<view class='filter-wrapper' catchtouchmove="true">
<i-row i-class='row-filter'>
<!-- 地区筛选 -->
<i-col span="11" i-class="col-class">
<view class="filter-item">
<text class="{{filter_idx==1?'active':''}}" catchtap='filterTap' data-idx="1">{{selected_titles.region}}</text>
<image class="search-icon" src="/images/icon-down-select{{filter_idx==1?'ed':''}}.png"></image>
</view>
</i-col>
<i-col span="2" i-class="col-class">
<view class="vdivider">
</view>
</i-col>
<!-- 排序筛选 -->
<i-col span="11" i-class="col-class">
<view class="filter-item">
<text class="{{filter_idx==2?'active':''}}" catchtap='filterTap' data-idx="2">{{selected_titles.sort}}</text>
<image class="search-icon" src="/images/icon-down-select{{filter_idx==2?'ed':''}}.png"></image>
</view>
</i-col>
</i-row>
<view catchtap='closeFilter' class='filter-content-wrapper' wx:if="{{filter_idx>0}}" catchtouchmove='true'>
<view class="row-content" catchtap='preventEvent'>
<scroll-view class="scroll-view" scroll-y="true" style="width: 100%;height: 100%;">
<!-- 地区选项 - 新版本 - 汪小熊 - 20181212 -->
<view wx:if="{{filter_idx==1}}" class="region_filter">
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level1_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='1' class="{{region_selected.level_1==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level2_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='2' class="{{region_selected.level_2==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level3_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='3' class="{{region_selected.level_3==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
</view>
<!-- 排序筛选 -->
<view wx:if="{{filter_idx==2}}" class='filter-row' wx:for="{{sorts}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<text bindtap="sortFilter" data-idx="{{n.id}}" data-item="{{n}}" class="{{selected.sort==n.value?'seled':''}}">{{n.name}}</text>
<image wx:if="{{selected.sort==n.value}}" class='f-selected' src='/images/icon_filter_selected.png'></image>
</view>
</scroll-view>
</view>
</view>
</view>
\ No newline at end of file
/* components/search-filter/index.wxss */
.filter-wrapper {
position: relative;
width: 100%;
z-index: 1;
}
.row-filter {
height: 56px;
line-height: 56px;
border-bottom: 1px solid #eee;
}
.filter-item {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.filter-item > image {
width: 12rpx;
height: 10rpx;
margin-left: 12rpx;
}
.filter-item > text {
color: rgb(51, 51, 51);
font-size: 28rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* width:58px; */
}
.filter-item > text.active {
color: rgb(43, 163, 215);
}
.filter-content-wrapper {
position: fixed;
width: 100%;
top: 56px;
left: 0;
bottom: 0;
right: 0;
background: rgba(0, 0, 0, 0.3);
}
.row-content {
position: relative;
border-top: 1px solid #f4f4f4;
background: white;
height: 60%;
width: 100%;
box-sizing: border-box;
}
.filter-row {
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
justify-content: space-between;
font-size: 28rpx;
color: rgb(102, 102, 102);
margin-bottom: 46rpx;
}
.filter-row:last-child {
margin-bottom: 0rpx;
}
.filter-row > text {
width: 100%;
}
.filter-row > text.seled {
color: rgb(43, 163, 215);
}
.filter-row > .f-selected {
height: 27rpx;
width: 23rpx;
}
.tags-wrapper {
display: flex;
flex-flow: row wrap;
justify-content: space-around;
align-items: center;
height: 100%;
width: 100%;
}
.tag-item {
min-width: 120rpx;
padding: 0 10rpx 0 10rpx;
height: 75rpx;
border: 1px solid #f4f4f4;
color: rgb(102, 102, 102);
font-size: 26rpx;
display: flex;
align-items: center;
justify-content: center;
margin: 10rpx;
border-radius: 2rpx;
}
.tab-scroll-view {
height: 88%;
width: 100%;
}
.scroll-view {
height: 100%;
width: 100%;
padding: 26px;
box-sizing: border-box;
}
.tag-item.active {
color: rgb(43, 163, 215);
border: 1px solid rgb(43, 163, 215);
}
.tag-btn-wrapper {
width: 100%;
text-align: center;
position: absolute;
bottom: 0;
height: 12%;
background-color: #f5f5f5;
display: flex;
justify-content: center;
align-items: center;
}
.tag-btn-wrapper > button.btn {
display: inline-block;
background: none;
font-size: 14px;
border-radius: 28rpx;
line-height: 58rpx;
outline-style: none;
}
.tag-btn-wrapper > button.cancel {
border: 1px solid #ddd;
color: rgb(102, 102, 102);
margin-right: 30rpx;
}
.tag-btn-wrapper > button.cancel::after {
display: none;
}
.tag-btn-wrapper > button.ensure {
border: 1px solid rgb(43, 163, 215);
color: rgb(43, 163, 215);
}
.tag-btn-wrapper > button.ensure::after {
display: none;
}
/*搜索相关*/
.region_filter {
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: flex-start;
}
.region_level_wrapper {
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
align-items: center;
height: 500rpx;
}
.region_level_wrapper view {
height: 76rpx;
color: rgb(102, 102, 102);
}
.region_level_wrapper .active {
color: rgb(43, 163, 215);
}
.vdivider{
margin-top: 30rpx;
height: 60rpx;
width: 1px;
background:#ccc;
}
\ No newline at end of file
......@@ -23,13 +23,27 @@ Component({
city: '0',
catalog: '0',
region: '0',
tags: []
tags: [],
region_params:{}
},
selected_titles: {
type: '全部项目',
catalog: '全部分类',
region: '全部地域'
}
},
// 地域选择
region_selected: {
level_1: -1,
level_1_title: '',
level_2: -1,
level_2_title: '',
level_3: -1,
level_3_title: '',
},
region_level1_datas: [],
region_level2_datas: [],
region_level3_datas: []
},
/**
* 组件渲染完后的方法
......@@ -39,7 +53,7 @@ Component({
this.setData({
types: res.data.type,
catalogs: res.data.catalog_id,
regions: res.data.city,
region_level1_datas: res.data.region_level_1,
tags: res.data.tags
})
})
......@@ -139,7 +153,7 @@ Component({
},
// 提交筛选数据请求
_submitFilter() {
console.log(this.data.selected )
// console.log(this.data.selected)
let myEventDetail = {
filters: this.data.selected
} // detail对象,提供给事件监听函数
......@@ -155,6 +169,121 @@ Component({
// 阻止子元素冒泡点击事件到付元素
preventEvent: function(event) {
},
// 选择地域
getLevelDatas: function(level, id) {
let that = this
let params = {
id: id
}
api.search.queryRegion(params).then(res => {
// TODO:success code id 0
if (res.code == 1) {
if (level == 1) {
that.setData({
region_level2_datas: res.data,
region_level3_datas: []
})
} else if (level == 2) {
that.setData({
region_level3_datas: res.data
})
}
}
})
},
/* 选择地域等级 */
selectRegionLevel: function(event) {
let region = event.target.dataset.item
let order = event.target.dataset.order
// 设置选中的ID
let _region_selected = this.data.region_selected
if (order == '1') {
_region_selected.level_1 = parseInt(region.id)
_region_selected.level_1_title = region.title
} else if (order == '2') {
_region_selected.level_2 = parseInt(region.id)
_region_selected.level_2_title = region.title
} else if (order == '3') {
_region_selected.level_3 = parseInt(region.id)
_region_selected.level_3_title = region.title
}
this.setData({
region_selected: _region_selected
})
// 选择区域
if (order == '1' || order == '2') {
if (order == '1') {
_region_selected.level_2 = -1
_region_selected.level_3 = -1
this.setData({
region_selected: _region_selected,
region_level2_datas: [],
region_level3_datas: []
})
} else {
_region_selected.level_3 = -1
this.setData({
region_selected: _region_selected,
region_level3_datas: []
})
}
if (region.id == 0) {
// 搜索上一级数据的全部
this.submitRegionFilter()
} else {
// 请求下一级数据
this.getLevelDatas(region.level, region.id)
}
} else {
// 搜索当前数据
this.submitRegionFilter()
}
},
/* 提交地域搜索 */
submitRegionFilter: function(){
let region_params = {}
let region_selected = this.data.region_selected
let title = '全部地域'
if (region_selected.level_1 == 0) {
region_params['key'] = 'level_1'
region_params['value'] = region_selected.level_1
}else{
if (region_selected.level_2 == 0) {
region_params['key'] = 'level_1'
region_params['value'] = region_selected.level_1
title = region_selected.level_1_title
} else {
if (region_selected.level_3 == 0) {
region_params['key'] = 'level_2'
region_params['value'] = region_selected.level_2
title = region_selected.level_2_title
} else {
region_params['key'] = 'level_3'
region_params['value'] = region_selected.level_3
title = region_selected.level_3_title
}
}
}
// 设置全部地域的标题
let _selected_titles = this.data.selected_titles
_selected_titles.region = title
this.setData({
selected_titles: _selected_titles
})
// 设置地域筛选参数
let _selected = this.data.selected
_selected.region_params = region_params
this.setData({
selected: _selected,
filter_idx: 0 // 关闭弹框
})
// 提交搜索
this._submitFilter()
}
}
})
\ No newline at end of file
......@@ -14,6 +14,7 @@
<image class="search-icon" src="/images/icon-down-select{{filter_idx==2?'ed':''}}.png"></image>
</view>
</i-col>
<!-- 地区筛选 -->
<i-col span="6" i-class="col-class">
<view class="filter-item">
......@@ -21,6 +22,7 @@
<image class="search-icon" src="/images/icon-down-select{{filter_idx==3?'ed':''}}.png"></image>
</view>
</i-col>
<i-col span="6" i-class="col-class">
<view class="filter-item">
<text class="{{filter_idx==4?'active':''}}" catchtap='filterTap' data-idx="4">标签{{selected.tags.length>0?'('+selected.tags.length+')':''}}</text>
......@@ -39,25 +41,39 @@
<text bindtap="selectFilter" data-idx="{{n.id}}" data-name="{{n.name}}">{{n.name}}</text>
<image wx:if="{{selected.catalog==n.id}}" class='f-selected' src='/images/icon_filter_selected.png'></image>
</view>
<!-- 地区选项 -->
<view wx:if="{{filter_idx==3}}" class='filter-row' wx:for="{{regions}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<!-- 地区选项 - 旧版本 -->
<view wx:if="{{filter_idx==111113}}" class='filter-row' wx:for="{{regions}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<text bindtap="selectFilter" data-idx="{{n.id}}" data-name="{{n.name}}">{{n.name}}</text>
<image wx:if="{{selected.region==n.id}}" class='f-selected' src='/images/icon_filter_selected.png'></image>
</view>
<!-- 地区选项 - 新版本 - 汪小熊 - 20181212 -->
<view wx:if="{{filter_idx==3}}" class="region_filter">
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level1_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='1' class="{{region_selected.level_1==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level2_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='2' class="{{region_selected.level_2==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
<scroll-view scroll-y='true' class="region_level_wrapper">
<view wx:for="{{region_level3_datas}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" bindtap='selectRegionLevel' data-item="{{n}}" data-order='3' class="{{region_selected.level_3==n.id?'active':''}}"> {{n.title}} </view>
</scroll-view>
</view>
</scroll-view>
<scroll-view class="tab-scroll-view" scroll-y="true" wx:if="{{filter_idx==4}}">
<view class="tags-wrapper">
<block wx:for="{{tags}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<view class="tag-item {{common.inArray(selected.tags, n.id)==true?'active':''}}" bindtap="selectTags" data-idx="{{n.id}}">
{{n.name}}
</view>
</block>
</view>
</scroll-view>
<view class="tags-wrapper">
<block wx:for="{{tags}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<view class="tag-item {{common.inArray(selected.tags, n.id)==true?'active':''}}" bindtap="selectTags" data-idx="{{n.id}}">
{{n.name}}
</view>
</block>
</view>
</scroll-view>
<view class="tag-btn-wrapper" wx:if="{{filter_idx==4}}">
<button class="btn cancel" bindtap="cancelSelectTags">取消选择</button>
<button class="btn ensure" bindtap="ensureSelectTags">确定</button>
</view>
<button class="btn cancel" bindtap="cancelSelectTags">取消选择</button>
<button class="btn ensure" bindtap="ensureSelectTags">确定</button>
</view>
</view>
</view>
</view>
\ No newline at end of file
......@@ -17,6 +17,7 @@
justify-content: center;
align-items: center;
}
.filter-item > image {
width: 12rpx;
height: 10rpx;
......@@ -26,9 +27,9 @@
.filter-item > text {
color: rgb(51, 51, 51);
font-size: 28rpx;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* width:58px; */
}
......@@ -91,6 +92,7 @@
height: 100%;
width: 100%;
}
.tag-item {
min-width: 120rpx;
padding: 0 10rpx 0 10rpx;
......@@ -104,16 +106,19 @@
margin: 10rpx;
border-radius: 2rpx;
}
.tab-scroll-view {
height: 88%;
width: 100%;
height: 88%;
width: 100%;
}
.scroll-view {
height: 100%;
width: 100%;
padding: 26px;
box-sizing: border-box;
}
.tag-item.active {
color: rgb(43, 163, 215);
border: 1px solid rgb(43, 163, 215);
......@@ -145,7 +150,8 @@
color: rgb(102, 102, 102);
margin-right: 30rpx;
}
.tag-btn-wrapper > button.cancel::after{
.tag-btn-wrapper > button.cancel::after {
display: none;
}
......@@ -153,6 +159,33 @@
border: 1px solid rgb(43, 163, 215);
color: rgb(43, 163, 215);
}
.tag-btn-wrapper > button.ensure::after{
.tag-btn-wrapper > button.ensure::after {
display: none;
}
\ No newline at end of file
}
/*搜索相关*/
.region_filter {
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: flex-start;
}
.region_level_wrapper {
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
align-items: center;
height: 500rpx;
}
.region_level_wrapper view {
height: 76rpx;
color: rgb(102, 102, 102);
}
.region_level_wrapper .active {
color: rgb(43, 163, 215);
}
......@@ -22,7 +22,8 @@ Page({
catalog: '0',
city: '0',
region: '0',
tags: []
tags: [],
region_params: {}
}
},
......@@ -56,6 +57,14 @@ Page({
if (parseInt(this.data.filters.catalog) > 0) {
params['catalog_id'] = this.data.filters.catalog
}
// 三级区域选择
let region_params = this.data.filters.region_params
let arr = Object.getOwnPropertyNames(region_params)
if (arr.length > 0){
params[region_params['key']] = region_params['value']
}
console.log('params', params)
// 请求数据接口
api.search.index(params).then(res => {
if (res.code) {
......@@ -118,7 +127,7 @@ Page({
wx.showLoading({
title: '加载中...',
})
new Schedule().task(this.getListData).delay(1600).task(() => {
new Schedule().task(this.getListData).delay(800).task(() => {
wx.hideNavigationBarLoading()
wx.stopPullDownRefresh()
wx.hideLoading()
......
......@@ -18,17 +18,22 @@ Page({
title: '',
tags: [],
catalog: '0'
catalog: '0',
filters: {
region_params: {},
sort: 'default'
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
onLoad: function(options) {
let _title = options.title
let _tags = options.tags
let _catalog = options.catalog
if (_tags!=null && _tags.length>0){
if (_tags != null && _tags.length > 0) {
this.setData({
tags: JSON.parse(_tags)
})
......@@ -56,7 +61,7 @@ Page({
/**
* 加载
*/
getListData: function (callback) {
getListData: function(callback) {
const p = this.data.currentPage
let params = {
p: p
......@@ -70,6 +75,16 @@ Page({
if (parseInt(this.data.catalog) > 0) {
params['catalog_id'] = this.data.catalog
}
// 地域和排序
params['sort'] = this.data.filters.sort
let region_params = this.data.filters.region_params
let arr = Object.getOwnPropertyNames(region_params)
if (arr.length > 0) {
params[region_params['key']] = region_params['value']
}
console.log('params', params)
// 请求数据接口
api.search.index(params).then(res => {
if (res.code) {
......@@ -78,6 +93,10 @@ Page({
loading: false,
currentPage: 2
})
$Toast({
content: res.msg,
type: 'error'
});
} else {
let _projects = this.data.projects
this.setData({
......@@ -94,35 +113,35 @@ Page({
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
this.setData({
projects: [],
loading: true,
......@@ -133,7 +152,7 @@ Page({
wx.showLoading({
title: '加载中...',
})
new Schedule().task(this.getListData).delay(1600).task(() => {
new Schedule().task(this.getListData).delay(800).task(() => {
wx.hideNavigationBarLoading()
wx.stopPullDownRefresh()
wx.hideLoading()
......@@ -143,7 +162,7 @@ Page({
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
onReachBottom: function() {
let that = this
if (that.data.loading || !that.data.hasMore) {
return;
......@@ -161,7 +180,18 @@ Page({
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
onShareAppMessage: function() {
}
},
/**
* 用户进行了筛选操作
*/
filterChange: function (event) {
let _filters = event.detail.filters
this.setData({
filters: _filters
})
wx.startPullDownRefresh()
},
})
\ No newline at end of file
......@@ -4,6 +4,7 @@
"usingComponents": {
"project-item": "/components/project-item/index",
"more": "/components/more/index",
"i-toast": "/iview/toast/index"
"i-toast": "/iview/toast/index",
"catalog-filter": "/components/catalog-filter/index"
}
}
\ No newline at end of file
<!--pages/search/list/list.wxml-->
<view class="page-wrapper">
<view class="search-header">
<catalog-filter bind:filter="filterChange" />
</view>
<view class="projects-wrapper">
<project-item wx:for="{{projects}}" wx:for-index="idx" wx:for-item="item" wx:key="item.id" project-item="{{item}}" />
</view>
<i-toast id="toast" />
</view>
<more hasMore="{{hasMore}}" loading="{{loading}}" page="{{currentPage}}" />
\ No newline at end of file
<!-- <more hasMore="{{hasMore}}" loading="{{loading}}" page="{{currentPage}}" /> -->
\ No newline at end of file
......@@ -38,7 +38,7 @@
"list": []
},
"miniprogram": {
"current": 14,
"current": 16,
"list": [
{
"id": 0,
......@@ -130,6 +130,19 @@
"name": "预约下次",
"pathName": "pages/detail/appoint/index",
"query": "id=173"
},
{
"id": -1,
"name": "搜索",
"pathName": "pages/search/index",
"query": ""
},
{
"id": -1,
"name": "搜索列表",
"pathName": "pages/search/list/list",
"query": "catalog=5&ptitle=品牌酒店",
"scene": "1047"
}
]
}
......
......@@ -78,6 +78,9 @@ export const search = {
},
filter: params => {
return req.post('project/searchCondition', params).then(res => res.data)
},
queryRegion: params => {
return req.post('project/queryRegion', params).then(res => res.data)
}
}
......
......@@ -5,7 +5,7 @@
// }
export const Config = {
apiPath: "https://meixz.utools.club/api/",
apiPath: "https://meixzz.usa1.utools.club/api/",
mobPath: "https://mavaler.jqhulian.com/mob/",
shopJoinPath: "https://mavaler.jqhulian.com/mob/Index/shopjoin"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment