From 14fd97f6a5a8782c883e80616ba392bab0e900e4 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Wed, 25 Mar 2026 10:49:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(course):=20=E5=AF=BC=E5=85=A5=E8=AF=BE?= =?UTF-8?q?=E6=95=99=E5=AD=A6=E7=8E=AF=E8=8A=82=E6=94=B9=E4=B8=BA=E5=8F=AF?= =?UTF-8?q?=E9=80=89=EF=BC=9B=E9=9B=86=E4=BD=93=E8=AF=BE/=E9=A2=86?= =?UTF-8?q?=E5=9F=9F=E8=AF=BE=E4=BF=9D=E6=8C=81=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- .../course-edit/Step4IntroLesson.vue | 2 +- .../components/course/LessonConfigPanel.vue | 26 ++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue b/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue index 1e06a62..3c87427 100644 --- a/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue +++ b/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue @@ -14,7 +14,7 @@ diff --git a/reading-platform-frontend/src/components/course/LessonConfigPanel.vue b/reading-platform-frontend/src/components/course/LessonConfigPanel.vue index 03c78d9..96543b3 100644 --- a/reading-platform-frontend/src/components/course/LessonConfigPanel.vue +++ b/reading-platform-frontend/src/components/course/LessonConfigPanel.vue @@ -127,10 +127,16 @@ -
至少添加一个环节,每个环节需填写名称、内容、目标
- +
+ 可选配置,可添加教学环节 + 至少添加一个环节,每个环节需填写名称、内容、目标 +
+ ({ ...props.modelValue, }); +// 教学环节是否必填:集体课、领域课必填,导入课可选 +const stepsRequired = computed( + () => props.lessonType !== 'INTRO' +); + // 教学延伸是否必填:集体课、领域课必填(结构同集体课) const extensionRequired = computed( () => props.lessonType === 'COLLECTIVE' || props.lessonType?.startsWith('DOMAIN_') @@ -297,7 +308,10 @@ const formRules = computed(() => { message: `课程时长需在 ${minD}-${maxD} 分钟之间`, }, ], - steps: [ + }; + // 教学环节:集体课/领域课必填,导入课不校验 + if (stepsRequired.value) { + rules.steps = [ { validator: (_: unknown, value: StepData[] | undefined) => { const steps = value || []; @@ -319,8 +333,8 @@ const formRules = computed(() => { return Promise.resolve(); }, }, - ], - }; + ]; + } if (extensionRequired.value) { rules.extension = [ { required: true, whitespace: true, message: '请输入教学延伸活动建议' },