Files
bodyWeight/miniprogram/pages/detailedReport/detailedReport.wxml
T
17792275749andClaude Opus 4.7 7a1e8942a9 feat(detailedReport): 基础指标完善评分单位、健康评价等级与BMI状态
- 健康评分补"分"单位
- 健康评价展示等级文案(如"亚健康")替代数值
- BMI名称后跟体型状态胶囊,颜色取底部刻度色

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-02 10:36:23 +08:00

256 lines
14 KiB
Plaintext

<navBar title="详细报告" fixed="{{true}}" bgColor="{{navBgColor}}"/>
<view class="detailedReport">
<scroll-view class="scrollView" scroll-y bindscroll="onScroll">
<view class="scrollViewContent">
<view class="bg">
<image src="/images/home/bg.jpg" mode="aspectFit" />
</view>
<view class="detailedReport-container page-container">
<view class="title">
<view class="title_1">设备智联 · 掌握健康</view>
<view class="title_2">留存测量记录,见证身形变化</view>
</view>
<!-- 顶部头部 -->
<view class="header">
<view class="header-top">
<view>
<image src="/images/detailedReport/calendar.png" mode="aspectFit" />
</view>
<view>{{ header.date }}</view>
</view>
<view class="header-bottom">
<view class="header-weight">
<view class="weight-num1">{{ header.weightInt }}</view>
<view class="weight-num2">{{ header.weightDecimal }}</view>
<view class="weight-unit">kg</view>
</view>
<view class="header-info">
<block wx:if="{{ header.bmiText }}">
<view class="header-bmi">{{ header.bmiText }}</view>
</block>
<block wx:if="{{ header.changeText }}">
<view class="header-change">{{ header.changeText }}</view>
</block>
</view>
</view>
</view>
<!-- 基础指标 -->
<view class="basicIndicators">
<view class="basicIndicatorsTitle">
<view class="basicIndicatorsBar"></view>
<view class="basicIndicatorsTitleText">基础指标</view>
</view>
<view class="basicIndicatorsGrid">
<view class="basicIndicatorsRow" wx:for="{{ basicRows }}" wx:for-item="row" wx:key="index">
<view class="basicIndicatorsCell" wx:for="{{ row }}" wx:for-item="cell" wx:key="label">
<block wx:if="{{ cell.label }}">
<view class="basicIndicatorsLabel">
<view class="basicIndicatorsLabelText">{{ cell.label }}</view>
<block wx:if="{{ cell.labelExtra }}">
<view class="basicIndicatorsLabelExtra" style="background-color: {{ cell.labelExtraColor }};">{{ cell.labelExtra }}</view>
</block>
</view>
<view class="basicIndicatorsValueRow">
<view class="basicIndicatorsValue">{{ cell.value }}</view>
<block wx:if="{{ cell.unit }}">
<view class="basicIndicatorsUnit">{{ cell.unit }}</view>
</block>
</view>
</block>
</view>
</view>
</view>
<view class="basicIndicatorsScale">
<view class="basicIndicatorsTrack">
<view class="basicIndicatorsBlock basicIndicatorsBlock--low"></view>
<view class="basicIndicatorsBlock basicIndicatorsBlock--normal"></view>
<view class="basicIndicatorsBlock basicIndicatorsBlock--over"></view>
<view class="basicIndicatorsBlock basicIndicatorsBlock--obese"></view>
<view class="basicIndicatorsCircle" style="left: {{ bmiCircleLeft }}%;"></view>
</view>
<view class="basicIndicatorsScaleRow">
<view>消瘦</view>
<view>正常</view>
<view>超重</view>
<view>肥胖</view>
</view>
<view class="basicIndicatorsScaleRow basicIndicatorsScaleRow--range">
<view>BMI&lt;18.5</view>
<view>18.5≤BMI&lt;24</view>
<view>24≤BMI&lt;28</view>
<view>BMI≥28</view>
</view>
</view>
</view>
<!-- 身体成分 -->
<block wx:if="{{ bodyComposition.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ bodyComposition.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ bodyComposition.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 脂肪分析 -->
<block wx:if="{{ fatAnalysis.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ fatAnalysis.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ fatAnalysis.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 体态管理 -->
<block wx:if="{{ physique.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ physique.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ physique.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 体重管控 -->
<block wx:if="{{ weightControl.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ weightControl.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ weightControl.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 细胞液分析 -->
<block wx:if="{{ cellWater.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ cellWater.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ cellWater.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 进阶成分 -->
<block wx:if="{{ advancedComposition.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ advancedComposition.title }}</view>
</view>
<view class="metricCardList">
<view class="metricCardRow" wx:for="{{ advancedComposition.rows }}" wx:key="label">
<view class="metricCardLabel">{{ item.label }}</view>
<view class="metricCardValue">{{ item.value }}{{ item.unit }}</view>
<block wx:if="{{ item.status }}">
<view class="metricCardStatus" style="background-color: {{ item.color }};">{{ item.status }}</view>
</block>
</view>
</view>
</view>
</block>
<!-- 躯干/四肢脂肪 -->
<block wx:if="{{ bodyFat.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ bodyFat.title }}</view>
</view>
<view class="bodyPartsList">
<view class="bodyPartsRow" wx:for="{{ bodyFat.rows }}" wx:key="index" wx:for-item="row">
<view class="bodyPartCell" wx:for="{{ row }}" wx:key="label" wx:for-item="part">
<view class="bodyPartLabel">{{ part.label }}</view>
<view class="bodyPartValue">
<view class="bodyPartNum">{{ part.massValue }}</view>
<view class="bodyPartUnit">{{ part.massUnit }}</view>
<view class="bodyPartSep">丨</view>
<view class="bodyPartNum">{{ part.rateValue }}</view>
<view class="bodyPartUnit">{{ part.rateUnit }}</view>
</view>
</view>
</view>
</view>
</view>
</block>
<!-- 躯干/四肢肌肉 -->
<block wx:if="{{ bodyMuscle.rows.length }}">
<view class="metricCard">
<view class="metricCardTitle">
<view class="metricCardBar"></view>
<view class="metricCardTitleText">{{ bodyMuscle.title }}</view>
</view>
<view class="bodyPartsList">
<view class="bodyPartsRow" wx:for="{{ bodyMuscle.rows }}" wx:key="index" wx:for-item="row">
<view class="bodyPartCell" wx:for="{{ row }}" wx:key="label" wx:for-item="part">
<view class="bodyPartLabel">{{ part.label }}</view>
<view class="bodyPartValue">
<view class="bodyPartNum">{{ part.massValue }}</view>
<view class="bodyPartUnit">{{ part.massUnit }}</view>
<view class="bodyPartSep">丨</view>
<view class="bodyPartNum">{{ part.rateValue }}</view>
<view class="bodyPartUnit">{{ part.rateUnit }}</view>
</view>
</view>
</view>
</view>
</view>
</block>
</view>
</view>
</scroll-view>
</view>