From 71cb8612d85a9f6d7293847793835c5ad1cf0097 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 4 Mar 2022 16:35:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=8B=AC=E7=AB=8B=E7=AA=97=E5=8F=A3=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=90=8E=E6=B2=A1=E6=9C=89=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=88=B0=E4=B8=BB=E7=AA=97=E5=8F=A3=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/manage/components/TaskDetail.vue | 16 ++++++++-- resources/assets/js/store/actions.js | 30 +++++++++++++++---- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index d366ab2dd..9516c3100 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -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); }) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 1ba75d1cd..d1cd8dd13 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -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