From f8867b8df117d1ac0f1311970994e15059c3da03 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 05 九月 2024 15:57:36 +0800
Subject: [PATCH] add 兼容扫码问题

---
 pages/home/components/home-search.vue |  135 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 110 insertions(+), 25 deletions(-)

diff --git a/pages/home/components/home-search.vue b/pages/home/components/home-search.vue
index aaa32e2..5194327 100644
--- a/pages/home/components/home-search.vue
+++ b/pages/home/components/home-search.vue
@@ -1,18 +1,41 @@
 <template>
 	<view class="p15 bg-white">
 		<view class="search-container m-t-12 flex">
+			<view class="flex m-r-20" @click="changeType">
+				<view class="m-r-10" style="line-height: 80rpx;" >
+					{{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>
 				</u-input>
 			</view>
+
 		</view>
-		<view class="m-t-12">
-			<view class="title">搜索历史</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-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 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>
@@ -25,36 +48,95 @@
 		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: {
-			buttonSearchFlow() {
-				if (this.history.indexOf(name) >= 0) {
-					this.history.splice(this.history.indexOf(name), 1)
+			changeType() {
+				if (this.type == 'flower') {
+					this.type = 'supplier'
+				} else {
+					this.type = 'flower'
 				}
-				this.history.unshift(name)
-
-				console.log('buttonSearchFlow')
-				uni.navigateTo({
-					url: '/sub_pages/customer/trade/list?name=' + this.search_flow
-				})
 			},
-			searchBy(name) {
-				if (this.history.indexOf(name) >= 0) {
-					this.history.splice(this.history.indexOf(name), 1)
+			buttonSearchFlow() {
+				var name = this.search_flow
+				if (name) {
+
+
+					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
+					})
 				}
-				this.history.unshift(name)
+			},
+			async clearHistory() {
+				await this.$message.confirm('是否清空历史记录')
+				if (this.type === 'flower') {
+					this.history_flower = []
+					this.$storage.setItem("cache_home_search_flower", JSON.stringify(this.history_flower))
+				}
+				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
 				})
 			}
 		}
@@ -64,14 +146,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