feat(csms): 充电桩添加 deviceName 字段,区别于 identifier 用于区分设备
This commit is contained in:
@@ -222,6 +222,7 @@ function QrScanner({ onResult, onClose }: ScannerProps) {
|
||||
function ChargePageContent() {
|
||||
const searchParams = useSearchParams();
|
||||
const { data: sessionData } = useSession();
|
||||
const isAdmin = sessionData?.user?.role === "admin";
|
||||
|
||||
const [step, setStep] = useState(1);
|
||||
const [selectedCpId, setSelectedCpId] = useState<string | null>(null);
|
||||
@@ -234,6 +235,7 @@ function ChargePageContent() {
|
||||
const [startSnapshot, setStartSnapshot] = useState<{
|
||||
cpId: string;
|
||||
chargePointIdentifier: string;
|
||||
deviceName: string | null;
|
||||
connectorId: number;
|
||||
idTag: string;
|
||||
} | null>(null);
|
||||
@@ -348,6 +350,7 @@ function ChargePageContent() {
|
||||
setStartSnapshot({
|
||||
cpId: selectedCp.id,
|
||||
chargePointIdentifier: selectedCp.chargePointIdentifier,
|
||||
deviceName: selectedCp.deviceName,
|
||||
connectorId: selectedConnectorId,
|
||||
idTag: selectedIdTag,
|
||||
});
|
||||
@@ -424,7 +427,7 @@ function ChargePageContent() {
|
||||
<div className="flex justify-between text-sm">
|
||||
<span className="text-muted">充电桩</span>
|
||||
<span className="font-medium text-foreground">
|
||||
{startSnapshot?.chargePointIdentifier ?? selectedCp?.chargePointIdentifier}
|
||||
{startSnapshot?.deviceName ?? startSnapshot?.chargePointIdentifier ?? selectedCp?.deviceName ?? selectedCp?.chargePointIdentifier}
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex justify-between text-sm">
|
||||
@@ -617,12 +620,17 @@ function ChargePageContent() {
|
||||
: "cursor-pointer border-border bg-surface hover:border-accent/60 hover:bg-accent/5 active:scale-[0.98]",
|
||||
].join(" ")}
|
||||
>
|
||||
{/* Top row: identifier + status */}
|
||||
{/* Top row: name + status */}
|
||||
<div className="flex items-start justify-between gap-2">
|
||||
<div className="flex min-w-0 flex-1 flex-col gap-0.5">
|
||||
<span className="font-semibold text-foreground truncate leading-tight">
|
||||
{cp.chargePointIdentifier}
|
||||
{cp.deviceName ?? cp.chargePointIdentifier}
|
||||
</span>
|
||||
{isAdmin && cp.deviceName && (
|
||||
<span className="font-mono text-xs text-muted truncate">
|
||||
{cp.chargePointIdentifier}
|
||||
</span>
|
||||
)}
|
||||
{(cp.chargePointVendor || cp.chargePointModel) && (
|
||||
<span className="text-xs text-muted truncate">
|
||||
{[cp.chargePointVendor, cp.chargePointModel]
|
||||
@@ -686,7 +694,7 @@ function ChargePageContent() {
|
||||
<EvCharger className="size-3.5 text-muted" />
|
||||
<span className="text-muted">充电桩</span>
|
||||
<span className="font-semibold text-foreground">
|
||||
{selectedCp.chargePointIdentifier}
|
||||
{selectedCp.deviceName ?? selectedCp.chargePointIdentifier}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
@@ -773,7 +781,7 @@ function ChargePageContent() {
|
||||
<EvCharger className="size-3.5 text-muted" />
|
||||
<span className="text-muted">充电桩</span>
|
||||
<span className="font-semibold text-foreground">
|
||||
{selectedCp.chargePointIdentifier}
|
||||
{selectedCp.deviceName ?? selectedCp.chargePointIdentifier}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user