weixinxiaochengxu/pages/home/home.wxml

144 lines
5.2 KiB
Plaintext
Raw 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="container home">
<!-- 用户栏:左下拉切换 + 右添加/管理 -->
<view class="person-bar">
<picker wx:if="{{persons.length > 0}}" mode="selector" range="{{personNames}}" bindchange="onSwitchPerson" value="{{currentPersonIndex}}">
<view class="person-selector">
<text class="person-icon">👤</text>
<text class="person-name">{{currentPersonName}}</text>
<text class="person-arrow">▼</text>
</view>
</picker>
<view class="person-bar-right" wx:if="{{persons.length > 0}}">
<view class="person-bar-btn" bindtap="onShowAddInput"></view>
<view class="person-bar-btn person-bar-btn--manage" bindtap="onTogglePersonModal">⚙</view>
</view>
</view>
<!-- 行内新增用户输入 -->
<view wx:if="{{showAddInput}}" class="add-person-row">
<input
class="add-person-input"
placeholder="请输入用户名称"
value="{{newPersonName}}"
bindinput="onAddNameInput"
bindconfirm="onConfirmAddPerson"
confirm-type="done"
maxlength="10"
focus="{{true}}"
/>
<text class="add-person-btn add-person-btn--confirm" bindtap="onConfirmAddPerson">确认</text>
<text class="add-person-btn add-person-btn--cancel" bindtap="onCancelAddPerson">取消</text>
</view>
<view class="home-header">
<text class="home-title">健康数据追踪</text>
<text class="home-desc">选择您需要的功能</text>
</view>
<view class="home-grid">
<view class="home-card" bindtap="goEntry">
<view class="home-card-icon home-card-icon--entry">
<text class="home-card-emoji">📝</text>
</view>
<text class="home-card-title">录入检查数据</text>
<text class="home-card-desc">记录每日健康指标</text>
</view>
<view class="home-card" bindtap="goItems">
<view class="home-card-icon home-card-icon--items">
<text class="home-card-emoji">⚙️</text>
</view>
<text class="home-card-title">管理检查项目</text>
<text class="home-card-desc">自定义追踪指标</text>
</view>
<view class="home-card" bindtap="goTrend">
<view class="home-card-icon home-card-icon--trend">
<text class="home-card-emoji">📈</text>
</view>
<text class="home-card-title">数据趋势</text>
<text class="home-card-desc">查看变化趋势图</text>
</view>
<view class="home-card" bindtap="goDetails">
<view class="home-card-icon home-card-icon--details">
<text class="home-card-emoji">📋</text>
</view>
<text class="home-card-title">数据详细信息</text>
<text class="home-card-desc">浏览与管理数据</text>
</view>
</view>
<view class="clear-section" wx:if="{{persons.length > 0}}">
<view class="clear-btn" bindtap="onClearAll">
<text class="clear-icon">🗑️</text>
<text class="clear-text">清除{{currentPersonName}}的历史数据</text>
</view>
</view>
</view>
<!-- ===== 无用户弹窗(强制创建) ===== -->
<view wx:if="{{showForceModal && persons.length === 0}}" class="modal-wrap">
<view class="modal-box" catchtap="noop">
<view class="modal-title">欢迎使用健康数据追踪</view>
<view class="modal-desc">请先创建您的第一位用户</view>
<view class="force-input-row">
<input
class="force-input"
placeholder="请输入用户名称"
value="{{forceName}}"
bindinput="onForceNameInput"
bindconfirm="onConfirmForceCreate"
confirm-type="done"
maxlength="10"
focus="{{true}}"
/>
</view>
<view class="btn-row">
<button class="btn-primary" style="flex:1;" bindtap="onConfirmForceCreate">确认创建</button>
</view>
</view>
</view>
<!-- ===== 用户管理弹窗 ===== -->
<view wx:if="{{showPersonModal && persons.length > 0}}" class="modal-wrap" catchtap="onTogglePersonModal">
<view class="modal-box" catchtap="noop">
<view class="modal-title">用户管理</view>
<view class="person-list">
<view
class="person-list-item {{app.globalData.currentPersonId === item.id ? 'person-list-item--active' : ''}}"
wx:for="{{persons}}"
wx:key="id"
>
<view class="person-list-left">
<text class="person-list-name">{{item.name}}</text>
</view>
<view class="person-list-right">
<text class="person-list-action" bindtap="onStartRename" data-id="{{item.id}}">✏️</text>
<text class="person-list-action" bindtap="onDeletePerson" data-id="{{item.id}}">🗑️</text>
</view>
</view>
</view>
<!-- 重命名输入行 -->
<view wx:if="{{editingPersonId}}" class="person-edit-row">
<input
class="person-edit-input"
placeholder="修改用户名"
value="{{editingPersonName}}"
bindinput="onEditNameInput"
bindconfirm="onConfirmRename"
confirm-type="done"
maxlength="10"
/>
<button class="btn-primary person-edit-btn" bindtap="onConfirmRename">保存</button>
</view>
<view class="btn-row">
<button class="btn-cancel" bindtap="onTogglePersonModal">关闭</button>
</view>
</view>
</view>