|
|
@ -1,58 +1,56 @@ |
|
|
|
<template> |
|
|
|
<div style="width:100%;"> |
|
|
|
<p class="content-title"> |
|
|
|
<span class="left-img" />{{contentTitle}}<span class="right-img" /> |
|
|
|
<span class="left-img" />{{ contentTitle }}<span class="right-img" /> |
|
|
|
</p> |
|
|
|
<div class="echarts-wrap"> |
|
|
|
<div class="echarts-title"> |
|
|
|
<span class="left-img" />{{(echartsData && echartsData.title) || '工时统计数据'}}<span class="right-img" /> |
|
|
|
<span class="left-img" />{{ (echartsData && echartsData.title) || '实时数据展示' }}<span class="right-img" /> |
|
|
|
</div> |
|
|
|
<div class="task-detall"> |
|
|
|
<p class="task-num">A工位 产量:<span class="task-value">{{echartsData.capacity || 0}}件</span></p> |
|
|
|
<p class="task-mu">A工位 MU:<span class="task-value">{{echartsData.mu || 0}}</span></p> |
|
|
|
<p class="task-num">{{ contentText }} 产能:<span class="task-value">{{ echartsData.capacity || 0 }}件</span></p> |
|
|
|
<p class="task-mu">{{ contentText }} MU:<span class="task-value">{{ echartsData.mu || 0 }}</span></p> |
|
|
|
</div> |
|
|
|
<p class="user-time">平均工时:{{echartsData.avg || 0}}{{echartsData.uom || 's'}}</p> |
|
|
|
<div :id="lineMarkAreaId" class="float-line-echarts" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
export default { |
|
|
|
props: { |
|
|
|
lineMarkAreaId: { |
|
|
|
type: String, |
|
|
|
default: 'line-mark-echarts' |
|
|
|
}, |
|
|
|
echartsData: { |
|
|
|
type: Object, |
|
|
|
default: {} |
|
|
|
}, |
|
|
|
contentTitle: { |
|
|
|
type: String, |
|
|
|
default: '工位 实时数据展示' |
|
|
|
} |
|
|
|
export default { |
|
|
|
props: { |
|
|
|
lineMarkAreaId: { |
|
|
|
default: 'line-mark-echarts' |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return {} |
|
|
|
echartsData: { |
|
|
|
default: {} |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
echartsData: { |
|
|
|
handler(newValue, oldValue) { |
|
|
|
if(JSON.stringify(newValue) != JSON.stringify(oldValue)){ |
|
|
|
this.lineMarkAreaChart && this.lineMarkAreaChart.setOption && this.lineMarkAreaChart.setOption(newValue); |
|
|
|
} |
|
|
|
}, |
|
|
|
deep: true |
|
|
|
} |
|
|
|
contentTitle: { |
|
|
|
default: '工位 实时数据展示' |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
// 拆线水平填充图 |
|
|
|
var lineMarkArea = document.getElementById(this.lineMarkAreaId); |
|
|
|
this.lineMarkAreaChart = new window.echarts.lineMarkArea(lineMarkArea); |
|
|
|
this.lineMarkAreaChart.setOption(this.echartsData || {}); |
|
|
|
contentText: { |
|
|
|
default: '工位' |
|
|
|
} |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return {} |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
echartsData: { |
|
|
|
handler(newValue, oldValue) { |
|
|
|
if (JSON.stringify(newValue) != JSON.stringify(oldValue)) { |
|
|
|
this.lineMarkAreaChart && this.lineMarkAreaChart.setOption && this.lineMarkAreaChart.setOption(newValue) |
|
|
|
} |
|
|
|
}, |
|
|
|
deep: true |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
// 拆线水平填充图 |
|
|
|
var lineMarkArea = document.getElementById(this.lineMarkAreaId) |
|
|
|
this.lineMarkAreaChart = new window.echarts.lineMark(lineMarkArea) |
|
|
|
this.lineMarkAreaChart.setOption(this.echartsData || {}) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
.echarts-wrap { |
|
|
@ -143,31 +141,11 @@ |
|
|
|
color: #FF6D46; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.user-time { |
|
|
|
position: absolute; |
|
|
|
top: 38px; |
|
|
|
right: 16px; |
|
|
|
width: 170px; |
|
|
|
height: 40px; |
|
|
|
line-height: 40px; |
|
|
|
font-size: 16px; |
|
|
|
font-family: PingFangSC-Medium, PingFang SC; |
|
|
|
font-weight: 500; |
|
|
|
color: #FFFFFF; |
|
|
|
background: #091954; |
|
|
|
border: 1px solid #0036C3; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
|
|
|
|
.float-line-echarts { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.content-title { |
|
|
|
position: absolute; |
|
|
|
top: -22px; |
|
|
@ -185,5 +163,4 @@ |
|
|
|
.content-left-wrap { |
|
|
|
float: left; |
|
|
|
} |
|
|
|
|
|
|
|
</style> |