|
@@ -0,0 +1,45 @@
|
|
|
|
|
+<div style="max-width:500px;margin:0 auto;padding:16px;">
|
|
|
|
|
+ <button (click)="router.navigate(['/exercise/actions'])" style="background:none;border:none;color:#0d9488;cursor:pointer;font-size:14px;margin-bottom:12px;">← 返回动作库</button>
|
|
|
|
|
+
|
|
|
|
|
+ <h2 style="margin:0 0 4px;font-size:20px;color:#0f172a;">📝 记录一组</h2>
|
|
|
|
|
+ <p style="color:#666;font-size:14px;margin:0 0 20px;">{{ exerciseName }}</p>
|
|
|
|
|
+
|
|
|
|
|
+ <div style="background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08);">
|
|
|
|
|
+ <div style="margin-bottom:14px;">
|
|
|
|
|
+ <label style="display:block;font-size:13px;color:#555;margin-bottom:6px;">重量 (kg)</label>
|
|
|
|
|
+ <input type="number" [(ngModel)]="weightKg" placeholder="如 20" style="width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;">
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div style="display:flex;gap:12px;margin-bottom:14px;">
|
|
|
|
|
+ <div style="flex:1;">
|
|
|
|
|
+ <label style="display:block;font-size:13px;color:#555;margin-bottom:6px;">次数</label>
|
|
|
|
|
+ <input type="number" [(ngModel)]="reps" placeholder="如 12" style="width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="flex:1;">
|
|
|
|
|
+ <label style="display:block;font-size:13px;color:#555;margin-bottom:6px;">RPE (1-10)</label>
|
|
|
|
|
+ <input type="number" min="1" max="10" [(ngModel)]="rpe" style="width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div style="margin-bottom:14px;">
|
|
|
|
|
+ <label style="display:block;font-size:13px;color:#555;margin-bottom:6px;">备注(可选)</label>
|
|
|
|
|
+ <input type="text" [(ngModel)]="notes" placeholder="如:左肩有点紧" style="width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;">
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <button (click)="save" [disabled]="!exerciseName" style="width:100%;padding:14px;background:#0d9488;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;">
|
|
|
|
|
+ {{ saved ? '✓ 已保存' : '保存' }}
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <h3 style="margin:24px 0 10px;font-size:16px;">最近记录</h3>
|
|
|
|
|
+ <div *ngIf="recentLogs.length===0" style="color:#999;font-size:13px;text-align:center;padding:20px;">还没有记录</div>
|
|
|
|
|
+ <div *ngFor="let l of recentLogs" style="background:#fff;border-radius:10px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.05);">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div style="font-weight:500;">{{ l.logDate }}</div>
|
|
|
|
|
+ <div style="font-size:13px;color:#666;margin-top:2px;">
|
|
|
|
|
+ {{ l.weightKg ? l.weightKg + 'kg' : '自重' }} × {{ l.reps }} 次 · RPE {{ l.rpe }}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <button (click)="remove(l.id)" style="background:none;border:none;color:#c62828;cursor:pointer;font-size:13px;">删除</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</div>
|