fix: 客户端任务独立窗口修改详情后没有同步到主窗口的问题

This commit is contained in:
kuaifan 2022-03-04 16:35:59 +08:00
parent af12aecd36
commit 71cb8612d8
2 changed files with 38 additions and 8 deletions

View File

@ -796,6 +796,7 @@ export default {
}, },
updateData(action, params) { updateData(action, params) {
let successCallback = null;
switch (action) { switch (action) {
case 'priority': case 'priority':
this.$set(this.taskDetail, 'p_level', params.priority) this.$set(this.taskDetail, 'p_level', params.priority)
@ -803,14 +804,24 @@ export default {
this.$set(this.taskDetail, 'p_color', params.color) this.$set(this.taskDetail, 'p_color', params.color)
action = ['p_level', 'p_name', 'p_color']; action = ['p_level', 'p_name', 'p_color'];
break; break;
case 'times': case 'times':
this.$set(this.taskDetail, 'times', [params.start_at, params.end_at]) this.$set(this.taskDetail, 'times', [params.start_at, params.end_at])
break; break;
case 'content': case 'content':
if (this.$refs.desc.getContent() == this.taskContent) { const newContent = this.$refs.desc.getContent();
if (newContent == this.taskContent) {
return; return;
} }
this.$set(this.taskDetail, 'content', this.$refs.desc.getContent()) this.$set(this.taskDetail, 'content', newContent)
successCallback = () => {
let content = this.taskContents.find(({task_id}) => task_id == this.taskId)
this.$store.dispatch("saveTaskContent", {
id: content.id,
content: newContent
})
}
break; break;
} }
// //
@ -826,6 +837,7 @@ export default {
// //
this.$store.dispatch("taskUpdate", dataJson).then(({msg}) => { this.$store.dispatch("taskUpdate", dataJson).then(({msg}) => {
$A.messageSuccess(msg); $A.messageSuccess(msg);
if (typeof successCallback === "function") successCallback();
}).catch(({msg}) => { }).catch(({msg}) => {
$A.modalError(msg); $A.modalError(msg);
}) })

View File

@ -1299,17 +1299,35 @@ export default {
task_id, task_id,
}, },
}).then(result => { }).then(result => {
let index = state.taskContents.findIndex(({id}) => id == result.data.id) dispatch("saveTaskContent", result.data)
if (index > -1) {
state.taskContents.splice(index, 1, result.data)
} else {
state.taskContents.push(result.data)
}
}).catch(e => { }).catch(e => {
console.warn(e); console.warn(e);
}); });
}, },
/**
* 更新任务详情
* @param state
* @param dispatch
* @param data
*/
saveTaskContent({state, dispatch}, data) {
$A.execMainDispatch("saveTaskContent", data)
//
if ($A.isArray(data)) {
data.forEach((msg) => {
dispatch("saveTaskContent", msg)
});
} else if ($A.isJson(data)) {
let index = state.taskContents.findIndex(({id}) => id == data.id);
if (index > -1) {
state.taskContents.splice(index, 1, Object.assign({}, state.taskContents[index], data));
} else {
state.taskContents.push(data);
}
}
},
/** /**
* 获取任务文件 * 获取任务文件
* @param state * @param state