From e06941fd02495a4c6ee420d24efc899f386d6c39 Mon Sep 17 00:00:00 2001 From: Esteban Date: Mon, 2 Feb 2026 01:58:30 -0600 Subject: [PATCH] prueba columns --- src/api/meters.ts | 30 +++++ src/pages/meters/MeterPage.tsx | 11 ++ src/pages/meters/MetersModal.tsx | 142 ++++++++++++++++++++++++ src/pages/meters/MetersTable.tsx | 139 +++++++++++++++-------- water-api/src/services/meter.service.ts | 4 +- 5 files changed, 278 insertions(+), 48 deletions(-) diff --git a/src/api/meters.ts b/src/api/meters.ts index 9f4d706..6816722 100644 --- a/src/api/meters.ts +++ b/src/api/meters.ts @@ -53,6 +53,21 @@ export interface Meter { concentratorSerial?: string; projectId?: string; projectName?: string; + + protocol?: string | null; + mac?: string | null; + gateway?: string | null; + voltage?: number | null; + voltageRtu?: number | null; + voltageStatus?: string | null; + signal?: number | null; + leakageStatus?: string | null; + burstStatus?: string | null; + currentFlow?: number | null; + totalFlowReverse?: number | null; + manufacturer?: string | null; + latitude?: number | null; + longitude?: number | null; } /** @@ -67,6 +82,21 @@ export interface MeterInput { type?: string; status?: string; installationDate?: string; + + protocol?: string; + mac?: string; + gateway?: string; + voltage?: number; + voltageRtu?: number; + voltageStatus?: string; + signal?: number; + leakageStatus?: string; + burstStatus?: string; + currentFlow?: number; + totalFlowReverse?: number; + manufacturer?: string; + latitude?: number; + longitude?: number; } /** diff --git a/src/pages/meters/MeterPage.tsx b/src/pages/meters/MeterPage.tsx index 4c2ff33..358cf86 100644 --- a/src/pages/meters/MeterPage.tsx +++ b/src/pages/meters/MeterPage.tsx @@ -182,6 +182,16 @@ export default function MetersPage({ type: activeMeter.type, status: activeMeter.status, installationDate: activeMeter.installationDate ?? "", + protocol: activeMeter.protocol ?? undefined, + voltage: activeMeter.voltage ?? undefined, + signal: activeMeter.signal ?? undefined, + leakageStatus: activeMeter.leakageStatus ?? undefined, + burstStatus: activeMeter.burstStatus ?? undefined, + currentFlow: activeMeter.currentFlow ?? undefined, + totalFlowReverse: activeMeter.totalFlowReverse ?? undefined, + manufacturer: activeMeter.manufacturer ?? undefined, + latitude: activeMeter.latitude ?? undefined, + longitude: activeMeter.longitude ?? undefined, }); setErrors({}); setShowModal(true); @@ -311,6 +321,7 @@ export default function MetersPage({ {showModal && ( >; @@ -18,6 +19,7 @@ type Props = { export default function MetersModal({ editingId, + selectedProject, form, setForm, errors, @@ -28,6 +30,7 @@ export default function MetersModal({ const title = editingId ? "Editar Medidor" : "Agregar Medidor"; const [concentrators, setConcentrators] = useState([]); const [loadingConcentrators, setLoadingConcentrators] = useState(true); + const isPruebaProject = selectedProject === "PRUEBA"; // Load concentrators for the dropdown useEffect(() => { @@ -187,6 +190,145 @@ export default function MetersModal({ + {isPruebaProject && ( +
+

+ Información Técnica (Proyecto PRUEBA) +

+ +
+
+ + setForm({ ...form, protocol: e.target.value || undefined })} + /> +
+ +
+ + setForm({ ...form, voltage: e.target.value ? parseFloat(e.target.value) : undefined })} + /> +
+
+ +
+
+ + setForm({ ...form, signal: e.target.value ? parseInt(e.target.value) : undefined })} + /> +
+ +
+ + setForm({ ...form, currentFlow: e.target.value ? parseFloat(e.target.value) : undefined })} + /> +
+
+ +
+
+ + setForm({ ...form, totalFlowReverse: e.target.value ? parseFloat(e.target.value) : undefined })} + /> +
+ +
+ + +
+
+ +
+
+ + +
+ +
+ + setForm({ ...form, manufacturer: e.target.value || undefined })} + /> +
+
+ +
+
+ + setForm({ ...form, latitude: e.target.value ? parseFloat(e.target.value) : undefined })} + /> +
+ +
+ + setForm({ ...form, longitude: e.target.value ? parseFloat(e.target.value) : undefined })} + /> +
+
+
+ )} + {/* ACTIONS */}