石广澎
2023-12-02 b18350e2f06c55f6aaae957631238bf02bb07b63
fix:
修复标签页 主页刷新后消失的问题
2个文件已修改
45 ■■■■ 已修改文件
admin-web/src/layout/components/TagsView/index.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/dashboard/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/layout/components/TagsView/index.vue
@@ -13,7 +13,7 @@
        @contextmenu.prevent.native="openMenu(tag, $event)"
      >
        {{ tag.title }}
        <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
        <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)"/>
      </router-link>
    </scroll-pane>
    <ul v-show="visible" :style="{ left: (openAside?left+170:left) + 'px', top: top + 'px' }" class="contextmenu">
@@ -39,13 +39,13 @@
import path from 'path';
export default {
  props:{
    openAside:{
  props: {
    openAside: {
      type: Boolean,
      default: false
    }
  },
  components: { ScrollPane },
  components: {ScrollPane},
  data() {
    return {
      fullWidth: document.body.clientWidth,
@@ -59,7 +59,19 @@
  },
  computed: {
    visitedViews() {
      return this.$store.state.tagsView.visitedViews;
      let visitedViews = this.$store.state.tagsView.visitedViews
      if (visitedViews&&visitedViews[0]&&visitedViews[0].title !== '主页') {
        visitedViews.unshift({
          title: '主页',
          path: '/dashboard',
          query: {},
          fullPath: '/dashboard',
          meta:{
            affix: true
          }
        })
      }
      return visitedViews;
    },
    routes() {
      return this.$store.state.permission.routes;
@@ -112,7 +124,7 @@
            fullPath: tagPath,
            path: tagPath,
            name: route.name,
            meta: { ...route.meta },
            meta: {...route.meta},
          });
        }
        if (route.children) {
@@ -151,7 +163,7 @@
      });
    },
    addTags() {
      const { name } = this.$route;
      const {name} = this.$route;
      if (name) {
        this.$store.dispatch('tagsView/addView', this.$route);
      }
@@ -174,7 +186,7 @@
    },
    refreshSelectedTag(view) {
      this.$store.dispatch('tagsView/delCachedView', view).then(() => {
        const { fullPath } = view;
        const {fullPath} = view;
        this.$nextTick(() => {
          this.$router.replace({
            path: '/redirect' + fullPath,
@@ -183,7 +195,7 @@
      });
    },
    closeSelectedTag(view) {
      this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
      this.$store.dispatch('tagsView/delView', view).then(({visitedViews}) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view);
        }
@@ -196,7 +208,7 @@
      });
    },
    closeAllTags(view) {
      this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
      this.$store.dispatch('tagsView/delAllViews').then(({visitedViews}) => {
        if (this.affixTags.some((tag) => tag.path === view.path)) {
          return;
        }
@@ -212,7 +224,7 @@
        // you can adjust it according to your needs.
        if (view.name === 'Dashboard') {
          // to reload home page
          this.$router.replace({ path: '/redirect' + view.fullPath });
          this.$router.replace({path: '/redirect' + view.fullPath});
        } else {
          this.$router.push('/dashboard');
        }
@@ -261,12 +273,15 @@
      font-size: 14px;
      margin-left: 10px;
      border-radius: 3px;
      &:first-of-type {
        margin-left: 20px;
      }
      &:last-of-type {
        margin-right: 20px;
      }
      &.active {
        background-color: #fff;
        color: #333333;
@@ -284,6 +299,7 @@
      }
    }
  }
  .contextmenu {
    margin: 0;
    background: #fff;
@@ -296,10 +312,12 @@
    font-weight: 400;
    color: #333;
    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
    li {
      margin: 0;
      padding: 7px 16px;
      cursor: pointer;
      &:hover {
        background: #eee;
      }
@@ -318,10 +336,12 @@
      text-align: center;
      transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
      transform-origin: 100% 50%;
      &:before {
        transform: scale(0.6);
        display: inline-block;
      }
      &:hover {
        background-color: #b4bccc;
        color: #fff;
admin-web/src/views/dashboard/index.vue
@@ -34,7 +34,7 @@
            </el-table-column>
            <el-table-column prop="date" label="操作" fixed="right" align="center" width="80">
              <template slot-scope="scope">
                <el-button style="padding: 4.5px 15px" @click.native.prevent="aduitThis(scope.row)" size="mini" type="primary">处理</el-button>
                <el-button style="padding: 4px 15px" @click.native.prevent="aduitThis(scope.row)" size="mini" type="primary">处理</el-button>
              </template>
            </el-table-column>
            <el-empty slot="empty" description="暂无数据"></el-empty>
@@ -182,7 +182,6 @@
    };
  },
  created() {
    console.log(this.userInfo)
    this.getAuditList()
    this.getWarningList()
    getGoodsNumPrice().then(res => {