浏览代码

feat: 订阅页面筛选条件优化补充

cuiyalong 4 年之前
父节点
当前提交
087b0104c9

+ 25 - 16
src/jfw/modules/app/src/web/staticres/jyapp/js/historypush.js

@@ -56,11 +56,17 @@ var vm = new Vue({
         keytimer: '',
         noticetimer: ''
       },
+      // 选择项value显示内容
       moreFiltersText: {
         cateItem: '',
         keywordItem: '',
         noticeItem: ''
       },
+      moreFiltersTextCache: {
+        cateItem: '',
+        keywordItem: '',
+        noticeItem: ''
+      },
       moreFiltersShow: {
         cateItem: false, // 采购单位类型
         keywordItem: false, // 关键词
@@ -144,7 +150,7 @@ var vm = new Vue({
       }, false);
     },
     recover: function () {
-      var excludeKey = ['sessStorageKey']
+      var excludeKey = ['sessStorageKey', 'moreFiltersShow']
       var $data = sessionStorage.getItem(this.sessStorageKey)
       if ($data) {
           $data = JSON.parse($data)
@@ -170,10 +176,8 @@ var vm = new Vue({
           }
           // 采购单位类型
           if(res.buyerclass != '') {
-            setTimeout(() => {
-              $('.cateText').html(res.tagText.cateText)
-            })
             this.selectCateList = res.buyerclass.split(',')
+            this.moreFiltersText.cateItem = this.selectCateList.length
           }
           // 行业
           if(res.subscopeclass != '') {
@@ -184,17 +188,13 @@ var vm = new Vue({
           }
           // 关键词
           if(res.key != '') {
-            setTimeout(() => {
-              $('.keywordText').html(res.tagText.keywordText)
-            })
             this.selectKeyWordList = res.key.split(',')
+            this.moreFiltersText.keywordItem = this.selectKeyWordList.length
           }
           // 公告类型
           if(res.subtype != '') {
-            setTimeout(() => {
-              $('.noticeText').html(res.tagText.noticeText)
-            })
             this.selectNoticeList = res.subtype.split(',')
+            this.moreFiltersText.noticeItem = this.selectNoticeList.length
           }
           sessionStorage.removeItem(this.sessStorageKey)
       }
@@ -291,6 +291,9 @@ var vm = new Vue({
     selectedMoreConfirmed: function () {
       this.$refs.moreDropdownItems.toggle(false)
       if (this.screenShow) {
+        this.buyerclass = this.moreFiltersTextCache.cateItem
+        this.key = this.moreFiltersTextCache.keywordItem
+        this.subtype = this.moreFiltersTextCache.noticeItem
         this.doSearch()
       }
     },
@@ -301,6 +304,9 @@ var vm = new Vue({
       this.$refs.moreDropdownItems.toggle(false)
 
       if (this.screenShow) {
+        this.buyerclass = ''
+        this.key = ''
+        this.subtype = ''
         this.doSearch()
       }
     },
@@ -381,15 +387,15 @@ var vm = new Vue({
         this.doSearch()
       } else if(data.name === 'cateItem'){
         this.moreFiltersText.cateItem = data.t
-        this.buyerclass = data.data.join(',')
+        this.moreFiltersTextCache.cateItem = data.data.join(',')
         this.moreFiltersShow.cateItem = false
       } else if(data.name === 'keywordItem'){
         this.moreFiltersText.keywordItem = data.t.replace('关键词', '')
-        this.key = data.data.join(',')
+        this.moreFiltersTextCache.keywordItem = data.data.join(',')
         this.moreFiltersShow.keywordItem = false
       } else if(data.name === 'noticeItem'){
         this.moreFiltersText.noticeItem = data.t.replace('公告类型', '')
-        this.subtype = data.data.join(',')
+        this.moreFiltersTextCache.noticeItem = data.data.join(',')
         this.moreFiltersShow.noticeItem = false
       } else if(data.name === 'rootItem'){
         try {
@@ -429,17 +435,20 @@ var vm = new Vue({
         this.setToggle()
         this.doSearch()
       } else if(data.name === 'cateItem'){
-        this.buyerclass = ''
+        this.selectCateList = []
+        this.moreFiltersTextCache.cateItem = ''
         this.moreFiltersText.cateItem = ''
         this.setTimer.catetimer = new Date().getTime()
         this.moreFiltersShow.cateItem = false
       } else if(data.name === 'keywordItem'){
-        this.key = ''
+        this.selectKeyWordList = []
+        this.moreFiltersTextCache.keywordItem = ''
         this.moreFiltersText.keywordItem = ''
         this.setTimer.keytimer = new Date().getTime()
         this.moreFiltersShow.keywordItem = false
       } else if(data.name === 'noticeItem'){
-        this.subtype = ''
+        this.selectNoticeList = []
+        this.moreFiltersTextCache.noticeItem = ''
         this.moreFiltersText.noticeItem = ''
         this.setTimer.noticetimer = new Date().getTime()
         this.moreFiltersShow.noticeItem = false

+ 24 - 17
src/web/staticres/vipsubscribe/js/historypush.js

@@ -101,6 +101,11 @@ var vm = new Vue({
         keywordItem: '',
         noticeItem: ''
       },
+      moreFiltersTextCache: {
+        cateItem: '',
+        keywordItem: '',
+        noticeItem: ''
+      },
       moreFiltersShow: {
         cateItem: false, // 采购单位类型
         keywordItem: false, // 关键词
@@ -171,7 +176,7 @@ var vm = new Vue({
       }).catch(function() {})
     },
     recover: function () {
-      var excludeKey = ['sessStorageKey']
+      var excludeKey = ['sessStorageKey', 'moreFiltersShow']
       var $data = sessionStorage.getItem(this.sessStorageKey)
       if ($data) {
           $data = JSON.parse($data)
@@ -197,10 +202,8 @@ var vm = new Vue({
           }
           // 采购单位类型
           if(res.buyerclass != '') {
-            setTimeout(() => {
-              $('.cateText').html(res.tagText.cateText)
-            })
             this.selectCateList = res.buyerclass.split(',')
+            this.moreFiltersText.cateItem = this.selectCateList.length
           }
           // 行业
           if(res.subscopeclass != '') {
@@ -211,17 +214,13 @@ var vm = new Vue({
           }
           // 关键词
           if(res.key != '') {
-            setTimeout(() => {
-              $('.keywordText').html(res.tagText.keywordText)
-            })
             this.selectKeyWordList = res.key.split(',')
+            this.moreFiltersText.keywordItem = this.selectKeyWordList.length
           }
           // 公告类型
           if(res.subtype != '') {
-            setTimeout(() => {
-              $('.noticeText').html(res.tagText.noticeText)
-            })
             this.selectNoticeList = res.subtype.split(',')
+            this.moreFiltersText.noticeItem = this.selectNoticeList.length
           }
           sessionStorage.removeItem(this.sessStorageKey)
       }
@@ -353,6 +352,9 @@ var vm = new Vue({
     selectedMoreConfirmed: function () {
       this.$refs.moreDropdownItems.toggle(false)
       if (this.screenShow) {
+        this.buyerclass = this.moreFiltersTextCache.cateItem
+        this.key = this.moreFiltersTextCache.keywordItem
+        this.subtype = this.moreFiltersTextCache.noticeItem
         this.doSearch()
       }
     },
@@ -363,6 +365,9 @@ var vm = new Vue({
       this.$refs.moreDropdownItems.toggle(false)
 
       if (this.screenShow) {
+        this.buyerclass = ''
+        this.key = ''
+        this.subtype = ''
         this.doSearch()
       }
     },
@@ -443,15 +448,15 @@ var vm = new Vue({
         this.doSearch()
       } else if(data.name === 'cateItem'){
         this.moreFiltersText.cateItem = data.t
-        this.buyerclass = data.data.join(',')
+        this.moreFiltersTextCache.cateItem = data.data.join(',')
         this.moreFiltersShow.cateItem = false
       } else if(data.name === 'keywordItem'){
         this.moreFiltersText.keywordItem = data.t.replace('关键词', '')
-        this.key = data.data.join(',')
+        this.moreFiltersTextCache.keywordItem = data.data.join(',')
         this.moreFiltersShow.keywordItem = false
       } else if(data.name === 'noticeItem'){
         this.moreFiltersText.noticeItem = data.t.replace('公告类型', '')
-        this.subtype = data.data.join(',')
+        this.moreFiltersTextCache.noticeItem = data.data.join(',')
         this.moreFiltersShow.noticeItem = false
       } else if(data.name === 'rootItem'){
         try {
@@ -491,17 +496,19 @@ var vm = new Vue({
         this.setToggle()
         this.doSearch()
       } else if(data.name === 'cateItem'){
-        this.buyerclass = ''
-        this.moreFiltersText.cateItem = ''
+        this.selectCateList = []
+        this.moreFiltersTextCache.cateItem = ''
         this.setTimer.catetimer = new Date().getTime()
         this.moreFiltersShow.cateItem = false
       } else if(data.name === 'keywordItem'){
-        this.key = ''
+        this.selectKeyWordList = []
+        this.moreFiltersTextCache.keywordItem = ''
         this.moreFiltersText.keywordItem = ''
         this.setTimer.keytimer = new Date().getTime()
         this.moreFiltersShow.keywordItem = false
       } else if(data.name === 'noticeItem'){
-        this.subtype = ''
+        this.selectNoticeList = []
+        this.moreFiltersTextCache.noticeItem = ''
         this.moreFiltersText.noticeItem = ''
         this.setTimer.noticetimer = new Date().getTime()
         this.moreFiltersShow.noticeItem = false