立项配置版本管理优化(回滚逻辑、UI、下载功能)

This commit is contained in:
Cheng Zhou
2026-03-04 14:49:59 +08:00
parent 6c5e5770c6
commit 0cd03eefa8
16 changed files with 3528 additions and 418 deletions
@@ -1,12 +1,19 @@
import {
checkoutStudySetupConfigBranchDraft,
clearStudySetupConfigDraft,
deleteStudySetupConfigVersion,
fetchStudySetupConfig,
fetchStudySetupConfigVersions,
mergeStudySetupConfigToMain,
publishStudySetupConfig,
refillStudySetupConfigDraft,
rollbackStudySetupConfig,
saveStudySetupConfig,
} from "../api/studies";
import type {
StudySetupConfigCheckoutBranchPayload,
StudySetupConfigDraftActionPayload,
StudySetupConfigMergeMainPayload,
StudySetupConfigPublishPayload,
StudySetupConfigRollbackPayload,
StudySetupConfigUpsertPayload,
@@ -16,16 +23,25 @@ export const useSetupConfig = () => {
const getConfig = (studyId: string) => fetchStudySetupConfig(studyId);
const saveConfig = (studyId: string, payload: StudySetupConfigUpsertPayload) => saveStudySetupConfig(studyId, payload);
const publishConfig = (studyId: string, payload: StudySetupConfigPublishPayload) => publishStudySetupConfig(studyId, payload);
const mergeToMain = (studyId: string, payload: StudySetupConfigMergeMainPayload) => mergeStudySetupConfigToMain(studyId, payload);
const listVersions = (studyId: string) => fetchStudySetupConfigVersions(studyId);
const rollbackConfig = (studyId: string, payload: StudySetupConfigRollbackPayload) => rollbackStudySetupConfig(studyId, payload);
const checkoutBranchDraft = (studyId: string, payload: StudySetupConfigCheckoutBranchPayload) =>
checkoutStudySetupConfigBranchDraft(studyId, payload);
const clearDraft = (studyId: string, payload: StudySetupConfigDraftActionPayload) => clearStudySetupConfigDraft(studyId, payload);
const refillDraft = (studyId: string, payload: StudySetupConfigDraftActionPayload) => refillStudySetupConfigDraft(studyId, payload);
const deleteVersion = (studyId: string, targetVersion: number) => deleteStudySetupConfigVersion(studyId, targetVersion);
return {
getConfig,
saveConfig,
publishConfig,
mergeToMain,
listVersions,
rollbackConfig,
checkoutBranchDraft,
clearDraft,
refillDraft,
deleteVersion,
};
};