This commit is contained in:
cjw
2026-02-16 15:59:25 +08:00
parent 3ca72f6ea0
commit bc33278e47
4 changed files with 196 additions and 63 deletions
+43 -3
View File
@@ -146,9 +146,49 @@ async function toggleFileRecords(filename) {
}
}
function viewRecordDetails(taskId) {
// 跳转到详细结果页面
window.location.href = `/result/${taskId}`;
async function viewRecordDetails(taskId) {
// 先检查任务状态,如果数据不完整,提示用户重新分析
try {
const response = await fetch(`/status/${taskId}`);
if (response.ok) {
const task = await response.json();
if (task.status === 'completed' && task.key_info) {
// 数据完整,跳转到结果页面
window.location.href = `/result/${taskId}`;
} else {
// 数据不完整,提示用户重新分析
if (confirm('该历史记录的分析数据不完整,是否重新分析?')) {
// 重新分析逻辑
await reanalyzeTask(taskId);
}
}
} else {
// 任务不存在或无法访问,跳转到结果页面尝试显示
window.location.href = `/result/${taskId}`;
}
} catch (error) {
console.error('检查任务状态失败:', error);
// 出错时直接跳转
window.location.href = `/result/${taskId}`;
}
}
async function reanalyzeTask(taskId) {
try {
const response = await fetch(`/api/reanalyze/${taskId}`, {
method: 'POST'
});
if (response.ok) {
alert('重新分析任务已启动,请稍后查看结果');
// 跳转到分析状态页面
window.location.href = `/status/${taskId}`;
} else {
throw new Error('重新分析失败');
}
} catch (error) {
alert(`重新分析失败: ${error.message}`);
}
}
function getStatusText(status) {
+45
View File
@@ -173,6 +173,51 @@ body {
gap: 12px;
}
.key-info-categories {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 20px;
}
.category-section {
background: #f8f9fa;
border-radius: 10px;
padding: 20px;
border-left: 4px solid #3498db;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.category-section:nth-child(1) {
border-left-color: #e74c3c;
}
.category-section:nth-child(2) {
border-left-color: #27ae60;
}
.category-section:nth-child(3) {
border-left-color: #f39c12;
}
.category-title {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 15px;
color: #2c3e50;
display: flex;
align-items: center;
gap: 8px;
padding-bottom: 10px;
border-bottom: 2px solid rgba(0,0,0,0.1);
}
.category-content {
display: flex;
flex-direction: column;
gap: 12px;
}
.data-item {
background: white;
padding: 20px;
+54 -30
View File
@@ -329,38 +329,62 @@
const geoChars = cavityKeyInfo.geometric_characteristics || {};
return `
<div class="key-info-grid">
<div class="data-item">
<div class="data-label">收缩率</div>
<div class="data-value">${metadata.shrinkage_rate !== undefined ? metadata.shrinkage_rate : 'N/A'}</div>
<div class="key-info-categories">
<!-- 模具参数 -->
<div class="category-section">
<div class="category-title">🔧 模具参数</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">收缩率</div>
<div class="data-value">${metadata.shrinkage_rate !== undefined ? metadata.shrinkage_rate : 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">拔模角</div>
<div class="data-value">${metadata.draft_angle !== undefined ? metadata.draft_angle + '°' : 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">型腔材料</div>
<div class="data-value">${manufacturingInfo.mold_material || 'N/A'}</div>
</div>
</div>
</div>
<div class="data-item">
<div class="data-label">拔模角</div>
<div class="data-value">${metadata.draft_angle !== undefined ? metadata.draft_angle + '°' : 'N/A'}</div>
<!-- 几何特性 -->
<div class="category-section">
<div class="category-title">📐 几何特性</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">产品体积</div>
<div class="data-value">${geoChars.product_volume || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品重量</div>
<div class="data-value">${geoChars.product_weight || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">壁厚范围</div>
<div class="data-value">${geoChars.wall_thickness_range || 'N/A'}</div>
</div>
</div>
</div>
<div class="data-item">
<div class="data-label">分型线长度</div>
<div class="data-value">${manufacturingInfo.parting_line_length || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品体积</div>
<div class="data-value">${geoChars.product_volume || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品重量</div>
<div class="data-value">${geoChars.product_weight || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">壁厚范围</div>
<div class="data-value">${geoChars.wall_thickness_range || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">型腔材料</div>
<div class="data-value">${manufacturingInfo.mold_material || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">预估周期</div>
<div class="data-value">${manufacturingInfo.estimated_cycle_time || 'N/A'}</div>
<!-- 制造要求 -->
<div class="category-section">
<div class="category-title">🏭 制造要求</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">分型线长度</div>
<div class="data-value">${manufacturingInfo.parting_line_length || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">预估周期</div>
<div class="data-value">${manufacturingInfo.estimated_cycle_time || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">制造精度</div>
<div class="data-value">${manufacturingInfo.manufacturing_tolerance || 'N/A'}</div>
</div>
</div>
</div>
</div>
`;
+54 -30
View File
@@ -343,38 +343,62 @@
const geoChars = cavityKeyInfo.geometric_characteristics || {};
return `
<div class="key-info-grid">
<div class="data-item">
<div class="data-label">收缩率</div>
<div class="data-value">${metadata.shrinkage_rate !== undefined ? metadata.shrinkage_rate : 'N/A'}</div>
<div class="key-info-categories">
<!-- 模具参数 -->
<div class="category-section">
<div class="category-title">🔧 模具参数</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">收缩率</div>
<div class="data-value">${metadata.shrinkage_rate !== undefined ? metadata.shrinkage_rate : 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">拔模角</div>
<div class="data-value">${metadata.draft_angle !== undefined ? metadata.draft_angle + '°' : 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">型腔材料</div>
<div class="data-value">${manufacturingInfo.mold_material || 'N/A'}</div>
</div>
</div>
</div>
<div class="data-item">
<div class="data-label">拔模角</div>
<div class="data-value">${metadata.draft_angle !== undefined ? metadata.draft_angle + '°' : 'N/A'}</div>
<!-- 几何特性 -->
<div class="category-section">
<div class="category-title">📐 几何特性</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">产品体积</div>
<div class="data-value">${geoChars.product_volume || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品重量</div>
<div class="data-value">${geoChars.product_weight || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">壁厚范围</div>
<div class="data-value">${geoChars.wall_thickness_range || 'N/A'}</div>
</div>
</div>
</div>
<div class="data-item">
<div class="data-label">分型线长度</div>
<div class="data-value">${manufacturingInfo.parting_line_length || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品体积</div>
<div class="data-value">${geoChars.product_volume || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">产品重量</div>
<div class="data-value">${geoChars.product_weight || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">壁厚范围</div>
<div class="data-value">${geoChars.wall_thickness_range || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">型腔材料</div>
<div class="data-value">${manufacturingInfo.mold_material || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">预估周期</div>
<div class="data-value">${manufacturingInfo.estimated_cycle_time || 'N/A'}</div>
<!-- 制造要求 -->
<div class="category-section">
<div class="category-title">🏭 制造要求</div>
<div class="category-content">
<div class="data-item">
<div class="data-label">分型线长度</div>
<div class="data-value">${manufacturingInfo.parting_line_length || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">预估周期</div>
<div class="data-value">${manufacturingInfo.estimated_cycle_time || 'N/A'}</div>
</div>
<div class="data-item">
<div class="data-label">制造精度</div>
<div class="data-value">${manufacturingInfo.manufacturing_tolerance || 'N/A'}</div>
</div>
</div>
</div>
</div>
`;