与牧同行-小程序用户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

147 lines
4.5 KiB

<view class="personal-center">
<!-- 顶部背景 -->
<view class="header-bg"></view>
<!-- 用户信息卡片 -->
<view class="user-card" bindtap="onTapUserInfo">
<view class="user-info">
<view class="avatar-section">
<image class="avatar" src="{{userInfo.avatar || '/assets/images/avatar-default.png'}}" mode="aspectFill"></image>
<view class="avatar-badge" wx:if="{{userInfo.isVerified}}">
<text class="iconfont icon-check-circle"></text>
</view>
</view>
<view class="user-details">
<view class="user-name">
<text class="name">{{userInfo.nickname || '点击登录'}}</text>
<text class="iconfont icon-edit" wx:if="{{userInfo.nickname}}"></text>
</view>
<view class="user-phone">
<text class="iconfont icon-phone"></text>
<text>{{userInfo.phone || '未绑定手机号'}}</text>
</view>
<view class="user-tags">
<view class="tag" wx:if="{{userInfo.isDoctor}}">
<text class="iconfont icon-stethoscope"></text>
<text>医生认证</text>
</view>
<view class="tag" wx:if="{{userInfo.isVerified}}">
<text class="iconfont icon-shield-check"></text>
<text>已实名</text>
</view>
</view>
</view>
</view>
<view class="card-arrow">
<text class="iconfont icon-chevron-right"></text>
</view>
</view>
<!-- 统计数据 -->
<view class="stats-grid">
<view
wx:for="{{stats}}"
wx:key="id"
class="stat-item"
bindtap="onTapStat"
data-id="{{item.id}}"
>
<view class="stat-icon" style="color: {{item.color}};">
<text class="iconfont icon-{{item.icon}}"></text>
</view>
<view class="stat-value">{{item.value}}</view>
<view class="stat-name">{{item.name}}</view>
</view>
</view>
<!-- 快捷操作 -->
<view class="quick-actions">
<view class="section-title">
<text class="iconfont icon-zap"></text>
<text>快捷操作</text>
</view>
<view class="actions-grid">
<view
wx:for="{{quickActions}}"
wx:key="id"
class="action-item"
bindtap="onTapQuickAction"
data-id="{{item.id}}"
>
<view class="action-icon" style="background: {{item.color}};">
<text class="iconfont icon-{{item.icon}}"></text>
</view>
<view class="action-name">{{item.name}}</view>
</view>
</view>
</view>
<!-- 功能模块 -->
<view class="modules">
<block wx:for="{{modules}}" wx:key="id">
<view class="module-section">
<view class="section-title">
<text class="iconfont icon-{{item.icon}}"></text>
<text>{{item.name}}</text>
</view>
<view class="module-items">
<view
wx:for="{{item.items}}"
wx:key="id"
class="module-item"
bindtap="onTapMenuItem"
data-moduleid="{{moduleId}}"
data-itemid="{{item.id}}"
>
<view class="item-left">
<view class="item-icon">
<text class="iconfont icon-{{item.icon}}"></text>
</view>
<view class="item-info">
<view class="item-name">{{item.name}}</view>
<view class="item-desc">{{item.desc}}</view>
<view
class="item-status {{item.statusColor || ''}}"
wx:if="{{item.status}}"
>
{{item.status}}
</view>
</view>
</view>
<view class="item-right">
<view class="badge" wx:if="{{item.badge > 0}}">
{{item.badge > 99 ? '99+' : item.badge}}
</view>
<text class="iconfont icon-chevron-right" wx:if="{{item.arrow}}"></text>
</view>
</view>
</view>
</view>
</block>
</view>
<!-- 底部操作 -->
<view class="bottom-actions">
<view class="system-info">
<text>版本 {{systemInfo.version}}</text>
<text>最后登录 {{systemInfo.lastLogin}}</text>
</view>
<view class="action-buttons">
<button class="btn btn-setting" bindtap="onTapSettings">
<text class="iconfont icon-settings"></text>
<text>设置</text>
</button>
<button class="btn btn-logout" bindtap="onLogout">
<text class="iconfont icon-log-out"></text>
<text>退出登录</text>
</button>
</view>
</view>
</view>