From 64d172717748c383a5c88348037354bffd60f966 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 27 五月 2025 17:52:03 +0800 Subject: [PATCH] 页面样式修改 --- src/plugins/tab.js | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 deletions(-) diff --git a/src/plugins/tab.js b/src/plugins/tab.js new file mode 100644 index 0000000..578607c --- /dev/null +++ b/src/plugins/tab.js @@ -0,0 +1,71 @@ +import useTagsViewStore from '@/store/modules/tagsView' +import router from '@/router' + +export default { + // 鍒锋柊褰撳墠tab椤电 + refreshPage(obj) { + const { path, query, matched } = router.currentRoute.value + if (obj === undefined) { + matched.forEach((m) => { + if (m.components && m.components.default && m.components.default.name) { + if (!['Layout', 'ParentView'].includes(m.components.default.name)) { + obj = { name: m.components.default.name, path: path, query: query } + } + } + }) + } + return useTagsViewStore().delCachedView(obj).then(() => { + const { path, query } = obj + router.replace({ + path: '/redirect' + path, + query: query + }) + }) + }, + // 鍏抽棴褰撳墠tab椤电锛屾墦寮�鏂伴〉绛� + closeOpenPage(obj) { + useTagsViewStore().delView(router.currentRoute.value) + if (obj !== undefined) { + return router.push(obj) + } + }, + // 鍏抽棴鎸囧畾tab椤电 + closePage(obj) { + if (obj === undefined) { + return useTagsViewStore().delView(router.currentRoute.value).then(({ visitedViews }) => { + const latestView = visitedViews.slice(-1)[0] + if (latestView) { + return router.push(latestView.fullPath) + } + return router.push('/') + }) + } + return useTagsViewStore().delView(obj) + }, + // 鍏抽棴鎵�鏈塼ab椤电 + closeAllPage() { + return useTagsViewStore().delAllViews() + }, + // 鍏抽棴宸︿晶tab椤电 + closeLeftPage(obj) { + return useTagsViewStore().delLeftTags(obj || router.currentRoute.value) + }, + // 鍏抽棴鍙充晶tab椤电 + closeRightPage(obj) { + return useTagsViewStore().delRightTags(obj || router.currentRoute.value) + }, + // 鍏抽棴鍏朵粬tab椤电 + closeOtherPage(obj) { + return useTagsViewStore().delOthersViews(obj || router.currentRoute.value) + }, + // 鎵撳紑tab椤电 + openPage(title, url, params) { + const obj = { path: url, meta: { title: title } } + useTagsViewStore().addView(obj) + return router.push({ path: url, query: params }) + }, + // 淇敼tab椤电 + updatePage(obj) { + return useTagsViewStore().updateVisitedView(obj) + } +} -- Gitblit v1.9.3