Files

89 lines
3.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<view class="page-shell defaults-page">
<view class="top-row">
<view>
<text class="eyebrow">档案预设</text>
<view class="page-heading">
<text class="page-title">新增学生默认值</text>
</view>
<text class="page-subtitle">新增学生时自动带出以下信息</text>
</view>
<button class="reload-button {{loading ? 'reload-button-loading' : ''}}" disabled="{{loading || saving}}" bindtap="onReload" aria-label="刷新预设项">
<text class="reload-icon">↻</text>
</button>
</view>
<view wx:if="{{errorMessage}}" class="status-banner">
<text>{{errorMessage}}</text>
<text class="status-action" bindtap="onReload">重试</text>
</view>
<view class="defaults-card surface">
<view class="defaults-grid">
<picker class="select-field" mode="selector" range="{{grades}}" disabled="{{loading || saving}}" bindchange="onGradeChange" aria-label="默认年级,当前为 {{defaults.grade}}">
<view class="select-field-content">
<view class="select-copy">
<text class="field-label">年级</text>
<text class="field-value">{{defaults.grade}}</text>
</view>
<text class="select-chevron" aria-hidden="true"></text>
</view>
</picker>
<picker class="select-field" mode="selector" range="{{subjects}}" disabled="{{loading || saving}}" bindchange="onSubjectChange" aria-label="默认学科,当前为 {{defaults.subject}}">
<view class="select-field-content">
<view class="select-copy">
<text class="field-label">学科</text>
<text class="field-value">{{defaults.subject}}</text>
</view>
<text class="select-chevron" aria-hidden="true"></text>
</view>
</picker>
</view>
<view class="duration-field">
<view class="duration-heading">
<text class="field-label">上课时长</text>
<text class="duration-step-label">15 分钟间隔</text>
</view>
<view class="duration-stepper">
<button
class="duration-step-button"
disabled="{{loading || saving || defaults.lessonDurationMinutes <= minimumDuration}}"
bindtap="decreaseDuration"
aria-label="减少 15 分钟"
></button>
<view class="duration-value" aria-label="当前上课时长 {{defaults.lessonDurationMinutes}} 分钟">
<text class="duration-number">{{defaults.lessonDurationMinutes}}</text>
<text class="duration-unit">分钟</text>
</view>
<button
class="duration-step-button"
disabled="{{loading || saving || defaults.lessonDurationMinutes >= maximumDuration}}"
bindtap="increaseDuration"
aria-label="增加 15 分钟"
></button>
</view>
<view class="duration-presets" aria-label="常用上课时长">
<button
wx:for="{{durationPresets}}"
wx:key="*this"
class="duration-preset {{defaults.lessonDurationMinutes === item ? 'duration-preset-active' : ''}}"
disabled="{{loading || saving}}"
data-value="{{item}}"
bindtap="selectDurationPreset"
aria-label="设置为 {{item}} 分钟"
>{{item}}</button>
</view>
</view>
<view class="time-help">
<icon class="time-help-icon" type="info" size="16" color="#6E6E73" />
<text>新增学生时会根据开始时间自动推算结束时间</text>
</view>
<view class="save-area">
<button class="save-defaults primary-button" loading="{{saving}}" disabled="{{saving || loading}}" bindtap="save">保存</button>
</view>
</view>
</view>