From 888658e0489de69190d1d42680e167a85114f4c9 Mon Sep 17 00:00:00 2001 From: hucy <cy.hu@topibd.com> Date: Fri, 6 Jan 2023 11:42:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/hooks/use-pagestore.ts | 14 ++++++++- src/layouts/MainLayout.vue | 39 ++++++++++++++++++++++---- src/modules/page10/element/MyPoems.vue | 4 +-- src/modules/page8/IndexPage.vue | 5 ++++ 4 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/common/hooks/use-pagestore.ts b/src/common/hooks/use-pagestore.ts index a37a9d5..ff8fe0d 100644 --- a/src/common/hooks/use-pagestore.ts +++ b/src/common/hooks/use-pagestore.ts @@ -61,7 +61,12 @@ const usePageStore = defineStore(PAGE_STORE_KEY, { } } if (params.keepalive) { - this.allPageKeys.splice(index, 1); + const pageKeyIndex = findIndex(this.allPageKeys, function (o) { + return o === params.name; + }); + if (pageKeyIndex !== -1) { + this.allPageKeys.splice(pageKeyIndex, 1); + } } delArrObj(this.tabRouterList, { path: path }); this.saveToSession(); @@ -77,6 +82,13 @@ const usePageStore = defineStore(PAGE_STORE_KEY, { this.tabRouterList = this.tabRouterList.filter((item) => { return item.path === path; }); + this.activeRouter = this.tabRouterList[0]; + this.saveToSession(); + }, + removeAllPage() { + this.activeRouter = {} as RouterType; + this.allPageKeys = []; + this.tabRouterList = []; this.saveToSession(); }, saveToSession() { diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 7a5f92c..75b6028 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -15,7 +15,14 @@ </q-btn> <q-toolbar-title style="min-width: 140px"> Quasar App </q-toolbar-title> - <q-tabs v-model="defaultRouter" no-caps shrink class="my-tabs"> + <q-tabs + v-model="defaultRouter" + inline-label + outside-arrows + no-caps + shrink + class="my-tabs" + > <q-tab class="my-tab" v-for="page in tabsList" @@ -69,6 +76,26 @@ <TopLeftLoading /> </q-item-label> + <q-expansion-item + expand-separator + icon="perm_identity" + label="èœå•" + caption="æ£åœ¨å¼€å‘..." + > + <q-item clickable active-class="bg-primary-bg-light"> + <q-item-section> + <q-item-label>æ ‡é¢˜</q-item-label> + <q-item-label caption>备注</q-item-label> + </q-item-section> + </q-item> + <q-item clickable active-class="bg-primary-bg-light"> + <q-item-section> + <q-item-label>æ ‡é¢˜2</q-item-label> + <q-item-label caption>备注2</q-item-label> + </q-item-section> + </q-item> + </q-expansion-item> + <EssentialLink v-for="link in essentialLinks" :key="link.title" @@ -93,7 +120,7 @@ import { computed, } from 'vue'; import { onBeforeRouteUpdate, useRouter } from 'vue-router'; -import { usePageStore, useMessage } from 'src/common/hooks'; +import { usePageStore } from 'src/common/hooks'; import EssentialLink from 'components/EssentialLink.vue'; // import TopLeftLoading from './TopLeftLoading.vue'; import TopLeftLoading from './TopLeftText.vue'; @@ -111,7 +138,6 @@ export default defineComponent({ setup() { const pageStore = usePageStore(); const router = useRouter(); - const { info } = useMessage(); const leftDrawerOpen = ref(false); const defaultRouter = ref('/page1'); @@ -273,10 +299,13 @@ export default defineComponent({ const closeNotCurrentPage = (page: any) => { pageStore.removeNotCurrentPage(page); getTabsList(); + router.push(pageStore.activeRouter.path); }; const closeAll = () => { - info('æ£åœ¨å¼€å‘ä¸...'); + pageStore.removeAllPage(); + router.push('/home'); + getTabsList(); }; const doNothing = () => { @@ -325,8 +354,6 @@ export default defineComponent({ } .my-tabs { - padding: 0 36px; - box-sizing: border-box; :deep(.q-tab--active) { background-color: $primary-2; } diff --git a/src/modules/page10/element/MyPoems.vue b/src/modules/page10/element/MyPoems.vue index 29d5119..33d56bd 100644 --- a/src/modules/page10/element/MyPoems.vue +++ b/src/modules/page10/element/MyPoems.vue @@ -30,7 +30,7 @@ const carouselRef = ref<any>(null); const slide = ref('100'); onMounted(() => { - // rightClick(); + rightClick(); }); function getStyle(data: any) { @@ -113,7 +113,7 @@ function onPlaying() { transition-prev="fade" transition-next="fade" :transition-duration="1500" - :autoplay="false" + :autoplay="8000" animated infinite height="100%" diff --git a/src/modules/page8/IndexPage.vue b/src/modules/page8/IndexPage.vue index 8bfeb9f..0b30b14 100644 --- a/src/modules/page8/IndexPage.vue +++ b/src/modules/page8/IndexPage.vue @@ -2,6 +2,11 @@ * 动画 * https://www.youtube.com/@OnlineTutorialsYT/playlists --> +<script lang="ts"> +export default { + name: 'PAGE8', +}; +</script> <script setup lang="ts"> // import { ref } from 'vue'; import LoadingCircle from './element/LoadingCircle.vue'; -- 2.21.0