From 7f08566981babdea4a87b7de6c18f655583a9a37 Mon Sep 17 00:00:00 2001 From: SZCJW <792430652@qq.com> Date: Fri, 6 Mar 2026 00:52:06 +0800 Subject: [PATCH] init --- static/style.css | 138 ++++++++++++++++++++++++++++++++++++++++++++++ static/vue-app.js | 73 ++++++++++++++++++++++-- 2 files changed, 205 insertions(+), 6 deletions(-) diff --git a/static/style.css b/static/style.css index 5b59de4..25890a0 100644 --- a/static/style.css +++ b/static/style.css @@ -799,6 +799,144 @@ a:hover { color: var(--text-primary); } +/* ================================ + 设计建议列表 + ================================ */ +.recommendations-section { + margin-top: var(--space-6); + padding-top: var(--space-6); + border-top: 1px solid var(--border-light); +} + +.recommendations-section h5 { + font-size: var(--text-base); + font-weight: var(--font-semibold); + color: var(--text-primary); + margin-bottom: var(--space-4); +} + +.recommendations-list { + display: flex; + flex-direction: column; + gap: var(--space-3); +} + +.recommendation-item { + display: flex; + align-items: flex-start; + gap: var(--space-3); + padding: var(--space-3); + background: var(--bg-secondary); + border-radius: var(--radius-lg); + border-left: 4px solid var(--gray-300); + transition: all var(--duration-fast) var(--ease-default); +} + +.recommendation-item:hover { + background: var(--gray-50); + transform: translateX(2px); +} + +.recommendation-item.critical { + border-left-color: var(--red-500); + background: linear-gradient(90deg, var(--red-50), transparent); +} + +.recommendation-item.high { + border-left-color: var(--orange-500); + background: linear-gradient(90deg, var(--orange-50), transparent); +} + +.recommendation-item.medium { + border-left-color: var(--blue-500); + background: linear-gradient(90deg, var(--blue-50), transparent); +} + +.recommendation-item.low { + border-left-color: var(--green-500); + background: linear-gradient(90deg, var(--green-50), transparent); +} + +.priority-badge { + display: inline-flex; + align-items: center; + padding: var(--space-1) var(--space-2); + font-size: var(--text-xs); + font-weight: var(--font-semibold); + border-radius: var(--radius-full); + white-space: nowrap; + flex-shrink: 0; +} + +.priority-badge.critical { + background: var(--red-500); + color: white; +} + +.priority-badge.high { + background: var(--orange-500); + color: white; +} + +.priority-badge.medium { + background: var(--blue-500); + color: white; +} + +.priority-badge.low { + background: var(--green-500); + color: white; +} + +.recommendation-text { + flex: 1; + font-size: var(--text-sm); + color: var(--text-primary); + line-height: 1.5; +} + +.recommendation-reason { + font-size: var(--text-xs); + color: var(--text-tertiary); + font-style: italic; +} + +/* ================================ + 分析摘要 + ================================ */ +.analysis-summary { + background: linear-gradient(135deg, var(--blue-50), var(--purple-50)); + border: 1px solid var(--border-light); + border-radius: var(--radius-xl); + padding: var(--space-6); + margin-bottom: var(--space-6); + box-shadow: var(--shadow-sm); +} + +.summary-header { + display: flex; + align-items: center; + gap: var(--space-3); + margin-bottom: var(--space-3); +} + +.summary-header h4 { + font-size: var(--text-lg); + font-weight: var(--font-semibold); + color: var(--text-primary); + margin: 0; +} + +.summary-icon { + font-size: var(--text-xl); +} + +.summary-content { + font-size: var(--text-base); + color: var(--text-secondary); + line-height: 1.6; +} + /* ================================ 数据表格 ================================ */ diff --git a/static/vue-app.js b/static/vue-app.js index b3ee54e..db2444a 100644 --- a/static/vue-app.js +++ b/static/vue-app.js @@ -172,6 +172,16 @@ const App = { initAuth(); }); + const getPriorityText = (priority) => { + const priorityMap = { + 'critical': '紧急', + 'high': '高', + 'medium': '中', + 'low': '低' + }; + return priorityMap[priority] || priority; + }; + return { route, router, @@ -179,6 +189,7 @@ const App = { menuItems, isActive, handleLogout, + getPriorityText, dismissNotification: (id) => { const index = appState.notifications.findIndex(n => n.id === id); if (index > -1) { @@ -1104,6 +1115,17 @@ const ResultView = {

分析结果详情

+ +
+
+

分析摘要

+ 📋 +
+
+ {{ state.task.analysis_result.analysis_summary }} +
+
+

1. 产品特征识别

@@ -1117,19 +1139,19 @@ const ResultView = {
壁厚分布 - {{ state.task.analysis_result.detected_features?.find(f => f.type === 'wall_thickness')?.description || '待分析' }} + {{ state.task.analysis_result.detected_features?.find(f => f.feature_type === 'wall_thickness')?.description || '待分析' }}
加强筋位置和密度 - {{ state.task.analysis_result.detected_features?.filter(f => f.type === 'rib').length || 0 }} 个加强筋 + {{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'rib').length || 0 }} 个加强筋
孔洞和凹槽位置 - {{ state.task.analysis_result.detected_features?.filter(f => f.type === 'hole' || f.type === 'pocket').length || 0 }} 个孔洞/凹槽 + {{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'hole' || f.feature_type === 'pocket').length || 0 }} 个孔洞/凹槽
倒扣区域检测 - {{ state.task.analysis_result.detected_features?.filter(f => f.type === 'undercut').length || 0 }} 个倒扣区域 + {{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'undercut').length || 0 }} 个倒扣区域
对称性分析 @@ -1166,12 +1188,27 @@ const ResultView = {
定位结构设计 - {{ state.task.analysis_result.detected_features?.filter(f => f.type === '定位').length || 0 }} 个定位特征 + {{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === '定位').length || 0 }} 个定位特征
分型面选择 基于产品几何:自动推荐最优分型面
+ + +
+
详细设计建议
+
+
+ {{ getPriorityText(rec.priority) }} + {{ rec.description }} + ({{ rec.reason }}) +
+
+
@@ -1184,7 +1221,11 @@ const ResultView = {
模架尺寸 - 基于泡沫外形自动计算 + {{ state.task.key_info?.mold_parameters?.mold_size || '基于泡沫外形自动计算' }} +
+
+ 预估锁模力 + {{ state.task.key_info.geometric_characteristics.estimated_clamping_force || '自动计算' }} 吨
顶出系统 @@ -1198,6 +1239,26 @@ const ResultView = { 材料选择 {{ state.task.analysis_result.quality_metrics?.volume ? '根据产量和精度自动推荐' : '7075 铝合金' }}
+
+ 体积利用率 + {{ (state.task.analysis_result.quality_metrics.volume_utilization * 100)?.toFixed(1) || 'N/A' }}% +
+
+ 拓扑复杂度 + {{ state.task.analysis_result.quality_metrics.topology_complexity?.toFixed(2) || 'N/A' }} +
+
+ 壁厚均匀性 + {{ (state.task.analysis_result.quality_metrics.wall_uniformity * 100)?.toFixed(1) || 'N/A' }}% +
+
+ 翘曲风险 + {{ state.task.key_info.quality_considerations.warpage_risk || '低风险' }} +
+
+ 潜在焊缝线 + {{ state.task.key_info.quality_considerations.potential_weld_lines || 0 }} 条 +