fix: 工作台 KPI 卡片换行与考勤趋势横坐标日期 #79

Merged
wangziqi merged 2 commits from fix/dashboard-trend-kpi into main 2026-08-12 02:19:09 +00:00
2 changed files with 13 additions and 8 deletions
+11 -7
View File
@@ -274,7 +274,7 @@ const DashboardPage: React.FC = () => {
{/* 核心 KPI */}
<Row gutter={[16, 16]} style={SECTION_ROW_STYLE}>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
<Card>
<Statistic
title="入住率"
@@ -284,17 +284,21 @@ const DashboardPage: React.FC = () => {
/>
</Card>
</Col>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
<Card>
<Statistic
title="当前在住"
value={stats?.occupiedBeds || 0}
suffix={`/ ${stats?.totalCapacity || 0}`}
suffix={
<span style={{ fontSize: 14, color: 'rgba(0, 0, 0, 0.45)' }}>
/ {stats?.totalCapacity || 0}
</span>
}
prefix={<CheckCircleOutlined />}
/>
</Card>
</Col>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
<Card>
<Statistic
title="今日出勤率"
@@ -304,7 +308,7 @@ const DashboardPage: React.FC = () => {
/>
</Card>
</Col>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
<Card>
<Statistic
title="教室占用率"
@@ -314,7 +318,7 @@ const DashboardPage: React.FC = () => {
/>
</Card>
</Col>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
<Card>
<Statistic
title="本月收入"
@@ -324,7 +328,7 @@ const DashboardPage: React.FC = () => {
/>
</Card>
</Col>
<Col xs={12} sm={8} md={4}>
<Col xs={12} sm={8} md={8} lg={6} xl={6} xxl={4}>
{/* 占位:保持 6 列布局最后一个空位 */}
</Col>
</Row>
@@ -43,7 +43,8 @@ async getAttendanceTrend(
const trendQb = attendanceRepo
.createQueryBuilder('a')
.select('a.attendanceDate', 'date')
// DATE_FORMAT 直接输出 YYYY-MM-DD 字符串,避免 mysql2 把 DATE 列序列化成 ISO 时间戳
.select("DATE_FORMAT(a.attendanceDate, '%Y-%m-%d')", 'date')
.addSelect('a.status', 'status')
.addSelect('COUNT(*)', 'count')
.where('a.attendanceDate >= :start', { start: startStr })