fix: 调整参数

This commit is contained in:
王天骄
2026-06-17 16:51:20 +08:00
parent 1679acad12
commit ad940689f0
3 changed files with 136 additions and 97 deletions
+44 -32
View File
@@ -186,19 +186,24 @@
</template>
<template v-else>
<el-row :gutter="14">
<el-col :span="8">
<el-form-item label="教学目标" prop="teaching_learning_objectives">
<el-input v-model="draftForm.teaching_learning_objectives" placeholder="请输入教学目标" />
<el-col :span="12">
<el-form-item label="教学目标" prop="teaching_goal">
<el-input v-model="draftForm.teaching_goal" placeholder="请输入教学目标" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教学重点">
<el-input v-model="draftForm.teaching_key_points" placeholder="请输入教学重点" />
<el-col :span="12">
<el-form-item label="讨论问题">
<el-input v-model="draftForm.discussion_questions" placeholder="请输入讨论问题" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参考答案">
<el-input v-model="draftForm.teaching_reference_answer" placeholder="请输入参考答案" />
<el-col :span="12">
<el-form-item label="教师指南">
<el-input v-model="draftForm.teacher_guide" placeholder="请输入教师指南" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评分重点">
<el-input v-model="draftForm.scoring_focus" placeholder="请输入评分重点" />
</el-form-item>
</el-col>
</el-row>
@@ -280,9 +285,10 @@ interface CaseDraftForm {
traditional_standard_diagnosis: string
traditional_standard_treatment: string
traditional_guideline_reference: string
teaching_learning_objectives: string
teaching_key_points: string
teaching_reference_answer: string
teaching_goal: string
discussion_questions: string
teacher_guide: string
scoring_focus: string
scoring_rules: ScoringRuleForm[]
exam_items: ExamItemForm[]
}
@@ -316,9 +322,10 @@ const draftForm = reactive<CaseDraftForm>({
traditional_standard_diagnosis: '',
traditional_standard_treatment: '',
traditional_guideline_reference: '',
teaching_learning_objectives: '',
teaching_key_points: '',
teaching_reference_answer: '',
teaching_goal: '',
discussion_questions: '',
teacher_guide: '',
scoring_focus: '',
scoring_rules: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }],
exam_items: []
})
@@ -332,7 +339,7 @@ const draftRules: FormRules = {
title: [{ required: true, message: '请输入病例标题', trigger: 'blur' }],
case_type: [{ required: true, message: '请选择病例类型', trigger: 'change' }],
traditional_standard_diagnosis: [{ required: true, message: '请输入标准诊断', trigger: 'blur' }],
teaching_learning_objectives: [{ required: true, message: '请输入教学目标', trigger: 'blur' }]
teaching_goal: [{ required: true, message: '请输入教学目标', trigger: 'blur' }]
}
const isContentAdmin = computed(() => appStore.user.role === 'content-admin')
@@ -455,9 +462,10 @@ function resetDraftForm() {
draftForm.traditional_standard_diagnosis = ''
draftForm.traditional_standard_treatment = ''
draftForm.traditional_guideline_reference = ''
draftForm.teaching_learning_objectives = ''
draftForm.teaching_key_points = ''
draftForm.teaching_reference_answer = ''
draftForm.teaching_goal = ''
draftForm.discussion_questions = ''
draftForm.teacher_guide = ''
draftForm.scoring_focus = ''
draftForm.scoring_rules = [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }]
draftForm.exam_items = []
}
@@ -501,14 +509,15 @@ function buildDraftPayload(): CreateCaseDraftPayload {
function buildCaseStructure(): Record<string, unknown> {
if (draftForm.case_type === 'teaching') {
if (!draftForm.teaching_learning_objectives.trim()) {
if (!draftForm.teaching_goal.trim()) {
throw new Error('请输入教学目标')
}
return {
learning_objectives: draftForm.teaching_learning_objectives.trim(),
...(draftForm.teaching_key_points.trim() ? { key_points: draftForm.teaching_key_points.trim() } : {}),
...(draftForm.teaching_reference_answer.trim() ? { reference_answer: draftForm.teaching_reference_answer.trim() } : {})
teaching_goal: draftForm.teaching_goal.trim(),
...(draftForm.discussion_questions.trim() ? { discussion_questions: draftForm.discussion_questions.trim() } : {}),
...(draftForm.teacher_guide.trim() ? { teacher_guide: draftForm.teacher_guide.trim() } : {}),
...(draftForm.scoring_focus.trim() ? { scoring_focus: draftForm.scoring_focus.trim() } : {})
}
}
@@ -620,15 +629,18 @@ function fillDraftFormFromGenerated(generatedResult: AiGenerateCaseResult) {
draftForm.traditional_guideline_reference =
getGeneratedString(traditional, ['guideline_reference', 'guidelineReference']) ||
getGeneratedString(record, ['guideline_reference', 'guidelineReference'])
draftForm.teaching_learning_objectives =
getGeneratedString(teaching, ['learning_objectives', 'learningObjectives']) ||
getGeneratedString(record, ['learning_objectives', 'learningObjectives'])
draftForm.teaching_key_points =
getGeneratedString(teaching, ['key_points', 'keyPoints']) ||
getGeneratedString(record, ['key_points', 'keyPoints'])
draftForm.teaching_reference_answer =
getGeneratedString(teaching, ['reference_answer', 'referenceAnswer']) ||
getGeneratedString(record, ['reference_answer', 'referenceAnswer'])
draftForm.teaching_goal =
getGeneratedString(teaching, ['teaching_goal', 'teachingGoal']) ||
getGeneratedString(record, ['teaching_goal', 'teachingGoal'])
draftForm.discussion_questions =
getGeneratedString(teaching, ['discussion_questions', 'discussionQuestions']) ||
getGeneratedString(record, ['discussion_questions', 'discussionQuestions'])
draftForm.teacher_guide =
getGeneratedString(teaching, ['teacher_guide', 'teacherGuide']) ||
getGeneratedString(record, ['teacher_guide', 'teacherGuide'])
draftForm.scoring_focus =
getGeneratedString(teaching, ['scoring_focus', 'scoringFocus']) ||
getGeneratedString(record, ['scoring_focus', 'scoringFocus'])
draftForm.scoring_rules = scoringRules.length
? scoringRules
: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }]
+29 -20
View File
@@ -197,19 +197,24 @@
</template>
<template v-else>
<el-row :gutter="14">
<el-col :span="8">
<el-col :span="12">
<el-form-item label="教学目标">
<el-input v-model="detailForm.teaching_learning_objectives" />
<el-input v-model="detailForm.teaching_goal" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教学重点">
<el-input v-model="detailForm.teaching_key_points" />
<el-col :span="12">
<el-form-item label="讨论问题">
<el-input v-model="detailForm.discussion_questions" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参考答案">
<el-input v-model="detailForm.teaching_reference_answer" />
<el-col :span="12">
<el-form-item label="教师指南">
<el-input v-model="detailForm.teacher_guide" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评分重点">
<el-input v-model="detailForm.scoring_focus" />
</el-form-item>
</el-col>
</el-row>
@@ -299,9 +304,10 @@ interface ReviewCaseDetailForm {
traditional_standard_diagnosis: string
traditional_standard_treatment: string
traditional_guideline_reference: string
teaching_learning_objectives: string
teaching_key_points: string
teaching_reference_answer: string
teaching_goal: string
discussion_questions: string
teacher_guide: string
scoring_focus: string
scoring_rules: ScoringRuleForm[]
exam_items: ExamItemForm[]
}
@@ -331,9 +337,10 @@ const detailForm = reactive<ReviewCaseDetailForm>({
traditional_standard_diagnosis: '',
traditional_standard_treatment: '',
traditional_guideline_reference: '',
teaching_learning_objectives: '',
teaching_key_points: '',
teaching_reference_answer: '',
teaching_goal: '',
discussion_questions: '',
teacher_guide: '',
scoring_focus: '',
scoring_rules: [],
exam_items: []
})
@@ -463,9 +470,10 @@ function resetReviewDetailForm() {
detailForm.traditional_standard_diagnosis = ''
detailForm.traditional_standard_treatment = ''
detailForm.traditional_guideline_reference = ''
detailForm.teaching_learning_objectives = ''
detailForm.teaching_key_points = ''
detailForm.teaching_reference_answer = ''
detailForm.teaching_goal = ''
detailForm.discussion_questions = ''
detailForm.teacher_guide = ''
detailForm.scoring_focus = ''
detailForm.scoring_rules = []
detailForm.exam_items = []
}
@@ -495,9 +503,10 @@ function fillDetailForm(row: CaseListItem, fullData: unknown) {
detailForm.traditional_standard_diagnosis = getString(traditional, ['standard_diagnosis', 'standardDiagnosis'])
detailForm.traditional_standard_treatment = getString(traditional, ['standard_treatment', 'standardTreatment'])
detailForm.traditional_guideline_reference = getString(traditional, ['guideline_reference', 'guidelineReference'])
detailForm.teaching_learning_objectives = getString(teaching, ['learning_objectives', 'learningObjectives'])
detailForm.teaching_key_points = getString(teaching, ['key_points', 'keyPoints'])
detailForm.teaching_reference_answer = getString(teaching, ['reference_answer', 'referenceAnswer'])
detailForm.teaching_goal = getString(teaching, ['teaching_goal', 'teachingGoal'])
detailForm.discussion_questions = getString(teaching, ['discussion_questions', 'discussionQuestions'])
detailForm.teacher_guide = getString(teaching, ['teacher_guide', 'teacherGuide'])
detailForm.scoring_focus = getString(teaching, ['scoring_focus', 'scoringFocus'])
detailForm.scoring_rules = scoringRules
detailForm.exam_items = examItems
}
+63 -45
View File
@@ -255,19 +255,24 @@
</template>
<template v-else>
<el-row :gutter="14">
<el-col :span="8">
<el-form-item label="教学目标" prop="teaching_learning_objectives">
<el-input v-model="caseForm.teaching_learning_objectives" placeholder="请输入教学目标" />
<el-col :span="12">
<el-form-item label="教学目标" prop="teaching_goal">
<el-input v-model="caseForm.teaching_goal" placeholder="请输入教学目标" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教学重点">
<el-input v-model="caseForm.teaching_key_points" placeholder="请输入教学重点" />
<el-col :span="12">
<el-form-item label="讨论问题">
<el-input v-model="caseForm.discussion_questions" placeholder="请输入讨论问题" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参考答案">
<el-input v-model="caseForm.teaching_reference_answer" placeholder="请输入参考答案" />
<el-col :span="12">
<el-form-item label="教师指南">
<el-input v-model="caseForm.teacher_guide" placeholder="请输入教师指南" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评分重点">
<el-input v-model="caseForm.scoring_focus" placeholder="请输入评分重点" />
</el-form-item>
</el-col>
</el-row>
@@ -531,19 +536,24 @@
</template>
<template v-else>
<el-row :gutter="14">
<el-col :span="8">
<el-form-item label="教学目标" prop="teaching_learning_objectives">
<el-input v-model="detailForm.teaching_learning_objectives" placeholder="请输入教学目标" />
<el-col :span="12">
<el-form-item label="教学目标" prop="teaching_goal">
<el-input v-model="detailForm.teaching_goal" placeholder="请输入教学目标" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教学重点">
<el-input v-model="detailForm.teaching_key_points" placeholder="请输入教学重点" />
<el-col :span="12">
<el-form-item label="讨论问题">
<el-input v-model="detailForm.discussion_questions" placeholder="请输入讨论问题" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参考答案">
<el-input v-model="detailForm.teaching_reference_answer" placeholder="请输入参考答案" />
<el-col :span="12">
<el-form-item label="教师指南">
<el-input v-model="detailForm.teacher_guide" placeholder="请输入教师指南" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评分重点">
<el-input v-model="detailForm.scoring_focus" placeholder="请输入评分重点" />
</el-form-item>
</el-col>
</el-row>
@@ -659,9 +669,10 @@ interface CaseDraftForm {
traditional_standard_diagnosis: string
traditional_standard_treatment: string
traditional_guideline_reference: string
teaching_learning_objectives: string
teaching_key_points: string
teaching_reference_answer: string
teaching_goal: string
discussion_questions: string
teacher_guide: string
scoring_focus: string
scoring_rules: ScoringRuleForm[]
exam_items: ExamItemForm[]
}
@@ -735,9 +746,10 @@ const caseForm = reactive<CaseDraftForm>({
traditional_standard_diagnosis: '',
traditional_standard_treatment: '',
traditional_guideline_reference: '',
teaching_learning_objectives: '',
teaching_key_points: '',
teaching_reference_answer: '',
teaching_goal: '',
discussion_questions: '',
teacher_guide: '',
scoring_focus: '',
scoring_rules: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }],
exam_items: []
})
@@ -760,9 +772,10 @@ const detailForm = reactive<CaseDraftForm>({
traditional_standard_diagnosis: '',
traditional_standard_treatment: '',
traditional_guideline_reference: '',
teaching_learning_objectives: '',
teaching_key_points: '',
teaching_reference_answer: '',
teaching_goal: '',
discussion_questions: '',
teacher_guide: '',
scoring_focus: '',
scoring_rules: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }],
exam_items: []
})
@@ -785,7 +798,7 @@ const caseRules: FormRules = {
title: [{ required: true, message: '请输入病例标题', trigger: 'blur' }],
case_type: [{ required: true, message: '请选择病例类型', trigger: 'change' }],
traditional_standard_diagnosis: [{ required: true, message: '请输入标准诊断', trigger: 'blur' }],
teaching_learning_objectives: [{ required: true, message: '请输入教学目标', trigger: 'blur' }]
teaching_goal: [{ required: true, message: '请输入教学目标', trigger: 'blur' }]
}
const isContentAdmin = computed(() => appStore.user.role === 'content-admin')
@@ -907,9 +920,10 @@ function resetDraftForm(form: CaseDraftForm) {
form.traditional_standard_diagnosis = ''
form.traditional_standard_treatment = ''
form.traditional_guideline_reference = ''
form.teaching_learning_objectives = ''
form.teaching_key_points = ''
form.teaching_reference_answer = ''
form.teaching_goal = ''
form.discussion_questions = ''
form.teacher_guide = ''
form.scoring_focus = ''
form.scoring_rules = [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }]
form.exam_items = []
}
@@ -1119,14 +1133,15 @@ function buildSaveDraftPayload(form: CaseDraftForm): SaveCaseDraftPayload {
function buildCaseStructure(form: CaseDraftForm): Record<string, unknown> {
if (form.case_type === 'teaching') {
if (!form.teaching_learning_objectives.trim()) {
if (!form.teaching_goal.trim()) {
throw new Error('请输入教学目标')
}
return {
learning_objectives: form.teaching_learning_objectives.trim(),
...(form.teaching_key_points.trim() ? { key_points: form.teaching_key_points.trim() } : {}),
...(form.teaching_reference_answer.trim() ? { reference_answer: form.teaching_reference_answer.trim() } : {})
teaching_goal: form.teaching_goal.trim(),
...(form.discussion_questions.trim() ? { discussion_questions: form.discussion_questions.trim() } : {}),
...(form.teacher_guide.trim() ? { teacher_guide: form.teacher_guide.trim() } : {}),
...(form.scoring_focus.trim() ? { scoring_focus: form.scoring_focus.trim() } : {})
}
}
@@ -1143,14 +1158,15 @@ function buildCaseStructure(form: CaseDraftForm): Record<string, unknown> {
function buildEditableCaseStructure(form: CaseDraftForm): Record<string, unknown> {
if (form.case_type === 'teaching') {
if (!form.teaching_learning_objectives.trim()) {
if (!form.teaching_goal.trim()) {
throw new Error('请输入教学目标')
}
return {
learning_objectives: form.teaching_learning_objectives.trim(),
key_points: form.teaching_key_points.trim(),
reference_answer: form.teaching_reference_answer.trim()
teaching_goal: form.teaching_goal.trim(),
discussion_questions: form.discussion_questions.trim(),
teacher_guide: form.teacher_guide.trim(),
scoring_focus: form.scoring_focus.trim()
}
}
@@ -1520,9 +1536,10 @@ function fillCaseFormFromImportedPdf(result: ImportCasePdfResult) {
caseForm.traditional_standard_diagnosis = getImportString(traditional, ['standard_diagnosis', 'standardDiagnosis'])
caseForm.traditional_standard_treatment = getImportString(traditional, ['standard_treatment', 'standardTreatment'])
caseForm.traditional_guideline_reference = getImportString(traditional, ['guideline_reference', 'guidelineReference'])
caseForm.teaching_learning_objectives = getImportString(teaching, ['learning_objectives', 'learningObjectives'])
caseForm.teaching_key_points = getImportString(teaching, ['key_points', 'keyPoints'])
caseForm.teaching_reference_answer = getImportString(teaching, ['reference_answer', 'referenceAnswer'])
caseForm.teaching_goal = getImportString(teaching, ['teaching_goal', 'teachingGoal'])
caseForm.discussion_questions = getImportString(teaching, ['discussion_questions', 'discussionQuestions'])
caseForm.teacher_guide = getImportString(teaching, ['teacher_guide', 'teacherGuide'])
caseForm.scoring_focus = getImportString(teaching, ['scoring_focus', 'scoringFocus'])
caseForm.scoring_rules = scoringRules.length
? scoringRules
: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }]
@@ -1556,9 +1573,10 @@ function fillDetailForm(row: CaseListItem, fullData: unknown) {
detailForm.traditional_standard_diagnosis = getImportString(traditional, ['standard_diagnosis', 'standardDiagnosis'])
detailForm.traditional_standard_treatment = getImportString(traditional, ['standard_treatment', 'standardTreatment'])
detailForm.traditional_guideline_reference = getImportString(traditional, ['guideline_reference', 'guidelineReference'])
detailForm.teaching_learning_objectives = getImportString(teaching, ['learning_objectives', 'learningObjectives'])
detailForm.teaching_key_points = getImportString(teaching, ['key_points', 'keyPoints'])
detailForm.teaching_reference_answer = getImportString(teaching, ['reference_answer', 'referenceAnswer'])
detailForm.teaching_goal = getImportString(teaching, ['teaching_goal', 'teachingGoal'])
detailForm.discussion_questions = getImportString(teaching, ['discussion_questions', 'discussionQuestions'])
detailForm.teacher_guide = getImportString(teaching, ['teacher_guide', 'teacherGuide'])
detailForm.scoring_focus = getImportString(teaching, ['scoring_focus', 'scoringFocus'])
detailForm.scoring_rules = scoringRules.length
? scoringRules
: [{ dimension: '', score_weight: 1, ai_auto_score: true, scoring_standard: '' }]