Browse Source

feat: 完善移动端筛选条件恢复逻辑

cuiyalong 1 year ago
parent
commit
e644718620

+ 18 - 3
apps/mobile/src/views/search/middle/bidding/index.vue

@@ -55,6 +55,7 @@ export default {
   data() {
     return {
       searchGroup: '',
+      filterHistoryOrigin: [],
       filterHistory: [],
       lastFilters: {},
       lastFiltersFormatted: {}
@@ -99,19 +100,32 @@ export default {
       const lastFilters = this.$storage.get(BIDDING_SEARCH_LAST_FILTERS_CACHE_KEY, false, { login: true })
       if (lastFilters) {
         this.lastFilters = lastFilters
-        const card = this.formatFilterItems(lastFilters)
+        const card = this.formatFilterItems(this.lastFilters)
         this.lastFiltersFormatted = card
         this.syncInput(card.keywordsText)
       } else {
         // 获取已存筛选列表第一个
-        const list = this.filterHistory
+        const list = this.filterHistoryOrigin
         if (Array.isArray(list) && list.length > 0) {
-          const card = list[0]
+          this.lastFilters = list[0]
+          const card = this.formatFilterItems(this.lastFilters)
           this.lastFiltersFormatted = card
           this.syncInput(card.keywordsText)
         }
       }
     },
+    // 修改关键词
+    syncInputToCacheFilters() {
+      const lastFilters = this.lastFilters
+      const inputText = this.topSearch.input
+      if (lastFilters) {
+        lastFilters.searchvalue = inputText
+      }
+      const card = this.formatFilterItems(lastFilters)
+      if (card) {
+        this.lastFiltersFormatted = card
+      }
+    },
     syncInput(text = '') {
       this.topSearch.input = text
     },
@@ -198,6 +212,7 @@ export default {
         } = await getBiddingFilterList()
         if (code === 0) {
           if (Array.isArray(data)) {
+            this.filterHistoryOrigin = data
             this.filterHistory =
               data.slice(0, 3).map(this.formatFilterItems) || []
           }

+ 1 - 1
apps/mobile/src/views/search/result/bidding/index.vue

@@ -1206,7 +1206,6 @@ export default {
     },
     doSearch(conf = {}) {
       const { from } = conf
-      this.saveFilterToLocal()
       if (from === 'searchModeAutoChangedSearch') {
         // 当前搜索来自 自动切换搜索模式
         // do something...
@@ -1321,6 +1320,7 @@ export default {
 
       // 只有第一页时候才会打开超前模块
       if (this.isLogin && t.pageNum === 1) {
+        this.saveFilterToLocal()
         // 超前项目推荐 / 定制化分析报告模块嵌入
         this.getCustomReportData(params.keyWords)
       }