| | |
| | | |
| | | <script setup> |
| | | import { ref, onMounted } from 'vue' |
| | | import { qualityStatistics } from '@/api/viewIndex.js' |
| | | import { productionAccountingAnalysis } from '@/api/viewIndex.js' |
| | | import PanelHeader from './PanelHeader.vue' |
| | | import DateTypeSwitch from './DateTypeSwitch.vue' |
| | | import Echarts from '@/components/Echarts/echarts.vue' |
| | |
| | | } |
| | | |
| | | const fetchData = () => { |
| | | qualityStatistics() |
| | | productionAccountingAnalysis({ type: dateType.value }) |
| | | .then((res) => { |
| | | if (!res?.data?.item || !Array.isArray(res.data.item)) return |
| | | const items = res.data.item |
| | | xAxis1.value[0].data = items.map((d) => d.date) |
| | | // 产量:出厂数 |
| | | chartSeries.value[0].data = items.map((d) => Number(d.factoryNum) || 0) |
| | | // 工资:暂无单独接口,用 0 占位,后续可接工资接口 |
| | | chartSeries.value[1].data = items.map(() => 0) |
| | | // 合格率:出厂数/过程数*100(无单独接口时用此占位) |
| | | chartSeries.value[2].data = items.map((d) => { |
| | | const processNum = Number(d.processNum) || 0 |
| | | const factoryNum = Number(d.factoryNum) || 0 |
| | | if (processNum <= 0) return 0 |
| | | return Math.min(100, Math.round((factoryNum / processNum) * 100)) |
| | | }) |
| | | console.log('res ======> ', res) |
| | | |
| | | if (!Array.isArray(res?.data)) return |
| | | |
| | | const items = res.data |
| | | |
| | | xAxis1.value[0].data = items.map(d => d.dateStr) |
| | | |
| | | // 产量 |
| | | chartSeries.value[0].data = items.map(d => Number(d.numberOfCompleted) || 0) |
| | | |
| | | // 工资 |
| | | chartSeries.value[1].data = items.map(d => Number(d.amount) || 0) |
| | | |
| | | // 合格率 |
| | | chartSeries.value[2].data = items.map(d => Number(d.passRate) || 0) |
| | | }) |
| | | .catch((err) => { |
| | | console.error('获取产量、工资与合格率数据失败:', err) |
| | | }) |
| | | } |
| | | |
| | | |
| | | onMounted(() => { |
| | | fetchData() |
| | | }) |