报表
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-06-19 09:35:25
|
||||
* @LastEditTime: 2024-06-20 15:40:06
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
<script>
|
||||
// import { parseTime } from '../../core/mixins/code-filter';
|
||||
import { getComprehensiveDataPage } from '@/api/report';
|
||||
import { getComprehensiveDataPage, exportComprehensiveDataPage } from '@/api/report';
|
||||
// import { getWorkOrderPage, exportExcel, getOverView } from '@/components/buttonNav'
|
||||
// import inputTable from './inputTable.vue';
|
||||
// import lineChart from './lineChart';
|
||||
@@ -153,68 +153,7 @@ export default {
|
||||
id: 2,
|
||||
},
|
||||
],
|
||||
tableProps: [
|
||||
{
|
||||
prop: 'factory',
|
||||
label: '玻璃类型',
|
||||
fixed:true,
|
||||
// filter: (val) => factoryList[val],
|
||||
// minWidth: 200,
|
||||
// showOverflowtooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'workOrderNumber',
|
||||
label: '科目/日期',
|
||||
fixed: true,
|
||||
// filter: (val) => ['玻璃芯片', '标准组件', 'BIPV', '定制组件'][val]
|
||||
},
|
||||
{
|
||||
prop: 'workOrderType',
|
||||
label: '单位',
|
||||
fixed: true,
|
||||
// filter: publicFormatter('workorder_status')
|
||||
// filter: (val) => ['', '芯片工单', '组件类型', 'bipv类型'][val],
|
||||
},
|
||||
// {
|
||||
// prop: 'plannedInvestment',
|
||||
// label: '计划投入',
|
||||
// },
|
||||
// {
|
||||
// prop: 'actualInvestment',
|
||||
// label: '实际投入',
|
||||
// },
|
||||
// {
|
||||
// prop: 'targetProduction',
|
||||
// label: '目标产量',
|
||||
// },
|
||||
// {
|
||||
// prop: 'actualProduction',
|
||||
// label: '实际产量',
|
||||
// },
|
||||
// {
|
||||
// prop: 'productionProgress',
|
||||
// label: '生产进度',
|
||||
// filter: (val) => (val * 100) + '%'
|
||||
// },
|
||||
// {
|
||||
// prop: 'orderStatus',
|
||||
// label: '工单状态',
|
||||
// filter: publicFormatter('workorder_status')
|
||||
// // filter: (val) => ['未开始', '生产中', '已完成'][val],
|
||||
// },
|
||||
// {
|
||||
// prop: 'startTime',
|
||||
// label: '开始时间',
|
||||
// minWidth: 100,
|
||||
// showOverflowtooltip: true
|
||||
// },
|
||||
// {
|
||||
// prop: 'endTime',
|
||||
// label: '完成时间',
|
||||
// minWidth: 100,
|
||||
// showOverflowtooltip: true
|
||||
// }
|
||||
],
|
||||
otherProps:[],
|
||||
tableData: [],
|
||||
xAxis: [],
|
||||
currentMenu:null,
|
||||
@@ -228,6 +167,32 @@ export default {
|
||||
weekNum() {
|
||||
return Math.round((this.end - this.start) / (24 * 60 * 60 * 1000 * 7)) + 1
|
||||
},
|
||||
tableProps() {
|
||||
return [
|
||||
{
|
||||
prop: 'type',
|
||||
label: '玻璃类型',
|
||||
fixed: true,
|
||||
// filter: (val) => factoryList[val],
|
||||
// minWidth: 200,
|
||||
// showOverflowtooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'item',
|
||||
label: '科目/日期',
|
||||
fixed: true,
|
||||
// filter: (val) => ['玻璃芯片', '标准组件', 'BIPV', '定制组件'][val]
|
||||
},
|
||||
{
|
||||
prop: 'unit',
|
||||
label: '单位',
|
||||
fixed: true,
|
||||
// filter: publicFormatter('workorder_status')
|
||||
// filter: (val) => ['', '芯片工单', '组件类型', 'bipv类型'][val],
|
||||
},
|
||||
...this.otherProps
|
||||
]
|
||||
},
|
||||
},
|
||||
// created() {
|
||||
// const currentMonth = new Date()
|
||||
@@ -348,16 +313,195 @@ export default {
|
||||
});
|
||||
},
|
||||
async getDataList() {
|
||||
this.otherProps = []
|
||||
console.log(this.listQuery);
|
||||
if (this.listQuery.type == 3) {
|
||||
this.listQuery.startDate = this.listQuery.reportTime[0] + '-01-01 00:00:00'
|
||||
this.listQuery.endDate = this.listQuery.reportTime[1] + '-12-31 23:59:59'
|
||||
this.listQuery.startDate = this.listQuery.reportTime[0] + '-01-01'
|
||||
this.listQuery.endDate = this.listQuery.reportTime[1] + '-12-31'
|
||||
}
|
||||
let arr = []
|
||||
this.currentMenu === '邯郸' ? arr.push(1) : arr.push(2)
|
||||
this.listQuery.factory = arr
|
||||
const res = await getComprehensiveDataPage(this.listQuery)
|
||||
this.tableData = res.data.list
|
||||
let dataArr = [{
|
||||
type: '芯片',
|
||||
item: 'FTO投入',
|
||||
unit: '片'
|
||||
},
|
||||
{
|
||||
type: '芯片',
|
||||
item: '芯片产量',
|
||||
unit: '片'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片平均功率',
|
||||
unit: 'W'
|
||||
},
|
||||
{
|
||||
type: '芯片',
|
||||
item: '芯片良率',
|
||||
unit: '%'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片产量',
|
||||
unit: '片'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片总功率',
|
||||
unit: 'MW'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: 'CSS稼动率',
|
||||
unit: '%'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片段OEE',
|
||||
unit: '%'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片产能利用率',
|
||||
unit: '%'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片人均产量',
|
||||
unit: '片/人'
|
||||
}, {
|
||||
type: '芯片',
|
||||
item: '芯片BOM',
|
||||
unit: '元/片'
|
||||
}, {
|
||||
type: '标准组件',
|
||||
item: '标准组件产量',
|
||||
unit: '片'
|
||||
}, {
|
||||
type: '标准组件',
|
||||
item: '标准组件平均功率',
|
||||
unit: 'W'
|
||||
}, {
|
||||
type: '标准组件',
|
||||
item: '标准组件良率',
|
||||
unit: '%'
|
||||
}, {
|
||||
type: '标准组件',
|
||||
item: '标准组件总功率',
|
||||
unit: 'MW'
|
||||
}, {
|
||||
type: '标准组件',
|
||||
item: '封装线OEE',
|
||||
unit: '%'
|
||||
},
|
||||
{
|
||||
type: '标准组件',
|
||||
item: '封装线产能利用率',
|
||||
unit: '%'
|
||||
},
|
||||
{
|
||||
type: '标准组件',
|
||||
item: '标准组件人均产量',
|
||||
unit: '片/人'
|
||||
},
|
||||
{
|
||||
type: '标准组件',
|
||||
item: '封装BOM',
|
||||
unit: '元/片'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: '芯片使用量',
|
||||
unit: '%'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: 'BIPV产量',
|
||||
unit: 'm2'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: '芯片使用率',
|
||||
unit: '%'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: '人均产量',
|
||||
unit: 'm2/人'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: 'OEM及委外材料成本',
|
||||
unit: '元/片'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: '内部材料成本',
|
||||
unit: '元/片'
|
||||
},
|
||||
{
|
||||
type: 'BIPV',
|
||||
item: '综合材料成本',
|
||||
unit: '元/片'
|
||||
},
|
||||
]
|
||||
res.data.forEach((ele, index) => {
|
||||
let i = index + 1
|
||||
// this.chartMsg.xData.push(ele.titleValue)
|
||||
this.otherProps.push({
|
||||
label: ele.titleValue,
|
||||
props: 'value' + i
|
||||
})
|
||||
})
|
||||
console.log(this.otherProps)
|
||||
res.data.forEach((item, index) => {
|
||||
let i = index + 1
|
||||
let m = 'value' + i
|
||||
// ele.productYieldDataVOList.forEach((item) => {
|
||||
dataArr[0]['' + m + ''] = item.ftoInput
|
||||
// dataArr[0].factory = item.factory === 1 ? '邯郸' : '瑞昌'
|
||||
// dataArr[1].factory = item.factory === 1 ? '邯郸' : '瑞昌'
|
||||
// dataArr[2].factory = item.factory === 1 ? '邯郸' : '瑞昌'
|
||||
// dataArr[3].factory = item.factory === 1 ? '邯郸' : '瑞昌'
|
||||
dataArr[1]['' + m + ''] = item.chipYield
|
||||
dataArr[2]['' + m + ''] = item.chipAveragePower
|
||||
dataArr[4]['' + m + ''] = item.chipTotalPower
|
||||
dataArr[5]['' + m + ''] = item.chipCssMarriageRate
|
||||
dataArr[6]['' + m + ''] = item.chipOee
|
||||
dataArr[7]['' + m + ''] = item.chipCapacityUtilizationRate
|
||||
dataArr[8]['' + m + ''] = item.chipAnnualAverageProduction
|
||||
dataArr[9]['' + m + ''] = item.chipBom
|
||||
dataArr[10]['' + m + ''] = item.componentYield
|
||||
dataArr[11]['' + m + ''] = item.componentAveragePower
|
||||
dataArr[12]['' + m + ''] = item.componentYieldRate
|
||||
dataArr[13]['' + m + ''] = item.componentTotalPower
|
||||
dataArr[14]['' + m + ''] = item.componentOee
|
||||
dataArr[15]['' + m + ''] = item.componentCapacityUtilizationRate
|
||||
dataArr[16]['' + m + ''] = item.componentAnnualAverageProduction
|
||||
dataArr[17]['' + m + ''] = item.componentBom
|
||||
dataArr[18]['' + m + ''] = item.bipvChipUsage
|
||||
dataArr[19]['' + m + ''] = item.bipvProductOutput
|
||||
dataArr[20]['' + m + ''] = item.bipvChipUtilizationRate
|
||||
dataArr[21]['' + m + ''] = item.bipvAnnualAverageProduction
|
||||
dataArr[22]['' + m + ''] = item.bipvOeeMaterialCost
|
||||
dataArr[23]['' + m + ''] = item.bipvInsideMaterialCost
|
||||
dataArr[24]['' + m + ''] = item.bipvComprehensiveMaterialCost
|
||||
|
||||
// })
|
||||
// ele.titleValue
|
||||
// .push({
|
||||
// label: ele.titleValue,
|
||||
// props: 'value' + index + 1,
|
||||
// })
|
||||
})
|
||||
if (res.data.length === 0) {
|
||||
this.tableData = []
|
||||
} else {
|
||||
if (this.currentMenu !== '瑞昌') {
|
||||
this.tableData = dataArr
|
||||
} else {
|
||||
this.tableData = dataArr.filter(function (item) {
|
||||
return item.type !== "BIPV"
|
||||
});
|
||||
}
|
||||
}
|
||||
this.listQuery.total = res.data.total
|
||||
if (this.listQuery.total > 0) {
|
||||
this.tableData.forEach(item => {
|
||||
@@ -393,6 +537,14 @@ export default {
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
|
||||
let fileName = "综合数据.xls";
|
||||
exportComprehensiveDataPage(this.listQuery)
|
||||
.then((response) => {
|
||||
this.$download.excel(response, fileName);
|
||||
this.$message.success("导出成功");
|
||||
})
|
||||
.catch(() => { });
|
||||
// this.$modal.confirm('是否确认导出工单数据?').then(() => {
|
||||
// // 处理查询参数
|
||||
// // let params = {...this.listQuery};
|
||||
|
||||
Reference in New Issue
Block a user