fix(aihr): expose enabled scenarios to supervisors

This commit is contained in:
2026-07-14 13:55:09 +08:00
parent c73234c823
commit f0662bedcd
7 changed files with 81 additions and 14 deletions
+9 -1
View File
@@ -13,7 +13,8 @@ import type {
PracticeAssignmentRequest,
DailyDrillAnswerResponse,
PracticeAlert,
PromotionEvidence
PromotionEvidence,
PracticeScenarioOption
} from '@/types/api';
import { apiRequest } from './api';
import { getAuth, getSelectedPosition } from './auth';
@@ -35,6 +36,13 @@ export const getPracticePrepCard = (scenarioId = defaultScenarioId) =>
timeout: 15000
});
export const getPracticeScenarios = (position = getSelectedPosition()) =>
apiRequest<PracticeScenarioOption[]>({
url: `/api/train/practice/scenarios?position=${encodeURIComponent(position || '生活顾问')}`,
method: 'GET',
timeout: 15000
});
export const startPractice = (scenarioId = defaultScenarioId, assignmentId?: number) =>
apiRequest<PracticeStartResponse>({
url: '/api/train/practice/start',
+8 -3
View File
@@ -30,13 +30,18 @@ export interface TeamProfile {
risk: 'high' | 'medium' | 'low';
}
export const supervisorScenarioOptions = [
export interface SupervisorScenarioOption {
id: string;
name: string;
}
export const supervisorScenarioOptions: SupervisorScenarioOption[] = [
{ id: 'fee-parking', name: '催费沟通' },
{ id: 'complaint-water', name: '投诉接待' },
{ id: 'repair-elevator-delay', name: '电梯故障' }
] as const;
];
export type SupervisorScenarioId = typeof supervisorScenarioOptions[number]['id'];
export type SupervisorScenarioId = string;
export interface AsyncGenerationGuard {
capture: () => number;