From b5041b92d08d233dec6bb9ebfd6bccbcd49d7a77 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Wed, 23 Jun 2021 00:57:41 +0800 Subject: [PATCH] no message --- .../pages/manage/components/DialogWrapper.vue | 27 +++++++++++++++++-- .../pages/manage/components/ProjectDialog.vue | 5 ++-- .../js/pages/manage/components/TaskDetail.vue | 3 +-- .../assets/js/pages/manage/messenger.vue | 2 +- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 73404d90c..e5a812980 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -106,6 +106,7 @@ export default { autoInterval: null, dialogDrag: false, + dialogReady: false, msgText: '', msgNew: 0, @@ -162,17 +163,39 @@ export default { }, dialogId: { - handler(id) { + handler() { + this.dialogReady = false; this.autoBottom = true; this.msgNew = 0; this.topId = -1; - this.$store.dispatch("getDialogMsgs", id); + this.getMsg(); }, immediate: true + }, + + dialogs: { + handler() { + this.getMsg(); + }, + deep: true } }, methods: { + getMsg() { + if (!this.dialogId) { + return; + } + if (this.dialogs.findIndex(({id}) => id == this.dialogId) === -1) { + return; + } + if (this.dialogReady) { + return; + } + this.dialogReady = true; + this.$store.dispatch("getDialogMsgs", this.dialogId); + }, + sendMsg(text) { if (typeof text === "string" && text) { this.msgText = text; diff --git a/resources/assets/js/pages/manage/components/ProjectDialog.vue b/resources/assets/js/pages/manage/components/ProjectDialog.vue index 3ec87339b..c8215ba89 100644 --- a/resources/assets/js/pages/manage/components/ProjectDialog.vue +++ b/resources/assets/js/pages/manage/components/ProjectDialog.vue @@ -1,6 +1,6 @@