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}); }, /**