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

View File

@ -1299,17 +1299,35 @@ export default {
task_id,
},
}).then(result => {
let index = state.taskContents.findIndex(({id}) => id == result.data.id)
if (index > -1) {
state.taskContents.splice(index, 1, result.data)
} else {
state.taskContents.push(result.data)
}
dispatch("saveTaskContent", result.data)
}).catch(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