|
@@ -29,7 +29,7 @@
|
|
|
<script>
|
|
|
import ScrollPane from '@/components/ScrollPane'
|
|
|
import { generateTitle } from '@/utils/i18n'
|
|
|
-import { removeSearchByKey } from '@/helpers'
|
|
|
+import { Searchs } from '@/helpers'
|
|
|
|
|
|
export default {
|
|
|
name: 'TagsView',
|
|
@@ -79,13 +79,25 @@ export default {
|
|
|
isActive (route) {
|
|
|
return route.path === this.$route.path
|
|
|
},
|
|
|
- addViewTags () {
|
|
|
+ syncTagViewAndSaveForm() {
|
|
|
+ console.log(this.$store.state.tagsView.visitedViews)
|
|
|
+ const keys = this.$store.state.tagsView.visitedViews.map(item => item.fullPath)
|
|
|
+ const searchs = new Searchs()
|
|
|
+ const sks = Object.keys(searchs.getSearchs())
|
|
|
+ for (const item of sks) {
|
|
|
+ if (!keys.includes(item)) {
|
|
|
+ searchs.removeByKey(item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async addViewTags () {
|
|
|
const route = this.generateRoute()
|
|
|
if (!route) {
|
|
|
return false
|
|
|
}
|
|
|
// console.log(this.$route)
|
|
|
- this.$store.dispatch('addVisitedViews', route)
|
|
|
+ await this.$store.dispatch('addVisitedViews', route)
|
|
|
+ this.syncTagViewAndSaveForm()
|
|
|
},
|
|
|
moveToCurrentTag () {
|
|
|
const tags = this.$refs['tag']
|
|
@@ -99,7 +111,8 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
closeSelectedTag (view) {
|
|
|
- removeSearchByKey(view.fullPath)
|
|
|
+ const searchs = new Searchs()
|
|
|
+ searchs.remove(this.$route.fullPath)
|
|
|
this.$store.dispatch('delVisitedViews', view).then((views) => {
|
|
|
if (this.isActive(view)) {
|
|
|
const latestView = views.slice(-1)[0]
|