fix(aihr): require explicit contribution scores

This commit is contained in:
2026-07-14 14:18:28 +08:00
parent 8bb43a2394
commit 2f29c62280
5 changed files with 14 additions and 9 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ export type ReviewDetail = ReviewRecord & {
mentorRewrite: string;
aiComment: string;
reviewAdvice: string;
incentivePoint: number;
incentivePoint: number | null;
scoreItems: Array<{ label: string; value: number | string; note: string }>;
dialogue: Array<{ role: string; label: string; text: string; audioUrl?: string; audioOssId?: number | string }>;
annotations: Array<{ turnIndex: number; sourceText: string; issue: string; rewrite: string; sopPoint: string }>;
+2 -2
View File
@@ -39,9 +39,9 @@
<small>来自移动端训练记录</small>
</article>
<article class="metric-card">
<span>贡献度</span>
<span>人工贡献分</span>
<strong>{{ profile?.contribution ?? 0 }}</strong>
<small>仅计入人工确认的有效贡献分,训练次数单独统计</small>
<small>仅计入主管明确确认的有效贡献分,训练次数单独统计</small>
</article>
</section>
+5 -5
View File
@@ -120,8 +120,8 @@
<el-input v-model="reviewForm.advice" type="textarea" :rows="3" placeholder="写给员工的复盘建议" />
</el-form-item>
<div class="form-grid">
<el-form-item label="贡献学分">
<el-input-number v-model="reviewForm.incentivePoint" :min="0" :max="100" />
<el-form-item label="人工贡献分">
<el-input-number v-model="reviewForm.incentivePoint" :min="0" :max="100" placeholder="可选,不填不计分" />
</el-form-item>
<el-form-item label="人工校准总分">
<el-input-number v-model="reviewForm.correctedTotal" :min="0" :max="100" />
@@ -191,7 +191,7 @@ const pilotDateWindow = computed(() => resolvePilotDateWindow([startDate.value,
const reviewForm = reactive({
reviewer: '主管',
advice: '',
incentivePoint: 10,
incentivePoint: null as number | null,
correctedTotal: 0,
calibrationReason: '',
nextScenarioId: '',
@@ -332,7 +332,7 @@ const selectReview = async (row: ReviewRecord) => {
const result = await getPracticeReview(row.id);
detail.value = result.data;
reviewForm.advice = result.data.reviewAdvice || '';
reviewForm.incentivePoint = result.data.incentivePoint || 10;
reviewForm.incentivePoint = result.data.incentivePoint ?? null;
reviewForm.correctedTotal = result.data.score;
reviewForm.calibrationReason = '';
reviewForm.nextScenarioId = '';
@@ -364,7 +364,7 @@ const submitReview = async () => {
await markPracticeReviewed(detail.value.id, {
reviewer: reviewForm.reviewer,
advice: reviewForm.advice,
incentivePoint: reviewForm.incentivePoint,
incentivePoint: reviewForm.incentivePoint ?? undefined,
nextScenarioId: reviewForm.nextScenarioId,
nextReason: reviewForm.nextReason
});