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: {
handler({time, msgFile, msgRecord, msgText}) {
if (time > $A.Time()) {
handler({time, msgFile, msgRecord, msgText, dialogId}) {
if (time > $A.Time() && dialogId == this.dialogId) {
this.$store.state.dialogMsgTransfer.time = 0;
this.$nextTick(() => {
if ($A.isArray(msgFile) && msgFile.length > 0) {

View File

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

View File

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