diff --git a/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue b/reading-platform-frontend/src/components/course-edit/Step4IntroLesson.vue
index 09dd546..c2a8a3f 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 @@
导入课用于激发幼儿兴趣,引入课程主题。建议时长 5-15 分钟,重点在于吸引注意力、建立学习期待。
- 必填项:课程名称、教学目标、教学准备、核心资源(至少 1 个)、教学环节(至少 1 个,含环节名称、内容、目标);时长:5-15 分钟。
+ 必填项:课程名称、教学目标、教学准备、教学环节(至少 1 个,含环节名称、内容、目标);核心资源为可选。时长:5-15 分钟。
diff --git a/reading-platform-frontend/src/components/course-edit/Step5CollectiveLesson.vue b/reading-platform-frontend/src/components/course-edit/Step5CollectiveLesson.vue
index 484a7fd..f3a0406 100644
--- a/reading-platform-frontend/src/components/course-edit/Step5CollectiveLesson.vue
+++ b/reading-platform-frontend/src/components/course-edit/Step5CollectiveLesson.vue
@@ -14,7 +14,7 @@
集体课是课程包的核心教学活动,全班幼儿共同参与。建议时长 20-30 分钟,包含绘本动画、教学课件、电子绘本等核心资源。
- 必填项:课程名称、教学目标、教学准备、核心资源(至少 1 个)、教学环节(至少 1 个)、教学延伸;时长:15-45 分钟。
+ 必填项:课程名称、教学目标、教学准备、教学环节(至少 1 个)、教学延伸;核心资源为可选。时长:15-45 分钟。
diff --git a/reading-platform-frontend/src/components/course-edit/Step6DomainLessons.vue b/reading-platform-frontend/src/components/course-edit/Step6DomainLessons.vue
index 22ede33..51461db 100644
--- a/reading-platform-frontend/src/components/course-edit/Step6DomainLessons.vue
+++ b/reading-platform-frontend/src/components/course-edit/Step6DomainLessons.vue
@@ -14,7 +14,7 @@
五大领域课为可选配置,根据课程内容选择配置相关领域课程。每个领域课独立配置,包含教学目标、准备、环节等内容。
- 已启用领域必填:课程名称、教学目标、教学准备、核心资源(至少 1 个)、教学环节(至少 1 个)、教学延伸;时长:15-45 分钟。
+ 已启用领域必填:课程名称、教学目标、教学准备、教学环节(至少 1 个)、教学延伸;核心资源为可选。时长:15-45 分钟。
diff --git a/reading-platform-frontend/src/components/course/LessonConfigPanel.vue b/reading-platform-frontend/src/components/course/LessonConfigPanel.vue
index b606050..02ca34b 100644
--- a/reading-platform-frontend/src/components/course/LessonConfigPanel.vue
+++ b/reading-platform-frontend/src/components/course/LessonConfigPanel.vue
@@ -46,18 +46,10 @@
-
- 核心资源 *
-
+ 核心资源
- 至少上传一个(动画/课件/电子绘本)
-
+ 按需上传(动画/课件/电子绘本,可选)
+
@@ -228,8 +220,6 @@ export interface LessonData {
useTemplate: boolean;
steps: StepData[];
isNew?: boolean;
- /** 仅用于表单校验,不持久化 */
- resourceCheck?: string;
}
interface Props {
@@ -276,7 +266,6 @@ const defaultLessonData: LessonData = {
assessmentData: '',
useTemplate: false,
steps: [],
- resourceCheck: '',
};
const lessonData = reactive({
@@ -332,19 +321,6 @@ const formRules = computed(() => {
},
],
};
- if (props.showResources) {
- rules.resourceCheck = [
- {
- validator: (_: unknown, _val: string) => {
- const has = lessonData.videoPath || lessonData.pptPath || lessonData.pdfPath;
- if (!has) {
- return Promise.reject(new Error('请至少上传一个核心资源(动画/课件/电子绘本)'));
- }
- return Promise.resolve();
- },
- },
- ];
- }
if (extensionRequired.value) {
rules.extension = [
{ required: true, whitespace: true, message: '请输入教学延伸活动建议' },
@@ -353,29 +329,17 @@ const formRules = computed(() => {
return rules;
});
-// 同步 resourceCheck 用于校验触发
-watch(
- () => [lessonData.videoPath, lessonData.pptPath, lessonData.pdfPath],
- () => {
- lessonData.resourceCheck = lessonData.videoPath || lessonData.pptPath || lessonData.pdfPath || '';
- },
- { immediate: true }
-);
-
// 监听外部值变化
watch(
() => props.modelValue,
(newVal) => {
Object.assign(lessonData, defaultLessonData, newVal);
- lessonData.resourceCheck = lessonData.videoPath || lessonData.pptPath || lessonData.pdfPath || '';
},
{ deep: true }
);
-// 处理变化(排除校验用字段,不传给父组件)
const handleChange = () => {
- const { resourceCheck, ...toEmit } = lessonData;
- emit('update:modelValue', toEmit as LessonData);
+ emit('update:modelValue', { ...lessonData } as LessonData);
emit('change');
};