分拣监控看板数据

This commit is contained in:
2023-09-25 16:59:03 +08:00
parent cd2dc7d64d
commit cc67ff4e20
3 changed files with 215 additions and 77 deletions

View File

@@ -8,41 +8,41 @@
<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 class="one_w_item_text">{{ current.workOrderCode }}</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">物料</div>
<div class="one_w_item_text">VOD钢砖包</div>
<div class="one_w_item_text">{{ current.materialName }}</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 class="one_w_item_text">{{ current.spec }}</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 class="one_w_item_text">{{ current.qty }}</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 class="one_w_item_text">{{ current.weight }}</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 class="one_w_item_text">{{ current.orderCode }}</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">客户</div>
<div class="one_w_item_text">XXX有限公司</div>
<div class="one_w_item_text">{{ current.customer }}</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">托盘类型</div>
<div class="one_w_item_text">2型木托</div>
<div class="one_w_item_text">{{ current.vehicleType }}</div>
</div>
<div class="one_wrap_item">
<div class="one_w_item_label">是否留有半托</div>
<div class="one_w_item_text"></div>
<div class="one_w_item_text">{{ current.hasHalf }}</div>
</div>
</div>
</div>
@@ -52,56 +52,62 @@
<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 class="progress-bar_wrap">
<div class="progress-bar_outer" :style="{'width': chaiduo.uncompleted * 100 / (chaiduo.uncompleted + chaiduo.completed) + '%'}"></div>
<div class="progress-bar_inner" :style="{'width': chaiduo.completed * 100 / (chaiduo.uncompleted + chaiduo.completed) + '%'}"></div>
</div>
<div class="progress-bar_outer_text">未完成{{ chaiduo.uncompleted }}</div>
<div class="progress-bar_inner_text">已完成{{ chaiduo.completed }}</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 class="progress-bar_wrap">
<div class="progress-bar_outer" :style="{'width': maduo.uncompleted * 100 / (maduo.uncompleted + maduo.completed) + '%'}"></div>
<div class="progress-bar_inner progress-bar_inner_1" :style="{'width': maduo.completed * 100 / (maduo.uncompleted + maduo.completed) + '%'}"></div>
</div>
<div class="progress-bar_outer_text">未完成{{ maduo.uncompleted }}</div>
<div class="progress-bar_inner_text">已完成{{ maduo.completed }}</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">
<vue-seamless-scroll :data="chaiduoArr" :class-option="defaultOption1">
<ul class="scroll-ul_1">
<li v-for="(e, i) in data1" :key="i">
<span>{{e.a}}&nbsp;</span>
<li v-for="(e, i) in chaiduoArr" :key="i">
<span>{{e.datetime}}&nbsp;</span>
<span class="scroll_th">托盘号:</span>
<span>{{ e.b }}</span>
<span>{{ e.vehicleCode }}</span>
<span class="scroll_th">物料:</span>
<span>{{ e.c }}</span>
<span>{{ e.materialName }}</span>
<span class="scroll_th">数量:</span>
<span>{{ e.d }}</span>
<span>{{ e.qty }}</span>
<span class="scroll_th">重量:</span>
<span>{{ e.e }}</span>
<span>{{ e.weight }}</span>
</li>
</ul>
</vue-seamless-scroll>
</div>
<div class="three_w_item">
<vue-seamless-scroll :data="data1" :class-option="defaultOption1">
<vue-seamless-scroll :data="maduoArr" :class-option="defaultOption1">
<ul class="scroll-ul_1">
<li v-for="(e, i) in data1" :key="i">
<span>{{e.a}}&nbsp;</span>
<li v-for="(e, i) in maduoArr" :key="i">
<span>{{e.datetime}}&nbsp;</span>
<span class="scroll_th">托盘号:</span>
<span>{{ e.b }}</span>
<span>{{ e.vehicleCode }}</span>
<span class="scroll_th">物料:</span>
<span>{{ e.c }}</span>
<span>{{ e.materialName }}</span>
<span class="scroll_th">数量:</span>
<span>{{ e.d }}</span>
<span>{{ e.qty }}</span>
<span class="scroll_th">重量:</span>
<span>{{ e.e }}</span>
<span>{{ e.weight }}</span>
</li>
</ul>
</vue-seamless-scroll>
@@ -127,19 +133,19 @@
<li>创建时间</li>
</ul>
<div class="scroll_container_2">
<vue-seamless-scroll :data="data2" :class-option="defaultOption2">
<vue-seamless-scroll :data="residualWorkOrder" :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 v-for="(e, i) in residualWorkOrder" :key="i">
<div class="scroll-ul_2_div">{{e.workOrderCode}}</div>
<div class="scroll-ul_2_div">{{e.materialName}}</div>
<div class="scroll-ul_2_div">{{e.spec}}</div>
<div class="scroll-ul_2_div">{{e.qty}}</div>
<div class="scroll-ul_2_div">{{e.weight}}</div>
<div class="scroll-ul_2_div">{{e.orderCode}}</div>
<div class="scroll-ul_2_div">{{e.customer}}</div>
<div class="scroll-ul_2_div">{{e.vehicleType}}</div>
<div class="scroll-ul_2_div">{{e.hasHalf}}</div>
<div class="scroll-ul_2_div">{{e.createTime}}</div>
</li>
</ul>
</vue-seamless-scroll>
@@ -155,35 +161,23 @@
<script>
import THeader from '@components/header.vue'
import {sortProductionMonitor} from '@js/getData2.js'
// import {sortProductionMonitor} from '@js/mork2.js'
export default {
name: 'SortWorkMonitor',
components: {
THeader
},
mounted () {
// 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(() => {
// const bodyStyle = document.body.style
// const htmlStyle = document.getElementsByTagName('html')[0].style
// bodyStyle.width = '1920px'
// htmlStyle.width = '1920px'
// bodyStyle.height = '1080px'
// htmlStyle.height = '1080px'
// })
},
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'}]
timer: null,
interTime: this.$store.getters.setTime,
current: {},
chaiduo: {},
maduo: {},
chaiduoArr: [],
maduoArr: [],
residualWorkOrder: []
}
},
computed: {
@@ -215,6 +209,31 @@ export default {
waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
}
}
},
mounted () {
this.refresh()
},
beforeDestroy () {
this.$once('hook:beforeDestroy', () => {
clearInterval(this.timer)
})
},
methods: {
refresh () {
this._sortProductionMonitor()
this.timer2 = setInterval(() => {
this._sortProductionMonitor()
}, this.interTime)
},
async _sortProductionMonitor () {
let res = await sortProductionMonitor()
this.current = res.current
this.chaiduo = res.depalletize
this.maduo = res.palletize
this.chaiduoArr = [...res.depalletizedVehicle]
this.maduoArr = [...res.palletizedVehicle]
this.residualWorkOrder = [...res.residualWorkOrder]
}
}
}
</script>
@@ -259,8 +278,8 @@ export default {
background-color rgba(50,197,255,0.1)
padding 0 .1rem
.two_wrap
_wh(100%, 6%)
padding .15rem 0
_wh(100%, 9%)
padding .45rem 0 .15rem 0
.two_wrap_item
_wh(50%, 100%)
padding 0 .15rem
@@ -269,30 +288,52 @@ export default {
width .7rem
_font(.18rem, 1, #32c5ff,,)
.two_w_item_text
_wh(calc(100% - 1.7rem), 100%)
_wh(calc(100% - .7rem), 100%)
.progress-bar
position relative
_wh(100%, 100%)
border-radius .2rem
background linear-gradient(to right, #00afc3, #00d162)
padding 0 .05rem
padding .05rem .1rem
.progress-bar_wrap
position relative
_wh(100%, 100%)
.progress-bar_1
background linear-gradient(to right, #3428ff, #009dbb)
.progress-bar_outer
_wh(100%, 100%)
position absolute
top 0
right 0
_wh(0, 100%)
border-radius .2rem
background linear-gradient(to right, #00fce6, #00ff6c)
.progress-bar_inner
position absolute
top .05rem
_wh(50%, calc(100% - .1rem))
top 0
left 0
_wh(0, 100%)
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)
.progress-bar_outer_text
position absolute
bottom .3rem
height .3rem
_font(.26rem, .3rem, #fff,,right)
.progress-bar_outer_text
position absolute
bottom .25rem
height .24rem
_font(.24rem, .24rem, #fff,,right)
.progress-bar_inner_text
position absolute
bottom .25rem
height .24rem
right 0
_font(.24rem, .24rem, #fff,,right)
.three_wrap
_wh(100%, 42%)
_wh(100%, 40%)
.three_w_item
_wh(calc(50% - .15rem), 100%)
padding .15rem
@@ -301,7 +342,7 @@ export default {
&:first-child
margin-right .3rem
.four_wrap
_wh(100%, calc(40% - .2rem))
_wh(100%, calc(39% - .2rem))
margin-top .2rem
padding .1rem .15rem
background-image linear-gradient(to bottom, #050c1b, #16243c)