From 9771e1e74164e8f34feb1eaab729039824ea9089 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 25 Apr 2023 10:33:25 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/App.vue | 43 +++++++++++----- resources/assets/js/components/AutoTip.vue | 2 +- resources/assets/js/components/Loading.vue | 2 +- .../assets/js/components/Mobile/Tabbar.vue | 2 +- .../js/components/PreviewImage/index.vue | 2 +- resources/assets/js/components/ResizeLine.vue | 26 ---------- .../assets/js/components/RightBottom.vue | 2 +- .../assets/js/components/TableAction.vue | 2 +- resources/assets/js/components/UserAvatar.vue | 2 +- resources/assets/js/pages/login.vue | 2 +- resources/assets/js/pages/manage.vue | 2 +- resources/assets/js/pages/manage/calendar.vue | 2 +- .../manage/components/ChatInput/index.vue | 20 ++++---- .../pages/manage/components/DialogModal.vue | 4 +- .../pages/manage/components/DialogWrapper.vue | 10 ++-- .../pages/manage/components/FileContent.vue | 4 +- .../manage/components/MeetingManager.vue | 2 +- .../manage/components/ProjectArchived.vue | 2 +- .../pages/manage/components/ProjectDialog.vue | 2 +- .../pages/manage/components/ProjectList.vue | 2 +- .../manage/components/ProjectManagement.vue | 2 +- .../pages/manage/components/ProjectPanel.vue | 18 +++---- .../manage/components/ProjectWorkflow.vue | 2 +- .../js/pages/manage/components/ReportEdit.vue | 4 +- .../js/pages/manage/components/ReportMy.vue | 2 +- .../pages/manage/components/ReportReceive.vue | 2 +- .../js/pages/manage/components/TaskAdd.vue | 6 +-- .../pages/manage/components/TaskAddSimple.vue | 4 +- .../pages/manage/components/TaskArchived.vue | 2 +- .../pages/manage/components/TaskDeleted.vue | 2 +- .../js/pages/manage/components/TaskDetail.vue | 10 ++-- .../js/pages/manage/components/TaskRow.vue | 2 +- .../manage/components/TeamManagement.vue | 6 +-- .../assets/js/pages/manage/dashboard.vue | 2 +- resources/assets/js/pages/manage/file.vue | 8 +-- .../assets/js/pages/manage/messenger.vue | 8 +-- resources/assets/js/pages/manage/project.vue | 2 +- .../setting/components/SystemSetting.vue | 2 +- .../assets/js/pages/manage/setting/index.vue | 6 +-- resources/assets/js/pages/single/file.vue | 2 +- resources/assets/js/store/mixin.js | 7 ++- resources/assets/js/store/state.js | 39 +++++++++------ resources/assets/sass/components/_.scss | 1 + resources/assets/sass/components/mobile.scss | 4 +- .../assets/sass/components/resize-line.scss | 30 ++++++++++++ .../assets/sass/components/right-bottom.scss | 2 +- .../sass/pages/components/chat-input.scss | 2 +- .../pages/components/dialog-group-info.scss | 29 ++++++----- .../sass/pages/components/dialog-respond.scss | 20 +++++--- .../sass/pages/components/dialog-wrapper.scss | 24 ++++----- .../sass/pages/components/file-content.scss | 20 ++++---- .../pages/components/meeting-manager.scss | 49 ++++++++++++------- .../sass/pages/components/project-panel.scss | 2 +- .../sass/pages/components/task-add.scss | 2 +- .../sass/pages/components/task-detail.scss | 2 +- .../assets/sass/pages/page-calendar.scss | 19 +++---- .../assets/sass/pages/page-dashboard.scss | 2 +- resources/assets/sass/pages/page-file.scss | 2 +- resources/assets/sass/pages/page-login.scss | 2 +- resources/assets/sass/pages/page-manage.scss | 2 +- .../assets/sass/pages/page-messenger.scss | 2 +- resources/assets/sass/pages/page-setting.scss | 2 +- resources/views/desktop.blade.php | 2 +- 63 files changed, 278 insertions(+), 215 deletions(-) create mode 100644 resources/assets/sass/components/resize-line.scss diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index 8fbe870f5..ddba29555 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -13,12 +13,12 @@ - - - + + + @@ -73,7 +73,7 @@ export default { }, computed: { - ...mapState(['ws', 'themeMode', 'supportTouch']), + ...mapState(['ws', 'themeMode', 'windowOrientation']), isSoftware() { return this.$Electron || this.$isEEUiApp; @@ -139,17 +139,25 @@ export default { immediate: true }, - supportTouch: { + windowTouch: { handler(support) { if (support) { - $A("body").addClass("support-touch") + $A("body").addClass("window-touch") } else { - $A("body").removeClass("support-touch") + $A("body").removeClass("window-touch") } }, immediate: true }, + windowOrientation: { + handler(direction) { + $A("body").removeClass(["window-landscape", "window-portrait"]) + $A("body").addClass("window-" + direction) + }, + immediate: true + }, + windowActive(active) { if (active) { this.__windowTimer && clearTimeout(this.__windowTimer) @@ -223,12 +231,21 @@ export default { }, windowSizeListener() { - this.$store.state.windowWidth = $A(window).width() - this.$store.state.windowHeight = $A(window).height() - this.$store.state.windowLarge = this.$store.state.windowWidth > 834 - this.$store.state.windowSmall = this.$store.state.windowWidth <= 834 - this.$store.state.formLabelPosition = this.$store.state.windowWidth > 576 ? 'right' : 'top' - this.$store.state.formLabelWidth = this.$store.state.windowWidth > 576 ? 'auto' : '' + const windowWidth = $A(window).width(), + windowHeight = $A(window).height(), + windowOrientation = $A.strExists(window.screen.orientation.type, 'portrait') ? 'portrait' : 'landscape' + + this.$store.state.windowTouch = "ontouchend" in document + + this.$store.state.windowWidth = windowWidth + this.$store.state.windowHeight = windowHeight + + this.$store.state.windowOrientation = windowOrientation + this.$store.state.windowLandscape = windowOrientation === 'landscape' + this.$store.state.windowPortrait = windowOrientation === 'portrait' + + this.$store.state.formLabelPosition = windowWidth > 576 ? 'right' : 'top' + this.$store.state.formLabelWidth = windowWidth > 576 ? 'auto' : '' }, windowScrollListener() { diff --git a/resources/assets/js/components/AutoTip.vue b/resources/assets/js/components/AutoTip.vue index 04466b33a..4bdf8c5e1 100644 --- a/resources/assets/js/components/AutoTip.vue +++ b/resources/assets/js/components/AutoTip.vue @@ -4,7 +4,7 @@ :placement="placement" :effect="tooltipTheme" :delay="delay" - :disabled="windowSmall || $isEEUiApp || !showTooltip || disabled" + :disabled="$isEEUiApp || windowTouch || !showTooltip || disabled" :max-width="tooltipMaxWidth" transfer> diff --git a/resources/assets/js/components/Loading.vue b/resources/assets/js/components/Loading.vue index 4447ebe31..bd2d5a8c1 100644 --- a/resources/assets/js/components/Loading.vue +++ b/resources/assets/js/components/Loading.vue @@ -1,5 +1,5 @@