From ded34e37fca5e2e05e17693d2524c3d664ebf017 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期三, 14 八月 2024 11:20:18 +0800 Subject: [PATCH] update 搜索历史 --- pages/home/components/home-search.vue | 124 +++++++++++++++++++++++++++++++--------- 1 files changed, 95 insertions(+), 29 deletions(-) diff --git a/pages/home/components/home-search.vue b/pages/home/components/home-search.vue index 145c14e..b77bacf 100644 --- a/pages/home/components/home-search.vue +++ b/pages/home/components/home-search.vue @@ -1,8 +1,20 @@ <template> <view class="p15 bg-white"> <view class="search-container m-t-12 flex"> + <view class="flex m-r-20"> + <view class="m-r-10" style="line-height: 80rpx;" @click="changeType"> + {{type=='flower'?'按鲜花':'按店铺'}} + </view> + <u-icon name="arrow-down"></u-icon> + + </view> <view class="flex1 input"> - <u-input placeholder="请输入花名" v-model="search_flow"> + <u-input placeholder="请输入花名" v-model="search_flow" clearable @confirm="buttonSearchFlow" @clear="()=>{ + $nextTick(()=>{buttonSearchFlow()}) + }"> + <!-- <u--text text="http://" slot="prefix" margin="0 3px 0 0" type="tips"></u--text> --> + + <template slot="suffix"> <uni-icons color="#20613D" type="search" size="24" @click="buttonSearchFlow"></uni-icons> </template> @@ -10,15 +22,20 @@ </view> </view> - <view class="m-t-12"> + <view class="m-t-20"> <view class="title flex"> <view class="m-l-0 m-r-a">搜索历史</view> <view class="bg-white desc-gray text-center m-l-a m-r-0" @click.stop="clearHistory"> 一键清空 </view> </view> - <view class="m-t-12 flex flex-wrap-normal history-item-list"> - <view class="history-item" v-for="item of history" :key="item" @click="searchBy(item)"> + <view class="m-t-12 flex history-item-list" v-show="type=='flower'"> + <view class="history-item" v-for="(item,j) of history_flower" :key="j" @click="searchBy(item)"> + {{item}} + </view> + </view> + <view class="m-t-12 flex history-item-list" v-show="type=='supplier'"> + <view class="history-item" v-for="(item,j) of history_supplier" :key="j" @click="searchBy(item)"> {{item}} </view> </view> @@ -31,45 +48,91 @@ data() { return { search_flow: '', - history: [], + history_supplier: [], + history_flower: [], + + type: 'flower', //supplierName } }, onShow() { - var k = this.$storage.getItem("cache_home_search") - this.history = k && JSON.parse(k) || [] + }, onHide() { - this.$storage.setItem("cache_home_search", JSON.stringify(this.history)) + this.$storage.setItem("cache_home_search_supplier", JSON.stringify(this.history_supplier)) + this.$storage.setItem("cache_home_search_flower", JSON.stringify(this.history_flower)) + }, + onLoad() { + if (true) { + var k = this.$storage.getItem("cache_home_search_flower") + this.history_flower = k && JSON.parse(k) || [] + } + if (true) { + var k = this.$storage.getItem("cache_home_search_supplier") + this.history_supplier = k && JSON.parse(k) || [] + } }, methods: { + changeType() { + if (this.type == 'flower') { + this.type = 'supplier' + } else { + this.type = 'flower' + } + }, buttonSearchFlow() { var name = this.search_flow - if (this.history.indexOf(name) >= 0) { - this.history.splice(this.history.indexOf(name), 1) - } - this.history.unshift(name) - if (this.history.length >= 10) { - this.history.splice(this.history.length - 1, 1) - } + if (name) { - console.log('buttonSearchFlow') - uni.navigateTo({ - url: '/sub_pages/customer/trade/list?name=' + this.search_flow - }) + + var p = '' + if (this.type === 'flower') { + p = 'name=' + this.search_flow + if (this.history_flower.indexOf(name) >= 0) {} else { + this.history_flower.unshift(name) + } + if (this.history_flower.length >= 10) { + this.history_flower.splice(this.history_flower.length - 1, 1) + } + } else { + p = 'supplierName=' + this.search_flow + if (this.history_supplier.indexOf(name) >= 0) {} else { + this..history_supplier.unshift(name) + } + if (this..history_supplier.length >= 10) { + this..history_supplier.splice(this..history_supplier.length - 1, 1) + } + } + uni.navigateTo({ + url: '/sub_pages/customer/trade/list?' + p + }) + } }, async clearHistory() { await this.$message.confirm('是否清空历史记录') - this.history = [] - this.$storage.setItem("cache_home_search", JSON.stringify(this.history)) - }, - searchBy(name) { - if (this.history.indexOf(name) >= 0) { - this.history.splice(this.history.indexOf(name), 1) + if (this.type === 'flower') { + this.history_flower = [] + this.$storage.setItem("cache_home_search_flower", JSON.stringify(this.history_flower)) } - this.history.unshift(name) + if (this.type === 'supplier') { + this.history_supplier = [] + this.$storage.setItem("cache_home_search_supplier", JSON.stringify(this.history_supplier)) + } + + }, + searchBy(clickname) { + //值一瞬间会变,引用,所以用加一个,来更改引用 + var name = '' + clickname + + var p = '' + if (this.type === 'flower') { + p = 'name=' + name + } else { + p = 'supplierName=' + name + } + console.log('searchBy', clickname, name, p) uni.navigateTo({ - url: '/sub_pages/customer/trade/list?name=' + name + url: '/sub_pages/customer/trade/list?' + p }) } } @@ -79,14 +142,17 @@ <style lang="scss" scoped> .history-item-list { .history-item { - margin-right: 20rpx; + margin-right: 30rpx; min-width: 100rpx; padding: 10rpx 20rpx; - margin-bottom: 20rpx; + margin-bottom: 30rpx; text-align: center; height: 30rpx; line-height: 30rpx; font-size: 28rpx; + // padding-left: 10rpx; + // padding-right: 10rpx; + border: 2rpx solid #e9e9e9; } } </style> \ No newline at end of file -- Gitblit v1.9.3