@if (loading() && !user()) {
正在加载会员资料…
} @else if (error() && !user()) { } @else { @if (user(); as detail) {

{{ detail.displayName }}

会员 ID {{ detail.userId || '—' }} · {{ detail.username }}

{{ detail.learningStatusLabel }}{{ detail.parentDisplayName || '未绑定代理' }}{{ detail.registeredAt | date:'yyyy-MM-dd' }} 注册
{{ detail.statusLabel }}
@if (detail.writeReady === false) {

{{ detail.readOnlyReason }}

} @if (message()) {

{{ message() }}

} @if (error()) { } @if (sectionLoading()) {
正在读取业务记录…
} @switch (tab()) { @case ('overview') {

基本资料

只展示运营需要的业务字段
@if (detail.permissions.canEdit) { }

学习与课时

{{ detail.learningStatusReason }}
{{ detail.learningStatusLabel }}
{{ detail.periods30 }}30 分钟课时
{{ detail.periods60 }}60 分钟课时
{{ detail.trialPeriods }}体验课时
{{ detail.balances.userPoint }}陪练时长
{{ detail.activeCourseCount }}有效课程
{{ detail.studyRecordCount }}学习记录
@for (risk of detail.riskFlags || []; track risk) { {{ risk }} } @empty { 当前没有运营风险提示 }

所属门店/代理

通过名称搜索选择,不填写数字 ID
@if (detail.permissions.canEdit) {
@for (agent of filteredAgents(); track agent.userId) { }
}

账号安全

高风险操作仅运营经理可执行
@if (detail.permissions.canManage) {
@if (detail.permissions.canResetPassword) { }
} @else {

当前账号没有高风险操作权限。

}
} @case ('courses') {

课程绑定

查看学习进度,取消绑定进入回收站并可恢复
@if (detail.permissions.canEdit) {
@for (course of filteredCourses(); track course.courseId) { }
}
@for (row of related().courses; track row['targetId']) { } @empty { }
课程已学/开课进度状态操作
{{ row['courseName'] || '未命名课程' }}{{ row['learnedCount'] || 0 }} / {{ row['openedCount'] || 0 }}{{ row['progressStage'] || '未记录' }}{{ row['statusLabel'] }}@if (detail.permissions.canManage) { }
暂无课程绑定
} @case ('appointments') {

预约记录

查看课程、陪练、预约时间和业务状态
@for (row of related().appointments; track row['targetId']) { } @empty { }
课程陪练老师预约时间课型状态
{{ row['courseName'] }}{{ row['coachName'] || '待分配' }}{{ $any(row['appointmentAt'] || row['startsAt']) | date:'yyyy-MM-dd HH:mm' }}{{ row['classTypeLabel'] }}{{ row['statusLabel'] }}
暂无预约记录
} @case ('lessons') {

上课记录

仅展示真实上课事实、老师和评价
@for (row of related().lessons; track row['targetId']) { } @empty { }
课程陪练老师上课时间课型评分评价
{{ row['courseName'] }}{{ row['coachName'] }}{{ $any(row['lessonAt']) | date:'yyyy-MM-dd HH:mm' }}{{ row['classTypeLabel'] }}{{ row['score'] || '—' }}{{ row['comment'] || '—' }}
暂无上课记录
} @case ('reports') {

单词学习报表

查看该会员每次学习的掌握情况和复习计划
进入报表中心
@for (row of related().reports; track row['targetId']) { } @empty { }
学习日期课程陪练老师学习结果掌握率状态操作
{{ row['studyDate'] || '日期缺失' }}{{ row['courseName'] }}{{ row['coachName'] }}{{ row['learnedCount'] }} 个 · 掌握 {{ row['masteredCount'] }} · 待复习 {{ row['reviewDueCount'] }}{{ row['masteryRate'] }}%{{ row['statusLabel'] }}查看报表
暂无学习报表
} @case ('balances') {

课时与流水

充值、退费和人工调整均记录操作原因
{{ detail.periods30 }}30 分钟
{{ detail.periods60 }}60 分钟
{{ detail.trialPeriods }}体验课
{{ detail.balances.userPoint }}陪练时长
@if (detail.permissions.canAdjustBalance) {
}
@for (row of related().balances; track row['targetId']) { } @empty { }
项目变化调整前余额时间说明
{{ row['moneyTypeLabel'] }}{{ row['score'] }}{{ row['scoreBefore'] }}{{ row['balanceAfter'] }}{{ $any(row['happenedAt']) | date:'yyyy-MM-dd HH:mm' }}{{ row['detail'] }}
暂无课时流水
} @case ('audit') {

运营跟进备注

记录后续联系和服务事项
@if (detail.permissions.canEdit) { }
@for (note of notes(); track note['objectId']) {
{{ note['operatorName'] || '运营人员' }}

{{ note['content'] }}

} @empty {

暂无跟进备注

}

操作审计

账号、资料、关系、课程和课时修改记录
@for (item of related().audit; track item['objectId']) {
{{ item['operatorName'] || '系统' }}

{{ item['summary'] || '会员业务操作' }}

} @empty {

暂无操作审计记录

}
} } @if (detail.permissions.canEdit || detail.permissions.canManage) {
操作原因会与修改前后数据一起写入审计日志
} } }