教练端在学生报告页录入体质数据并生成报告,新增报告查看页;学员端从报告页查看最新评估结果、体测指标与运动建议。请求统一走现有 QA 后端并携带登录令牌。 教学资源改用后台音频管理器,支持进度拖动、曲目切换、时长探测及网络异常时下载恢复;修正跳绳和开合跳动作提示文案。 验证:相关 JS 语法、页面 JSON 解析和 git diff --cached --check 均通过。
43 lines
2.0 KiB
Plaintext
43 lines
2.0 KiB
Plaintext
<view class="page">
|
|
<mp-bar background="linear-gradient(135deg, #49a5fc, #f5f8ff 900rpx)" title="体测报告" color="#fff" back="{{true}}"></mp-bar>
|
|
|
|
<view wx:if="{{loading}}" class="state">报告加载中...</view>
|
|
<view wx:elif="{{error}}" class="state">
|
|
<view>{{empty ? '暂无体测报告' : error}}</view>
|
|
<view wx:if="{{!empty}}" class="retry" bindtap="loadReport">点击重试</view>
|
|
</view>
|
|
<block wx:else>
|
|
<view class="hero">
|
|
<view class="hero-title">{{view.studentName || '学生'}}的体测报告</view>
|
|
<view class="hero-date">测试日期 {{view.testDate}}</view>
|
|
<view class="hero-stats">
|
|
<view><text>{{view.age || '--'}}</text><text>年龄(岁)</text></view>
|
|
<view><text>{{view.bmi || '--'}}</text><text>BMI</text></view>
|
|
<view><text>{{view.metrics.length}}</text><text>已记录指标</text></view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card" wx:if="{{view.metrics.length}}">
|
|
<view class="card-title">测量与体测指标</view>
|
|
<view class="metric" wx:for="{{view.metrics}}" wx:key="key">
|
|
<text>{{item.name}}</text>
|
|
<view><text class="metric-value">{{item.value}}</text><text class="metric-unit"> {{item.unit}}</text></view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card" wx:if="{{view.messageList.length}}">
|
|
<view class="card-title">评估摘要</view>
|
|
<view class="message" wx:for="{{view.messageList}}" wx:key="key">{{item.text}}</view>
|
|
</view>
|
|
|
|
<view class="card" wx:if="{{view.prescriptionSummary || view.actions.length || view.homeTask}}">
|
|
<view class="card-title">运动建议</view>
|
|
<view class="summary" wx:if="{{view.prescriptionSummary}}">{{view.prescriptionSummary}}</view>
|
|
<view class="action" wx:for="{{view.actions}}" wx:key="*this">· {{item}}</view>
|
|
<view class="home-task" wx:if="{{view.homeTask}}">居家建议:{{view.homeTask}}</view>
|
|
</view>
|
|
|
|
<view class="disclaimer" wx:if="{{view.disclaimer}}">{{view.disclaimer}}</view>
|
|
</block>
|
|
</view>
|