@if(message()){

{{message()}}

} @if(error()){} @if(tab()!=='rates'){
{{overview()?.sourceStatus?.mode==='live'?'实时数据':'缓存数据'}} · {{overview()?.sourceStatus?.refreshedAt|date:'MM-dd HH:mm:ss'}}
} @if(tab()==='overview'){ @if(overview();as data){ @if(data.sourceStatus.mode==='cache'){

{{data.sourceStatus.message}}。当前可以查看缓存,但不能生成或审核工资单。

}
参与陪练{{data.coachCount}}本月有课酬或复习奖励
有效课次{{data.lessonCount}}含课型4 {{data.type4Count||0}} 节
总工时{{data.totalHours|number:'1.1-1'}}h课型4不计工时
基础工资¥{{data.baseAmount|number:'1.2-2'}}按历史生效单价
复习奖励¥{{data.reviewAmount||0|number:'1.2-2'}}有效复习 {{data.reviewCount||0}} 次
应发工资¥{{data.payableAmount|number:'1.2-2'}}生成草稿后可调账
异常记录{{data.exceptionCount}}生成工资前必须处理
{{data.month}} 老师收益汇总点击老师查看课酬与复习奖励明细
@if(isManager()){}
@for(row of data.coachItems;track row.coachId){}@empty{}
陪练老师门店30分钟60分钟体验课课型4总课次工时基础工资复习次数复习奖励应发明细
{{coachLabel(row.coachName,row.coachId)}}ID {{row.coachId}}{{row.storeName}}{{row.type30Count}}{{row.type60Count}}{{row.trialCount}}{{row.type4Count}}{{row.lessonCount}}{{row.totalHours|number:'1.1-1'}}h¥{{row.baseAmount|number:'1.2-2'}}{{row.reviewCount||0}}¥{{row.reviewAmount||0|number:'1.2-2'}}¥{{row.payableAmount|number:'1.2-2'}}
当前筛选范围没有有效计薪记录
@if(data.type4Count){

课型4“陪练”按原系统口径只计入课次,不计算工资和工时。

}
} } @else if(tab()==='rewards'){ @if(rewardCoachId()){

当前查看老师 ID {{rewardCoachId()}}

} } @else if(tab()==='batches'){
全公司月度工资批次每月仅一张;门店筛选不会拆分工资单
@for(row of page()?.items||[];track row.objectId){}@empty{}
月份状态陪练有效课次工时基础工资复习次数复习奖励调整应发异常操作
{{row.month}}{{row.statusLabel}}{{row.coachCount}}{{row.lessonCount}}{{row.totalHours|number:'1.1-1'}}h¥{{row.baseAmount|number:'1.2-2'}}{{row.reviewCount||0}}¥{{row.reviewAmount||0|number:'1.2-2'}}¥{{row.adjustmentAmount|number:'1.2-2'}}¥{{row.payableAmount|number:'1.2-2'}}{{row.exceptionCount}}
尚未生成工资批次。请先在“收益统计”核对实时数据。
} @else { @if(standards();as config){
课程数{{config.summary.courseCount}}
已确认映射{{config.summary.confirmedCount}}
待确认课程{{config.summary.unmappedCount}}
生效规则{{config.summary.activeRuleCount}}
@if(standardsSection()==='rules'){
当前课程工资标准按最新价目表统一为课程分类、时长、线上和线下单价;新版本从生效日期起计算,历史工资仍使用原规则
@if(isManager()){
课时扣减@for(cost of creditCosts();track cost.account){ {{cost.account==='Purse'?'30分钟课时':cost.account==='SilverCoin'?'60分钟课时':cost.account==='UserExp'?'体验课时':'陪练时长'}} -{{cost.amount}} }
}
@for(row of standardMatrix();track row.categoryKey+':'+row.durationMinutes){}
课程分类课程时长线上单价线下单价课时扣减当前版本操作
{{row.categoryName}}{{row.durationMinutes}}分钟¥{{row.online?.teacherPay|number:'1.2-2'}}¥{{row.offline?.teacherPay|number:'1.2-2'}}{{row.online?creditSummary(row.online):row.offline?creditSummary(row.offline):'—'}}{{row.online?.effectiveFrom||row.offline?.effectiveFrom}}{{row.online?.isDefault&&row.offline?.isDefault?'系统价目':'管理员版本'}}@if(isManager()){}@else{—}
} @else if(standardsSection()==='mappings'){
历史课程映射课程大类由数据库的课程层级自动读取;管理员只需确认具体课程分类
@for(row of filteredMappings();track row.courseId){}@empty{}
历史课程系统建议数据库大类课程分类状态操作
{{row.courseName}}ID {{row.courseId}}{{row.suggestedCategoryName}}{{row.stageName||'数据库未归类'}}{{row.confirmed?'已确认':!row.stageConfirmed?'数据库大类缺失':'待确认'}}@if(isManager()){}
没有匹配的课程
} @else if(standardsSection()==='categories') {
标准课程分类分类名称与价目表完全一致,不再显示或使用旧分类
@for(stage of stageOptions;track stage.key){{{stage.name}}·数据库大类}
@for(category of activeCategories();track category.key){
{{category.key}}{{category.name}}固定分类
}
} @else if(standardsSection()==='reservations') {
历史未来预约课时预留按预约时间顺序核对现有余额;确认后仅补建预留,不扣减实际课时
@if(isManager()&&reservationReconciliation()?.summary?.total){}
@if(reservationReconciliation();as result){
待核对预约{{result.summary.total}}
可补建预留{{result.summary.ready}}
待补课时{{result.summary.insufficient}}
映射/数据异常{{result.summary.exceptions}}
@for(row of result.items;track row.appointmentId){}@empty{}
预约ID学员课程预约时间标准课时预留处理结果
{{row.appointmentGeneralId}}{{row.studentName}}ID {{row.studentId}}{{row.courseName}}{{row.startsAt|date:'yyyy-MM-dd HH:mm'}}{{row.categoryName||'未映射'}}{{row.durationMinutes}}分钟 · {{row.deliveryLabel}}@for(cost of row.creditCosts;track cost.account){{{cost.label}} {{cost.amount}}}{{row.statusLabel}}{{row.reason}}
所有未来预约均已建立课时预留
}@else{
正在核对历史未来预约……
}
} @else {
2026 年 9 月起复习课课时差异只预览新规则生效后的已完课记录;确认前不会修改余额
@if(isManager()&&reconciliation()?.summary?.differenceCount){}
@if(reconciliation();as result){
已完成复习课{{result.summary.completedReviewCount}}
待处理差异{{result.summary.differenceCount}}
应退陪练时长{{result.summary.refundTotal|number:'1.1-2'}}
@for(row of result.items;track row.appointmentId){}@empty{}
预约ID学员ID上课时间时长规则应扣实际已扣应退状态
{{row.appointmentGeneralId}}{{row.studentId}}{{row.lessonAt}}{{row.durationMinutes}}分钟{{row.expected}}{{row.charged}}{{row.adjustment}}{{row.status}}
暂无已完成的复习课记录
}@else{
正在核对复习课课时……
}
} } } @if(detail()||selectedCoachId()){
}