主页左屏
@@ -81,10 +81,10 @@ li {
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-width: 1440px;
|
||||
min-height: 789px;
|
||||
/* width: 2560px;
|
||||
height: 1440px; */
|
||||
/* min-width: 1440px;
|
||||
min-height: 789px; */
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -95,7 +95,7 @@ body {
|
||||
-ms-user-select:none;/*IE10*/
|
||||
-khtml-user-select:none;/*早期浏览器*/
|
||||
user-select:none;
|
||||
background: #05032a center center / 100% 100% url(../../assets/images/bg.jpg) no-repeat;
|
||||
background-color: #050830;
|
||||
}
|
||||
|
||||
div, p {
|
||||
|
||||
BIN
src/images/bg_content.jpg
Normal file
|
After Width: | Height: | Size: 358 KiB |
BIN
src/images/bg_header.jpg
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
src/images/bg_title_l.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
src/images/bg_title_s.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/images/bg_title_tip.png
Normal file
|
After Width: | Height: | Size: 895 B |
BIN
src/images/workshop/hlj.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
src/images/workshop/hlj_s.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
src/images/workshop/jzjcss_yellow.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
src/images/workshop/lz.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
src/images/workshop/workshop_l.png
Normal file
|
After Width: | Height: | Size: 207 KiB |
BIN
src/images/workshop/workshop_r.png
Normal file
|
After Width: | Height: | Size: 245 KiB |
BIN
src/images/workshop/yyj_gray.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
691
src/pages/modules/homepage/one.vue
Normal file
@@ -0,0 +1,691 @@
|
||||
<template>
|
||||
<div class="n_container">
|
||||
<div class="n_header">
|
||||
<div class="n_header_h1">
|
||||
<h1>晟华生产数</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="n_body_container">
|
||||
<div class="n_body_container_wraper">
|
||||
<div class="n_left_content">
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">当日混料生产</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div id="home_echart_1" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">当日压制生产</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div id="home_echart_2" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">当日成品情况</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div id="home_echart_3" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="n_right_content">
|
||||
<div class="right_wrap">
|
||||
<div class="machine_wrap hlj_s_wrap">
|
||||
<div v-for="(e,i) in [1,2,3,4]" :key="i" class="sh_machine hlj_s">
|
||||
<img src="../../../images/workshop/hlj_s.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="machine_wrap hlj_wrap">
|
||||
<div v-for="(e,i) in [1,2,3,4,5,6,7,8,9,10,11,12]" :key="i" class="sh_machine hlj">
|
||||
<img src="../../../images/workshop/hlj.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="machine_wrap lz_wrap_1">
|
||||
<div v-for="(e,i) in [1,2,3,4]" :key="i" class="sh_machine lz">
|
||||
<img src="../../../images/workshop/lz.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="machine_wrap lz_wrap_2">
|
||||
<div v-for="(e,i) in [1,2,3,4,5,6,7,8,9,10,11,12]" :key="i" class="sh_machine lz">
|
||||
<img src="../../../images/workshop/lz.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="machine_wrap lz_wrap_3">
|
||||
<div v-for="(e,i) in [1,2,3,4,5,6,7,8,9,10,11,12,13]" :key="i" class="sh_machine lz">
|
||||
<img src="../../../images/workshop/lz.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="machine_wrap yyj_wrap_1">
|
||||
<div class="sh_machine jzjcss">
|
||||
<img src="../../../images/workshop/jzjcss_yellow.png" alt="">
|
||||
</div>
|
||||
<div class="sh_machine yyj">
|
||||
<img src="../../../images/workshop/yyj_gray.png" alt="">
|
||||
</div>
|
||||
<div class="sh_machine wzm"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'one',
|
||||
data () {
|
||||
return {
|
||||
myCharts1: '',
|
||||
myCharts2: '',
|
||||
myCharts3: ''
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.setEchart1()
|
||||
this.setEchart2()
|
||||
this.setEchart3()
|
||||
},
|
||||
methods: {
|
||||
setEchart1 () {
|
||||
let date = ['碾机1', '碾机2', '碾机3', '碾机4', '碾机5', '碾机6', '碾机7', '碾机8', '碾机9', '碾机10']
|
||||
let data1 = ['500', '600', '700', '800', '500', '600', '700', '800', '900', '1000']
|
||||
let option = {
|
||||
grid: {
|
||||
top: 50,
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
icon: 'rect',
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14,
|
||||
lineHeight: 14
|
||||
},
|
||||
itemGap: 30.86,
|
||||
itemWidth: 14.16,
|
||||
itemHeight: 7.38,
|
||||
data: [{name: '产量', itemStyle: {color: '#0E90FD'}}]
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 16
|
||||
},
|
||||
rotate: 50
|
||||
},
|
||||
data: date
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
splitNumber: 2,
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: [8, 4],
|
||||
dashOffset: 4,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '产量',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(96,112,128,0.10)',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 0,
|
||||
color: '#0E90FD',
|
||||
opacity: 0.1
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data1
|
||||
}
|
||||
]
|
||||
}
|
||||
let echart = document.getElementById('home_echart_1')
|
||||
if (this.myCharts1 !== '') {
|
||||
this.myCharts1.dispose()
|
||||
}
|
||||
if (echart !== null) {
|
||||
this.myCharts1 = this.$echarts.init(echart)
|
||||
this.myCharts1.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.myCharts1.resize()
|
||||
})
|
||||
}
|
||||
},
|
||||
setEchart2 () {
|
||||
let date = ['压机1', '压机2', '压机3', '压机4', '压机5', '压机6', '压机7', '压机8', '压机9', '压机10']
|
||||
let data1 = ['500', '600', '700', '800', '500', '600', '700', '800', '900', '1000']
|
||||
let data2 = ['50', '180', '70', '100', '50', '70', '100', '180', '100', '120']
|
||||
let option = {
|
||||
grid: {
|
||||
top: 50,
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
icon: 'rect',
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14,
|
||||
lineHeight: 14
|
||||
},
|
||||
itemGap: 30.86,
|
||||
itemWidth: 14.16,
|
||||
itemHeight: 7.38,
|
||||
data: [{name: '合格数', itemStyle: {color: '#33CCCC'}}, {name: '不合格数', itemStyle: {color: '#EAAD24'}}]
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 16
|
||||
},
|
||||
rotate: 50
|
||||
},
|
||||
data: date
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
splitNumber: 2,
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: [8, 4],
|
||||
dashOffset: 4,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '合格数',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#33CCCC',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(31,89,89,0.25)',
|
||||
opacity: 0.25
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '不合格数',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#B68845',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(134,98,45,0.25)',
|
||||
opacity: 0.25
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data2
|
||||
}
|
||||
]
|
||||
}
|
||||
let echart = document.getElementById('home_echart_2')
|
||||
if (this.myCharts2 !== '') {
|
||||
this.myCharts2.dispose()
|
||||
}
|
||||
if (echart !== null) {
|
||||
this.myCharts2 = this.$echarts.init(echart)
|
||||
this.myCharts2.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.myCharts2.resize()
|
||||
})
|
||||
}
|
||||
},
|
||||
setEchart3 () {
|
||||
let date = ['成品1', '成品2', '成品3', '成品4', '成品5']
|
||||
let data1 = ['1500', '1600', '1700', '1800', '1500']
|
||||
let data2 = ['450', '500', '700', '800', '500']
|
||||
let data3 = ['50', '180', '60', '70', '50']
|
||||
let option = {
|
||||
grid: {
|
||||
top: 50,
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
icon: 'rect',
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14,
|
||||
lineHeight: 14
|
||||
},
|
||||
itemGap: 30.86,
|
||||
itemWidth: 14.16,
|
||||
itemHeight: 7.38,
|
||||
data: [{name: '库存数', itemStyle: {color: '#0E90FD'}}, {name: '合格入库', itemStyle: {color: '#33CCCC'}}, {name: '不合格入库', itemStyle: {color: '#EAAD24'}}]
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 16
|
||||
}
|
||||
// rotate: 50
|
||||
},
|
||||
data: date
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
splitNumber: 2,
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: [8, 4],
|
||||
dashOffset: 4,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '弯头工段',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
barGap: '200%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(96,112,128,0.10)',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 0,
|
||||
color: '#0E90FD',
|
||||
opacity: 0.1
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '综合工段',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
barGap: '200%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#33CCCC',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(31,89,89,0.25)',
|
||||
opacity: 0.25
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data2
|
||||
},
|
||||
{
|
||||
name: '成品工段',
|
||||
type: 'bar',
|
||||
barWidth: '8',
|
||||
barGap: '200%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#B68845',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(134,98,45,0.25)',
|
||||
opacity: 0.25
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
data: data3
|
||||
}
|
||||
]
|
||||
}
|
||||
let echart = document.getElementById('home_echart_3')
|
||||
if (this.myCharts3 !== '') {
|
||||
this.myCharts3.dispose()
|
||||
}
|
||||
if (echart !== null) {
|
||||
this.myCharts3 = this.$echarts.init(echart)
|
||||
this.myCharts3.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.myCharts3.resize()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
@import '~@css/mixin'
|
||||
.n_container
|
||||
_wh(100%, 100%)
|
||||
.n_header
|
||||
_wh(100%, 8%)
|
||||
_bis('../../../images/bg_header.jpg')
|
||||
.n_header_h1
|
||||
_wh(100%, 100%)
|
||||
_fj(row, flex-end)
|
||||
_bis('../../../images/top_left.png',auto,,right)
|
||||
h1
|
||||
_font(32px, 1, #fff,,right)
|
||||
padding-bottom 2%
|
||||
letter-spacing 6px
|
||||
font-family "阿里妈妈数黑体" !important
|
||||
margin-right -3px
|
||||
.n_body_container
|
||||
_wh(100%, 92%)
|
||||
padding 40px 0 20px 20px
|
||||
_bis('../../../images/bg_content.jpg')
|
||||
.n_body_container_wraper
|
||||
_wh(100%, 100%)
|
||||
_fj(row)
|
||||
.n_left_content
|
||||
_wh(33%, 100%)
|
||||
background-color #070b1c
|
||||
.n_right_content
|
||||
_wh(calc(67% - 16px), 100%)
|
||||
.item_wrap
|
||||
_wh(100%, 33%)
|
||||
+.item_wrap
|
||||
margin-top .5%
|
||||
.item_tip
|
||||
_wh(100%, 32px)
|
||||
line-height 32px
|
||||
padding 0 10px
|
||||
.item_tip_bg_s
|
||||
_bis('../../../images/bg_title_s.png')
|
||||
.item_tip_left
|
||||
_wh(60%, 100%)
|
||||
font-family "SourceHanSansCN"
|
||||
_font(18px, inherit, #fff, 700, left)
|
||||
letter-spacing 2px
|
||||
text-shadow 0 0 9px #159AFF
|
||||
padding-left 34px
|
||||
_bis('../../../images/bg_title_tip.png', 22px, 22px, left)
|
||||
.item_content
|
||||
_wh(100%, calc(100% - 32px))
|
||||
padding 10px 5px
|
||||
.right_wrap
|
||||
position relative
|
||||
z-index 1
|
||||
_wh(100%, 100%)
|
||||
_bis('../../../images/workshop/workshop_l.png')
|
||||
.machine_wrap
|
||||
position absolute
|
||||
z-index 2
|
||||
.sh_machine
|
||||
position absolute
|
||||
top 0
|
||||
left 0
|
||||
z-index 3
|
||||
width 100%
|
||||
img
|
||||
position absolute
|
||||
top 0
|
||||
left 0
|
||||
z-index 4
|
||||
_wh(100%, auto)
|
||||
.hlj_s_wrap
|
||||
width 4%
|
||||
height 85.5%
|
||||
top 14.5%
|
||||
left 27%
|
||||
.hlj_s
|
||||
&:nth-child(2)
|
||||
top 5.5%
|
||||
&:nth-child(3)
|
||||
top 11%
|
||||
&:nth-child(4)
|
||||
top 16.5%
|
||||
.hlj_wrap
|
||||
width 4%
|
||||
height 66.5%
|
||||
top 33%
|
||||
left 29%
|
||||
.hlj
|
||||
&:nth-child(2)
|
||||
top 6%
|
||||
&:nth-child(3)
|
||||
top 12.7%
|
||||
&:nth-child(4)
|
||||
top 18.6%
|
||||
&:nth-child(5)
|
||||
top 25.5%
|
||||
&:nth-child(6)
|
||||
top 31.5%
|
||||
&:nth-child(7)
|
||||
top 38.1%
|
||||
&:nth-child(8)
|
||||
top 44%
|
||||
&:nth-child(9)
|
||||
top 51%
|
||||
&:nth-child(10)
|
||||
top 57%
|
||||
&:nth-child(11)
|
||||
top 63.5%
|
||||
&:nth-child(12)
|
||||
top 69.5%
|
||||
.lz_wrap_1
|
||||
width 2%
|
||||
height 84.6%
|
||||
top 15.4%
|
||||
left 33.5%
|
||||
.lz
|
||||
&:nth-child(2)
|
||||
top 5.4%
|
||||
&:nth-child(3)
|
||||
top 11%
|
||||
&:nth-child(4)
|
||||
top 16.2%
|
||||
.lz_wrap_2
|
||||
width 2%
|
||||
height 66.3%
|
||||
top 33.7%
|
||||
left 33.4%
|
||||
.lz
|
||||
&:nth-child(2)
|
||||
top 6.1%
|
||||
&:nth-child(3)
|
||||
top 12.8%
|
||||
&:nth-child(4)
|
||||
top 18.5%
|
||||
&:nth-child(5)
|
||||
top 26%
|
||||
&:nth-child(6)
|
||||
top 31.5%
|
||||
&:nth-child(7)
|
||||
top 38.2%
|
||||
&:nth-child(8)
|
||||
top 43.9%
|
||||
&:nth-child(9)
|
||||
top 51%
|
||||
&:nth-child(10)
|
||||
top 56.8%
|
||||
&:nth-child(11)
|
||||
top 64%
|
||||
&:nth-child(12)
|
||||
top 69.5%
|
||||
.lz_wrap_3
|
||||
width 2%
|
||||
height 94%
|
||||
top 6%
|
||||
left 43%
|
||||
.lz
|
||||
&:nth-child(2)
|
||||
top 4%
|
||||
&:nth-child(3)
|
||||
top 6.55%
|
||||
&:nth-child(4)
|
||||
top 9.1%
|
||||
&:nth-child(5)
|
||||
top 14%
|
||||
&:nth-child(6)
|
||||
top 18%
|
||||
&:nth-child(7)
|
||||
top 20.5%
|
||||
&:nth-child(8)
|
||||
top 23%
|
||||
&:nth-child(9)
|
||||
top 40%
|
||||
left 200%
|
||||
&:nth-child(10)
|
||||
top 44%
|
||||
left 100%
|
||||
&:nth-child(11)
|
||||
top 54%
|
||||
left 200%
|
||||
&:nth-child(12)
|
||||
top 76%
|
||||
left 200%
|
||||
&:nth-child(13)
|
||||
top 86%
|
||||
left 200%
|
||||
.yyj_wrap_1
|
||||
width 16%
|
||||
height 9%
|
||||
top 8%
|
||||
left 48%
|
||||
.yyj
|
||||
width 20%
|
||||
left 35.5%
|
||||
.wzm
|
||||
_wh(50%, 48%)
|
||||
background-color #d9d9d9
|
||||
top auto
|
||||
bottom 0
|
||||
.jzjcss
|
||||
width: 20%;
|
||||
left: 49%;
|
||||
top: 8%;
|
||||
</style>
|
||||
474
src/pages/modules/homepage/two.vue
Normal file
@@ -0,0 +1,474 @@
|
||||
<template>
|
||||
<div class="n_container">
|
||||
<div class="n_header">
|
||||
<div class="n_header_h1">
|
||||
<h1>据控制中心</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="n_body_container">
|
||||
<div class="n_body_container_wraper">
|
||||
<div class="n_left_content">
|
||||
<div class="status_wrap">
|
||||
<div class="status_item">
|
||||
<div class="status_tip green"></div>
|
||||
<div class="status_name">运行中/困料中</div>
|
||||
</div>
|
||||
<div class="status_item">
|
||||
<div class="status_tip yellow"></div>
|
||||
<div class="status_name">待机/困料完成</div>
|
||||
</div>
|
||||
<div class="status_item">
|
||||
<div class="status_tip gray"></div>
|
||||
<div class="status_name">关机</div>
|
||||
</div>
|
||||
<div class="status_item">
|
||||
<div class="status_tip red"></div>
|
||||
<div class="status_name">故障/困料超时</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_wrap"></div>
|
||||
</div>
|
||||
<div class="n_right_content">
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">设备运行情况</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div id="home_echart_4" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">近一月故障次数前5设备</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div id="home_echart_5" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_wrap">
|
||||
<div class="item_tip item_tip_bg_s">
|
||||
<div class="item_tip_left">最近10次设备故障</div>
|
||||
</div>
|
||||
<div class="item_content">
|
||||
<div class="scroll_wrap">
|
||||
<ul class="scroll_tab_1">
|
||||
<li>故障时间</li>
|
||||
<li>设备编码</li>
|
||||
<li>设备名称</li>
|
||||
<li>故障信息</li>
|
||||
<li>当前状态</li>
|
||||
</ul>
|
||||
<div class="scroll_container_1">
|
||||
<vue-seamless-scroll :data="array1" :class-option="defaultOption1">
|
||||
<ul class="scroll-ul_1">
|
||||
<li v-for="(e, i) in array1" :key="i">
|
||||
<div class="scroll-ul_1_div">{{e.time}}</div>
|
||||
<div class="scroll-ul_1_div">{{e.code}}</div>
|
||||
<div class="scroll-ul_1_div">{{e.name}}</div>
|
||||
<div class="scroll-ul_1_div">{{e.info}}</div>
|
||||
<div class="scroll-ul_1_div">{{e.status}}</div>
|
||||
</li>
|
||||
</ul>
|
||||
</vue-seamless-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'two',
|
||||
data () {
|
||||
return {
|
||||
myCharts1: '',
|
||||
myCharts2: '',
|
||||
array1: [{time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}, {time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}, {time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}, {time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}, {time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}, {time: '12-01 09:09:09', code: 'hn01', name: '混碾01', info: '机械故障 ', status: '故障'}]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
defaultOption1 () {
|
||||
return {
|
||||
step: 0.4, // 数值越大速度滚动越快
|
||||
limitMoveNum: 15, // 开始无缝滚动的数据量 this.dataList.length
|
||||
hoverStop: true, // 是否开启鼠标悬停stop
|
||||
direction: 1, // 0向下 1向上 2向左 3向右
|
||||
openWatch: true, // 开启数据实时监控刷新dom
|
||||
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
|
||||
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
|
||||
waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.setEchart1()
|
||||
this.setEchart2()
|
||||
},
|
||||
methods: {
|
||||
setEchart1 () {
|
||||
let colors = ['#30EBC9', '#E2BB0E', '#516282', '#F96700']
|
||||
let status = ['运行', '待机', '关机', '故障']
|
||||
let barName = ['混料', '压制', '干燥', '包装']
|
||||
let data = [[16, 14, 6, 9], [2, 1, 2, 3], [0, 0, 2, 2], [2, 1, 2, 3]]
|
||||
let option = {
|
||||
grid: {
|
||||
top: 50,
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 14,
|
||||
lineHeight: 14
|
||||
},
|
||||
itemGap: 30.86,
|
||||
itemWidth: 14.16,
|
||||
itemHeight: 7.38,
|
||||
data: status
|
||||
},
|
||||
color: colors,
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 16
|
||||
}
|
||||
},
|
||||
data: barName
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
// splitNumber: 2,
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#8FABBF',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: [8, 4],
|
||||
dashOffset: 4,
|
||||
color: '#8FABBF'
|
||||
}
|
||||
}
|
||||
},
|
||||
series: []
|
||||
}
|
||||
for (let j = 0; j < status.length; j++) {
|
||||
option.series.push({
|
||||
name: status[j],
|
||||
type: 'bar',
|
||||
stack: '总数',
|
||||
barWidth: '20',
|
||||
label: {
|
||||
show: false,
|
||||
position: 'insideRight'
|
||||
},
|
||||
data: data[j]
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// label: {
|
||||
// show: true, // 开启显示
|
||||
// position: 'top', // 在上方显示
|
||||
// textStyle: {
|
||||
// // 数值样式
|
||||
// color: '#fff',
|
||||
// fontSize: 14,
|
||||
// fontWeight: 600
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
})
|
||||
}
|
||||
let echart = document.getElementById('home_echart_4')
|
||||
if (this.myCharts1 !== '') {
|
||||
this.myCharts1.dispose()
|
||||
}
|
||||
if (echart !== null) {
|
||||
this.myCharts1 = this.$echarts.init(echart)
|
||||
this.myCharts1.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.myCharts1.resize()
|
||||
})
|
||||
}
|
||||
},
|
||||
setEchart2 () {
|
||||
let barName = ['机器5', '混碾5', '机器1', '混碾2', '压机1']
|
||||
let barData = [6, 7, 8, 9, 10]
|
||||
let maxNum = 0
|
||||
for (let i = 0; i < barData.length; i++) {
|
||||
if (barData[i] > maxNum) {
|
||||
maxNum = barData[i]
|
||||
}
|
||||
}
|
||||
|
||||
var option = {
|
||||
grid: {
|
||||
top: 5,
|
||||
left: 0,
|
||||
right: 70,
|
||||
bottom: 0,
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
show: false,
|
||||
type: 'value'
|
||||
},
|
||||
yAxis: [{
|
||||
type: 'category',
|
||||
axisLabel: {
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: '#8FABBF', // y轴字体颜色
|
||||
fontSize: '12'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
type: [8, 4],
|
||||
dashOffset: 4,
|
||||
color: '#3D5266', // y轴线颜色
|
||||
opacity: 0.4
|
||||
}
|
||||
},
|
||||
data: barName
|
||||
}, {
|
||||
type: 'category',
|
||||
inverse: true,
|
||||
axisTick: 'none',
|
||||
axisLine: 'none',
|
||||
show: false,
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#ffffff',
|
||||
fontSize: 12
|
||||
},
|
||||
formatter: function (value) {
|
||||
return value + ' %'
|
||||
}
|
||||
},
|
||||
data: barData
|
||||
}],
|
||||
series: [
|
||||
{
|
||||
name: '故障次数',
|
||||
type: 'bar',
|
||||
zlevel: 1,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new this.$echarts.graphic.LinearGradient(1, 0, 0, 0, [
|
||||
{
|
||||
offset: 0,
|
||||
color: '#B68845',
|
||||
opacity: 1
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: 'rgba(134,98,45,0.25)',
|
||||
opacity: 0.25
|
||||
}
|
||||
]),
|
||||
barBorderRadius: 0
|
||||
}
|
||||
},
|
||||
barWidth: 10,
|
||||
data: barData
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
barWidth: 10,
|
||||
barGap: '-100%',
|
||||
data: barData.map(function (item) {
|
||||
return {
|
||||
realValue: item,
|
||||
value: maxNum
|
||||
}
|
||||
}),
|
||||
label: {
|
||||
show: true,
|
||||
position: 'right',
|
||||
distance: 70,
|
||||
align: 'right',
|
||||
formatter: function (params) {
|
||||
return params.data.realValue + ' 台'
|
||||
},
|
||||
color: '#fff',
|
||||
fontSize: 15
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: 'rgba(255, 255, 255, 0)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
let echart = document.getElementById('home_echart_5')
|
||||
if (this.myCharts2 !== '') {
|
||||
this.myCharts2.dispose()
|
||||
}
|
||||
if (echart !== null) {
|
||||
this.myCharts2 = this.$echarts.init(echart)
|
||||
this.myCharts2.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.myCharts2.resize()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
@import '~@css/mixin'
|
||||
.n_container
|
||||
_wh(100%, 100%)
|
||||
.n_header
|
||||
_wh(100%, 8%)
|
||||
_bis('../../../images/bg_header.jpg')
|
||||
.n_header_h1
|
||||
_wh(100%, 100%)
|
||||
_fj(row, flex-start)
|
||||
_bis('../../../images/top_right.png',auto,,left)
|
||||
h1
|
||||
_font(32px, 1, #fff,,right)
|
||||
padding-bottom 2%
|
||||
letter-spacing 6px
|
||||
font-family "阿里妈妈数黑体" !important
|
||||
padding-left 3px
|
||||
.n_body_container
|
||||
_wh(100%, 92%)
|
||||
padding 40px 20px 20px 0
|
||||
_bis('../../../images/bg_content.jpg')
|
||||
.n_body_container_wraper
|
||||
_wh(100%, 100%)
|
||||
_fj(row)
|
||||
.n_left_content
|
||||
position relative
|
||||
_wh(calc(67% - 16px), 100%)
|
||||
.n_right_content
|
||||
_wh(33%, 100%)
|
||||
background-color #070b1c
|
||||
.item_wrap
|
||||
_wh(100%, 33%)
|
||||
+.item_wrap
|
||||
margin-top .5%
|
||||
.item_tip
|
||||
_wh(100%, 32px)
|
||||
line-height 32px
|
||||
padding 0 10px
|
||||
.item_tip_bg_s
|
||||
_bis('../../../images/bg_title_s.png')
|
||||
.item_tip_left
|
||||
_wh(60%, 100%)
|
||||
font-family "SourceHanSansCN"
|
||||
_font(18px, inherit, #fff, 700, left)
|
||||
letter-spacing 2px
|
||||
text-shadow 0 0 9px #159AFF
|
||||
padding-left 34px
|
||||
_bis('../../../images/bg_title_tip.png', 22px, 22px, left)
|
||||
.item_content
|
||||
_wh(100%, calc(100% - 32px))
|
||||
padding 10px 5px
|
||||
.right_wrap
|
||||
position relative
|
||||
z-index 1
|
||||
_wh(100%, 100%)
|
||||
_bis('../../../images/workshop/workshop_r.png')
|
||||
.scroll_wrap
|
||||
_wh(100%, 100%)
|
||||
border 1px solid rgba(8,205,248,0.3)
|
||||
.scroll_tab_1
|
||||
_wh(100%, 40px)
|
||||
border-bottom 1 solid rgba(8,205,248,0.3)
|
||||
li
|
||||
float left
|
||||
width 20%
|
||||
_font(14px,40px,#78B1DE,,center)
|
||||
word-wrap break-word
|
||||
word-break break-all
|
||||
white-space nowrap
|
||||
padding 0 5px
|
||||
overflow hidden
|
||||
box-sizing border-box
|
||||
.scroll_container_1
|
||||
width 100%
|
||||
height calc(100% - 40px)
|
||||
overflow hidden
|
||||
.scroll-ul_1
|
||||
li
|
||||
_wh(100%, 44px)
|
||||
border-bottom 1 solid rgba(8,205,248,0.3)
|
||||
&:nth-child(even)
|
||||
background rgba(1,24,52,0.60)
|
||||
box-shadow inset 0px 1px 0px 0px rgba(13,89,115,0.3)
|
||||
.scroll-ul_1_div
|
||||
float left
|
||||
_wh(20%, 44px)
|
||||
_fj(row, center)
|
||||
_font(14px, 16px, #fff,,center)
|
||||
word-wrap break-word
|
||||
word-break break-all
|
||||
// white-space nowrap
|
||||
padding 0 5px
|
||||
overflow hidden
|
||||
.status_wrap
|
||||
position absolute
|
||||
top -26px
|
||||
right 40px
|
||||
z-index 1
|
||||
_fj(row)
|
||||
.status_item
|
||||
_fj(row)
|
||||
+.status_item
|
||||
margin-left 20px
|
||||
.status_tip
|
||||
_wh(15px, 15px)
|
||||
border-radius 50%
|
||||
margin-right 10px
|
||||
box-shadow 0px 0px 4px 0px rgba(33,121,195,0.88)
|
||||
.status_name
|
||||
_font(16px, 1, #fff)
|
||||
.green
|
||||
background-color $green2
|
||||
.yellow
|
||||
background-color $yellow
|
||||
.gray
|
||||
background-color $gray1
|
||||
.red
|
||||
background-color $orange
|
||||
</style>
|
||||
@@ -6,8 +6,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import one from './one.vue'
|
||||
import two from './two.vue'
|
||||
// import one from './one.vue'
|
||||
// import two from './two.vue'
|
||||
import one from '../homepage/one.vue'
|
||||
import two from '../homepage/two.vue'
|
||||
export default {
|
||||
components: {
|
||||
one,
|
||||
|
||||
@@ -10,6 +10,8 @@ const LogisticsTech = r => require.ensure([], () => r(require('@page/LogisticsTe
|
||||
const ProdCount = r => require.ensure([], () => r(require('@page/ProdCount2')), 'ProdCount')
|
||||
Vue.use(Router)
|
||||
|
||||
const HomePageOne = r => require.ensure([], () => r(require('@page/modules/homepage/one')), 'HomePageOne')
|
||||
const HomePageTwo = r => require.ensure([], () => r(require('@page/modules/homepage/two')), 'HomePageTwo')
|
||||
const ProcessProductionOne = r => require.ensure([], () => r(require('@page/modules/processproduction/one')), 'modules')
|
||||
const ProcessProductionTwo = r => require.ensure([], () => r(require('@page/modules/processproduction/two2')), 'modules')
|
||||
const ProcessProductionThree = r => require.ensure([], () => r(require('@page/modules/processproduction/three')), 'modules')
|
||||
@@ -25,6 +27,14 @@ export default new Router({
|
||||
path: '/setup',
|
||||
component: Setup
|
||||
},
|
||||
{
|
||||
path: '/homepageone',
|
||||
component: HomePageOne
|
||||
},
|
||||
{
|
||||
path: '/homepagetwo',
|
||||
component: HomePageTwo
|
||||
},
|
||||
{
|
||||
path: '/pdone',
|
||||
component: ProcessProductionOne
|
||||
|
||||