feat(csms, web): add charge point status and error code to charge point details, hide the connector 0 from connectors view

This commit is contained in:
2026-03-11 11:00:16 +08:00
parent 48d9580d36
commit f74939917b
4 changed files with 98 additions and 15 deletions

View File

@@ -240,6 +240,35 @@ export default function ChargePointDetailPage({ params }: { params: Promise<{ id
</div>
</div>
{/* Info grid */}
{cp.chargePointStatus && (
<div
className={`flex items-center gap-3 rounded-xl border px-4 py-3 ${
cp.chargePointStatus === "Available"
? "border-success/30 bg-success/5"
: cp.chargePointStatus === "Faulted" || cp.chargePointStatus === "Unavailable"
? "border-danger/30 bg-danger/5"
: "border-warning/30 bg-warning/5"
}`}
>
<span
className={`size-2.5 shrink-0 rounded-full ${statusDotClass[cp.chargePointStatus] ?? "bg-warning"}`}
/>
<span className="text-sm font-semibold text-foreground">
{cp.chargePointStatus === "Available"
? "正常"
: (statusLabelMap[cp.chargePointStatus] ?? cp.chargePointStatus)}
</span>
{cp.chargePointErrorCode && cp.chargePointErrorCode !== "NoError" && (
<>
<span className="text-muted">·</span>
<span className="text-xs text-danger">{cp.chargePointErrorCode}</span>
</>
)}
<span className="ml-auto text-xs text-muted"></span>
</div>
)}
{/* Info grid */}
<div className="grid gap-4 md:grid-cols-2">
{/* Device info — admin only */}

View File

@@ -282,8 +282,9 @@ export default function ChargePointsPage() {
{isAdmin && <Table.Column> / </Table.Column>}
{isAdmin && <Table.Column></Table.Column>}
<Table.Column>/kWh</Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
{isAdmin && <Table.Column>{""}</Table.Column>}
</Table.Header>
<Table.Body>
@@ -297,6 +298,7 @@ export default function ChargePointsPage() {
<Table.Cell>{""}</Table.Cell>
<Table.Cell>{""}</Table.Cell>
<Table.Cell>{""}</Table.Cell>
<Table.Cell>{""}</Table.Cell>
{isAdmin && <Table.Cell>{""}</Table.Cell>}
</Table.Row>
)}
@@ -349,6 +351,22 @@ export default function ChargePointsPage() {
<span className="text-muted"></span>
)}
</Table.Cell>
<Table.Cell>
{cp.chargePointStatus ? (
<div className="flex items-center gap-1.5">
<span
className={`size-1.5 shrink-0 rounded-full ${statusDotClass[cp.chargePointStatus] ?? "bg-warning"}`}
/>
<span className="text-sm text-foreground text-nowrap">
{cp.chargePointStatus === "Available"
? "正常"
: (statusLabelMap[cp.chargePointStatus] ?? cp.chargePointStatus)}
</span>
</div>
) : (
<span className="text-muted"></span>
)}
</Table.Cell>
<Table.Cell>
<div className="flex flex-wrap gap-1.5">
{cp.connectors.length === 0 ? (