1
xuxueyang
2024-08-14 4d4a74a653e326150fccdc13d83bd69db672b100
pages/home/components/home-search.vue
@@ -29,8 +29,13 @@
               一键清空
            </view>
         </view>
         <view class="m-t-12 flex 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>
@@ -43,16 +48,28 @@
      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() {
@@ -65,20 +82,29 @@
         buttonSearchFlow() {
            var name = this.search_flow
            if (name) {
               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)
               }
               // console.log('buttonSearchFlow')
               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
@@ -87,29 +113,27 @@
         },
         async clearHistory() {
            await this.$message.confirm('是否清空历史记录')
            this.history = []
            this.$storage.setItem("cache_home_search", JSON.stringify(this.history))
            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
            // if (this.history.indexOf(clickname) >= 0) {
            //    // this.history.splice(this.history.indexOf(clickname), 1)
            // }else{
            // }
            // this.history.unshift(clickname)
            var p = ''
            if (this.type === 'flower') {
               p = 'name=' + name
            } else {
               p = 'supplierName=' + name
            }
            console.log('searchBy', name, p)
            // setTimeout(() => {
            // }, 200)
            console.log('searchBy', clickname, name, p)
            uni.navigateTo({
               url: '/sub_pages/customer/trade/list?' + p