feat(scada): align map asset fields

This commit is contained in:
2026-07-15 18:30:12 +08:00
parent 16ecb69d00
commit 055335e404
11 changed files with 153 additions and 71 deletions
@@ -23,6 +23,7 @@ export type FeaturePanelModel = {
const PROPERTY_LABELS: Record<string, string> = {
fid: "GeoServer 要素 ID",
id: "编号",
scada_id: "编号 UUID",
gid: "要素编号",
name: "名称",
code: "编码",
@@ -69,14 +70,18 @@ const PROPERTY_LABELS: Record<string, string> = {
device_type_name: "设备类型",
device_icon_code: "设备图标编码",
active: "运行状态",
external_id: "设备编号",
junction_id: "关联检查井",
kind: "设备类型",
location_source: "位置来源",
site_external_id: "站点编号",
synced_at: "同步时间"
};
const PROPERTY_ORDER: Record<string, number> = {
fid: 9,
id: 10,
scada_id: 10,
gid: 11,
name: 12,
code: 13,
@@ -136,7 +141,7 @@ const FEATURE_PANEL_PROPERTY_KEYS: Record<WaterNetworkSourceId, readonly string[
junctions: ["id", "invert_elevation", "max_depth"],
orifices: ["id", "discharge_coeff", "gated", "shape", "geom1", "geom2"],
outfalls: ["id", "invert_elevation", "outfall_type"],
scada: ["id", "point_id", "point_external_id", "point_name", "device_external_id", "active", "device_type_id", "device_type_name", "junction_id", "synced_at"]
scada: ["scada_id", "site_external_id", "name", "external_id", "kind", "active", "junction_id", "synced_at"]
};
const FEATURE_PANEL_BADGE_KEYS: Partial<Record<WaterNetworkSourceId, string>> = {
@@ -159,7 +164,7 @@ export function getFeaturePanelProperties(
featureId?: string
): LocalizedFeatureProperty[] {
return FEATURE_PANEL_PROPERTY_KEYS[layer].map((key) => {
const value = key === "id" ? properties[key] ?? featureId : properties[key];
const value = key === "id" || key === "scada_id" ? properties[key] ?? featureId : properties[key];
return {
key,
@@ -175,7 +180,7 @@ export function getFeaturePanelModel(
featureId?: string
): FeaturePanelModel {
const entries = getFeaturePanelProperties(layer, properties, featureId);
const idKey = layer === "scada" ? "point_external_id" : "id";
const idKey = layer === "scada" ? "scada_id" : "id";
const id = entries.find((entry) => entry.key === idKey)?.value ?? "暂无";
const badgeKey = FEATURE_PANEL_BADGE_KEYS[layer];
const badgeEntry = badgeKey ? entries.find((entry) => entry.key === badgeKey) : undefined;