diff --git a/src/components/Icon/icon.vue b/src/components/Icon/icon.vue index faa6240293589eca458a1d867c9ef06f34eb0d7f..ea7c620b85b2c7b110a7f7c630d57c33ca1c088e 100644 --- a/src/components/Icon/icon.vue +++ b/src/components/Icon/icon.vue @@ -32,8 +32,8 @@ export default { created() {}, mounted() {}, methods: { - clickEvent() { - this.$emit("click"); + clickEvent(e) { + this.$emit("click", e); }, }, }; diff --git a/src/views/layout/components/Header.vue b/src/views/layout/components/Header.vue index 0bec8dcd958ce6a0287c77c5092dec92c7fd765d..ae959624225914457a40907194001be98450c913 100644 --- a/src/views/layout/components/Header.vue +++ b/src/views/layout/components/Header.vue @@ -44,6 +44,7 @@ export default { loginOut() { this.$apis.LOGINOUT().then((res) => { if (res.returnCode) { + this.$store.commit("common/setMenuStack", []); this.$router.push("/login"); } else { this.$message.error(res.returnMsg || "退出失败"); diff --git a/src/views/layout/components/menu/subMenu.vue b/src/views/layout/components/menu/subMenu.vue index e3cc3219ab8fe5c39b6f3513ce750ac9145a5587..32ed6f914e03af9745ac937828b39fae81236f7a 100644 --- a/src/views/layout/components/menu/subMenu.vue +++ b/src/views/layout/components/menu/subMenu.vue @@ -8,8 +8,8 @@ :to="item.path" > {{ item.title }} - <Icon - @click="closeMenu(index)" + <Icon v-if="menuStack.length>1" + @click="(e)=>closeMenu(e, index)" :name="isVisit(item.path) ? 'ssiclose_active' : 'ssiclose'" :size="16" /> @@ -31,7 +31,8 @@ export default { const path = this.$route.path; return path === val; }, - closeMenu(index) { + closeMenu(e, index) { + e.stopPropagation(); const menuStack = JSON.parse(JSON.stringify(this.menuStack)); const isVisit = this.isVisit(menuStack[index].path); menuStack.splice(index, 1);