fix: 移动端在任务提醒打开任务无法聊天的问题

This commit is contained in:
kuaifan 2023-02-22 11:48:00 +08:00
parent 405e5aa03a
commit 9d5c5e0982
3 changed files with 21 additions and 16 deletions

View File

@ -850,8 +850,8 @@ export default {
}, },
dialogMsgTransfer: { dialogMsgTransfer: {
handler({time, msgFile, msgRecord, msgText}) { handler({time, msgFile, msgRecord, msgText, dialogId}) {
if (time > $A.Time()) { if (time > $A.Time() && dialogId == this.dialogId) {
this.$store.state.dialogMsgTransfer.time = 0; this.$store.state.dialogMsgTransfer.time = 0;
this.$nextTick(() => { this.$nextTick(() => {
if ($A.isArray(msgFile) && msgFile.length > 0) { if ($A.isArray(msgFile) && msgFile.length > 0) {

View File

@ -799,10 +799,8 @@ export default {
openTask: { openTask: {
handler(data) { handler(data) {
this.taskDetail = $A.cloneJSON(data); this.taskDetail = $A.cloneJSON(data);
if (this.$refs.name) {
this.__openTask && clearTimeout(this.__openTask); this.__openTask && clearTimeout(this.__openTask);
this.__openTask = setTimeout(this.$refs.name.resizeTextarea, 100) this.__openTask = setTimeout(_ => this.$refs.name?.resizeTextarea(), 100)
}
}, },
immediate: true, immediate: true,
deep: true deep: true
@ -1291,11 +1289,12 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
if (this.windowSmall) { if (this.windowSmall) {
$A.onBlur(); $A.onBlur();
this.$store.state.dialogMsgTransfer = { const transferData = {
time: $A.Time() + 10, time: $A.Time() + 10,
msgRecord: this.msgRecord, msgRecord: this.msgRecord,
msgFile: this.msgFile, msgFile: this.msgFile,
msgText: typeof msgText === 'string' && msgText ? msgText : this.msgText, msgText: typeof msgText === 'string' && msgText ? msgText : this.msgText,
dialogId: data.dialog_id,
}; };
this.msgRecord = {}; this.msgRecord = {};
this.msgFile = []; this.msgFile = [];
@ -1304,7 +1303,9 @@ export default {
// //
this.$store.dispatch("openTask", 0); this.$store.dispatch("openTask", 0);
} }
this.$store.dispatch('openDialog', data.dialog_id) this.$store.dispatch('openDialog', data.dialog_id).then(_ => {
this.$store.state.dialogMsgTransfer = transferData
})
} else { } else {
this.sendDialogMsg(msgText); this.sendDialogMsg(msgText);
} }

View File

@ -2245,8 +2245,10 @@ export default {
* @param state * @param state
* @param dispatch * @param dispatch
* @param dialog_id * @param dialog_id
* @returns {Promise<unknown>}
*/ */
openDialog({state, dispatch}, dialog_id) { openDialog({state, dispatch}, dialog_id) {
return new Promise(resolve => {
let search_msg_id; let search_msg_id;
if ($A.isJson(dialog_id)) { if ($A.isJson(dialog_id)) {
search_msg_id = dialog_id.search_msg_id; search_msg_id = dialog_id.search_msg_id;
@ -2255,6 +2257,8 @@ export default {
requestAnimationFrame(_ => { requestAnimationFrame(_ => {
state.dialogSearchMsgId = /^\d+$/.test(search_msg_id) ? search_msg_id : 0; state.dialogSearchMsgId = /^\d+$/.test(search_msg_id) ? search_msg_id : 0;
state.dialogId = /^\d+$/.test(dialog_id) ? dialog_id : 0; state.dialogId = /^\d+$/.test(dialog_id) ? dialog_id : 0;
resolve()
})
}) })
}, },