feat(course): 导入课教学环节改为可选;集体课/领域课保持必填
Made-with: Cursor
This commit is contained in:
parent
55343ead0b
commit
14fd97f6a5
@ -14,7 +14,7 @@
|
||||
<template #description>
|
||||
<div>导入课用于激发幼儿兴趣,引入课程主题。建议时长 5-15 分钟,重点在于吸引注意力、建立学习期待。</div>
|
||||
<div class="form-hints">
|
||||
<strong>必填项:</strong>课程名称、教学目标、教学准备、教学环节(至少 1 个,含环节名称、内容、目标);核心资源为可选。<strong>时长:</strong>5-15 分钟。
|
||||
<strong>必填项:</strong>课程名称、教学目标、教学准备;教学环节与核心资源均为可选。<strong>时长:</strong>5-15 分钟。
|
||||
</div>
|
||||
</template>
|
||||
</a-alert>
|
||||
|
||||
@ -127,10 +127,16 @@
|
||||
<!-- 教学环节 -->
|
||||
<a-card size="small" class="section-card">
|
||||
<template #title>
|
||||
<span>教学环节 <span class="required-mark">*</span></span>
|
||||
<span>
|
||||
教学环节
|
||||
<span v-if="lessonType !== 'INTRO'" class="required-mark">*</span>
|
||||
</span>
|
||||
</template>
|
||||
<div class="field-hint">至少添加一个环节,每个环节需填写名称、内容、目标</div>
|
||||
<a-form-item name="steps">
|
||||
<div class="field-hint">
|
||||
<span v-if="lessonType === 'INTRO'">可选配置,可添加教学环节</span>
|
||||
<span v-else>至少添加一个环节,每个环节需填写名称、内容、目标</span>
|
||||
</div>
|
||||
<a-form-item :name="lessonType !== 'INTRO' ? 'steps' : undefined">
|
||||
<a-form-item-rest>
|
||||
<LessonStepsEditor
|
||||
v-model="lessonData.steps"
|
||||
@ -273,6 +279,11 @@ const lessonData = reactive<LessonData>({
|
||||
...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: '请输入教学延伸活动建议' },
|
||||
|
||||
Loading…
Reference in New Issue
Block a user