2fd25e26ef
页面: - record:3×3 emoji 九宫格(184rpx 高、全站最大的点击块)换成图标 + 4 色分类, 和首页的 8 宫格合并成同一套 .quick-grid,此前它俩是同一个东西的两个副本 - record/plan/community:三套横向切换全部换成 seg-tabs - record/plan/community/report/learn:砍掉与 nav-bar 重复的 46rpx 大标题, 每页白赚约 130rpx 首屏 - 时间轴图标改按 HealthRecord.Type 取(9 值枚举,可靠),老数据里的 emoji 只作兜底;写库的 icon 字段一个字符没动 - profile:设置行加分类图标 + 右侧箭头换图标 - community/report:主操作改深色 CTA,btn-primary 继续留给弹层的「保存」 - 6 套空态写法统一成 .empty 组件: - nav-bar 的 ‹ 和 fab 的 "AI" 文字换成图标;fab 从蓝渐变改深色, 和全站唯一主 CTA 的语义对齐 - pet-switch 的「+」换图标;宠物自己的 emoji 是用户数据,保留 pt-icon 开了 virtualHost,组件标签上的 class 不生效,需要定位的地方 (profile 行图标、箭头)都用外层 view 包了一层。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
55 lines
3.3 KiB
Plaintext
55 lines
3.3 KiB
Plaintext
<nav-bar title="成长报告"></nav-bar>
|
|
|
|
<scroll-view class="page-scroll" scroll-y="{{true}}" enhanced="{{true}}" show-scrollbar="{{false}}">
|
|
<view class="page-body">
|
|
<pet-switch bind:add="onAddPet"></pet-switch>
|
|
|
|
<view class="card report-card">
|
|
<view class="section-head"><view class="sh-title">本周成长报告</view><view class="tag">{{report.health_status || '稳定成长'}}</view></view>
|
|
<view class="rc-text">{{report.summary || '暂无本周数据'}}</view>
|
|
<view class="stats-grid">
|
|
<view class="stat"><text class="stat-b">{{report.tasks_completed || 0}}</text><text class="stat-s">完成任务</text></view>
|
|
<view class="stat"><text class="stat-b">{{gainText}}</text><text class="stat-s">kg 增长</text></view>
|
|
<view class="stat"><text class="stat-b">{{report.high_risk_count || 0}}</text><text class="stat-s">高风险异常</text></view>
|
|
</view>
|
|
<view class="sheet-actions">
|
|
<button class="btn btn-ghost" data-type="reportDetail" bindtap="openSheet">查看报告</button>
|
|
<button class="btn btn-primary" data-type="poster" bindtap="openSheet">分享卡片</button>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="section-head"><view class="sh-title">健康摘要</view><view class="link" data-type="vetSummary" bindtap="openSheet">导出</view></view>
|
|
<view class="record-row"><text class="bold">疫苗进度</text><text class="muted">{{summary.vaccine_progress || '—'}}</text></view>
|
|
<view class="record-row"><text class="bold">驱虫状态</text><text class="muted">{{summary.deworm_status || '—'}}</text></view>
|
|
<view class="record-row"><text class="bold">体重趋势</text><text class="muted">{{summary.weight_trend || '—'}}</text></view>
|
|
<view class="record-row"><text class="bold">异常记录</text><text class="muted">{{summary.anomaly_count || 0}} 次</text></view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="section-head"><view class="sh-title">养宠账单</view><view class="link" data-type="cost" bindtap="openSheet">记一笔</view></view>
|
|
<view class="stats-grid">
|
|
<view class="stat"><text class="stat-b">¥{{bill.total || 0}}</text><text class="stat-s">本月花费</text></view>
|
|
<view class="stat"><text class="stat-b">¥{{bill.max_single || 0}}</text><text class="stat-s">最大支出</text></view>
|
|
<view class="stat"><text class="stat-b">{{bill.categories.length || 0}}</text><text class="stat-s">消费类别</text></view>
|
|
</view>
|
|
<view class="bill-bars">
|
|
<view wx:for="{{bill.categories}}" wx:key="category" class="bill-row">
|
|
<text class="bill-cat">{{item.category}}</text>
|
|
<view class="mini-bar"><view class="mini-bar-fill" style="width:{{item.percent}}%"></view></view>
|
|
<text class="bill-amt">¥{{item.amount}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="section-head"><view class="sh-title">Pro 会员</view></view>
|
|
<view class="rc-text">解锁 365 天计划、PDF 健康档案、月度报告、多宠物管理与年度账单。</view>
|
|
<button class="btn btn-dark btn-block" style="margin-top:24rpx" data-type="pro" bindtap="openSheet">查看 Pro 权益</button>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
|
|
<fab bind:tap="onFab"></fab>
|
|
<bottom-sheet show="{{sheetShow}}" type="{{sheetType}}" bind:close="closeSheet"></bottom-sheet>
|