From e996528fa04759851518a9fc307f8d34974050ff Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Fri, 24 Oct 2025 10:44:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/TagsView/index.vue | 2 +- src/plugins/tab.js | 153 ++++++++++-------- .../person-entry/shanghai-pro-setting.vue | 2 + 3 files changed, 91 insertions(+), 66 deletions(-) diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue index 7dd9c7f..c0902a6 100644 --- a/src/layout/components/TagsView/index.vue +++ b/src/layout/components/TagsView/index.vue @@ -207,7 +207,7 @@ export default { } }, closeSelectedTag(view) { - this.refreshSelectedTag(view) + this.$tab.refreshPage(view) this.$tab.closePage(view).then(({ visitedViews }) => { if (this.isActive(view)) { this.toLastView(visitedViews, view) diff --git a/src/plugins/tab.js b/src/plugins/tab.js index fcde419..4c75344 100644 --- a/src/plugins/tab.js +++ b/src/plugins/tab.js @@ -1,71 +1,94 @@ import store from '@/store' -import router from '@/router'; +import router from '@/router' export default { - // 刷新当前tab页签 - refreshPage(obj) { - const { path, query, matched } = router.currentRoute; - 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 }; - } + // 刷新当前tab页签 + refreshPage(obj) { + const { path, query, matched } = router.currentRoute + 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 store.dispatch('tagsView/delCachedView', obj).then(() => { - const { path, query } = obj - router.replace({ - path: '/redirect' + path, - query: query - }) - }) - }, - // 关闭当前tab页签,打开新页签 - closeOpenPage(obj) { - store.dispatch("tagsView/delView", router.currentRoute); - if (obj !== undefined) { - return router.push(obj); - } - }, - // 关闭指定tab页签 - closePage(obj) { - if (obj === undefined) { - return store.dispatch('tagsView/delView', router.currentRoute).then(({ visitedViews }) => { - const latestView = visitedViews.slice(-1)[0] - if (latestView) { - return router.push(latestView.fullPath) + return store.dispatch('tagsView/delCachedView', obj).then(() => { + const { path, query } = obj + router.replace({ + path: '/redirect' + path, + query: query, + }) + }) + }, + // 关闭当前tab页签,打开新页签 + closeOpenPage(obj) { + store.dispatch('tagsView/delView', router.currentRoute) + if (obj !== undefined) { + return router.push(obj) } - return router.push('/'); - }); - } - return store.dispatch('tagsView/delView', obj); - }, - // 关闭所有tab页签 - closeAllPage() { - return store.dispatch('tagsView/delAllViews'); - }, - // 关闭左侧tab页签 - closeLeftPage(obj) { - return store.dispatch('tagsView/delLeftTags', obj || router.currentRoute); - }, - // 关闭右侧tab页签 - closeRightPage(obj) { - return store.dispatch('tagsView/delRightTags', obj || router.currentRoute); - }, - // 关闭其他tab页签 - closeOtherPage(obj) { - return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute); - }, - // 添加tab页签 - openPage(title, url, params) { - const obj = { path: url, meta: { title: title } } - store.dispatch('tagsView/addView', obj); - return router.push({ path: url, query: params }); - }, - // 修改tab页签 - updatePage(obj) { - return store.dispatch('tagsView/updateVisitedView', obj); - } + }, + // 关闭指定tab页签 + closePage(obj) { + if (obj === undefined) { + return store + .dispatch('tagsView/delView', router.currentRoute) + .then(({ visitedViews }) => { + const latestView = visitedViews.slice(-1)[0] + if (latestView) { + return router.push(latestView.fullPath) + } + return router.push('/') + }) + } + return store.dispatch('tagsView/delView', obj) + }, + // 关闭所有tab页签 + closeAllPage() { + return store.dispatch('tagsView/delAllViews') + }, + // 关闭左侧tab页签 + closeLeftPage(obj) { + return store.dispatch( + 'tagsView/delLeftTags', + obj || router.currentRoute, + ) + }, + // 关闭右侧tab页签 + closeRightPage(obj) { + return store.dispatch( + 'tagsView/delRightTags', + obj || router.currentRoute, + ) + }, + // 关闭其他tab页签 + closeOtherPage(obj) { + return store.dispatch( + 'tagsView/delOthersViews', + obj || router.currentRoute, + ) + }, + // 添加tab页签 + openPage(title, url, params) { + const obj = { path: url, meta: { title: title } } + store.dispatch('tagsView/addView', obj) + return router.push({ path: url, query: params }) + }, + // 修改tab页签 + updatePage(obj) { + return store.dispatch('tagsView/updateVisitedView', obj) + }, } diff --git a/src/views/construction-person/entry-and-exit-manage/person-entry/shanghai-pro-setting.vue b/src/views/construction-person/entry-and-exit-manage/person-entry/shanghai-pro-setting.vue index 905acad..d73ee03 100644 --- a/src/views/construction-person/entry-and-exit-manage/person-entry/shanghai-pro-setting.vue +++ b/src/views/construction-person/entry-and-exit-manage/person-entry/shanghai-pro-setting.vue @@ -219,6 +219,7 @@ import { getShanghaiProByIdNumberAPI, getShanghaiProListByWorkerIdAPI, addShanghaiProEinAPI, + updatePersonLightStatusAPI, } from '@/api/construction-person/entry-and-exit-manage/person-entry' import { getPostTypeSelectListCommonFun } from '@/utils/getCommonData' import { @@ -462,6 +463,7 @@ export default { if (res.code === 200) { this.$modal.msgSuccess('新增成功') resolve(true) + await updatePersonLightStatusAPI(this.workerId) } else { reject(false) }