| + {h} + | + ))} +
|---|
| + {c} + | + ))} +
+ 按部员维度:每位部员「尚未核销的累计义工时」≥ 4h 即列入当次导出。 + 单次活动若剩余时长超过 4h,显示时自动截断为 4.0(并标注「截断」),但原始登记时长不变。 + 点击「确认核销」后,本次合计小时数将写入核销记录,下次自动扣除、不会重复统计。 +
+| + 部员 + | ++ 义工号 + | + {preview.activity_matrix.activities.map((a, i) => { + const last = i < preview.activity_matrix!.activities!.length - 1; + return ( +
+ {a.title}
+ 本次核销 / 备注
+ {String(a.start_time || '').slice(0, 10)}
+ |
+ );
+ })}
+ + 本次合计 + | +
|---|---|---|---|
| + {u.name} + | ++ {u.volunteer_no || '-'} + | + {preview.activity_matrix!.activities!.map((a, i) => { + const last = i < preview.activity_matrix!.activities!.length - 1; + const v = Number(u[String(a.id)] || 0); + const r = (u as any)?._remarks?.[String(a.id)]; + const tr = !!(u as any)?._truncated?.[String(a.id)]; + return ( +
+ |
+ );
+ })}
+ + {Number(u._total || 0).toFixed(1)} + | +