projects/mescc/dy #35

Merged
juzi merged 2 commits from projects/mescc/dy into projects/mescc/develop 2024-06-05 16:46:35 +08:00
7 changed files with 111 additions and 96 deletions

View File

@ -1,7 +1,7 @@
###
# @Author: zhp
# @Date: 2024-04-28 13:42:51
# @LastEditTime: 2024-06-04 08:56:35
# @LastEditTime: 2024-06-05 16:07:26
# @LastEditors: DY
# @Description:
###

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-11-06 15:15:30
* @LastEditTime: 2024-05-20 18:02:10
* @LastEditTime: 2024-06-05 15:28:07
* @LastEditors: DY
* @Description:
-->
@ -31,11 +31,11 @@
</small-title>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">芯片产量</p>
<p class="title">芯片产量()</p>
<p class="text">{{ }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片良率</p>
<p class="title">芯片良率(%)</p>
<p class="text">{{ dataForm.yieldRate }}</p>
</el-col>
<el-col :span="6">
@ -43,17 +43,17 @@
<p class="text">{{ dataForm.bom }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片总功率</p>
<p class="title">芯片总功率(MW)</p>
<p class="text">{{ dataForm.totalPower }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">FTO投入量</p>
<p class="title">FTO投入量()</p>
<p class="text">{{ dataForm.chipInput }}</p>
</el-col>
<el-col :span="6">
<p class="title">CSS稼动率</p>
<p class="title">CSS稼动率(%)</p>
<p class="text">{{ dataForm.marriageRate }}</p>
</el-col>
<el-col :span="6">
@ -61,17 +61,17 @@
<p class="text">{{ dataForm.oee }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片平均功率</p>
<p class="title">芯片平均功率(W)</p>
<p class="text">{{ dataForm.averagePower }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">芯片人均产量</p>
<p class="title">芯片人均产量(/)</p>
<p class="text">{{ dataForm.annualAverageProduction }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片产能利用率</p>
<p class="title">芯片产能利用率(%)</p>
<p class="text">{{ dataForm.capacityUtilizationRate }}</p>
</el-col>
</el-row>
@ -85,25 +85,25 @@
<!-- <p class="text">{{ dataForm.bom }}</p> -->
</el-col>
<el-col :span="6">
<p class="title">封装线OEE</p>
<p class="title">封装线OEE(%)</p>
<!-- <p class="text">{{ dataForm.code }}</p> -->
</el-col>
<el-col :span="6">
<p class="title">标准组件良率</p>
<p class="title">标准组件良率(%)</p>
<!-- <p class="text">{{ dataForm.productName }}</p> -->
</el-col>
<el-col :span="6">
<p class="title">标准组件产量</p>
<p class="title">标准组件产量()</p>
<!-- <p class="text">{{ dataForm.productName }}</p> -->
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">标准组件总功率</p>
<p class="title">标准组件总功率(MW)</p>
<p class="text">{{ }}</p>
</el-col>
<el-col :span="6">
<p class="title">封装产能利用率</p>
<p class="title">封装产能利用率(%)</p>
<!-- <p class="text">{{ dataForm.code }}</p> -->
</el-col>
<el-col :span="6">

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2024-04-15 10:49:13
* @LastEditTime: 2024-05-31 19:14:05
* @LastEditTime: 2024-06-04 14:13:23
* @LastEditors: DY
* @Description:
-->
@ -197,7 +197,7 @@ export default {
],
tableProps: [
{
prop: 'tableTime',
prop: 'groupTime',
label: '日期',
minWidth: 100,
showOverflowtooltip: true
@ -229,7 +229,7 @@ export default {
{
prop: 'yieldRate',
label: '良品率%',
filter: (val) => val + '%'
filter: (val) => (val * 100) + '%'
},
],
tableData: [],
@ -334,17 +334,17 @@ export default {
}
},
async getDataList() {
// const res = await getProduceDataPage(this.listQuery)
// console.log(res)
// if (res.code === 0) {
// this.tableData = res.data.records
// this.listQuery.total = res.data.total
const res = await getProduceDataPage(this.listQuery)
console.log(res)
if (res.code === 0) {
this.tableData = res.data.records
this.listQuery.total = res.data.total
// if (this.listQuery.total > 0) {
// this.tableData.forEach(item => {
// item.tableTime = item?.reportDate?.length > 0 ? item.reportDate[0] + '-' + item.reportDate[1] + '-' + item.reportDate[2] : '--'
// })
// }
// }
}
//
await prodOutputDataList({

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2024-04-17 16:31:51
* @LastEditTime: 2024-05-29 14:06:16
* @LastEditTime: 2024-06-04 16:45:52
* @LastEditors: DY
* @Description:
-->
@ -63,12 +63,12 @@
</small-title>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item label="芯片产量" prop="chipYield">
<el-form-item label="芯片产量(片)" prop="chipYield">
<el-input-number v-model="dataForm.chipYield" :precision="0" controls-position="right" placeholder="请输入芯片产量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片良率" prop="chipYieldRate">
<el-form-item label="芯片良率(%)" prop="chipYieldRate">
<el-input-number v-model="dataForm.chipYieldRate" :precision="2" :max="100" controls-position="right" placeholder="请输入芯片良率" style="width: 100%" />
</el-form-item>
</el-col>
@ -78,47 +78,47 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片总功率" prop="chipTotalPower">
<el-form-item label="芯片总功率(MW)" prop="chipTotalPower">
<el-input-number v-model="dataForm.chipTotalPower" :precision="2" controls-position="right" placeholder="请输入芯片总功率" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item v-if="ftype === 0" label="FTO投入量" prop="ftoInput">
<el-form-item v-if="ftype === 0" label="FTO投入量(片)" prop="ftoInput">
<el-input-number v-model="dataForm.ftoInput" :precision="0" controls-position="right" placeholder="请输入FTO投入量" style="width: 100%" />
</el-form-item>
<el-form-item v-else label="钼电极投入量" prop="molybdenumElectrodeInput">
<el-form-item v-else label="钼电极投入量(片)" prop="molybdenumElectrodeInput">
<el-input-number v-model="dataForm.molybdenumElectrodeInput" :precision="0" controls-position="right" placeholder="请输入钼电极投入量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item v-if="ftype === 0" label="CSS稼动率" prop="chipCssMarriageRate">
<el-form-item v-if="ftype === 0" label="CSS稼动率(%)" prop="chipCssMarriageRate">
<el-input-number v-model="dataForm.chipCssMarriageRate" :precision="2" controls-position="right" placeholder="请输入CSS稼动率" style="width: 100%" />
</el-form-item>
<el-form-item v-else label="PID6稼动率" prop="chipCssMarriageRate">
<el-form-item v-else label="PID6稼动率(%)" prop="chipCssMarriageRate">
<el-input-number v-model="dataForm.chipCssMarriageRate" :precision="2" controls-position="right" placeholder="请输入PID6稼动率" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片段OEE" prop="chipOee">
<el-form-item label="芯片段OEE(%)" prop="chipOee">
<el-input-number v-model="dataForm.chipOee" :precision="2" controls-position="right" placeholder="请输入芯片段OEE" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片平均功率" prop="chipAveragePower">
<el-form-item label="芯片平均功率(W)" prop="chipAveragePower">
<el-input-number v-model="dataForm.chipAveragePower" :precision="2" controls-position="right" placeholder="请输入芯片平均功率" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item label="芯片人均产量" prop="chipAnnualAverageProduction">
<el-form-item label="芯片人均产量(片/人)" prop="chipAnnualAverageProduction">
<el-input-number v-model="dataForm.chipAnnualAverageProduction" :precision="2" controls-position="right" placeholder="请输入芯片人均产量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片产能利用率" prop="chipCapacityUtilizationRate">
<el-form-item label="芯片产能利用率(%)" prop="chipCapacityUtilizationRate">
<el-input-number v-model="dataForm.chipCapacityUtilizationRate" :precision="2" controls-position="right" placeholder="请输入芯片产能利用率" style="width: 100%" />
</el-form-item>
</el-col>
@ -134,39 +134,39 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="封装线OEE" prop="componentOee">
<el-form-item label="封装线OEE(%)" prop="componentOee">
<el-input-number v-model="dataForm.componentOee" :precision="2" controls-position="right" placeholder="请输入封装线OEE" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="标准组件良率" prop="componentYieldRate">
<el-form-item label="标准组件良率(%)" prop="componentYieldRate">
<el-input-number v-model="dataForm.componentYieldRate" :precision="2" controls-position="right" placeholder="请输入标准组件良率" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="标准组件产量" prop="componentYield">
<el-form-item label="标准组件产量(片)" prop="componentYield">
<el-input-number v-model="dataForm.componentYield" :precision="0" controls-position="right" placeholder="请输入标准组件产量" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item label="标准组件总功率" prop="componentTotalPower">
<el-form-item label="标准组件总功率(MW)" prop="componentTotalPower">
<el-input-number v-model="dataForm.componentTotalPower" :precision="2" controls-position="right" placeholder="请输入标准组件总功率" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="封装产能利用率" prop="componentCapacityUtilizationRate">
<el-form-item label="封装产能利用率(%)" prop="componentCapacityUtilizationRate">
<el-input-number v-model="dataForm.componentCapacityUtilizationRate" :precision="2" controls-position="right" placeholder="请输入封装产能利用率" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="标准组件人均产量" prop="componentAnnualAverageProduction">
<el-form-item label="标准组件人均产量(片/人)" prop="componentAnnualAverageProduction">
<el-input-number v-model="dataForm.componentAnnualAverageProduction" :precision="2" controls-position="right" placeholder="请输入标准组件人均产量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="标准组件平均功率" prop="componentAveragePower">
<el-form-item label="标准组件平均功率(W)" prop="componentAveragePower">
<el-input-number v-model="dataForm.componentAveragePower" :precision="2" controls-position="right" placeholder="请输入标准组件平均功率" style="width: 100%" />
</el-form-item>
</el-col>
@ -178,39 +178,39 @@
</small-title>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item label="产品产量" prop="bipvProductOutput">
<el-form-item label="产品产量(㎡)" prop="bipvProductOutput">
<el-input-number v-model="dataForm.bipvProductOutput" :precision="0" controls-position="right" placeholder="请输入产品产量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="人均产量" prop="bipvAnnualAverageProduction">
<el-form-item label="人均产量(㎡/人)" prop="bipvAnnualAverageProduction">
<el-input-number v-model="dataForm.bipvAnnualAverageProduction" :precision="2" controls-position="right" placeholder="请输入人均产量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片使用量" prop="bipvChipUsage">
<el-form-item label="芯片使用量(片)" prop="bipvChipUsage">
<el-input-number v-model="dataForm.bipvChipUsage" :precision="0" controls-position="right" placeholder="请输入芯片使用量" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="芯片利用率" prop="bipvChipUtilizationRate">
<el-form-item label="芯片利用率(%)" prop="bipvChipUtilizationRate">
<el-input-number v-model="dataForm.bipvChipUtilizationRate" :precision="2" controls-position="right" placeholder="请输入芯片利用率" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" style="padding: 0 32px;">
<el-col :span="6">
<el-form-item label="内部材料成本" prop="bipvInsideMaterialCost">
<el-form-item label="内部材料成本(元/㎡)" prop="bipvInsideMaterialCost">
<el-input-number v-model="dataForm.bipvInsideMaterialCost" :precision="2" controls-position="right" placeholder="请输入内部材料成本" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="OEM及委外材料成本" prop="bipvOeeMaterialCost">
<el-form-item label="OEM及委外材料成本(元/㎡)" prop="bipvOeeMaterialCost">
<el-input-number v-model="dataForm.bipvOeeMaterialCost" :precision="2" controls-position="right" placeholder="请输入OEM及委外材料成本" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="综合材料成本" prop="bipvComprehensiveMaterialCost">
<el-form-item label="综合材料成本(元/㎡)" prop="bipvComprehensiveMaterialCost">
<el-input-number v-model="dataForm.bipvComprehensiveMaterialCost" :precision="2" controls-position="right" placeholder="请输入综合材料成本" style="width: 100%" />
</el-form-item>
</el-col>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-11-06 15:15:30
* @LastEditTime: 2024-06-03 15:42:47
* @LastEditTime: 2024-06-04 16:54:46
* @LastEditors: DY
* @Description:
-->
@ -31,11 +31,11 @@
</small-title>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">芯片产量</p>
<p class="title">芯片产量()</p>
<p class="text">{{ dataForm.chipYield }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片良率</p>
<p class="title">芯片良率(%)</p>
<p class="text">{{ dataForm.chipYieldRate }}</p>
</el-col>
<el-col :span="6">
@ -43,35 +43,35 @@
<p class="text">{{ dataForm.chipBom }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片总功率</p>
<p class="title">芯片总功率(MW)</p>
<p class="text">{{ dataForm.chipTotalPower }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">{{ ftype === 0 ? 'FTO投入量' : '钼电极投入量' }}</p>
<p class="text">{{ ftype === 0 ? dataForm.ftoInput : dataForm.molybdenumElectrodeInput }}</p>
<p class="title">{{ ['FTO投入量(片)', '钼电极投入量(片)'][ftype] }}</p>
<p class="text">{{ [dataForm.ftoInput, dataForm.molybdenumElectrodeInput][ftype] }}</p>
</el-col>
<el-col :span="6">
<p class="title">{{ ftype === 0 ? 'CSS稼动率' : 'PID6稼动率' }}</p>
<p class="title">{{ ['CSS稼动率(%)', 'PID6稼动率(%)'][ftype] }}</p>
<p class="text">{{ dataForm.chipCssMarriageRate }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片段OEE</p>
<p class="title">芯片段OEE(%)</p>
<p class="text">{{ dataForm.chipOee }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片平均功率</p>
<p class="title">芯片平均功率(W)</p>
<p class="text">{{ dataForm.chipAveragePower }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">芯片人均产量</p>
<p class="title">芯片人均产量(/)</p>
<p class="text">{{ dataForm.chipAnnualAverageProduction }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片产能利用率</p>
<p class="title">芯片产能利用率(%)</p>
<p class="text">{{ dataForm.chipCapacityUtilizationRate }}</p>
</el-col>
</el-row>
@ -84,33 +84,33 @@
<p class="text">{{ dataForm.componentBom }}</p>
</el-col>
<el-col :span="6">
<p class="title">封装线OEE</p>
<p class="title">封装线OEE(%)</p>
<p class="text">{{ dataForm.componentOee }}</p>
</el-col>
<el-col :span="6">
<p class="title">标准组件良率</p>
<p class="title">标准组件良率(%)</p>
<p class="text">{{ dataForm.componentYieldRate }}</p>
</el-col>
<el-col :span="6">
<p class="title">标准组件产量</p>
<p class="title">标准组件产量()</p>
<p class="text">{{ dataForm.componentYield }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">标准组件总功率</p>
<p class="title">标准组件总功率(MW)</p>
<p class="text">{{ dataForm.componentTotalPower }}</p>
</el-col>
<el-col :span="6">
<p class="title">封装产能利用率</p>
<p class="title">封装产能利用率(%)</p>
<p class="text">{{ dataForm.componentCapacityUtilizationRate }}</p>
</el-col>
<el-col :span="6">
<p class="title">标准组件人均产量</p>
<p class="title">标准组件人均产量(/)</p>
<p class="text">{{ dataForm.componentAnnualAverageProduction }}</p>
</el-col>
<el-col :span="6">
<p class="title">标准组件平均功率</p>
<p class="title">标准组件平均功率(W)</p>
<p class="text">{{ dataForm.componentAveragePower }}</p>
</el-col>
</el-row>
@ -119,33 +119,33 @@
</small-title>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">产品产量</p>
<p class="title">产品产量()</p>
<p class="text">{{ dataForm.bipvProductOutput }}</p>
</el-col>
<el-col :span="6">
<p class="title">人均产量</p>
<p class="title">人均产量(/)</p>
<p class="text">{{ dataForm.bipvAnnualAverageProduction }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片使用量</p>
<p class="title">芯片使用量()</p>
<p class="text">{{ dataForm.bipvChipUsage }}</p>
</el-col>
<el-col :span="6">
<p class="title">芯片利用率</p>
<p class="title">芯片利用率(%)</p>
<p class="text">{{ dataForm.bipvChipUtilizationRate }}</p>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<p class="title">内部材料成本</p>
<p class="title">内部材料成本(/)</p>
<p class="text">{{ dataForm.bipvInsideMaterialCost }}</p>
</el-col>
<el-col :span="6">
<p class="title">OEM及委外材料成本</p>
<p class="title">OEM及委外材料成本(/)</p>
<p class="text">{{ dataForm.bipvOeeMaterialCost }}</p>
</el-col>
<el-col :span="6">
<p class="title">综合材料成本</p>
<p class="title">综合材料成本(/)</p>
<p class="text">{{ dataForm.bipvComprehensiveMaterialCost }}</p>
</el-col>
</el-row>

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2024-04-15 10:49:13
* @LastEditTime: 2024-06-03 16:02:56
* @LastEditTime: 2024-06-05 16:19:04
* @LastEditors: DY
* @Description:
-->
@ -30,7 +30,7 @@
</el-select>
</el-form-item>
<el-form-item v-show="listQuery.date === 1 || listQuery.date === ''" label="时间范围" prop="reportTime">
<el-date-picker size="small" clearable v-model="listQuery.reportTime" type="datetimerange" range-separator=""
<el-date-picker size="small" clearable v-model="listQuery.reportTime" type="daterange" range-separator=""
start-placeholder="开始日期" value-format="yyyyMMdd" @change="changeDayTime" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
@ -565,8 +565,9 @@ export default {
},
changeTime() {
if (this.listQuery.reportTime) {
const numDays = Number(this.listQuery.reportTime[1]) - Number(this.listQuery.reportTime[0])
if (numDays > 24) {
const years = Number(this.listQuery.reportTime[1].slice(0, 4)) - Number(this.listQuery.reportTime[0].slice(0, 4))
const months = Number(this.listQuery.reportTime[1].slice(4)) - Number(this.listQuery.reportTime[0].slice(4))
if (years * 12 + months > 24) {
this.$message({
message: '时间范围不能超过24个月',
type: 'warning'

View File

@ -1,7 +1,7 @@
<!--
* @Author: zhp
* @Date: 2023-11-06 15:15:30
* @LastEditTime: 2024-06-03 10:17:33
* @LastEditTime: 2024-06-05 15:39:35
* @LastEditors: DY
* @Description:
-->
@ -94,7 +94,7 @@
// import basicAdd from './basic-add';
import * as echarts from 'echarts'
import resize from '@/mixins/resize'
import { getWorkOrderDetail, getEqNum, getDailyTrend } from '@/api/produceData/order';
import { getWorkOrderDetail } from '@/api/produceData/order';
import SmallTitle from './SmallTitle';
import jsPDF from 'jspdf';
import html2canvas from 'html2canvas';
@ -167,19 +167,33 @@ export default {
})
if (id) {
getWorkOrderDetail(id).then(res => {
this.dataForm = res.data
if (res.code === 0) {
this.dataForm = res.data.prodWorkOrderDO
this.buildChart(this.dataForm)
if (this.dataForm.orderStatus === 1) {
this.trend()
}
})
getEqNum(id).then(response => {
if (response.code === 0) {
const xAxisList = Object.keys(response.data)
const yAxisList = Object.values(response.data)
//
const xAxisList = Object.keys(res.data.inProcessDis)
const yAxisList = Object.values(res.data.inProcessDis)
this.initEqLineChart(xAxisList, yAxisList)
}
//
const seriesList = []
const dateList = []
res.data.his.forEach(element => {
seriesList.push(element.actualProduction)
dateList.push(element.recordTime[0] + '-' + element.recordTime[1] + '-' + element.recordTime[2])
})
this.initLineChart(dateList, seriesList)
}
// if (this.dataForm.orderStatus === 1) {
// this.trend()
// }
})
// getEqNum(id).then(response => {
// if (response.code === 0) {
// const xAxisList = Object.keys(response.data)
// const yAxisList = Object.values(response.data)
// this.initEqLineChart(xAxisList, yAxisList)
// }
// })
}
},