|
|
|
|
@ -2,17 +2,17 @@
|
|
|
|
|
<div class="app-container">
|
|
|
|
|
<div class="headTitle">数字化注塑车间管控中心</div>
|
|
|
|
|
<div class="centerDevice"></div>
|
|
|
|
|
<div class="text1" style="top: 14.7%;left: 5.5%;">今日计划数: <span
|
|
|
|
|
<div class="text1" style="top: 14.7%;left: 5.5%;">计划数: <span
|
|
|
|
|
style="color: #6ACBFD">{{ form.isSimulate ? form.text1 : orderStatisticsData.planCount }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text1" style="top: 14.7%;left: 16.8%;">今日完成数: <span style="color: #68FD82">{{
|
|
|
|
|
form.isSimulate ? form.text2 : productionTotalData.dayTotal
|
|
|
|
|
}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text1" style="top: 24%;left: 5.5%;">今日差异数: <span
|
|
|
|
|
<div class="text1" style="top: 24%;left: 5.5%;">差异数: <span
|
|
|
|
|
style="color: #FEF16A">{{ form.isSimulate ? form.text3 : orderStatisticsData.diffCount }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text1" style="top: 24%;left: 16.8%;">今日完成率: <span
|
|
|
|
|
<div class="text1" style="top: 24%;left: 16.8%;">完成率: <span
|
|
|
|
|
style="color: #69CBFE">{{ form.isSimulate ? form.text4 : orderStatisticsData.completeRate }}%</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text1" style="top: 12%;left: 29%;">日累计产量</div>
|
|
|
|
|
@ -108,10 +108,10 @@
|
|
|
|
|
}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text3" style="top: 35.15%;left: 5.5%;">工单进度</div>
|
|
|
|
|
<div class="text3" style="top: 35.15%;left: 75%;">维修分析</div>
|
|
|
|
|
<div class="text3" style="top: 35.15%;left: 75%;">累计维修分析</div>
|
|
|
|
|
<div class="text3" style="top: 63.05%;left: 5.5%;">质量追溯</div>
|
|
|
|
|
<div class="text3" style="top: 63.05%;left: 30.2%;">设备分析</div>
|
|
|
|
|
<div class="text3" style="top: 63.05%;left: 75%;">告警趋势</div>
|
|
|
|
|
<div class="text3" style="top: 63.05%;left: 75%;">当日维修趋势</div>
|
|
|
|
|
<div class="deviceError" v-if="form.isSimulate ? form.view1 : alarmInfoData.hasAlarm ">
|
|
|
|
|
<div class="icon"></div>
|
|
|
|
|
<div class="text" style="left: 18%">{{ form.isSimulate ? form.info1.text1 : alarmInfoData.deviceName }}</div>
|
|
|
|
|
@ -593,6 +593,7 @@ export default {
|
|
|
|
|
setInterval(async () => {
|
|
|
|
|
await this.getData()
|
|
|
|
|
}, 1000 * 60 * 10)
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
async getData() {
|
|
|
|
|
@ -708,75 +709,6 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
this.$refs.chart4.setData({
|
|
|
|
|
radar: {
|
|
|
|
|
center: ["30%", "50%"],
|
|
|
|
|
radius: '40%',
|
|
|
|
|
shape: 'circle',
|
|
|
|
|
splitNumber: 1,
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#fff4',
|
|
|
|
|
width: 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
splitArea: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisNameGap: 3,
|
|
|
|
|
axisName: {
|
|
|
|
|
rotation: 90,
|
|
|
|
|
rotate: 90,
|
|
|
|
|
fontSize: 8,
|
|
|
|
|
color: '#ddd',
|
|
|
|
|
},
|
|
|
|
|
indicator: this.form.isSimulate ? this.form.chart4.map(e => {
|
|
|
|
|
return {name: e.value1, max: e.value3}
|
|
|
|
|
}) : this.qualityTraceList.map(e => {
|
|
|
|
|
return {name: e.materialName, max: e.passLimit}
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: ' ',
|
|
|
|
|
type: 'radar',
|
|
|
|
|
symbolSize: 3,
|
|
|
|
|
itemStyle: {
|
|
|
|
|
color: '#FBFCFC'
|
|
|
|
|
},
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#478EEE',
|
|
|
|
|
width: 1,
|
|
|
|
|
},
|
|
|
|
|
data: [
|
|
|
|
|
{
|
|
|
|
|
value: this.form.isSimulate ? this.form.chart4.map(e => {
|
|
|
|
|
return e.value2
|
|
|
|
|
}) : this.qualityTraceList.map(e => {
|
|
|
|
|
return e.passRate
|
|
|
|
|
}),
|
|
|
|
|
name: 'Allocated Budget',
|
|
|
|
|
areaStyle: {
|
|
|
|
|
color: {
|
|
|
|
|
type: 'radial',
|
|
|
|
|
x: 0.5,
|
|
|
|
|
y: 0.5,
|
|
|
|
|
r: 0.5,
|
|
|
|
|
colorStops: [
|
|
|
|
|
{offset: 0, color: '#fff0'},
|
|
|
|
|
{offset: 1, color: '#4C92F266'}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
this.$refs.chart2.setData({
|
|
|
|
|
xAxis: {
|
|
|
|
|
data: this.form.isSimulate ? this.form.chart2.map(e => e.value1) : this.deviceProductionList.map(e => e.deviceName),
|
|
|
|
|
@ -813,6 +745,9 @@ export default {
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 14,
|
|
|
|
|
color: '#4C95C1',
|
|
|
|
|
formatter: function (value) {
|
|
|
|
|
return value === 0 ? '' : value
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: true,
|
|
|
|
|
@ -836,9 +771,18 @@ export default {
|
|
|
|
|
bottom: 40,
|
|
|
|
|
left: 50
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: "item",
|
|
|
|
|
axisPointer: {
|
|
|
|
|
type: "shadow",
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "#fff",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: " ",
|
|
|
|
|
name: "数量",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barWidth: '50%',
|
|
|
|
|
barMaxWidth: '34',
|
|
|
|
|
@ -855,11 +799,10 @@ export default {
|
|
|
|
|
borderWidth: 1
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
show: false,
|
|
|
|
|
// show: false,
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
|
|
|
|
|
show: false,
|
|
|
|
|
distance: 10,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
color: '#66C7FA',
|
|
|
|
|
@ -877,6 +820,17 @@ export default {
|
|
|
|
|
symbolPosition: 'end', // 在柱体顶部
|
|
|
|
|
symbolOffset: [0, -2], // 微调位置(向上)
|
|
|
|
|
z: 10,
|
|
|
|
|
tooltip: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
|
|
|
|
|
distance: 10,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
color: '#66C7FA',
|
|
|
|
|
position: 'top',
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
color: '#0D2DD7'
|
|
|
|
|
},
|
|
|
|
|
@ -961,12 +915,81 @@ export default {
|
|
|
|
|
width: 2
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
// show: false,
|
|
|
|
|
},
|
|
|
|
|
data: this.form.isSimulate ? this.form.chart3.map(e => e.value2) : this.repairTrendList.map(e => e.repairCount),
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
})
|
|
|
|
|
this.$refs.chart4.setData({
|
|
|
|
|
radar: {
|
|
|
|
|
center: ["30%", "50%"],
|
|
|
|
|
radius: '40%',
|
|
|
|
|
shape: 'circle',
|
|
|
|
|
splitNumber: 1,
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#fff4',
|
|
|
|
|
width: 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
splitArea: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisNameGap: 3,
|
|
|
|
|
axisName: {
|
|
|
|
|
rotation: 90,
|
|
|
|
|
rotate: 90,
|
|
|
|
|
fontSize: 8,
|
|
|
|
|
color: '#ddd',
|
|
|
|
|
},
|
|
|
|
|
indicator: this.form.isSimulate ? this.form.chart4.map(e => {
|
|
|
|
|
return {name: e.value1, max: e.value3}
|
|
|
|
|
}) : this.qualityTraceList.map(e => {
|
|
|
|
|
return {name: e.materialName, max: e.passLimit}
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: ' ',
|
|
|
|
|
type: 'radar',
|
|
|
|
|
symbolSize: 3,
|
|
|
|
|
itemStyle: {
|
|
|
|
|
color: '#FBFCFC'
|
|
|
|
|
},
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#478EEE',
|
|
|
|
|
width: 1,
|
|
|
|
|
},
|
|
|
|
|
data: [
|
|
|
|
|
{
|
|
|
|
|
value: this.form.isSimulate ? this.form.chart4.map(e => {
|
|
|
|
|
return e.value2
|
|
|
|
|
}) : this.qualityTraceList.map(e => {
|
|
|
|
|
return e.passRate
|
|
|
|
|
}),
|
|
|
|
|
name: 'Allocated Budget',
|
|
|
|
|
areaStyle: {
|
|
|
|
|
color: {
|
|
|
|
|
type: 'radial',
|
|
|
|
|
x: 0.5,
|
|
|
|
|
y: 0.5,
|
|
|
|
|
r: 0.5,
|
|
|
|
|
colorStops: [
|
|
|
|
|
{offset: 0, color: '#fff0'},
|
|
|
|
|
{offset: 1, color: '#4C92F266'}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
save() {
|
|
|
|
|
updateCustomData({
|
|
|
|
|
|