diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index da8a0166c..cde9264ef 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -515,6 +515,8 @@ export default { 'clientNewVersion', 'cacheTaskBrowse', + + 'dialogModalId', ]), ...mapGetters(['taskData', 'dashboardTask']), @@ -927,7 +929,7 @@ export default { } if (!this.natificationHidden && this.routeName === 'manage-messenger' - && this.$route.params.dialogId == data.dialog_id) { + && (this.$route.params.dialogId == data.dialog_id || this.dialogModalId === data.dialog_id)) { return; // 可见 且 路由匹配时 } // diff --git a/resources/assets/js/pages/manage/components/DialogModal.vue b/resources/assets/js/pages/manage/components/DialogModal.vue index 36dc3dc6b..8480beb87 100644 --- a/resources/assets/js/pages/manage/components/DialogModal.vue +++ b/resources/assets/js/pages/manage/components/DialogModal.vue @@ -8,9 +8,7 @@ :beforeClose="onBeforeClose" class-name="dialog-modal" fullscreen> - - - + @@ -66,7 +64,15 @@ export default { this.show = id > 0; }, immediate: true - } + }, + windowLarge: { + handler(is) { + if (is && this.dialogModalId > 0) { + this.$store.state.dialogModalId = 0; + } + }, + immediate: true + }, }, methods: { diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 0b94a1fee..8375cc8e9 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -6,7 +6,8 @@ :style="wrapperStyle" @drop.prevent="chatPasteDrag($event, 'drag')" @dragover.prevent="chatDragOver(true, $event)" - @dragleave.prevent="chatDragOver(false, $event)"> + @dragleave.prevent="chatDragOver(false, $event)" + @touchmove="onTouchmove">
@@ -662,6 +663,12 @@ export default { } }, + onTouchmove(e) { + if (this.windowSmall && !this.$refs.scroller.$el.contains(e.target)) { + e.preventDefault(); + } + }, + pasteSend() { this.pasteFile.some(file => { this.$refs.chatUpload.upload(file) diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index c5071e9f0..cfb675eac 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -356,6 +356,14 @@ export default { }, immediate: true }, + windowSmall: { + handler(is) { + if (is && this.dialogId > 0) { + this.goForward({name: 'manage-messenger', params: {dialogId: 'dialog'}}, true); + } + }, + immediate: true + }, }, methods: {