diff --git a/src/locales/en.ts b/src/locales/en.ts index ed859725..42a9b56f 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -4722,5 +4722,39 @@ export default { warningNoPlanData: 'No plan data to save', saveSuccess: 'Schedule saved successfully' } + }, + EnergyOverview: { + filters: { + org: 'Region', + orgPlaceholder: 'Please select region', + energyType: 'Energy Type', + energyTypePlaceholder: 'Please select energy type', + timeRange: 'Time Range' + }, + panels: { + trend: 'Energy Usage Trend', + region: 'Regional Energy Share', + top5: 'Top 5 Energy Consumers', + detail: 'Energy Details' + }, + table: { + rank: 'Rank', + name: 'Name', + region: 'Region', + usage: 'Usage', + meterName: 'Meter Name', + energyType: 'Energy Type', + energyUsage: 'Energy Usage', + startTime: 'Start Time', + endTime: 'End Time' + }, + chart: { + usage: 'Usage', + time: 'Time', + regionEnergy: 'Regional Energy', + totalUsage: 'Total Usage' + }, + empty: 'Please configure energy types first', + exportSuccess: 'Export started' } } diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 0d226c27..36f12d80 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -4933,5 +4933,39 @@ export default { warningNoPlanData: '暂无可保存的计划数据', saveSuccess: '排产计划保存成功' } + }, + EnergyOverview: { + filters: { + org: '所属区域', + orgPlaceholder: '请选择所属区域', + energyType: '能源类型', + energyTypePlaceholder: '请选择能源类型', + timeRange: '时间范围' + }, + panels: { + trend: '能源用量趋势', + region: '区域能耗占比', + top5: '能耗排行 TOP5', + detail: '能源明细表' + }, + table: { + rank: '排名', + name: '名称', + region: '所属区域', + usage: '用量', + meterName: '表名称', + energyType: '能源类型', + energyUsage: '能源用量', + startTime: '开始时间', + endTime: '结束时间' + }, + chart: { + usage: '用量', + time: '时间', + regionEnergy: '区域能耗', + totalUsage: '总用量' + }, + empty: '请先配置能源类型', + exportSuccess: '导出已发起' } } diff --git a/src/views/mes/energyOverview/index.vue b/src/views/mes/energyOverview/index.vue index a674c335..e96bd42f 100644 --- a/src/views/mes/energyOverview/index.vue +++ b/src/views/mes/energyOverview/index.vue @@ -8,35 +8,35 @@ :inline="true" label-width="auto" > - + - + - + - 查询 + {{ t('common.query') }} - 重置 + {{ t('common.reset') }} - 导出 + {{ t('action.export') }} @@ -88,7 +88,7 @@
- 能源用量趋势 + {{ t('EnergyOverview.panels.trend') }}
@@ -99,7 +99,7 @@
- 区域能耗占比 + {{ t('EnergyOverview.panels.region') }}
@@ -113,19 +113,24 @@
- 能耗排行 TOP5 + {{ t('EnergyOverview.panels.top5') }}
- + - - - + + +
@@ -133,17 +138,22 @@
- 能源明细表 + {{ t('EnergyOverview.panels.detail') }}
- - - - - - + + + + + + - + @@ -173,7 +183,7 @@ import { EnergyOverviewRankVO, EnergyOverviewRespVO } from '@/api/mes/energydevice' -import {OrganizationApi, OrganizationVO} from "@/api/mes/organization"; +import { OrganizationApi, OrganizationVO } from '@/api/mes/organization' defineOptions({ name: 'EnergyOverview' }) @@ -192,6 +202,7 @@ interface MetricCard { type DetailRow = EnergyOverviewDetailVO +const { t } = useI18n() const message = useMessage() const defaultTimeRange = ['2026-05-04 00:00:00', '2026-05-05 23:59:59'] @@ -230,12 +241,12 @@ const trendChartOptions = reactive({ trigger: 'axis', formatter: (params: any) => { const item = params?.[0] - return `${item?.axisValue || ''}
用量:${item?.data || 0} ${selectedEnergyUnit.value}` + return `${item?.axisValue || ''}
${t('EnergyOverview.chart.usage')}:${item?.data || 0} ${selectedEnergyUnit.value}` } }, legend: { top: 4, - data: ['用量'] + data: [t('EnergyOverview.chart.usage')] }, grid: { left: 24, @@ -247,7 +258,7 @@ const trendChartOptions = reactive({ xAxis: { type: 'category', boundaryGap: false, - name: '时间', + name: t('EnergyOverview.chart.time'), nameLocation: 'middle', nameGap: 28, data: trendXAxis.value, @@ -263,7 +274,7 @@ const trendChartOptions = reactive({ }, series: [ { - name: '用量', + name: t('EnergyOverview.chart.usage'), type: 'line', smooth: true, symbol: 'circle', @@ -308,7 +319,7 @@ const regionPieOptions = reactive({ }, series: [ { - name: '区域能耗', + name: t('EnergyOverview.chart.regionEnergy'), type: 'pie', radius: ['58%', '76%'], center: ['34%', '50%'], @@ -316,7 +327,7 @@ const regionPieOptions = reactive({ label: { show: true, position: 'center', - formatter: `总用量\n{total|${regionTotal.value} ${selectedEnergyUnit.value}}`, + formatter: `${t('EnergyOverview.chart.totalUsage')}\n{total|${regionTotal.value} ${selectedEnergyUnit.value}}`, color: '#303133', rich: { total: { @@ -368,20 +379,26 @@ const updateCharts = (data: EnergyOverviewRespVO) => { trendChartOptions.xAxis = { ...(trendChartOptions.xAxis as any), - data: trendXAxis.value + data: trendXAxis.value, + name: t('EnergyOverview.chart.time') } trendChartOptions.yAxis = { ...(trendChartOptions.yAxis as any), name: selectedEnergyUnit.value } + if (Array.isArray(trendChartOptions.legend?.data)) { + trendChartOptions.legend.data = [t('EnergyOverview.chart.usage')] + } if (Array.isArray(trendChartOptions.series) && trendChartOptions.series[0]) { + ;(trendChartOptions.series[0] as any).name = t('EnergyOverview.chart.usage') ;(trendChartOptions.series[0] as any).data = trendSeries.value } if (Array.isArray(regionPieOptions.series) && regionPieOptions.series[0]) { + ;(regionPieOptions.series[0] as any).name = t('EnergyOverview.chart.regionEnergy') ;(regionPieOptions.series[0] as any).data = regionItems.value ;(regionPieOptions.series[0] as any).label = { ...(regionPieOptions.series[0] as any).label, - formatter: `总用量\n{total|${regionTotal.value} ${selectedEnergyUnit.value}}` + formatter: `${t('EnergyOverview.chart.totalUsage')}\n{total|${regionTotal.value} ${selectedEnergyUnit.value}}` } } } @@ -463,7 +480,7 @@ const handleExport = async () => { startTime: timeRange[0], endTime: timeRange[1] }) - message.success('导出已发起') + message.success(t('EnergyOverview.exportSuccess')) } const loadOrgOptions = async () => { @@ -475,7 +492,6 @@ const loadOrgOptions = async () => { .map((r) => ({ label: r.name, value: r.id, raw: r })) } - onMounted(async () => { await loadOrgOptions() await getEnergyTypes()