From 1b96ac128dcc6f0f45e8c1d39ea222485e4006c5 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 19 Oct 2026 17:33:18 +0800 Subject: [PATCH] fix(admin): show measurement differences in red --- .../inbounds/measurement/InboundMeasurementPanel.vue | 4 ++-- src/styles/adminDensity.test.ts | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/modules/inbounds/measurement/InboundMeasurementPanel.vue b/src/modules/inbounds/measurement/InboundMeasurementPanel.vue index 2a5ffbac..bc6f56cc 100644 --- a/src/modules/inbounds/measurement/InboundMeasurementPanel.vue +++ b/src/modules/inbounds/measurement/InboundMeasurementPanel.vue @@ -922,7 +922,7 @@ defineExpose({ saveDraft, submitForReview, updateWeightEvidence, submissionBlock .measurement-comparison thead th { background: #f8fafc; } .measurement-comparison thead th:nth-child(2) { background: #f7f9ff; color: #465fc4; } .measurement-comparison thead th:nth-child(3) { background: #f4fbf8; color: #18795d; } -.measurement-comparison__difference { color: var(--el-color-warning-dark-2); font-weight: 600; } +.measurement-comparison__difference { color: var(--el-color-danger-dark-2); font-weight: 600; } .measurement-extra-facts { display: flex; flex-wrap: wrap; gap: var(--admin-space-3, 8px) var(--admin-space-6, 16px); color: var(--cc-muted); font-size: var(--admin-font-caption, 12px); } .measurement-extra-facts strong { color: var(--cc-text); } .measurement-panel { overflow: hidden; } @@ -947,7 +947,7 @@ defineExpose({ saveDraft, submitForReview, updateWeightEvidence, submissionBlock .measurement-summary-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; } .measurement-summary-context { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--admin-space-3, 8px) 20px; } .measurement-summary-header span { color: var(--cc-muted); font-size: var(--admin-font-caption, 11px); } -.measurement-deviation-alert { margin: 0; width: auto; } +.measurement-deviation-alert { --el-color-warning: var(--el-color-danger-dark-2); --el-color-warning-dark-2: var(--el-color-danger-dark-2); margin: 0; width: auto; } .measurement-deviation-alert p { margin: 3px 0 0; line-height: 1.55; } .measurement-summary-context p { display: inline-flex; min-width: 0; align-items: baseline; gap: var(--admin-space-2, 6px); margin: 0; overflow-wrap: anywhere; color: var(--cc-text); font-size: var(--admin-font-caption, 12px); font-weight: 600; } .measurement-summary-status { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; } diff --git a/src/styles/adminDensity.test.ts b/src/styles/adminDensity.test.ts index ac6f36a0..c597bcf0 100644 --- a/src/styles/adminDensity.test.ts +++ b/src/styles/adminDensity.test.ts @@ -586,6 +586,18 @@ describe('approved Admin density ownership', () => { it('keeps measurement sections within the clipped panel and gives long references room', () => { const dialog = parse(read('modules/inbounds/measurement/InboundMeasurementDialog.vue')).descriptor + const panelCss = parse(read('modules/inbounds/measurement/InboundMeasurementPanel.vue')).descriptor.styles.map(style => style.content).join('\n') + const differenceStyles = new Map>() + cssRoot(panelCss).walkRules(rule => { + const declarations: Record = {} + rule.walkDecls(decl => { declarations[decl.prop] = decl.value }) + differenceStyles.set(rule.selector, declarations) + }) + expect(differenceStyles.get('.measurement-comparison__difference')?.color).toBe('var(--el-color-danger-dark-2)') + expect(differenceStyles.get('.measurement-deviation-alert')).toMatchObject({ + '--el-color-warning': 'var(--el-color-danger-dark-2)', + '--el-color-warning-dark-2': 'var(--el-color-danger-dark-2)', + }) const layout = read('modules/inbounds/measurement/measurementDensity.css') const summaryMargins: string[] = [] for (const css of [layout, ...dialog.styles.map(style => style.content)]) {