60 lines
2.7 KiB
Vue
60 lines
2.7 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="pdo-report">
|
|||
|
|
<ReportBody v-loading="loading" title="实绩报表" :summary="reportSummary" :dataset="reportDetail" :columns="columns" />
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import ReportBody from './body.vue'
|
|||
|
|
import { getReportSummary, getReportDetail } from '@/api/l2/report'
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: 'PdoReport',
|
|||
|
|
components: {
|
|||
|
|
ReportBody
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
loading: false,
|
|||
|
|
reportSummary: [],
|
|||
|
|
reportDetail: [],
|
|||
|
|
columns: []
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
async fetchReportData() {
|
|||
|
|
this.loading = true
|
|||
|
|
const res = await getReportSummary()
|
|||
|
|
this.reportSummary = [
|
|||
|
|
{ label: '成品卷数', value: res.coilCount }, // coilCount=总卷数,结合“成品总重/原料总重”场景,推测为成品卷数
|
|||
|
|
{ label: '平均出口厚度[mm]', value: res.avgExitThickness }, // avgExitThickness=平均出口厚度,厚度用“平均”更符合实际(单卷厚度均匀,无“总厚度”概念)
|
|||
|
|
{ label: '原料总重[t]', value: res.totalEntryWeight }, // totalEntryWeight=总入口重量,入口重量即原料重量
|
|||
|
|
{ label: '总出口长度[mm]', value: res.totalExitLength }, // totalExitLength=总出口长度,补充原“去锌总重”(无对应字段)的空缺,符合卷材加工的核心维度
|
|||
|
|
{ label: '平均出口宽度[mm]', value: res.avgExitWidth }, // avgExitWidth=平均出口宽度,宽度用“平均”更合理(单卷宽度固定,“总宽度”无业务意义)
|
|||
|
|
{ label: '成品总重[t]', value: res.totalActualWeight }, // totalActualWeight=总实际重量,实际重量即成品最终重量
|
|||
|
|
{ label: '总理论重量[t]', value: res.totalTheoryWeight }, // totalTheoryWeight=总理论重量,工业场景中常用“理论重量vs实际重量”对比
|
|||
|
|
{ label: '成材率', value: (res.yieldRate * 100).toFixed(2) + '%' } // yieldRate=成材率,原配置正确,保留
|
|||
|
|
];
|
|||
|
|
const res2 = await getReportDetail()
|
|||
|
|
this.reportDetail = res2
|
|||
|
|
this.columns = [
|
|||
|
|
{ label: '出口物料ID', prop: 'exitMatId' },
|
|||
|
|
{ label: '入口物料ID', prop: 'entryMatId' },
|
|||
|
|
{ label: '机组号', prop: 'groupNo' },
|
|||
|
|
{ label: '班次号', prop: 'shiftNo' },
|
|||
|
|
{ label: '钢种', prop: 'steelGrade' },
|
|||
|
|
{ label: '出口厚度(mm)', prop: 'exitThickness' },
|
|||
|
|
{ label: '出口宽度(mm)', prop: 'exitWidth' },
|
|||
|
|
{ label: '出口长度(m)', prop: 'exitLength' },
|
|||
|
|
{ label: '理论重量(kg)', prop: 'theoryWeight' },
|
|||
|
|
{ label: '实际重量(kg)', prop: 'actualWeight' },
|
|||
|
|
{ label: '上线时间', prop: 'onlineTime' },
|
|||
|
|
]
|
|||
|
|
this.loading = false
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
this.fetchReportData()
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|