From 41ceb9bd82af9d8039f7d6dbcc21b6ed5265f111 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 7 Mar 2022 01:35:12 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E9=A1=B9=E7=9B=AE=E3=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=AF=B9=E8=AF=9D=E7=BD=AE=E9=A1=B6=E5=90=8E=E8=A6=81?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E5=88=B0=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=88=B0?= =?UTF-8?q?=E5=AE=83=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/pages/manage.vue | 12 ++++++-- .../assets/js/pages/manage/messenger.vue | 8 +++--- resources/assets/js/store/actions.js | 28 +++++++++++-------- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 91513a955..d9aae5eda 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -889,9 +889,17 @@ export default { project_id: this.topOperateItem.id, }, }).then(() => { - this.$store.dispatch("getProjects").catch(() => {}); + this.$store.dispatch("getProjects").then(() => { + let active = this.$refs.projectWrapper.querySelector(".active") + if (active) { + $A.scrollToView(active, { + behavior: 'smooth', + scrollMode: 'if-needed', + }); + } + }).catch(() => {}); }).catch(({msg}) => { - $A.modalError(msg, 301); + $A.modalError(msg); }); }, diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 5aaf50fc0..e450f7843 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -470,11 +470,11 @@ export default { dialog_id: this.topOperateItem.id, }, }).then(() => { - this.$store.dispatch("getDialogs"); - this.$Modal.remove(); + this.$store.dispatch("getDialogs").then(() => { + this.scrollIntoActive(true) + }); }).catch(({msg}) => { - $A.modalError(msg, 301); - this.$Modal.remove(); + $A.modalError(msg); }); } } diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 3a66cf60f..eacbbad96 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -205,7 +205,7 @@ export default { */ getBasicData({dispatch}) { dispatch("getProjects").catch(() => {}); - dispatch("getDialogs"); + dispatch("getDialogs").catch(() => {}); dispatch("getTaskForDashboard"); }, @@ -1813,18 +1813,24 @@ export default { * 获取会话列表 * @param state * @param dispatch + * @returns {Promise} */ getDialogs({state, dispatch}) { - if (state.userId === 0) { - state.cacheDialogs = []; - return; - } - dispatch("call", { - url: 'dialog/lists', - }).then(result => { - dispatch("saveDialog", result.data.data); - }).catch(e => { - console.warn(e); + return new Promise(function (resolve, reject) { + if (state.userId === 0) { + state.cacheDialogs = []; + reject({msg: 'Parameter error'}); + return; + } + dispatch("call", { + url: 'dialog/lists', + }).then(result => { + dispatch("saveDialog", result.data.data); + resolve(result) + }).catch(e => { + console.warn(e); + reject(e) + }); }); },