diff --git a/resources/assets/js/pages/manage/components/DialogModal.vue b/resources/assets/js/pages/manage/components/DialogModal.vue index 0c1591060..81da0ce84 100644 --- a/resources/assets/js/pages/manage/components/DialogModal.vue +++ b/resources/assets/js/pages/manage/components/DialogModal.vue @@ -93,6 +93,7 @@ export default { }, show(v) { + this.$store.state.dialogModalShow = v; $A.eeuiAppSetScrollDisabled(v && this.windowPortrait) } }, diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 4a4d47b65..8153a0a2a 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3156,8 +3156,12 @@ export default { return } // - if (state.dialogId) { - emitter.emit('handleMoveTop', 'dialogModal'); // 已打开对话时将对话窗口置顶 + if (state.dialogModalShow) { + // 已打开对话时将对话窗口置顶 + emitter.emit('handleMoveTop', 'dialogModal'); + } else if (state.dialogId === dialogId) { + // 如果对话窗口未打开,则清除当前对话ID(避免类此:已经在消息中打开项目对话时无法在其他地方打开项目对话) + state.dialogId = 0; } // requestAnimationFrame(_ => { diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index 5986ae413..54a0de7d6 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -143,6 +143,7 @@ export default { dialogSseList: [], dialogDroupWordChain: {}, dialogGroupVote: {}, + dialogModalShow: false, // 搜索关键词(主要用于移动端判断滑动返回) messengerSearchKey: {dialog: '', contacts: ''},