From e3baba33403597558ebe1930c35bd595154e3ec2 Mon Sep 17 00:00:00 2001 From: aipaw Date: Fri, 18 Jun 2021 08:46:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=88=A0=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/ProjectController.php | 1 + .../pages/manage/components/ProjectList.vue | 2 +- resources/assets/js/store/actions.js | 3 +++ resources/assets/js/store/mutations.js | 24 +++++++++++++++---- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index 30e0aa75..17479e56 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -443,6 +443,7 @@ class ProjectController extends AbstractController $column->color = $data['color']; } $column->save(); + $column->pushMsg("update", $column->toArray()); return Base::retSuccess('修改成功', $column); } diff --git a/resources/assets/js/pages/manage/components/ProjectList.vue b/resources/assets/js/pages/manage/components/ProjectList.vue index f4845ef7..3d756790 100644 --- a/resources/assets/js/pages/manage/components/ProjectList.vue +++ b/resources/assets/js/pages/manage/components/ProjectList.vue @@ -754,7 +754,7 @@ export default { }), }).then(({data}) => { this.$set(column, 'loading', false); - Object.keys(data).forEach(key => this.$set(column, key, data[key])); + this.$store.commit("columnUpdateSuccess", data); }).catch(({msg}) => { this.$set(column, 'loading', false); Object.keys(updata).forEach(key => this.$set(column, key, backup[key])); diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index b909b014..fe648e05 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -1149,6 +1149,9 @@ export default { case 'add': commit("columnAddSuccess", data) break; + case 'update': + commit("columnUpdateSuccess", data) + break; case 'delete': commit("columnDeleteSuccess", data) break; diff --git a/resources/assets/js/store/mutations.js b/resources/assets/js/store/mutations.js index 9a2b99e4..e47581e6 100644 --- a/resources/assets/js/store/mutations.js +++ b/resources/assets/js/store/mutations.js @@ -13,17 +13,33 @@ export default { } }, + /** + * 更新列表 + * @param state + * @param data + */ + columnUpdateSuccess(state, data) { + if (state.projectDetail.id == data.project_id) { + let index = state.projectDetail.project_column.findIndex(({id}) => id === data.id); + if (index > -1) { + state.projectDetail.project_column.splice(index, 1, Object.assign({}, state.projectDetail.project_column[index], data)); + } + } + }, + /** * 删除列表 * @param state * @param data */ columnDeleteSuccess(state, data) { - let index = state.projectDetail.project_column.findIndex(({id}) => id === data.id); - if (index > -1) { - state.projectDetail.project_column.splice(index, 1); + if (state.projectDetail.id == data.project_id) { + let index = state.projectDetail.project_column.findIndex(({id}) => id === data.id); + if (index > -1) { + state.projectDetail.project_column.splice(index, 1); + } + this.dispatch("getProjectBasic", {id: data.project_id}); } - this.dispatch("getProjectBasic", {id: data.project_id}); }, /**