监控看板

This commit is contained in:
2023-09-20 17:19:09 +08:00
parent 65f06341f2
commit d7c0574fdd
2 changed files with 327 additions and 19 deletions

View File

@@ -219,7 +219,7 @@
<div class="scroll-ul_1_div">{{e.completed}}</div>
</li>
</ul>
</vue-seamless-scroll>
</vue-seamless-scroll>
</div>
</div>
</div>
@@ -667,7 +667,7 @@ export default {
// 每月故障统计
this.currentMonth = res.monthlyFailureStatistics.currentMonth
this.average = res.monthlyFailureStatistics.average
// this.setEchart2()
this.setEchart2()
// 当日工序生产统计
this.mix = res.dailyProductionStatistics.mix
this.stand = res.dailyProductionStatistics.stand

View File

@@ -4,10 +4,149 @@
</t-header>
<div class="container">
<div class="zdy_box">
<div class="one_wrap"></div>
<div class="two_wrap"></div>
<div class="three_wrap"></div>
<div class="four_wrap"></div>
<div class="one_wrap">
<div class="zdy_box">
<div class="one_wrap_item">
<div class="one_w_item_label">当前工单</div>
<div class="one_w_item_text">GD0000001</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">物料</div>
<div class="one_w_item_text">VOD钢砖包</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">规格</div>
<div class="one_w_item_text">200*100/300*100</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">数量</div>
<div class="one_w_item_text">10000</div>
<div class="one_w_item_label one_w_item_label_1"></div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">重量</div>
<div class="one_w_item_text">100</div>
<div class="one_w_item_label one_w_item_label_1"></div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">订单号</div>
<div class="one_w_item_text">GD0000001</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">客户</div>
<div class="one_w_item_text">XXX有限公司</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">托盘类型</div>
<div class="one_w_item_text">2型木托</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">是否留有半托</div>
<div class="one_w_item_text"></div>
</div>
</div>
</div>
<div class="two_wrap">
<div class="zdy_box">
<div class="two_wrap_item">
<div class="two_w_item_label">已拆垛</div>
<div class="two_w_item_text">
<div class="progress-bar">
<div class="progress-bar_outer"></div>
<div class="progress-bar_inner"></div>
</div>
</div>
<div class="two_w_item_data">100%</div>
</div>
<div class="two_wrap_item">
<div class="two_w_item_label">已码垛</div>
<div class="two_w_item_text">
<div class="progress-bar progress-bar_1">
<div class="progress-bar_outer"></div>
<div class="progress-bar_inner progress-bar_inner_1"></div>
</div>
</div>
<div class="two_w_item_data">100%</div>
</div>
</div>
</div>
<div class="three_wrap">
<div class="zdy_box">
<div class="three_w_item">
<vue-seamless-scroll :data="data1" :class-option="defaultOption1">
<ul class="scroll-ul_1">
<li v-for="(e, i) in data1" :key="i">
<span>{{e.a}}&nbsp;</span>
<span class="scroll_th">托盘号:</span>
<span>{{ e.b }}</span>
<span class="scroll_th">物料:</span>
<span>{{ e.c }}</span>
<span class="scroll_th">数量:</span>
<span>{{ e.d }}</span>
<span class="scroll_th">重量:</span>
<span>{{ e.e }}</span>
</li>
</ul>
</vue-seamless-scroll>
</div>
<div class="three_w_item">
<vue-seamless-scroll :data="data1" :class-option="defaultOption1">
<ul class="scroll-ul_1">
<li v-for="(e, i) in data1" :key="i">
<span>{{e.a}}&nbsp;</span>
<span class="scroll_th">托盘号:</span>
<span>{{ e.b }}</span>
<span class="scroll_th">物料:</span>
<span>{{ e.c }}</span>
<span class="scroll_th">数量:</span>
<span>{{ e.d }}</span>
<span class="scroll_th">重量:</span>
<span>{{ e.e }}</span>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
</div>
<div class="four_wrap">
<div class="item_tip item_tip_bg_l">
<div class="item_tip_left">剩余工单列表</div>
</div>
<div class="item_content">
<div class="scroll_wrap">
<ul class="scroll_tab_2">
<li>工单号</li>
<li>物料</li>
<li>规格</li>
<li>数量</li>
<li>重量</li>
<li>订单号</li>
<li>客户</li>
<li>托盘类型</li>
<li>是否留有半托</li>
<li>创建时间</li>
</ul>
<div class="scroll_container_2">
<vue-seamless-scroll :data="data2" :class-option="defaultOption2">
<ul class="scroll-ul_2">
<li v-for="(e, i) in data2" :key="i">
<div class="scroll-ul_2_div">{{e.a}}</div>
<div class="scroll-ul_2_div">{{e.b}}</div>
<div class="scroll-ul_2_div">{{e.c}}</div>
<div class="scroll-ul_2_div">{{e.d}}</div>
<div class="scroll-ul_2_div">{{e.e}}</div>
<div class="scroll-ul_2_div">{{e.f}}</div>
<div class="scroll-ul_2_div">{{e.g}}</div>
<div class="scroll-ul_2_div">{{e.h}}</div>
<div class="scroll-ul_2_div">{{e.i}}</div>
<div class="scroll-ul_2_div">{{e.j}}</div>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
</div>
</div>
</div>
</div>
<section class="bottom"></section>
@@ -22,18 +161,14 @@ export default {
THeader
},
mounted () {
this.$nextTick(() => {
const bodyStyle = document.body.style
const htmlStyle = document.getElementsByTagName('html')[0].style
// const docEl = document.documentElement
// const docBody = document.body
// const winWidth = docEl.clientWidth || docBody.clientWidth
// const winHeight = docEl.clientHeight || docBody.clientHeight
bodyStyle.width = '100%'
htmlStyle.width = '100%'
bodyStyle.height = '100%'
htmlStyle.height = '100%'
})
// this.$nextTick(() => {
// const bodyStyle = document.body.style
// const htmlStyle = document.getElementsByTagName('html')[0].style
// bodyStyle.width = '100%'
// htmlStyle.width = '100%'
// bodyStyle.height = '100%'
// htmlStyle.height = '100%'
// })
},
beforeDestroy () {
this.$nextTick(() => {
@@ -44,6 +179,42 @@ export default {
bodyStyle.height = '1200px'
htmlStyle.height = '1200px'
})
},
data () {
return {
data1: [{a: '07-11 09:09:09', b: 'T001', c: '铝碳化硅碳ACTTEXDA10M250X150X7523Z002', d: '1000', e: '500'}, {a: '07-11 09:09:09', b: 'T001', c: '铝碳化硅碳ACTTEXDA10M250X150X7523Z002', d: '1000', e: '500'}, {a: '07-11 09:09:09', b: 'T001', c: '铝碳化硅碳ACTTEXDA10M250X150X7523Z002', d: '1000', e: '500'}, {a: '07-11 09:09:09', b: 'T001', c: '铝碳化硅碳ACTTEXDA10M250X150X7523Z002', d: '1000', e: '500'}, {a: '07-11 09:09:09', b: 'T001', c: '铝碳化硅碳ACTTEXDA10M250X150X7523Z002', d: '1000', e: '500'}],
data2: [{a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}, {a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}, {a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}, {a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}, {a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}, {a: 'GD0000001', b: 'VOD钢砖包', c: '200*100/300*100', d: '1000', e: '500', f: 'dd00001', g: 'XXXX有限公司', h: '2型木托', i: '否', j: '07-11 09:09:09'}]
}
},
computed: {
defaultOption1 () {
return {
timer1: null,
timer2: null,
step: 0.4, // 数值越大速度滚动越快
limitMoveNum: 10, // 开始无缝滚动的数据量 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)
}
},
defaultOption2 () {
return {
timer1: null,
timer2: null,
step: 0.4, // 数值越大速度滚动越快
limitMoveNum: 7, // 开始无缝滚动的数据量 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)
}
}
}
}
</script>
@@ -61,6 +232,143 @@ export default {
_wh(100%, .38rem)
background center bottom / 19.06rem 100% url(../../assets/images/screen1/bottom.png) no-repeat
.one_wrap
_wh(100%, 10%)
_wh(100%, 12%)
padding 0 0 .15rem .15rem
background center center / 100% 100% url(../../assets/images/sctj_top.png) no-repeat
overflow hidden
.zdy_box
_fj(flex-start, flex-start)
flex-wrap wrap
align-content flex-start
.one_wrap_item
height calc(50% - .15rem)
_fj(flex-start)
margin-top .15rem
margin-right .15rem
.one_w_item_label
min-width .8rem
padding 0 0.1rem 0 0
_font(.18rem, 1, #32c5ff,,center)
.one_w_item_label_1
padding 0 0 0 .1rem
.one_w_item_text
min-width .2rem
height 100%
_font(.30rem, 1, #f7b502,,center)
_fj(center)
background-color rgba(50,197,255,0.1)
padding 0 .1rem
.two_wrap
_wh(100%, 6%)
padding .15rem 0
.two_wrap_item
_wh(50%, 100%)
padding 0 .15rem
_fj()
.two_w_item_label
width .7rem
_font(.18rem, 1, #32c5ff,,)
.two_w_item_text
_wh(calc(100% - 1.7rem), 100%)
.progress-bar
position relative
_wh(100%, 100%)
border-radius .2rem
background linear-gradient(to right, #00afc3, #00d162)
padding 0 .05rem
.progress-bar_1
background linear-gradient(to right, #3428ff, #009dbb)
.progress-bar_outer
_wh(100%, 100%)
.progress-bar_inner
position absolute
top .05rem
_wh(50%, calc(100% - .1rem))
border-radius .2rem
background linear-gradient(to right, #00fce6, #00ff6c)
.progress-bar_inner_1
background linear-gradient(to right, #3c70ff, #00ffea)
.two_w_item_data
width 1rem
_font(.26rem, 1, #fff,,right)
.three_wrap
_wh(100%, 42%)
.three_w_item
_wh(calc(50% - .15rem), 100%)
padding .15rem
background-image linear-gradient(to bottom, #040b1a, #050919)
overflow hidden
&:first-child
margin-right .3rem
.four_wrap
_wh(100%, calc(40% - .2rem))
margin-top .2rem
padding .1rem .15rem
background-image linear-gradient(to bottom, #050c1b, #16243c)
border 2px solid #16243c
border-top-left-radius .1rem
border-top-right-radius .1rem
.scroll-ul_1
width 100%
li
width 100%
line-height .4rem
span
_font(.16rem, 1, #fff,,)
.scroll_th
color #2ef6ff
.item_tip
_wh(100%, .32rem)
line-height .32rem
padding 0 .1rem
.item_tip_bg_l
background center center / 100% 100% url(../../assets/images/screen1/bg_title_j.png) no-repeat
.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 .34rem
background center left / .22rem .22rem url(../../assets/images/screen1/bg_title_tip.png) no-repeat
.item_content
_wh(100%, calc(100% - .37rem))
margin-top .07rem
.scroll_wrap
_wh(100%, 100%)
border .01rem solid rgba(8,205,248,0.3)
.scroll_tab_2
_wh(100%, .4rem)
border-bottom .01rem solid rgba(8,205,248,0.3)
li
float left
width 10%
_font(.14rem,.4rem,#78B1DE,,center)
word-wrap break-word
word-break break-all
white-space nowrap
padding 0 .02rem
overflow hidden
box-sizing border-box
.scroll_container_2
width 100%
height calc(100% - .4rem)
overflow hidden
.scroll-ul_2
li
_wh(100%, .44rem)
border-bottom .01rem 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_2_div
float left
_wh(10%, .44rem)
_fj(center)
_font(.14rem, .44rem, #fff,,center)
word-wrap break-word
word-break break-all
white-space nowrap
padding 0 .02rem
overflow hidden
</style>