fix(captain): 护栏/回复指南编辑按钮不生效
根因: 1. guardrails/guidelines 页面直接导航时 store 无助手记录,getRecord 返回空对象导致列表为空、编辑无数据 2. storeFactoryHelper updateRecord 用 EDIT mutation(仅更新已有记录), store 为空时 API 返回数据被丢弃 修复: - storeFactoryHelper: updateRecord 改用 UPSERT,确保 API 返回记录始终写入 store - guardrails/Index.vue & guidelines/Index.vue: onMounted 时若 store 无记录 则 dispatch captainAssistants/show 拉取单条助手数据
This commit is contained in:
@@ -56,7 +56,10 @@ export const updateRecord =
|
||||
commit(mutationTypes.SET_UI_FLAG, { updatingItem: true });
|
||||
try {
|
||||
const response = await API.update(id, updateObj);
|
||||
commit(mutationTypes.EDIT, response.data);
|
||||
// Use UPSERT instead of EDIT so that the record is added to the store
|
||||
// even if it wasn't previously loaded (e.g. direct URL navigation to
|
||||
// a sub-page like guardrails/guidelines without visiting the list page).
|
||||
commit(mutationTypes.UPSERT, response.data);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
return throwErrorMessage(error);
|
||||
|
||||
Reference in New Issue
Block a user