x
This commit is contained in:
+35
-83
@@ -2071,52 +2071,6 @@ const ResultView = {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="result-grid compact-metrics-grid">
|
||||
<div class="result-card">
|
||||
<h3>任务信息</h3>
|
||||
<div class="info-list">
|
||||
<div class="info-item">
|
||||
<span class="info-label">文件大小</span>
|
||||
<span class="info-value">{{ formatFileSize(state.task.file_size) }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">分析时间</span>
|
||||
<span class="info-value">{{ formatDateTime(state.task.completed_at) }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-label">状态</span>
|
||||
<span class="info-value">{{ state.task.status }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="result-card">
|
||||
<h3>几何概览</h3>
|
||||
<div class="info-list">
|
||||
<div class="info-item" v-if="state.task.mesh_summary">
|
||||
<span class="info-label">顶点数</span>
|
||||
<span class="info-value">{{ formatNumber(state.task.mesh_summary.vertex_count) }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.mesh_summary">
|
||||
<span class="info-label">面数</span>
|
||||
<span class="info-value">{{ formatNumber(state.task.mesh_summary.face_count) }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.mesh_summary || state.task.geometry_data">
|
||||
<span class="info-label">边数</span>
|
||||
<span class="info-value">{{ formatNumber(state.task.geometry_data?.topology?.edge_count || state.task.geometry_data?.topology?.edges || state.task.mesh_summary?.edge_count || 'N/A') }}</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.geometry_data">
|
||||
<span class="info-label">体积</span>
|
||||
<span class="info-value">{{ formatNumber(state.task.geometry_data.volume) }} mm³</span>
|
||||
</div>
|
||||
<div class="info-item" v-if="state.task.geometry_data">
|
||||
<span class="info-label">表面积</span>
|
||||
<span class="info-value">{{ formatNumber(state.task.geometry_data.surface_area) }} mm²</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="state.task.status === 'completed'" class="export-buttons-bar" style="display: flex; gap: var(--space-2); flex-wrap: wrap; justify-content: center; padding: var(--space-3) 0;">
|
||||
<button class="btn-sm btn-primary" @click="exportCAD('step')" title="导出装配体STEP格式(UG/FreeCAD/SolidWorks通用)">
|
||||
📦 导出 STEP
|
||||
@@ -2132,43 +2086,6 @@ const ResultView = {
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="candidate-schemes" v-if="candidateSchemes.length > 1" class="viewer-section diagnostic-panel" style="margin-bottom: var(--space-3);">
|
||||
<summary>📊 方案对比({{ Math.min(candidateSchemes.length, 2) }} 个方案)</summary>
|
||||
<div class="result-card full-width diagnostic-panel-body">
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>方案</th>
|
||||
<th>方向</th>
|
||||
<th>位置</th>
|
||||
<th>总分</th>
|
||||
<th>法向匹配</th>
|
||||
<th>可制造性</th>
|
||||
<th>分型质量</th>
|
||||
<th>倒扣数</th>
|
||||
<th>锁模力</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="scheme in candidateSchemes.slice(0, 2)" :key="'cmp-' + scheme.scheme_id" :style="state.selectedSchemeId === scheme.scheme_id ? 'background: rgba(var(--primary-rgb), 0.06); font-weight: 600;' : ''">
|
||||
<td>
|
||||
<span v-if="scheme.scheme_id === state.bestSchemeId" style="color: var(--primary-color); margin-right: 4px;">★</span>
|
||||
<span style="cursor: pointer; color: var(--primary-color);" @click="selectScheme(scheme.scheme_id)">{{ scheme.title || scheme.scheme_id }}</span>
|
||||
</td>
|
||||
<td>{{ formatSchemeDirection(scheme) }}</td>
|
||||
<td>{{ scheme.offset_label || '中面' }}</td>
|
||||
<td>{{ formatNumber(scheme.score) }}</td>
|
||||
<td>{{ formatNumber(scheme.normal_alignment_score || 0) }}</td>
|
||||
<td>{{ formatNumber(scheme.score_breakdown?.manufacturability || 0) }}</td>
|
||||
<td>{{ formatNumber(scheme.score_breakdown?.parting_quality || 0) }}</td>
|
||||
<td>{{ scheme.key_info?.quality_considerations?.undercut_count || 0 }}</td>
|
||||
<td>{{ scheme.cavity_data?.manufacturing_info?.estimated_clamping_force || 'N/A' }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<div id="preview-3d" v-if="selectedHtmlFile" class="viewer-section viewer-section-hero">
|
||||
<div class="summary-header">
|
||||
<h3>3D 预览</h3>
|
||||
@@ -2198,6 +2115,41 @@ const ResultView = {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="candidate-schemes" v-if="candidateSchemes.length > 1" class="viewer-section diagnostic-panel" style="margin-top: var(--space-3);">
|
||||
<summary>📊 方案对比</summary>
|
||||
<div class="result-card full-width diagnostic-panel-body">
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>方案</th>
|
||||
<th>方向</th>
|
||||
<th>位置</th>
|
||||
<th>总分</th>
|
||||
<th>可制造性</th>
|
||||
<th>分型质量</th>
|
||||
<th>倒扣数</th>
|
||||
<th>锁模力</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(scheme, idx) in candidateSchemes.slice(0, 2)" :key="'cmp-' + scheme.scheme_id" :style="state.selectedSchemeId === scheme.scheme_id ? 'background: rgba(var(--primary-rgb), 0.06); font-weight: 600;cursor:pointer' : 'cursor:pointer'" @click="selectScheme(scheme.scheme_id)">
|
||||
<td>
|
||||
<span v-if="idx === 0" style="color: var(--primary-color); font-weight: 600;">★ 推荐方案</span>
|
||||
<span v-else style="color: var(--warning-color); font-weight: 600;">备选方案</span>
|
||||
</td>
|
||||
<td>{{ formatSchemeDirection(scheme) }}</td>
|
||||
<td>{{ scheme.offset_label || '中面' }}</td>
|
||||
<td>{{ formatNumber(scheme.score) }}</td>
|
||||
<td>{{ formatNumber(scheme.score_breakdown?.manufacturability || 0) }}</td>
|
||||
<td>{{ formatNumber(scheme.score_breakdown?.parting_quality || 0) }}</td>
|
||||
<td>{{ scheme.key_info?.quality_considerations?.undercut_count || 0 }}</td>
|
||||
<td>{{ scheme.cavity_data?.manufacturing_info?.estimated_clamping_force || 'N/A' }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<div id="ai-side-action" class="viewer-section">
|
||||
<div class="summary-header">
|
||||
<h3>AI 倒扣与抽芯分析</h3>
|
||||
|
||||
Reference in New Issue
Block a user