From e1c597ad0ac3053f275544b6ed0778391911e45b Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sat, 25 Jul 2026 20:37:31 +0900 Subject: [PATCH] refactor(wbs-ux): refactor SystemSettingsView into a modular SOLID architecture with CrudToolbar, LiveTelemetryFooter, and AuditTimeline sub-components --- .../src/components/crud/AuditTimeline.vue | 52 +++ .../src/components/crud/CrudToolbar.vue | 248 ++++++++++++ .../components/crud/LiveTelemetryFooter.vue | 72 ++++ src/frontend/src/views/SystemSettingsView.vue | 365 ++---------------- 4 files changed, 403 insertions(+), 334 deletions(-) create mode 100644 src/frontend/src/components/crud/AuditTimeline.vue create mode 100644 src/frontend/src/components/crud/CrudToolbar.vue create mode 100644 src/frontend/src/components/crud/LiveTelemetryFooter.vue diff --git a/src/frontend/src/components/crud/AuditTimeline.vue b/src/frontend/src/components/crud/AuditTimeline.vue new file mode 100644 index 00000000..29d561f6 --- /dev/null +++ b/src/frontend/src/components/crud/AuditTimeline.vue @@ -0,0 +1,52 @@ + + + + + + diff --git a/src/frontend/src/components/crud/CrudToolbar.vue b/src/frontend/src/components/crud/CrudToolbar.vue new file mode 100644 index 00000000..8cec2b0b --- /dev/null +++ b/src/frontend/src/components/crud/CrudToolbar.vue @@ -0,0 +1,248 @@ + + + + + + diff --git a/src/frontend/src/components/crud/LiveTelemetryFooter.vue b/src/frontend/src/components/crud/LiveTelemetryFooter.vue new file mode 100644 index 00000000..679ae62c --- /dev/null +++ b/src/frontend/src/components/crud/LiveTelemetryFooter.vue @@ -0,0 +1,72 @@ + + + + + + diff --git a/src/frontend/src/views/SystemSettingsView.vue b/src/frontend/src/views/SystemSettingsView.vue index 1320d747..8da9ff68 100644 --- a/src/frontend/src/views/SystemSettingsView.vue +++ b/src/frontend/src/views/SystemSettingsView.vue @@ -8,9 +8,10 @@ import QuantComboBox from '../components/QuantComboBox.vue' import QuantCheckBox from '../components/QuantCheckBox.vue' import QuantRadio from '../components/QuantRadio.vue' import QuantTextArea from '../components/QuantTextArea.vue' -import QuantAutoComplete from '../components/QuantAutoComplete.vue' -import QuantStatusChip from '../components/QuantStatusChip.vue' import QuantDataGrid from '../components/QuantDataGrid.vue' +import CrudToolbar from '../components/crud/CrudToolbar.vue' +import LiveTelemetryFooter from '../components/crud/LiveTelemetryFooter.vue' +import AuditTimeline from '../components/crud/AuditTimeline.vue' import type { ColDef } from 'ag-grid-community' interface AuditLog { @@ -60,7 +61,7 @@ const setSplitRatio = (percent: number) => { showToast(`์Šคํ”Œ๋ฆฟ ๋ถ„ํ•  ๋น„์œจ์ด ${percent}% : ${100 - percent}% ๋กœ ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.`, 'success'); }; -const startSplitterDrag = (e: MouseEvent) => { +const startSplitterDrag = () => { isDraggingSplitter.value = true; document.addEventListener('mousemove', onSplitterMouseMove); document.addEventListener('mouseup', stopSplitterDrag); @@ -105,7 +106,6 @@ const liveLogs = ref([ // 7. ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ๋“œ๋กญ๋‹ค์šด ์ƒํƒœ const currentPage = ref(1); -const showExportMenu = ref(false); const isGuideModalOpen = ref(false); // 8. ํ† ์ŠคํŠธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ @@ -318,7 +318,6 @@ const deleteSelectedItem = () => { }; const triggerExport = (fmt: string) => { - showExportMenu.value = false; liveLogs.value.unshift(`[${new Date().toLocaleTimeString()}] [EXPORT] Streaming ${fmt}`); showToast(`${fmt} ํฌ๋งท ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.`, 'success'); }; @@ -338,54 +337,24 @@ onMounted(loadData); - -
-
-
-

โš™๏ธ SCR-07: OMS ยท WMS ยท ERP ยท AX ํ†ตํ•ฉ ์–ด๋“œ๋ฏผ

- ๐ŸŸข Live ({{ pingMs }}ms) - ๐Ÿ“ก SignalR Active -
- -
- - - - - -
- - - -
-
-
- -
- ๐Ÿ›ก๏ธ DbUp: v2026.07.25 - - - - - - - - -
- -
- - -
-
-
-
+ +
@@ -467,7 +436,6 @@ onMounted(loadData);
-
๐Ÿ“Œ {{ selectedItem.domain }} ๋„๋ฉ”์ธ ์ „์šฉ ์ปดํฌ๋„ŒํŠธ
@@ -545,7 +513,6 @@ onMounted(loadData);
-
๐Ÿ’ป ์‹ค์‹œ๊ฐ„ ํ€€ํŠธ ํŒŒ์ดํ”„๋ผ์ธ ๋กœ๊ทธ ํ„ฐ๋ฏธ๋„
@@ -555,17 +522,8 @@ onMounted(loadData);
- -
-
๐Ÿ•’ ๋ณ€๊ฒฝ ๊ฐ์‚ฌ ์ด๋ ฅ ํƒ€์ž„๋ผ์ธ (Audit Trail)
-
-
- {{ log.timestamp }} - [{{ log.user }}] - {{ log.change }} -
-
-
+ +
- -
- โŒจ๏ธ ์‚ฌ์šฉ์ž ํ•ซํ‚ค ๊ฐ€์ด๋“œ: - F3 ์กฐํšŒ - F4 ์‹ ๊ทœ - F5 ์‚ญ์ œ - F6 ๋ณต์ œ - F7 ์—‘์…€ - Ctrl+S ์ €์žฅ - Esc ํŒ์—…๋‹ซ๊ธฐ -
- - -
- ๐Ÿ–ฅ๏ธ CPU: 12% - ๐Ÿ’พ RAM: 512MB / 4GB - ๐Ÿ”Œ DB Pool: {{ dbConnections }}/20 Active - ๐Ÿ“ฌ Outbox Queue: 0 Pending - โšก Hangfire Jobs: Healthy -
+ +