diff --git a/resources/assets/js/components/UserAvatar.vue b/resources/assets/js/components/UserAvatar.vue index 8bb036ffb..4679b5ceb 100755 --- a/resources/assets/js/components/UserAvatar.vue +++ b/resources/assets/js/components/UserAvatar.vue @@ -212,8 +212,9 @@ }, openDialog() { - this.goForward({name: 'manage-messenger'}); - this.$store.dispatch("openDialogUserid", this.userid).catch(() => {}) + this.$store.dispatch("openDialogUserid", this.userid).then(({data}) => { + this.goForward({name: 'manage-messenger', params: {id: data.id}}); + }); } } }; diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 5f9e5b67e..dcf76ceae 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -485,7 +485,6 @@ export default { 'taskId', 'wsOpenNum', 'columnTemplate', - 'dialogOpenId', 'themeMode', 'themeList', @@ -713,8 +712,11 @@ export default { toggleRoute(path) { this.show768Menu = false; - if (path === 'file' && $A.getStorageInt("filePid") > 0) { - path += `/${$A.getStorageInt("filePid")}` + if (path === 'file' && $A.getStorageInt("file::pid") > 0) { + path += `/${$A.getStorageInt("file::pid")}` + } + if (path === 'messenger' && $A.getStorageInt("messenger::dialogId") > 0) { + path += `/${$A.getStorageInt("messenger::dialogId")}` } this.goForward({path: '/manage/' + path}); }, @@ -874,7 +876,7 @@ export default { if (!this.natificationReady) { return; } - if (!this.natificationHidden && this.routePath == "/manage/messenger" && this.dialogOpenId == data.dialog_id) { + if (!this.natificationHidden && $A.leftExists(this.routePath, "/manage/messenger") && this.$route.params.id == data.dialog_id) { return; } // @@ -1003,10 +1005,10 @@ export default { if (!$A.isJson(data)) { return; } - this.goForward({name: 'manage-messenger'}); if (data.dialog_id) { - $A.setStorage("messenger::dialogId", data.dialog_id) - this.$store.state.dialogOpenId = data.dialog_id; + this.goForward({name: 'manage-messenger', params: {id: data.dialog_id}}); + } else { + this.goForward({name: 'manage-messenger'}); } } }, diff --git a/resources/assets/js/pages/manage/calendar.vue b/resources/assets/js/pages/manage/calendar.vue index f0a25a309..98d127867 100644 --- a/resources/assets/js/pages/manage/calendar.vue +++ b/resources/assets/js/pages/manage/calendar.vue @@ -181,9 +181,7 @@ export default { if (num <= 1) return this.wsOpenTimeout && clearTimeout(this.wsOpenTimeout) this.wsOpenTimeout = setTimeout(() => { - if (this.$route.name == 'manage-calendar') { - this.setRenderRange(); - } + this.$route.name == 'manage-calendar' && this.setRenderRange(); }, 5000) } }, diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index d2413b0a8..6004a1428 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -270,7 +270,7 @@ export default { wsOpenNum(num) { if (num <= 1) return - this.$store.dispatch("getDialogMsgs", this.dialogId); + this.$store.dispatch("getDialogMsgs", this.dialogId).catch(_ => {}); } }, diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index 0ef4ce922..ab3e01728 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -1104,9 +1104,7 @@ export default { }; this.msgFile = []; this.msgText = ""; - this.goForward({name: 'manage-messenger', query: {_: $A.randomString(6)}}); - $A.setStorage("messenger::dialogId", data.dialog_id) - this.$store.state.dialogOpenId = data.dialog_id; + this.goForward({name: 'manage-messenger', params: {id: data.dialog_id}}); this.$store.dispatch('openTask', 0); } else { this.sendDialogMsg(); diff --git a/resources/assets/js/pages/manage/file.vue b/resources/assets/js/pages/manage/file.vue index 03241c62a..4b65c1b15 100644 --- a/resources/assets/js/pages/manage/file.vue +++ b/resources/assets/js/pages/manage/file.vue @@ -513,19 +513,13 @@ export default { ...mapState(['userId', 'userToken', 'userIsAdmin', 'userInfo', 'files', 'wsOpenNum']), pid() { - let {pid} = this.$route.params; - if (!/^\d+$/.test(pid)) { - pid = 0 - } - return parseInt(pid); + const {pid} = this.$route.params; + return parseInt(this.$route.name === 'manage-file' && /^\d+$/.test(pid) ? pid : 0); }, fid() { - let {fid} = this.$route.params; - if (!/^\d+$/.test(fid)) { - fid = 0 - } - return parseInt(fid); + const {fid} = this.$route.params; + return parseInt(this.$route.name === 'manage-file' && /^\d+$/.test(fid) ? fid : 0); }, actionUrl() { @@ -850,7 +844,7 @@ export default { this.$store.dispatch("getFiles", this.pid).then(() => { this.loadIng--; this.openFileJudge() - $A.setStorage("filePid", this.pid) + $A.setStorage("file::pid", this.pid) }).catch(({msg}) => { this.loadIng--; $A.modalError({ @@ -920,6 +914,11 @@ export default { }, openFileJudge() { + if (this.$route.name !== 'manage-file') { + this.fileShow = false; + this.imageShow = false; + return; + } if (this.fid <= 0) { this.fileShow = false; this.imageShow = false; diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index fa30ff2c3..b1e344d99 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -39,7 +39,7 @@ operate: dialog.id == topOperateItem.id && topOperateVisible, completed: $A.dialogCompleted(dialog) }" - @click="openDialog(dialog, true)" + @click="openDialog(dialog.id)" @contextmenu.prevent.stop="handleRightClick($event, dialog)">