init
This commit is contained in:
+67
-6
@@ -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 = {
|
||||
<div v-if="state.task.analysis_result" class="viewer-section">
|
||||
<h3>分析结果详情</h3>
|
||||
|
||||
<!-- 分析摘要 -->
|
||||
<div class="analysis-summary" v-if="state.task.analysis_result.analysis_summary">
|
||||
<div class="summary-header">
|
||||
<h4>分析摘要</h4>
|
||||
<span class="summary-icon">📋</span>
|
||||
</div>
|
||||
<div class="summary-content">
|
||||
{{ state.task.analysis_result.analysis_summary }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="result-grid">
|
||||
<div class="result-card full-width">
|
||||
<h4>1. 产品特征识别</h4>
|
||||
@@ -1117,19 +1139,19 @@ const ResultView = {
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">壁厚分布</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.find(f => f.type === 'wall_thickness')?.description || '待分析' }}</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.find(f => f.feature_type === 'wall_thickness')?.description || '待分析' }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">加强筋位置和密度</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.type === 'rib').length || 0 }} 个加强筋</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'rib').length || 0 }} 个加强筋</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">孔洞和凹槽位置</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.type === 'hole' || f.type === 'pocket').length || 0 }} 个孔洞/凹槽</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'hole' || f.feature_type === 'pocket').length || 0 }} 个孔洞/凹槽</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">倒扣区域检测</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.type === 'undercut').length || 0 }} 个倒扣区域</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === 'undercut').length || 0 }} 个倒扣区域</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">对称性分析</span>
|
||||
@@ -1166,12 +1188,27 @@ const ResultView = {
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">定位结构设计</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.type === '定位').length || 0 }} 个定位特征</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.detected_features?.filter(f => f.feature_type === '定位').length || 0 }} 个定位特征</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">分型面选择</span>
|
||||
<span class="info-value">基于产品几何:自动推荐最优分型面</span>
|
||||
</div>
|
||||
|
||||
<!-- 设计建议列表 -->
|
||||
<div class="recommendations-section" v-if="state.task.analysis_result.design_recommendations?.length">
|
||||
<h5>详细设计建议</h5>
|
||||
<div class="recommendations-list">
|
||||
<div v-for="rec in state.task.analysis_result.design_recommendations.sort((a, b) => {
|
||||
const priorityOrder = { 'critical': 0, 'high': 1, 'medium': 2, 'low': 3 };
|
||||
return priorityOrder[a.priority] - priorityOrder[b.priority];
|
||||
})" :key="rec.type" class="recommendation-item" :class="rec.priority">
|
||||
<span class="priority-badge" :class="rec.priority">{{ getPriorityText(rec.priority) }}</span>
|
||||
<span class="recommendation-text">{{ rec.description }}</span>
|
||||
<span class="recommendation-reason" v-if="rec.reason">({{ rec.reason }})</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1184,7 +1221,11 @@ const ResultView = {
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">模架尺寸</span>
|
||||
<span class="info-value">基于泡沫外形自动计算</span>
|
||||
<span class="info-value">{{ state.task.key_info?.mold_parameters?.mold_size || '基于泡沫外形自动计算' }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.key_info?.geometric_characteristics">
|
||||
<span class="info-label">预估锁模力</span>
|
||||
<span class="info-value">{{ state.task.key_info.geometric_characteristics.estimated_clamping_force || '自动计算' }} 吨</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">顶出系统</span>
|
||||
@@ -1198,6 +1239,26 @@ const ResultView = {
|
||||
<span class="info-label">材料选择</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.quality_metrics?.volume ? '根据产量和精度自动推荐' : '7075 铝合金' }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.analysis_result.quality_metrics">
|
||||
<span class="info-label">体积利用率</span>
|
||||
<span class="info-value">{{ (state.task.analysis_result.quality_metrics.volume_utilization * 100)?.toFixed(1) || 'N/A' }}%</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.analysis_result.quality_metrics">
|
||||
<span class="info-label">拓扑复杂度</span>
|
||||
<span class="info-value">{{ state.task.analysis_result.quality_metrics.topology_complexity?.toFixed(2) || 'N/A' }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.analysis_result.quality_metrics">
|
||||
<span class="info-label">壁厚均匀性</span>
|
||||
<span class="info-value">{{ (state.task.analysis_result.quality_metrics.wall_uniformity * 100)?.toFixed(1) || 'N/A' }}%</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.key_info?.quality_considerations">
|
||||
<span class="info-label">翘曲风险</span>
|
||||
<span class="info-value">{{ state.task.key_info.quality_considerations.warpage_risk || '低风险' }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.key_info?.quality_considerations">
|
||||
<span class="info-label">潜在焊缝线</span>
|
||||
<span class="info-value">{{ state.task.key_info.quality_considerations.potential_weld_lines || 0 }} 条</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user