From 0a251e40e30e7c8a96d71b3b9b6c459d4dfa4b22 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 08 七月 2026 23:04:45 +0800
Subject: [PATCH] 暂存
---
src/views/reportAnalysis/productionAnalysis/components/center-center.vue | 75 ++++++++++++++++++++++++++++++++-----
1 files changed, 64 insertions(+), 11 deletions(-)
diff --git a/src/views/reportAnalysis/productionAnalysis/components/center-center.vue b/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
index cd6a6b5..c56a4f8 100644
--- a/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
+++ b/src/views/reportAnalysis/productionAnalysis/components/center-center.vue
@@ -2,7 +2,7 @@
<div>
<!-- 璁惧缁熻 -->
<div class="equipment-stats">
- <div class="equipment-header">
+ <div class="equipment-header clickable" @click="handleNavigate">
<img
src="@/assets/BI/shujutongjiicon@2x.png"
alt="鍥炬爣"
@@ -10,8 +10,12 @@
/>
<span class="equipment-title">鎶曞叆浜у嚭鍒嗘瀽</span>
</div>
+
+ <div class="filters-row">
+ <DateTypeSwitch v-model="dateType" @change="handleDateTypeChange" />
+ </div>
<Echarts
- ref="chart"
+ ref="chartRef"
:chartStyle="chartStyle"
:grid="grid"
:legend="lineLegend"
@@ -27,11 +31,25 @@
</template>
<script setup>
-import { ref, onMounted } from 'vue'
+import { ref, onMounted, inject, watch, nextTick } from 'vue'
+import { useRouter } from 'vue-router'
import * as echarts from 'echarts'
import Echarts from '@/components/Echarts/echarts.vue'
-import { productInOutAnalysis } from '@/api/viewIndex.js'
+import { inputOutputAnalysis } from '@/api/viewIndex.js'
+import DateTypeSwitch from "@/views/reportAnalysis/productionAnalysis/components/DateTypeSwitch.vue";
+import { getProductionRoute } from '../productionNavigation.js'
+const router = useRouter()
+
+const handleNavigate = () => {
+ const path = getProductionRoute('鎶曞叆浜у嚭鍒嗘瀽')
+ if (path) {
+ router.push(path)
+ }
+}
+
+const dateType = ref(3) // 1=鍛� 2=鏈� 3=瀛e害
+const chartRef = ref(null)
const chartStyle = { width: '100%', height: '100%' }
const grid = {
left: '3%',
@@ -50,8 +68,8 @@
itemHeight: 12,
textStyle: { color: '#B8C8E0', fontSize: 14 },
data: [
- { name: '鍑哄簱', itemStyle: { color: 'rgba(11, 137, 254, 1)' } },
- { name: '鍏ュ簱', itemStyle: { color: 'rgba(11, 249, 254, 1)' } },
+ { name: '浜у嚭', itemStyle: { color: 'rgba(11, 137, 254, 1)' } },
+ { name: '鎶曞叆', itemStyle: { color: 'rgba(11, 249, 254, 1)' } },
],
}
@@ -78,9 +96,13 @@
},
]
+const handleDateTypeChange = () => {
+ fetchData()
+}
+
const lineSeries = ref([
{
- name: '鍑哄簱',
+ name: '浜у嚭',
type: 'line',
smooth: false,
showSymbol: true,
@@ -98,7 +120,7 @@
emphasis: { focus: 'series' },
},
{
- name: '鍏ュ簱',
+ name: '鎶曞叆',
type: 'line',
smooth: false,
showSymbol: true,
@@ -132,13 +154,14 @@
}
const fetchData = () => {
- productInOutAnalysis({ type: 1 })
+ inputOutputAnalysis({ type: dateType.value })
.then((res) => {
if (res.code === 200 && Array.isArray(res.data)) {
const list = res.data
xAxis1.value[0].data = list.map((d) => d.date)
- lineSeries.value[0].data = list.map((d) => Number(d.outCount) || 0)
- lineSeries.value[1].data = list.map((d) => Number(d.inCount) || 0)
+ lineSeries.value[0].data = list.map((d) => Number(d.outputSum) || 0)
+ lineSeries.value[1].data = list.map((d) => Number(d.inputSum) || 0)
+ scheduleChartResize()
}
})
.catch((err) => {
@@ -146,8 +169,24 @@
})
}
+const scheduleChartResize = () => {
+ nextTick(() => {
+ ;[0, 150, 400].forEach((ms) => {
+ setTimeout(() => chartRef.value?.resize?.(), ms)
+ })
+ })
+}
+
+const dataDashboardRefreshTick = inject('dataDashboardRefreshTick', null)
+if (dataDashboardRefreshTick) {
+ watch(dataDashboardRefreshTick, () => {
+ fetchData()
+ })
+}
+
onMounted(() => {
fetchData()
+ scheduleChartResize()
})
</script>
@@ -176,6 +215,14 @@
padding-bottom: 2px;
}
+.equipment-header.clickable {
+ cursor: pointer;
+}
+
+.equipment-header.clickable:hover .equipment-title {
+ opacity: 0.85;
+}
+
.equipment-title {
font-weight: 500;
font-size: 18px;
@@ -190,4 +237,10 @@
width: 50px;
height: 50px;
}
+
+.filters-row {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
</style>
--
Gitblit v1.9.3