diff --git a/src/components.d.ts b/src/components.d.ts index 15a74eb..851009d 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -38,6 +38,8 @@ declare module 'vue' { WarningItem: typeof import('./components/warning/item.vue')['default'] WorkDashboard: typeof import('./components/work/dashboard.vue')['default'] WorkDeviceControl: typeof import('./components/work/deviceControl.vue')['default'] + WorkRtkCanvas: typeof import('./components/work/rtkCanvas.vue')['default'] + WorkRtkHeader: typeof import('./components/work/rtkHeader.vue')['default'] WorkRtkMonitor: typeof import('./components/work/rtkMonitor.vue')['default'] } } diff --git a/src/components/work/rtkCanvas.vue b/src/components/work/rtkCanvas.vue new file mode 100644 index 0000000..485fd9c --- /dev/null +++ b/src/components/work/rtkCanvas.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/components/work/rtkHeader.vue b/src/components/work/rtkHeader.vue new file mode 100644 index 0000000..109c109 --- /dev/null +++ b/src/components/work/rtkHeader.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/components/work/rtkMonitor.vue b/src/components/work/rtkMonitor.vue index f18ca52..77b56bf 100644 --- a/src/components/work/rtkMonitor.vue +++ b/src/components/work/rtkMonitor.vue @@ -1,11 +1,45 @@ @@ -17,14 +51,62 @@ padding: 16px; } -.placeholder { +.footer-info { + display: flex; + justify-content: space-between; + align-items: flex-end; + margin-top: 12px; +} + +.legend { + display: flex; + flex-direction: column; + gap: 6px; +} + +.legend-item { display: flex; align-items: center; - justify-content: center; - min-height: 120px; - color: #999; - font-size: 14px; - border: 1px dashed #ddd; - border-radius: 8px; + gap: 8px; +} + +.legend-line { + width: 20px; + height: 2px; +} + +.legend-line--blue { + background: #3b82f6; +} + +.legend-area { + width: 16px; + height: 12px; + background: #bbf7d0; + border-radius: 2px; +} + +.legend-dot { + width: 12px; + height: 12px; + border-radius: 50%; + background: #f97316; +} + +.legend-text { + font-size: 12px; + color: #666; +} + +.location-info { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 4px; +} + +.location-text { + font-size: 12px; + color: #666; }