|
|
@@ -3,7 +3,7 @@ |
|
|
|
<ButtonNav style="padding: 0;" :menus="['邯郸', '瑞昌']" :button-mode="true" @change="currentMenu = $event"> |
|
|
|
</ButtonNav> |
|
|
|
<div class="search"> |
|
|
|
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip"> |
|
|
|
<el-form :model="listQuery" :inline="true" ref="dataForm" class="smallTitle"> |
|
|
|
<el-form-item label="时间维度" prop="type"> |
|
|
|
<el-select size="small" clearable v-model="listQuery.type" placeholder="请选择" @change="handleChange"> |
|
|
|
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"> |
|
|
@@ -62,7 +62,7 @@ |
|
|
|
<bm-line-bar :type="listQuery.type" style="margin-top: 20px;" :show="false" :chartHeight="chartHeight" |
|
|
|
:legendList="legendList" ref="dayChart" :chartMsg="chartMsg" :chartId="chartId" :chartNum="chartNum" /> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6" style="margin-top: 30px"> |
|
|
|
<el-col :span="6" style="margin-top:21px"> |
|
|
|
<bm-line-bar-target :type="listQuery.type" :chartHeight="chartHeight" :legendList="legendList" |
|
|
|
:chartMsg="chartMsgTarget" :gridLeft="gridLeft" ref="dayTargetChart" :chartId=" 'chartTarget'" |
|
|
|
:chartNum="chartNum" /> |
|
|
@@ -125,18 +125,18 @@ export default { |
|
|
|
name: "ChipYieldBM", |
|
|
|
data() { |
|
|
|
return { |
|
|
|
otherProps:[], |
|
|
|
otherProps: [], |
|
|
|
start: undefined, |
|
|
|
currentMenu:'邯郸', |
|
|
|
currentMenu: '邯郸', |
|
|
|
end: undefined, |
|
|
|
title: '', |
|
|
|
gridLeft:true, |
|
|
|
showTable:false, |
|
|
|
gridLeft: true, |
|
|
|
showTable: false, |
|
|
|
listQuery: { |
|
|
|
pageNo: 1, |
|
|
|
start: undefined, |
|
|
|
end: undefined, |
|
|
|
pageSize:999, |
|
|
|
pageSize: 999, |
|
|
|
// size: 10, |
|
|
|
// current: 1, |
|
|
|
factory: null, |
|
|
@@ -195,7 +195,7 @@ export default { |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
color: "#8EF0AB", |
|
|
@@ -210,7 +210,7 @@ export default { |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -225,7 +225,7 @@ export default { |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [18, -16], |
|
|
@@ -235,27 +235,27 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "BIPV产量", |
|
|
|
data: [], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [20, -16], |
|
|
|
color: "#7164FF", |
|
|
|
formatter: function (params) { |
|
|
|
return params.value |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "BIPV产量", |
|
|
|
data: [], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [20, -16], |
|
|
|
color: "#7164FF", |
|
|
|
formatter: function (params) { |
|
|
|
return params.value |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|
chartMsgTarget: { |
|
|
|
color: [ "#8EF0AB", 'rgba(104, 196, 131, .3)', "#288AFF", 'rgba(40, 138, 255, .2)', "#64BDFF", 'rgba(100,189,255,.3)', '#7164FF', 'rgba(113,100,255,.2)',], |
|
|
|
color: ["#8EF0AB", 'rgba(104, 196, 131, .3)', "#288AFF", 'rgba(40, 138, 255, .2)', "#64BDFF", 'rgba(100,189,255,.3)', '#7164FF', 'rgba(113,100,255,.2)',], |
|
|
|
xData: [], |
|
|
|
yName: "单位/片", |
|
|
|
yAxis:{ |
|
|
|
yAxis: { |
|
|
|
type: "value", |
|
|
|
name: "单位/片", |
|
|
|
show: true, |
|
|
@@ -279,12 +279,12 @@ export default { |
|
|
|
color: ["#8EF0AB", "#288AFF", "#64BDFF", '#7164FF'], |
|
|
|
xData: [], |
|
|
|
yName: "单位/片", |
|
|
|
yAxis:{ |
|
|
|
type: "value", |
|
|
|
name: "单位/片", |
|
|
|
nameTextStyle: { |
|
|
|
fontSize: 12, |
|
|
|
align: "right", |
|
|
|
yAxis: { |
|
|
|
type: "value", |
|
|
|
name: "单位/片", |
|
|
|
nameTextStyle: { |
|
|
|
fontSize: 12, |
|
|
|
align: "right", |
|
|
|
}, |
|
|
|
// scale: true, |
|
|
|
// min: function (value) {//取最小值向下取整为最小刻度 |
|
|
@@ -294,15 +294,15 @@ export default { |
|
|
|
// max: function (value) {//取最大值向上取整为最大刻度 |
|
|
|
// return Math.ceil(value.max) |
|
|
|
// }, |
|
|
|
axisLabel: {}, |
|
|
|
}, |
|
|
|
axisLabel: {}, |
|
|
|
}, |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
name: "FTO投入", |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [-18, -16], |
|
|
@@ -317,7 +317,7 @@ export default { |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -332,7 +332,7 @@ export default { |
|
|
|
data: [ |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [5, -16], |
|
|
@@ -346,7 +346,7 @@ export default { |
|
|
|
name: "BIPV产量", |
|
|
|
data: [], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [10, -16], |
|
|
@@ -372,7 +372,7 @@ export default { |
|
|
|
computed: { |
|
|
|
dataArr() { |
|
|
|
if (this.currentMenu != '瑞昌') { |
|
|
|
return [{ |
|
|
|
return [{ |
|
|
|
factory: null, |
|
|
|
item: 'FTO投入', |
|
|
|
unit: '片' |
|
|
@@ -700,16 +700,16 @@ export default { |
|
|
|
res.data.list.forEach((ele, index) => { |
|
|
|
ele.productionSituationDataVOList.forEach((item) => { |
|
|
|
maxData.push(item.ftoInput, item.chipYield, item.componentYield) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData)) |
|
|
|
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData)) |
|
|
|
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData)) |
|
|
|
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData)) |
|
|
|
this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4 |
|
|
|
this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4 |
|
|
|
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData)) |
|
|
|
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData)) |
|
|
|
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData)) |
|
|
|
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData)) |
|
|
|
this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4 |
|
|
|
this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4 |
|
|
|
if (this.listQuery.type === 2) { |
|
|
|
if (res.data.list.length === 3) { |
|
|
|
this.gridLeft = false |
|
|
@@ -720,7 +720,7 @@ export default { |
|
|
|
// res.data.list.forEach((ele) => { |
|
|
|
res.data.list.slice(0, res.data.list.length - 3).forEach((ele, index) => { |
|
|
|
// let i = index + 1 |
|
|
|
this.chartMsg.xData.push(ele.titleValue.slice(0, ele.titleValue.length-3)) |
|
|
|
this.chartMsg.xData.push(ele.titleValue.slice(0, ele.titleValue.length - 3)) |
|
|
|
ele.productionSituationDataVOList.forEach((item) => { |
|
|
|
this.chartMsg.series[0].data.push({ |
|
|
|
name: ele.titleValue, |
|
|
@@ -775,11 +775,11 @@ export default { |
|
|
|
// this.chartMsgTarget.xData.push(ele.titleValue) |
|
|
|
if (ele.titleValue.search('完成') == -1) { |
|
|
|
ele.productionSituationDataVOList.forEach((item) => { |
|
|
|
targetObj.ftoInput = item.ftoInput |
|
|
|
targetObj.chipYield = item.chipYield |
|
|
|
targetObj.componentYield = item.componentYield |
|
|
|
targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput |
|
|
|
}) |
|
|
|
targetObj.ftoInput = item.ftoInput |
|
|
|
targetObj.chipYield = item.chipYield |
|
|
|
targetObj.componentYield = item.componentYield |
|
|
|
targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput |
|
|
|
}) |
|
|
|
// console.log("fto",ele.titleValue,fto); |
|
|
|
} else { |
|
|
|
ele.productionSituationDataVOList.forEach((item) => { |
|
|
@@ -797,13 +797,13 @@ export default { |
|
|
|
name: "FTO投入完成值", |
|
|
|
data: [ |
|
|
|
// s |
|
|
|
{ name: 'FTO投入完成值', value: obj.ftoInput,titleValue: obj.ftoInput }, |
|
|
|
{ name: 'FTO投入完成值', value: obj.ftoInput, titleValue: obj.ftoInput }, |
|
|
|
// { name: 'FTO投入完成值', value: 33 }, |
|
|
|
// { name: "%", value: 85 }, |
|
|
|
// { name: "%", value: 85 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
stack: 'f', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -823,7 +823,7 @@ export default { |
|
|
|
// { name: "%", value: 85 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
stack: 'f', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -845,7 +845,7 @@ export default { |
|
|
|
// { name: "%", value: 18.4 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
// barGap: '-100%', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -866,7 +866,7 @@ export default { |
|
|
|
// { name: "%", value: 18.4 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
// barGap: '-100%', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -887,7 +887,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
color: "rgba(100,189,255)", |
|
|
|
show: true, |
|
|
@@ -907,7 +907,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -928,7 +928,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -948,7 +948,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -1055,13 +1055,13 @@ export default { |
|
|
|
// let i = index + 1 |
|
|
|
// this.chartMsgTarget.xData.push(ele.titleValue) |
|
|
|
ele.productionSituationDataVOList.forEach((item) => { |
|
|
|
if (ele.titleValue.search('完成') == -1) { |
|
|
|
if (ele.titleValue.search('完成') == -1) { |
|
|
|
targetObj.ftoInput = item.ftoInput |
|
|
|
targetObj.chipYield = item.chipYield |
|
|
|
targetObj.componentYield = item.componentYield |
|
|
|
targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput |
|
|
|
// console.log("fto", ele.titleValue, fto); |
|
|
|
} else { |
|
|
|
// console.log("fto", ele.titleValue, fto); |
|
|
|
} else { |
|
|
|
|
|
|
|
obj.ftoInput = item.ftoInput |
|
|
|
obj.chipYield = item.chipYield |
|
|
@@ -1069,7 +1069,7 @@ export default { |
|
|
|
obj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput |
|
|
|
// if (ele.titleValue.search('目标') != -1) { |
|
|
|
// } else { |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
fto.push({ |
|
|
@@ -1082,7 +1082,7 @@ export default { |
|
|
|
// { name: "%", value: 85 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
stack: 'f', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -1102,7 +1102,7 @@ export default { |
|
|
|
// { name: "%", value: 85 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
stack: 'f', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -1124,7 +1124,7 @@ export default { |
|
|
|
// { name: "%", value: 18.4 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
// barGap: '-100%', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -1145,7 +1145,7 @@ export default { |
|
|
|
// { name: "%", value: 18.4 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
// barGap: '-100%', |
|
|
|
label: { |
|
|
|
show: true, |
|
|
@@ -1166,7 +1166,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
color: "rgba(100,189,255)", |
|
|
|
show: true, |
|
|
@@ -1186,7 +1186,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -1207,7 +1207,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -1227,7 +1227,7 @@ export default { |
|
|
|
// { name: "%", value: 80.2 }, |
|
|
|
], |
|
|
|
type: "bar", |
|
|
|
barWidth: 16, |
|
|
|
barWidth: 16, |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
position: [0, -16], |
|
|
@@ -1244,31 +1244,31 @@ export default { |
|
|
|
this.chartMsg.xData.push(ele.titleValue) |
|
|
|
}) |
|
|
|
for (let i in this.dataArr[0]) { |
|
|
|
this.chartMsg.series[0].name = this.dataArr[0]['item'] |
|
|
|
this.chartMsg.series[0].name = this.dataArr[0]['item'] |
|
|
|
if (i.search('value') === 0) { |
|
|
|
this.chartMsg.series[0].data.push({ |
|
|
|
name: this.dataArr[0]['item'], |
|
|
|
value: this.dataArr[0][i] === 0 ? null : this.dataArr[0][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
this.chartMsg.series[0].data.push({ |
|
|
|
name: this.dataArr[0]['item'], |
|
|
|
value: this.dataArr[0][i] === 0 ? null : this.dataArr[0][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
for (let i in this.dataArr[1]) { |
|
|
|
this.chartMsg.series[1].name = this.dataArr[1]['item'] |
|
|
|
if (i.search('value') === 0) { |
|
|
|
this.chartMsg.series[1].data.push({ |
|
|
|
name: this.dataArr[1]['item'], |
|
|
|
value: this.dataArr[1][i] === 0 ? null : this.dataArr[1][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
this.chartMsg.series[1].name = this.dataArr[1]['item'] |
|
|
|
if (i.search('value') === 0) { |
|
|
|
this.chartMsg.series[1].data.push({ |
|
|
|
name: this.dataArr[1]['item'], |
|
|
|
value: this.dataArr[1][i] === 0 ? null : this.dataArr[1][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
for (let i in this.dataArr[2]) { |
|
|
|
this.chartMsg.series[2].name = this.dataArr[2]['item'] |
|
|
|
if (i.search('value') === 0) { |
|
|
|
this.chartMsg.series[2].data.push({ |
|
|
|
name: this.dataArr[2]['item'], |
|
|
|
value: this.dataArr[2][i] === 0 ? null : this.dataArr[2][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
this.chartMsg.series[2].name = this.dataArr[2]['item'] |
|
|
|
if (i.search('value') === 0) { |
|
|
|
this.chartMsg.series[2].data.push({ |
|
|
|
name: this.dataArr[2]['item'], |
|
|
|
value: this.dataArr[2][i] === 0 ? null : this.dataArr[2][i] |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.dataArr[3]) { |
|
|
|
for (let i in this.dataArr[3]) { |
|
|
@@ -1280,7 +1280,7 @@ export default { |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// console.log(this.dataArr) |
|
|
|
// console.log(this.tableData); |
|
|
@@ -1345,6 +1345,21 @@ export default { |
|
|
|
border-radius: 8px; |
|
|
|
padding: 16px 16px 0 16px; |
|
|
|
margin: 8px 0px; |
|
|
|
.smallTitle { |
|
|
|
font-size: 16px; |
|
|
|
color: #000; |
|
|
|
margin-bottom: 15px; |
|
|
|
} |
|
|
|
|
|
|
|
.smallTitle::before { |
|
|
|
display: inline-block; |
|
|
|
width: 4px; |
|
|
|
height: 16px; |
|
|
|
background: #0b58ff; |
|
|
|
content: ""; |
|
|
|
margin-right: 8px; |
|
|
|
vertical-align: -9px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.containerTop { |
|
|
@@ -1361,27 +1376,13 @@ export default { |
|
|
|
height: 18px; |
|
|
|
background: #0B58FF; |
|
|
|
border-radius: 1px; |
|
|
|
margin-right: 8PX; |
|
|
|
margin-top: 8px; |
|
|
|
margin-right: 8px; |
|
|
|
vertical-align:-3px; |
|
|
|
} |
|
|
|
|
|
|
|
.containerTop { |
|
|
|
margin-top: 8px; |
|
|
|
|
|
|
|
.smallTitle { |
|
|
|
font-size: 16px; |
|
|
|
color: #000; |
|
|
|
margin-bottom: 15px; |
|
|
|
} |
|
|
|
|
|
|
|
.smallTitle::before { |
|
|
|
display: inline-block; |
|
|
|
width: 4px; |
|
|
|
height: 16px; |
|
|
|
background: #0b58ff; |
|
|
|
content: ""; |
|
|
|
margin-right: 8px; |
|
|
|
vertical-align: -3px; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |