diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 6ee70b5a2..e7a346818 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -97,6 +97,14 @@ Vue.prototype.goForward = function(location, isReplace) { if (typeof location === 'string') { location = {name: location}; } + // 打开聊天窗口(移动端) + if (app.$store.state.windowMax768 + && location.name === 'manage-messenger' + && /\d+/.test(location.params.dialogId)) { + app.$store.state.dialogModalId = location.params.dialogId; + return + } + // if (app.$store.state.routeHistorys.length === 0) { app.$store.state.routeHistorys.push(app.$route) } diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 59aeb297b..e9f1bc02b 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -322,6 +322,9 @@ + + + + + + + + + + + + diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index f60d5088b..0463394c8 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -297,6 +297,7 @@ export default { type: Boolean, default: false }, + beforeBack: Function }, data() { @@ -853,6 +854,20 @@ export default { }, onBack() { + if (!this.beforeBack) { + return this.handleBack(); + } + const before = this.beforeBack(); + if (before && before.then) { + before.then(() => { + this.handleBack(); + }); + } else { + this.handleBack(); + } + }, + + handleBack() { const {name, params} = this.$store.state.routeHistoryLast; if (name === this.$route.name && /\d+/.test(params.dialogId)) { this.goForward({name: this.$route.name}); diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index 0cf71fbfe..e4a70b401 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -1117,7 +1117,6 @@ export default { this.msgFile = []; this.msgText = ""; this.goForward({name: 'manage-messenger', params: {dialogId: data.dialog_id}, query: {_: $A.randomString(6)}}); - this.$store.dispatch('openTask', 0); } else { this.sendDialogMsg(); } diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 7f88a3c2f..4f9af26e0 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -132,16 +132,13 @@ - -
-
-
-
{{$L('选择一个会话开始聊天')}}
-
- +
+
+
+
{{$L('选择一个会话开始聊天')}}
- - + +
diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index 9387205d4..36bc8afbc 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -66,8 +66,9 @@ const stateData = { // 会话聊天 dialogMsgs: [], - dialogMsgTransfer: {time: 0}, dialogInputCache: $A.getStorageArray("cacheDialogInput"), + dialogMsgTransfer: {time: 0}, + dialogModalId: 0, // 文件 files: [], diff --git a/resources/assets/sass/components/mobile.scss b/resources/assets/sass/components/mobile.scss index 7ba2755d8..13ca79ff4 100644 --- a/resources/assets/sass/components/mobile.scss +++ b/resources/assets/sass/components/mobile.scss @@ -245,9 +245,6 @@ .mobile-dialog-leave-active { transition: all 0.3s ease; - .dialog-wrapper { - bottom: -60px; - } } .mobile-dialog-enter, diff --git a/resources/assets/sass/pages/page-messenger.scss b/resources/assets/sass/pages/page-messenger.scss index 7a7a2acfa..0baf73db5 100644 --- a/resources/assets/sass/pages/page-messenger.scss +++ b/resources/assets/sass/pages/page-messenger.scss @@ -511,11 +511,7 @@ } } .messenger-msg { - z-index: 49; - background-color: #f8f8f8; - .msg-dialog-bg { - display: none; - } + display: none; } } }