@if(completionNotice()){{{completionNotice()}}
}
@if (loading()) {
} @else if (error()) {
} @else {
@if (detailWarning()) { {{ detailWarning() }}
}
@if(actionError()){{{actionError()}}
}
@if(order()['blockedReason']){{{order()['blockedReason']}}
}
@if (can('start')) { 预约当天(北京时间)均可上课,可提前开始,也可在计划时间之后开始。
}
- 学生姓名
- {{ field('student') || '-' }}
- 预约课程
- {{ field('course') || '-' }}
- 课程类型
- {{ field('type') || '-' }}
- 预约时间
- {{ field('date') }} {{ field('time') }}@if (field('end')) { ~ {{ field('end') }} }
- 交付方式
- {{ field('delivery') || '-' }}
@if (status() > 20) { - 陪练老师
- {{ field('coach') || '-' }}
@if (feedback(); as f) { - 本次学习
- {{ f['durationMinutes'] || '—' }} 分钟 · 学习 {{ f['vocabularyCount'] ?? '—' }} 个单词
} }
@if (classStudy(); as study) {
本节学习成果 · {{ study.record?.learned || 0 }} 个词
已确认的单词会合并为一条课堂记录,结课后统一生成复习计划。
@for (batch of study.batches; track batch.batchId) {
{{ batchSource(batch) }} · {{ batch.words.length }} 个词 · {{ batch.status === 'draft' ? '待确认' : '已保存' }}
@for (word of batch.words; track word.GeneralID) { {{ word.Title }}({{ word.nodeName || '学习单元' }}) }
@if (!isStudentView && needsMastery(batch) && can('editFeedback')) { }
@if (!isStudentView && batch.status === 'draft' && can('complete')) {
}
}
@if (study.pending) { 还有 {{ study.pending }} 个批次待确认,处理后才能结课。
}
}
@if (classStudyError()) { 学习成果加载失败:{{ classStudyError() }}
}
@if (!order()['cancelled'] && !isStudentView && status() <= 10) {
@if(coursesError()){{{coursesError()}}
}
@else if(!coursesLoading() && !courses().length){该学员暂无已开通课程,请联系管理员开通。
}
@if(isWriting){当前选择语法写作课程,可开始上课并在结束时填写学习内容。
}
@else {
选择学习单元可多选,右侧按钮可标记已学完
@for (unit of units(); track $index) {
} @empty {
{{unitsLoading() ? '正在加载学习单元…' : selectedBindingId ? '暂无可用学习单元' : '请选择课程后加载单元'}}
}
}
}
@if (!isStudentView && (can('complete') || can('editFeedback'))) {
}
@if (isStudentView && can('review')) {
}
@if (status() >= 30 || practiceRecord()['pldp'] || practiceRecord()['pjnr']) {
课程评价
学员评分{{ $any(order()['studentReview'])?.score || practiceRecord()['pf'] || '-' }}@if ($any(order()['studentReview'])?.score || practiceRecord()['pf']) { 分 }
{{ $any(order()['studentReview'])?.comment || practiceRecord()['pjnr'] || '学员暂无文字评价' }}
陪练点评{{ dateLabel(practiceRecord()['plpjsj']) }}
{{ feedback()?.['coachComment'] || practiceRecord()['pldp'] || '陪练暂无文字点评' }}
}
@if (feedback(); as f) {
完课反馈
课堂内容与下次学习安排
@if (!isStudentView && can('editFeedback')) { }
@if (order()['feedbackLocked']) { 学生已评价,课堂反馈已锁定
}
@if (feedbackSaved()) { 课堂反馈已保存
}
@if(f['feedbackStatus']==='pending'){课程已结束,课堂反馈待老师补充。
}@else{}
}
@if (can('start')) { }
@if (can('continue')) { }
@if (can('complete')) { }
@if (can('review')) { }
@if (status()>=30 && !order()['cancelled']) { @if (!isStudentView && can('editFeedback')) { } {{order()['reviewStatus']==='submitted'?'学生已评价':'已结课 · 待学生评价'}} }
}