From 38fa72e9da30a647be1caed560704e0b9c1940dd Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 3 Apr 2025 22:35:46 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/App.vue | 3 +-- .../assets/js/components/AuthException.vue | 15 --------------- .../assets/js/components/Mobile/Back.vue | 4 ---- .../assets/js/components/Mobile/Tabbar.vue | 4 ---- resources/assets/js/components/SearchBox.vue | 11 +++++++++-- resources/assets/js/mixins/state.js | 3 +++ resources/assets/js/pages/manage.vue | 12 ++++-------- .../pages/manage/components/DialogModal.vue | 2 +- .../assets/js/pages/manage/dashboard.vue | 5 ----- .../assets/js/pages/manage/messenger.vue | 4 ---- .../assets/js/pages/manage/setting/index.vue | 4 ---- resources/assets/js/store/state.js | 1 + .../sass/pages/components/dialog-modal.scss | 19 +++++++++++++++---- 13 files changed, 34 insertions(+), 53 deletions(-) diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index e7f9bcdc0..d694c64dd 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -73,7 +73,6 @@ export default { data() { return { - routePath: null, appInter: null, countDown: Math.min(30, 60 - $A.daytz().second()), lastCheckUpgradeYmd: $A.daytz().format('YYYY-MM-DD') @@ -102,8 +101,8 @@ export default { watch: { '$route': { handler(to) { - this.routePath = to.path this.$store.state.routeName = to.name + this.$store.state.routePath = to.path }, immediate: true, }, diff --git a/resources/assets/js/components/AuthException.vue b/resources/assets/js/components/AuthException.vue index 3c6828a61..4e90e21e9 100644 --- a/resources/assets/js/components/AuthException.vue +++ b/resources/assets/js/components/AuthException.vue @@ -28,12 +28,6 @@ import {mapState} from "vuex"; export default { name: 'AuthException', - data() { - return { - routePath: null, - } - }, - computed: { ...mapState(['ajaxAuthException']), @@ -42,15 +36,6 @@ export default { } }, - watch: { - '$route': { - handler(to) { - this.routePath = to.path - }, - immediate: true, - }, - }, - methods: { onClose() { window.close(); diff --git a/resources/assets/js/components/Mobile/Back.vue b/resources/assets/js/components/Mobile/Back.vue index 35e11589f..d5eacbb6a 100644 --- a/resources/assets/js/components/Mobile/Back.vue +++ b/resources/assets/js/components/Mobile/Back.vue @@ -57,10 +57,6 @@ export default { } }, - routeName() { - return this.$route.name - }, - fileFolderId() { const {folderId} = this.$route.params; return parseInt(/^\d+$/.test(folderId) ? folderId : 0); diff --git a/resources/assets/js/components/Mobile/Tabbar.vue b/resources/assets/js/components/Mobile/Tabbar.vue index 81be5dfee..51688a5ee 100644 --- a/resources/assets/js/components/Mobile/Tabbar.vue +++ b/resources/assets/js/components/Mobile/Tabbar.vue @@ -45,10 +45,6 @@ export default { ...mapState(['cacheDialogs', 'reportUnreadNumber', 'approveUnreadNumber']), ...mapGetters(['dashboardTask']), - routeName() { - return this.$route.name - }, - /** * 综合数(未读、提及、待办) * @returns {string|string} diff --git a/resources/assets/js/components/SearchBox.vue b/resources/assets/js/components/SearchBox.vue index b07a11c65..d2d4ff372 100755 --- a/resources/assets/js/components/SearchBox.vue +++ b/resources/assets/js/components/SearchBox.vue @@ -216,15 +216,22 @@ export default { break; case 'message': - this.$store.dispatch("openDialog", item.id).then(() => { + this.$store.dispatch("openDialog", item.id).then(_ => { this.$store.state.dialogSearchMsgId = /^\d+$/.test(item.rawData.search_msg_id) ? item.rawData.search_msg_id : 0 + if (this.routeName === 'manage-messenger') { + this.onHide() + } }).catch(({msg}) => { $A.modalError(msg || this.$L('打开会话失败')) }) break; case 'contact': - this.$store.dispatch("openDialogUserid", item.id).catch(({msg}) => { + this.$store.dispatch("openDialogUserid", item.id).then(_ => { + if (this.routeName === 'manage-messenger') { + this.onHide() + } + }).catch(({msg}) => { $A.modalError(msg || this.$L('打开会话失败')) }); break; diff --git a/resources/assets/js/mixins/state.js b/resources/assets/js/mixins/state.js index edd44a3b1..0d4754651 100644 --- a/resources/assets/js/mixins/state.js +++ b/resources/assets/js/mixins/state.js @@ -17,6 +17,9 @@ export default { 'userId', 'userToken', + + 'routeName', + 'routePath', ]) } } diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index c2edce2c5..d2781b368 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -523,10 +523,6 @@ export default { ...mapGetters(['dashboardTask']), - routeName() { - return this.$route.name - }, - // okr路由 okrUrl() { return import.meta.env.VITE_OKR_WEB_URL || $A.mainUrl("apps/okr") @@ -872,12 +868,12 @@ export default { }, classNameRoute(path) { - let routeName = this.routeName - if(routeName == 'manage-approve' || routeName == 'manage-apps'){ - routeName = `manage-application` + let name = this.routeName + if (name == 'manage-approve' || name == 'manage-apps') { + name = `manage-application` } return { - "active": routeName === `manage-${path}`, + "active": name === `manage-${path}`, }; }, diff --git a/resources/assets/js/pages/manage/components/DialogModal.vue b/resources/assets/js/pages/manage/components/DialogModal.vue index f32a25213..276771204 100644 --- a/resources/assets/js/pages/manage/components/DialogModal.vue +++ b/resources/assets/js/pages/manage/components/DialogModal.vue @@ -36,7 +36,7 @@ export default { }, computed: { - ...mapState(['dialogId', 'routeName', 'windowOrientation']), + ...mapState(['dialogId', 'windowOrientation']), modalStyles() { if (this.windowPortrait) { diff --git a/resources/assets/js/pages/manage/dashboard.vue b/resources/assets/js/pages/manage/dashboard.vue index e274fce42..13ff7a724 100644 --- a/resources/assets/js/pages/manage/dashboard.vue +++ b/resources/assets/js/pages/manage/dashboard.vue @@ -149,13 +149,8 @@ export default { computed: { ...mapState(['systemConfig', 'userInfo', 'userIsAdmin', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks']), - ...mapGetters(['dashboardTask', 'assistTask', 'transforTasks']), - routeName() { - return this.$route.name - }, - columns({hiddenColumns, dashboardTask, assistTask}) { const list = []; ['today', 'overdue', 'todo'].some(type => { diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 04eba4c13..7ab28de0b 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -371,10 +371,6 @@ export default { ...mapGetters(['getDialogDraft', 'tagDialogDraft']), - routeName() { - return this.$route.name - }, - contactAvatarSize() { return this.windowPortrait ? 36 : 30 }, diff --git a/resources/assets/js/pages/manage/setting/index.vue b/resources/assets/js/pages/manage/setting/index.vue index 41402cbbe..49547e83d 100644 --- a/resources/assets/js/pages/manage/setting/index.vue +++ b/resources/assets/js/pages/manage/setting/index.vue @@ -64,10 +64,6 @@ export default { computed: { ...mapState(['userInfo', 'userIsAdmin', 'clientNewVersion', 'systemConfig']), - routeName() { - return this.$route.name - }, - showContent() { return this.$route.path.match(/^\/manage\/setting\/\w+$/) }, diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index 3043173f3..7941edb52 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -50,6 +50,7 @@ export default { // 路由记录 routeName: null, + routePath: null, routeHistorys: [], routeHistoryLast: {}, routeLoading: 0, diff --git a/resources/assets/sass/pages/components/dialog-modal.scss b/resources/assets/sass/pages/components/dialog-modal.scss index be7968074..09320a75a 100644 --- a/resources/assets/sass/pages/components/dialog-modal.scss +++ b/resources/assets/sass/pages/components/dialog-modal.scss @@ -8,10 +8,6 @@ body { .ivu-modal-content { background: transparent; - .ivu-modal-close { - display: none; - } - .ivu-modal-body { padding: 0; display: flex; @@ -29,12 +25,23 @@ body { .ivu-modal { margin: 0; padding: 0; + + .ivu-modal-content { + .ivu-modal-close { + display: none; + } + } } } &.dialog-landscape { .ivu-modal { .ivu-modal-content { + .ivu-modal-close { + top: 12px; + z-index: 2; + } + .ivu-modal-body { .dialog-wrapper { position: relative; @@ -45,6 +52,10 @@ body { .dialog-nav { .nav-wrapper { padding: 0 20px; + + .dialog-menu { + margin-right: 18px; + } } }