feat: 添加Revit分析仪表板和批处理作业管理器组件。

This commit is contained in:
sladro 2026-03-02 18:24:15 +08:00
parent e01376de57
commit aa9d283706
2 changed files with 6 additions and 64 deletions

View File

@ -18,28 +18,28 @@
<div class="stat-card">
<div class="stat-icon"><i class="fas fa-spinner fa-spin"></i></div>
<div class="stat-info">
<div class="stat-value">3</div>
<div class="stat-value">0</div>
<div class="stat-label">运行中任务</div>
</div>
</div>
<div class="stat-card">
<div class="stat-icon success"><i class="fas fa-check-circle"></i></div>
<div class="stat-info">
<div class="stat-value">128</div>
<div class="stat-value">0</div>
<div class="stat-label">已完成</div>
</div>
</div>
<div class="stat-card">
<div class="stat-icon warning"><i class="fas fa-clock"></i></div>
<div class="stat-info">
<div class="stat-value">5</div>
<div class="stat-value">0</div>
<div class="stat-label">排队中</div>
</div>
</div>
<div class="stat-card">
<div class="stat-icon danger"><i class="fas fa-times-circle"></i></div>
<div class="stat-info">
<div class="stat-value">2</div>
<div class="stat-value">0</div>
<div class="stat-label">失败/异常</div>
</div>
</div>
@ -263,52 +263,7 @@ const taskForm = ref({
const newModelPath = ref('')
// - queued -> dispatching -> waiting_callback -> succeeded/failed
const jobs = ref([
{
batchId: 'B-20261001',
strategy: 'creo_shrinkwrap',
priority: '普通',
progress: 40,
status: 'running',
totalCount: 5,
completedCount: 2,
createdAt: '2026-02-26 14:00',
items: [
{ modelPath: 'C:\\Models\\engine_block.prt', status: 'succeeded', errorMessage: '', finishedAt: '2026-02-26 14:05' },
{ modelPath: 'C:\\Models\\gear_box.prt', status: 'failed', errorMessage: '模型几何损坏无法抽取外壳', finishedAt: '2026-02-26 14:10' },
{ modelPath: 'C:\\Models\\shaft.prt', status: 'waiting_callback', errorMessage: '', finishedAt: '-' },
{ modelPath: 'C:\\Models\\bearing.prt', status: 'queued', errorMessage: '', finishedAt: '-' },
{ modelPath: 'C:\\Models\\casing.prt', status: 'queued', errorMessage: '', finishedAt: '-' }
]
},
{
batchId: 'B-20261002',
strategy: 'revit_shell',
priority: '高',
progress: 100,
status: 'succeeded',
totalCount: 2,
completedCount: 2,
createdAt: '2026-02-26 10:30',
items: [
{ modelPath: 'D:\\BIM\\A_Tower.rvt', status: 'succeeded', errorMessage: '', finishedAt: '2026-02-26 10:45' },
{ modelPath: 'D:\\BIM\\B_Tower.rvt', status: 'succeeded', errorMessage: '', finishedAt: '2026-02-26 11:00' }
]
},
{
batchId: 'B-20261003',
strategy: 'pdms_shrinkwrap',
priority: '低',
progress: 0,
status: 'queued',
totalCount: 1,
completedCount: 0,
createdAt: '2026-02-26 15:20',
items: [
{ modelPath: 'SAM/CATA', status: 'queued', errorMessage: '', finishedAt: '-' }
]
}
])
const jobs = ref([])
const filteredJobs = computed(() => {
if (statusFilter.value === 'all') return jobs.value

View File

@ -220,10 +220,7 @@
<i class="fas" :class="isApplyingOptimization ? 'fa-spinner fa-spin' : 'fa-check-circle'"></i>
{{ isApplyingOptimization ? '正在应用...' : '应用优化' }}
</button>
<button class="revit-analysis-btn secondary" @click="exportResults">
<i class="fas fa-download"></i>
导出报告
</button>
<button class="revit-analysis-btn secondary" @click="restartAnalysis">
<i class="fas fa-redo"></i>
重新分析
@ -421,16 +418,6 @@ const applyOptimization = async () => {
}
}
const exportResults = () => {
ElNotification({
title: '导出报告',
message: '分析报告已导出(模拟)',
type: 'success',
position: 'top-right',
duration: 2000
})
}
const restartAnalysis = () => {
resetAnalysis()
selectedCategories.value = []