diff --git a/frontend/mock/dashboard.ts b/frontend/mock/dashboard.ts
index 7525cbc..bb8e99b 100644
--- a/frontend/mock/dashboard.ts
+++ b/frontend/mock/dashboard.ts
@@ -88,7 +88,7 @@ const mock: MockMethod[] = [
},
},
},
- // ===== 新增:车间产量对比 =====
+ // ===== 新增:车间平均单机产量 =====
{
url: '/mock-api/admin/dashboard/workshop-production',
method: 'get',
@@ -96,9 +96,9 @@ const mock: MockMethod[] = [
code: 0,
data: {
items: [
- { workshopName: 'A栋', quantity: 1280 },
- { workshopName: 'B栋', quantity: 860 },
- { workshopName: 'C栋', quantity: 707 },
+ { workshopName: 'A栋', quantity: 1280, machineCount: 80, avgQuantity: 16.0 },
+ { workshopName: 'B栋', quantity: 860, machineCount: 45, avgQuantity: 19.1 },
+ { workshopName: 'C栋', quantity: 707, machineCount: 35, avgQuantity: 20.2 },
],
},
},
diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts
index de1ef84..a9d1a0c 100644
--- a/frontend/src/types/index.ts
+++ b/frontend/src/types/index.ts
@@ -204,10 +204,12 @@ export interface DashboardTrendItem {
quantity: number
}
-/** 车间产量对比 */
+/** 车间平均单机产量 */
export interface WorkshopProduction {
workshopName: string
quantity: number
+ machineCount: number
+ avgQuantity: number
}
/** 机床状态分布 */
diff --git a/frontend/src/views/dashboard/DashboardPage.vue b/frontend/src/views/dashboard/DashboardPage.vue
index 380db19..27d3468 100644
--- a/frontend/src/views/dashboard/DashboardPage.vue
+++ b/frontend/src/views/dashboard/DashboardPage.vue
@@ -94,7 +94,7 @@
- 车间产量对比(今日)
+ 车间平均单机产量(今日)
@@ -266,17 +266,24 @@ function initCharts() {
})
}
- // 车间产量柱状图
+ // 车间平均单机产量柱状图
if (workshopChartRef.value && workshopData.value.length) {
workshopChart = echarts.init(workshopChartRef.value)
workshopChart.setOption({
- tooltip: { trigger: 'axis' },
+ tooltip: {
+ trigger: 'axis',
+ formatter: (params: any) => {
+ const d = workshopData.value[params[0].dataIndex]
+ return `${d.workshopName}
平均产量: ${params[0].value} 件/台
总产量: ${d.quantity} 件
机床数: ${d.machineCount} 台`
+ },
+ },
grid: { left: 50, right: 20, top: 20, bottom: 30 },
xAxis: { type: 'category', data: workshopData.value.map(i => i.workshopName), axisLabel: { fontSize: 12 } },
- yAxis: { type: 'value', axisLabel: { fontSize: 12 } },
+ yAxis: { type: 'value', name: '件/台', axisLabel: { fontSize: 12 } },
series: [{
- type: 'bar', data: workshopData.value.map(i => i.quantity),
+ type: 'bar', data: workshopData.value.map(i => i.avgQuantity),
itemStyle: { color: '#67C23A', borderRadius: [4, 4, 0, 0] }, barWidth: '40%',
+ label: { show: true, position: 'top', formatter: '{c} 件/台', fontSize: 12 },
}],
})
}