From 15aa22b07c8fa7e7fc072c604ce5d1905972f201 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 22 May 2025 11:29:22 +0800
Subject: [PATCH] feat:tagList更换为bsTagList

---
 src/page/index/tags.vue |  164 ++++++++++++++++++++++++------------------------------
 1 files changed, 72 insertions(+), 92 deletions(-)

diff --git a/src/page/index/tags.vue b/src/page/index/tags.vue
index 84361fb..1fa540c 100644
--- a/src/page/index/tags.vue
+++ b/src/page/index/tags.vue
@@ -1,39 +1,21 @@
 <template>
   <div class="avue-tags" v-if="setting.tag" @click="contextmenuFlag = false">
     <!-- tag盒子 -->
-    <div
-      v-if="contextmenuFlag"
-      class="avue-tags__contentmenu"
-      :style="{ left: contentmenuX + 'px', top: contentmenuY + 'px' }"
-    >
+    <div v-if="contextmenuFlag" class="avue-tags__contentmenu"
+      :style="{ left: contentmenuX + 'px', top: contentmenuY + 'px' }">
       <div class="item" @click="closeOthersTags">{{ $t('tagsView.closeOthers') }}</div>
       <div class="item" @click="closeAllTags">{{ $t('tagsView.closeAll') }}</div>
       <div class="item" @click="clearCacheTags">{{ $t('tagsView.clearCache') }}</div>
     </div>
     <div class="avue-tags__box">
-      <el-tabs
-        v-model="active"
-        type="card"
-        @contextmenu="handleContextmenu"
-        :closable="tagLen !== 1"
-        @tab-click="openTag"
-        @edit="menuTag"
-      >
-        <el-tab-pane
-          v-for="(item, index) in tagList"
-          :key="index"
-          :label="generateTitle(item)"
-          :name="item.fullPath"
-        >
+      <el-tabs v-model="active" type="card" @contextmenu="handleContextmenu" :closable="tagLen !== 1"
+        @tab-click="openTag" @edit="menuTag">
+        <el-tab-pane v-for="(item, index) in bsTagList" :key="index" :label="generateTitle(item)" :name="item.fullPath">
           <template #label>
             <span>
               {{ generateTitle(item) }}
-              <i
-                class="el-icon-refresh"
-                :class="{ turn: refresh }"
-                @click="handleRefresh"
-                v-if="active === item.fullPath"
-              ></i>
+              <i class="el-icon-refresh" :class="{ turn: refresh }" @click="handleRefresh"
+                v-if="active === item.fullPath"></i>
             </span>
           </template>
         </el-tab-pane>
@@ -46,12 +28,10 @@
         <template #dropdown>
           <el-dropdown-menu>
             <el-dropdown-item @click="openSearch">{{ $t('tagsView.search') }}</el-dropdown-item>
-            <el-dropdown-item @click="closeOthersTags"
-              >{{ $t('tagsView.closeOthers') }}
+            <el-dropdown-item @click="closeOthersTags">{{ $t('tagsView.closeOthers') }}
             </el-dropdown-item>
             <el-dropdown-item @click="closeAllTags">{{ $t('tagsView.closeAll') }}</el-dropdown-item>
-            <el-dropdown-item @click="clearCacheTags"
-              >{{ $t('tagsView.clearCache') }}
+            <el-dropdown-item @click="clearCacheTags">{{ $t('tagsView.clearCache') }}
             </el-dropdown-item>
           </el-dropdown-menu>
         </template>
@@ -60,129 +40,129 @@
   </div>
 </template>
 <script>
-import { mapGetters } from 'vuex';
-import { clearCache } from '@/api/user';
+import { mapGetters } from 'vuex'
+import { clearCache } from '@/api/user'
 
 export default {
   name: 'tags',
-  data() {
+  data () {
     return {
       refresh: false,
       active: '',
       contentmenuX: '',
       contentmenuY: '',
       contextmenuFlag: false,
-    };
+    }
   },
   watch: {
     tag: {
-      handler(val) {
-        this.active = val.fullPath;
+      handler (val) {
+        this.active = val.fullPath
       },
       immediate: true,
     },
-    contextmenuFlag() {
-      window.addEventListener('mousedown', this.watchContextmenu);
+    contextmenuFlag () {
+      window.addEventListener('mousedown', this.watchContextmenu)
     },
   },
   computed: {
-    ...mapGetters(['tagWel', 'tagList', 'tag', 'setting']),
-    tagLen() {
-      return this.tagList.length || 0;
+    ...mapGetters(['tagWel', 'bsTagList', 'tag', 'setting']),
+    tagLen () {
+      return this.bsTagList.length || 0
     },
   },
   methods: {
-    openSearch() {
-      this.$store.commit('SET_IS_SEARCH', true);
+    openSearch () {
+      this.$store.commit('SET_IS_SEARCH', true)
     },
-    handleRefresh() {
-      this.refresh = true;
-      this.$store.commit('SET_IS_REFRESH', false);
+    handleRefresh () {
+      this.refresh = true
+      this.$store.commit('SET_IS_REFRESH', false)
       setTimeout(() => {
-        this.$store.commit('SET_IS_REFRESH', true);
-      }, 100);
+        this.$store.commit('SET_IS_REFRESH', true)
+      }, 100)
       setTimeout(() => {
-        this.refresh = false;
-      }, 500);
+        this.refresh = false
+      }, 500)
     },
-    generateTitle(item) {
+    generateTitle (item) {
       return this.$router.$avueRouter.generateTitle({
         ...item,
         ...{
           label: item.name,
         },
-      });
+      })
     },
-    watchContextmenu(event) {
+    watchContextmenu (event) {
       if (!this.$el.contains(event.target) || event.button !== 0) {
-        this.contextmenuFlag = false;
+        this.contextmenuFlag = false
       }
-      window.removeEventListener('mousedown', this.watchContextmenu);
+      window.removeEventListener('mousedown', this.watchContextmenu)
     },
-    handleContextmenu(event) {
-      let target = event.target;
-      let flag = false;
-      if (target.className.indexOf('el-tabs__item') > -1) flag = true;
+    handleContextmenu (event) {
+      let target = event.target
+      let flag = false
+      if (target.className.indexOf('el-tabs__item') > -1) flag = true
       else if (target.parentNode.className.indexOf('el-tabs__item') > -1) {
-        target = target.parentNode;
-        flag = true;
+        target = target.parentNode
+        flag = true
       }
       if (flag) {
-        event.preventDefault();
-        event.stopPropagation();
-        this.contentmenuX = event.clientX;
-        this.contentmenuY = event.clientY;
-        this.tagName = target.getAttribute('aria-controls').slice(5);
-        this.contextmenuFlag = true;
+        event.preventDefault()
+        event.stopPropagation()
+        this.contentmenuX = event.clientX
+        this.contentmenuY = event.clientY
+        this.tagName = target.getAttribute('aria-controls').slice(5)
+        this.contextmenuFlag = true
       }
     },
-    menuTag(value, action) {
+    menuTag (value, action) {
       if (action === 'remove') {
-        let { tag, key } = this.findTag(value);
-        this.$store.commit('DEL_TAG', tag);
+        let { tag, key } = this.findTag(value)
+        this.$store.commit('DEL_TAG', tag)
         if (tag.fullPath === this.tag.fullPath) {
-          tag = this.tagList[key - 1];
+          tag = this.bsTagList[key - 1]
           this.$router.push({
             path: tag.path,
             query: tag.query,
-          });
+          })
         }
       }
     },
-    openTag(item) {
-      let value = item.props.name;
-      let { tag } = this.findTag(value);
+    openTag (item) {
+      let value = item.props.name
+      let { tag } = this.findTag(value)
       this.$router.push({
         path: tag.path,
         query: tag.query,
-      });
+      })
     },
-    findTag(fullPath) {
-      let tag = this.tagList.find(item => item.fullPath === fullPath);
-      let key = this.tagList.findIndex(item => item.fullPath === fullPath);
-      return { tag, key };
+    findTag (fullPath) {
+      let tag = this.bsTagList.find(item => item.fullPath === fullPath)
+      let key = this.bsTagList.findIndex(item => item.fullPath === fullPath)
+      return { tag, key }
     },
-    closeOthersTags() {
-      this.contextmenuFlag = false;
-      this.$store.commit('DEL_TAG_OTHER');
+    closeOthersTags () {
+      this.contextmenuFlag = false
+      this.$store.commit('DEL_TAG_OTHER')
     },
-    closeAllTags() {
-      this.contextmenuFlag = false;
-      this.$store.commit('DEL_ALL_TAG');
-      this.$router.push(this.tagWel);
+    closeAllTags () {
+      this.contextmenuFlag = false
+      this.$store.commit('DEL_ALL_TAG')
+      this.$router.push(this.tagWel)
     },
-    clearCacheTags() {
+    clearCacheTags () {
       this.$confirm('是否需要清除缓存?', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning',
       }).then(() => {
         clearCache().then(() => {
-          this.contextmenuFlag = false;
-          this.$message.success('清除完毕');
-        });
-      });
+          this.contextmenuFlag = false
+          this.$message.success('清除完毕')
+        })
+      })
     },
   },
-};
+}
 </script>

--
Gitblit v1.9.3