仪表盘清理:删采集服务卡片+运行机床卡片+工人排行含0产量

main
haoliang 1 month ago
parent cbe90546db
commit 5103083726

@ -1,8 +1,8 @@
<template>
<div class="dashboard-page">
<!-- 第1行 4个统计卡片 -->
<!-- 第1行 3个统计卡片 -->
<el-row :gutter="16" class="stat-row">
<el-col :span="6">
<el-col :span="8">
<el-card shadow="hover">
<div class="stat-card">
<div class="stat-label">
@ -15,7 +15,7 @@
</div>
</el-card>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-card shadow="hover">
<div class="stat-card">
<div class="stat-label">
@ -28,43 +28,6 @@
</div>
</el-card>
</el-col>
<el-col :span="6">
<el-card shadow="hover">
<div class="stat-card">
<div class="stat-label">
采集服务
<el-tooltip content="数据采集服务的运行状态。" placement="top">
<span class="info-icon"></span>
</el-tooltip>
</div>
<div class="stat-value">
<el-tag :type="collectorTagType" size="small">
{{ collectorStatusText }}
</el-tag>
</div>
<div class="stat-sub" v-if="collectorStatus.status === 'running'"> {{ formatUptime(collectorStatus.uptimeSeconds) }}</div>
</div>
<div class="collector-actions">
<el-button v-if="collectorStatus.status === 'stopped' || collectorStatus.status === 'not_installed'" size="small" type="success" disabled>需手动启动服务</el-button>
<el-button v-if="collectorStatus.status === 'paused' || collectorStatus.status === 'timeout'" size="small" type="success" :loading="startLoading" @click="startCollector"></el-button>
<el-button v-if="collectorStatus.status === 'running'" size="small" type="danger" :loading="stopLoading" @click="stopCollector"></el-button>
<el-button size="small" type="warning" :loading="refreshLoading" @click="refreshCollectorConfig"></el-button>
</div>
</el-card>
</el-col>
<el-col :span="6">
<el-card shadow="hover">
<div class="stat-card">
<div class="stat-label">
今日运行机床数
<el-tooltip content="当前正在执行加工程序的机床数量。" placement="top">
<span class="info-icon"></span>
</el-tooltip>
</div>
<div class="stat-value">{{ summary.runningMachines }}<span class="stat-unit"> </span></div>
</div>
</el-card>
</el-col>
</el-row>
<!-- 第2行 双图表 -->
@ -801,13 +764,11 @@ async function loadWorkshopData() {
async function loadData() {
try {
// + +
const [summaryRes, collectorRes, trendRes] = await Promise.all([
const [summaryRes, trendRes] = await Promise.all([
request.get<DashboardSummary>('/admin/dashboard/summary'),
request.get<CollectorStatus>('/admin/collector/status'),
request.get<{ items: DashboardTrendItem[] }>('/admin/dashboard/trend'),
])
summary.value = summaryRes.data || summary.value
collectorStatus.value = collectorRes.data || collectorStatus.value
trendData.value = trendRes.data?.items || []
//

@ -131,9 +131,7 @@ namespace CncRepository.Impl.Dashboard
LEFT JOIN cnc_daily_production dp ON dp.worker_id = w.id
AND dp.production_date BETWEEN @Start AND @End
AND dp.end_total_count > dp.base_total_count
GROUP BY w.id, w.name
HAVING SUM(dp.end_total_count - dp.base_total_count) > 0
ORDER BY TotalQuantity {orderBy}
GROUP BY w.id, w.name ORDER BY TotalQuantity {orderBy}
LIMIT @Top";
var rows = conn.Query<WorkerRankResponse>(sql, new { Start = startDate, End = endDate, Top = top }).ToList();
// 填充排名

Loading…
Cancel
Save