From b31d0bdae5ab5e7c24eadf08fea270c6bb9f3c7a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 09 二月 2023 16:58:46 +0800
Subject: [PATCH] 1.自动排程代码正在研究

---
 src/layout/components/TagsView/index.vue |   86 +++++++++++++++++++++++++++++-------------
 1 files changed, 59 insertions(+), 27 deletions(-)

diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue
index 7e6971b..9ef741f 100644
--- a/src/layout/components/TagsView/index.vue
+++ b/src/layout/components/TagsView/index.vue
@@ -1,20 +1,23 @@
 <template>
   <div id="tags-view-container" class="tags-view-container">
     <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
-      <router-link
-        v-for="tag in visitedViews"
-        ref="tag"
-        :key="tag.path"
-        :class="isActive(tag)?'active':''"
-        :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
-        tag="span"
-        class="tags-view-item"
-        @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
-        @contextmenu.prevent.native="openMenu(tag,$event)"
-      >
-        {{ tag.title }}
-        <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
-      </router-link>
+      <draggable :list="visitedViews" animation="300">
+        <router-link
+          v-for="tag in visitedViews"
+          ref="tag"
+          :key="tag.path"
+          :class="isActive(tag)?'active':''"
+          :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
+          tag="span"
+          class="tags-view-item"
+          :style="{background:isActive(tag)?$store.state.settings.theme:'',border:isActive(tag)?'1px solid'+$store.state.settings.theme:''}"
+          @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
+          @contextmenu.prevent.native="openMenu(tag,$event)"
+        >
+          {{ tag.title }}
+          <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
+        </router-link>
+      </draggable>
     </scroll-pane>
     <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
       <li @click="refreshSelectedTag(selectedTag)">鍒锋柊</li>
@@ -22,6 +25,23 @@
       <li @click="closeOthersTags">鍏抽棴鍏朵粬</li>
       <li @click="closeAllTags(selectedTag)">鍏抽棴鎵�鏈�</li>
     </ul>
+
+    <el-dialog
+      title="鎻愮ず"
+      :visible.sync="dialogVisible"
+      width="500px"
+      :close-on-click-modal="false"
+    >
+      <div>
+        鐜伴〉绛炬墦寮�瓒呰繃10涓紝璇峰叧闂叾瀹冩爣绛�
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button @click="dialogVisibleCancel">杩斿洖</el-button>
+        </div>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -30,20 +50,26 @@
 import path from 'path'
 import { getCookie } from '@/utils/auth'
 import $ from 'jquery'
-
+import draggable from 'vuedraggable'
 export default {
-  components: { ScrollPane },
+  components: { ScrollPane, draggable },
   data() {
     return {
       visible: false,
       top: 0,
       left: 0,
       selectedTag: {},
-      affixTags: []
+      affixTags: [],
+      dialogVisible: false
     }
   },
   computed: {
     visitedViews() {
+      // 鏆傛椂鍙栨秷鍗佷釜鏍囩椤甸檺鍒舵彁绀�
+      // if (this.$store.state.tagsView.visitedViews.length > 10) {
+      //   // eslint-disable-next-line vue/no-side-effects-in-computed-properties
+      //   this.dialogVisible = true
+      // }
       return this.$store.state.tagsView.visitedViews
     },
     routes() {
@@ -95,16 +121,22 @@
         this.$store.state.tagsView.visitedViews = oldViews
       }
     },
+
+    // 瀵硅瘽妗嗚繑鍥�
+    dialogVisibleCancel() {
+      this.dialogVisible = false
+    },
+
     isActive(route) {
-      if (this.$route.path === '/scgl/sckbg') {
-        const time = setInterval(() => {
-          this.$nextTick(() => {
-            $("input[name='produceCode']")[0].focus()
-            $("input[name='WXproduceCode']")[0].focus()
-            clearInterval(time)
-          })
-        })
-      }
+      // if (this.$route.path === '/scgl/sckbg') {
+      //   const time = setInterval(() => {
+      //     this.$nextTick(() => {
+      //       $("input[name='produceCode']")[0].focus()
+      //       $("input[name='WXproduceCode']")[0].focus()
+      //       clearInterval(time)
+      //     })
+      //   })
+      // }
       return route.path === this.$route.path
     },
     isAffix(tag) {
@@ -235,7 +267,7 @@
 }
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 $main_color: #42b983;
 .tags-view-container {
   height: 34px;

--
Gitblit v1.9.3