diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index 3ab6edeb..c1e66c69 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -595,10 +595,14 @@ export default { immediate: true, deep: true }, + 'openTask.dialog_id' (dialog_id) { + if (dialog_id) { + this.$store.dispatch("getDialogMsgList", dialog_id) + } + }, 'openTask._show' (show) { if (show) { this.$nextTick(() => { - this.$store.dispatch("getDialogMsgList", this.taskDetail.dialog_id) this.$refs.input.focus() }); } else { @@ -996,7 +1000,7 @@ export default { task_id: this.taskDetail.id, }, }).then(({data}) => { - this.$store.commit("taskDialogSuccess", data); + this.$store.dispatch("saveTask", data); this.$nextTick(() => { this.$refs.dialog.sendMsg(this.msgText); this.msgText = ""; diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index d1661c79..947984e1 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -83,6 +83,7 @@ export default { dialogLoad: 0, dialogKey: '', dialogType: '', + dialogMounted: false, contactsLoad: 0, contactsLists: null, @@ -93,16 +94,20 @@ export default { this.dialogLoad++; this.$store.dispatch("getDialogList").then(() => { this.dialogLoad--; + this.dialogMounted = true; this.openDialogStorage(); }).catch(() => { this.dialogLoad--; + this.dialogMounted = true; this.openDialogStorage(); }); }, activated() { - this.$store.dispatch("getDialogList"); - this.openDialogStorage(); + if (this.dialogMounted) { + this.$store.dispatch("getDialogList"); + this.openDialogStorage(); + } }, computed: { diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 9ac6757b..b551804b 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -1208,13 +1208,13 @@ export default { case 'upload': commit("taskUploadSuccess", data) break; - case 'dialog': - commit("taskDialogSuccess", data) - break; case 'archived': case 'delete': commit("taskDeleteSuccess", data) break; + case 'dialog': + dispatch("saveTask", data) + break; } })(msgDetail); break; diff --git a/resources/assets/js/store/mutations.js b/resources/assets/js/store/mutations.js index edfcca2f..3f717230 100644 --- a/resources/assets/js/store/mutations.js +++ b/resources/assets/js/store/mutations.js @@ -141,16 +141,6 @@ export default { }); }, - /** - * 任务打开聊天 - * @param state - * @param data - */ - taskDialogSuccess(state, data) { - this.dispatch("saveTask", data); - this.dispatch("getDialogMsgList", data.dialog_id); - }, - /** * 删除任务 * @param state diff --git a/resources/assets/sass/pages/components/task-detail.scss b/resources/assets/sass/pages/components/task-detail.scss index da481b82..8dc3f1a8 100644 --- a/resources/assets/sass/pages/components/task-detail.scss +++ b/resources/assets/sass/pages/components/task-detail.scss @@ -430,6 +430,7 @@ top: 0; left: 0; bottom: 0; + z-index: 1; width: 1px; background-color: #f4f5f5; }