From 0e2239b59f86311fd0400a5f03aabca7ff8d2cd3 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 17 Mar 2026 09:54:42 +0800 Subject: [PATCH] style(detail): improve detail page layout --- frontend/src/styles/base.css | 38 +++++++++++++++ frontend/src/views/FactoryDetail.vue | 45 +++++++++++++----- frontend/src/views/MaterialDetail.vue | 66 ++++++++++++++++----------- 3 files changed, 111 insertions(+), 38 deletions(-) diff --git a/frontend/src/styles/base.css b/frontend/src/styles/base.css index 79a2573..4ae14e9 100644 --- a/frontend/src/styles/base.css +++ b/frontend/src/styles/base.css @@ -147,3 +147,41 @@ a { overflow: auto; padding-right: 8px; } + +.detail-card { + padding: 24px; +} + +.detail-descriptions :is(.el-descriptions__table, .el-descriptions__body) { + width: 100%; +} + +.detail-descriptions .el-descriptions__cell { + vertical-align: top; +} + +.detail-descriptions .el-descriptions__label.el-descriptions__cell { + width: 180px; + min-width: 180px; + white-space: nowrap; + color: var(--text-900); + font-weight: 600; + background: var(--bg-soft); +} + +.detail-descriptions .el-descriptions__content.el-descriptions__cell { + color: var(--text-600); + line-height: 1.7; + word-break: break-word; +} + +@media (max-width: 768px) { + .detail-card { + padding: 16px; + } + + .detail-descriptions .el-descriptions__label.el-descriptions__cell { + width: 132px; + min-width: 132px; + } +} diff --git a/frontend/src/views/FactoryDetail.vue b/frontend/src/views/FactoryDetail.vue index 12b9d1d..771a4bf 100644 --- a/frontend/src/views/FactoryDetail.vue +++ b/frontend/src/views/FactoryDetail.vue @@ -4,17 +4,28 @@ 工厂详情 返回 -
- - {{ factory.factory_name }} - {{ factory.brand }} - {{ factory.dealer_name }} - {{ factory.product_category }} - {{ formatRegion(factory.province, factory.city, factory.district) }} - {{ factory.address }} - {{ factory.website }} - {{ (factory.usernames || []).join('、') || '-' }} - {{ factory.material_count }} +
+ + {{ displayText(factory.factory_name) }} + {{ displayText(factory.brand) }} + {{ displayText(factory.dealer_name) }} + {{ displayText(factory.product_category) }} + {{ displayRegion(factory) }} + {{ displayText(factory.address) }} + + + {{ factory.website }} + + - + + {{ displayList(factory.usernames) }} + {{ displayText(factory.material_count) }}
@@ -39,6 +50,12 @@ onMounted(loadDetail) const goBack = () => { router.back() } + +const displayText = (value) => value || '-' + +const displayList = (value) => (value?.length ? value.join('、') : '-') + +const displayRegion = (item) => formatRegion(item.province, item.city, item.district) || '-' +.website-link { + color: var(--brand-500); + word-break: break-all; +} + diff --git a/frontend/src/views/MaterialDetail.vue b/frontend/src/views/MaterialDetail.vue index 7a583c0..a46f4e8 100644 --- a/frontend/src/views/MaterialDetail.vue +++ b/frontend/src/views/MaterialDetail.vue @@ -1,34 +1,34 @@ -