349 lines
13 KiB
Vue
349 lines
13 KiB
Vue
<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="box1">
|
|
<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 red"></div>
|
|
<div class="status_name">困料超时</div>
|
|
</div>
|
|
</div>
|
|
<div class="box_l1">
|
|
<div v-for="(e,i) in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]" :key="i" class="picbox" :class="{'mgt5': i === 2 || i === 6 || i === 10 || i === 14 || i === 18}">
|
|
<img src="../../../images/workshop/lz.png" alt="">
|
|
</div>
|
|
</div>
|
|
<div class="box_l2">
|
|
<div v-for="(e,i) in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]" :key="i" class="picbox" :class="{'mgt5': i === 2 || i === 6 || i === 10 || i === 14 || i === 18}">
|
|
<img src="../../../images/workshop/lz.png" alt="">
|
|
</div>
|
|
</div>
|
|
<div class="box_r1">
|
|
<div v-for="(e,i) in [1,2,3]" :key="i" class="picbox">
|
|
<img src="../../../images/workshop/lz.png" alt="">
|
|
</div>
|
|
</div>
|
|
<div class="box_r2">
|
|
<div v-for="(e,i) in [1,2,3]" :key="i" class="picbox">
|
|
<img src="../../../images/workshop/lz.png" alt="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="box2">
|
|
<div class="item_wrap">
|
|
<div class="item_tip item_tip_bg_s">
|
|
<div class="item_tip_left">困料库存</div>
|
|
</div>
|
|
<div class="item_content">
|
|
<div class="scroll_wrap">
|
|
<ul class="scroll_tab_1">
|
|
<li>货位</li>
|
|
<li>BOM号</li>
|
|
<li>物料名称</li>
|
|
<li>重量</li>
|
|
<li>载具号</li>
|
|
<li>碾次</li>
|
|
<li>静置(h)</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" :class="['c_gray', 'c_yellow', 'c_green', 'c_red'][Number(e.stand_status_color)]">{{e.point_name}}</div>
|
|
<div class="scroll-ul_1_div">{{e.bom}}</div>
|
|
<div class="scroll-ul_1_div">{{e.material_code}}</div>
|
|
<div class="scroll-ul_1_div">{{e.weight}}</div>
|
|
<div class="scroll-ul_1_div">{{e.vehicle_code}}</div>
|
|
<div class="scroll-ul_1_div">{{e.mix_num}}</div>
|
|
<div class="scroll-ul_1_div">{{e.standing_time}}</div>
|
|
<div class="scroll-ul_1_div">{{e.stand_status_name}}</div>
|
|
</li>
|
|
</ul>
|
|
</vue-seamless-scroll>
|
|
</div>
|
|
</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 class="scroll_wrap">
|
|
<ul class="scroll_tab_1">
|
|
<li style="width: 6.5%;">类别</li>
|
|
<li>BOM号</li>
|
|
<li>物料名称</li>
|
|
<li>重量</li>
|
|
<li>载具号</li>
|
|
<li>碾次</li>
|
|
<li>货位</li>
|
|
<li style="width: 18%;">出入时间</li>
|
|
</ul>
|
|
<div class="scroll_container_1">
|
|
<vue-seamless-scroll :data="array2" :class-option="defaultOption2">
|
|
<ul class="scroll-ul_1">
|
|
<li v-for="(e, i) in array2" :key="i">
|
|
<div class="scroll-ul_1_div" style="width: 6.5%;">{{e.io_type}}</div>
|
|
<div class="scroll-ul_1_div">{{e.bom}}</div>
|
|
<div class="scroll-ul_1_div">{{e.material_code}}</div>
|
|
<div class="scroll-ul_1_div">{{e.weight}}</div>
|
|
<div class="scroll-ul_1_div">{{e.vehicle_code}}</div>
|
|
<div class="scroll-ul_1_div">{{e.mix_num}}</div>
|
|
<div class="scroll-ul_1_div">{{e.point_code}}</div>
|
|
<div class="scroll-ul_1_div" style="width: 18%;">{{e.create_time}}</div>
|
|
</li>
|
|
</ul>
|
|
</vue-seamless-scroll>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { trappedMaterialCondition } from '@js/getData0'
|
|
export default {
|
|
name: 'one',
|
|
data () {
|
|
return {
|
|
resData: {},
|
|
array1: [],
|
|
array2: []
|
|
// array1: [{workorder_code: 'hl00001', device_name: '混碾机1', bom: 'WL001', material_code: '1号混料', plan_qty: '5000', real_qty: '200', total_mix_frequency: '230505001001', order_status: '生产完成', realproducestart_date: '10-11 19:11:00', realproduceend_date: '10-11 19:11:00'}]
|
|
// array2: [{workorder_code: 'hl00001', device_name: '混碾机1', bom: 'WL001', material_code: '1号混料', plan_qty: '5000', real_qty: '200', total_mix_frequency: '230505001001', order_status: '生产完成', realproducestart_date: '10-11 19:11:00', realproduceend_date: '10-11 19:11:00'}]
|
|
}
|
|
},
|
|
computed: {
|
|
defaultOption1 () {
|
|
return {
|
|
step: 0.4, // 数值越大速度滚动越快
|
|
limitMoveNum: 11, // 开始无缝滚动的数据量 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 {
|
|
step: 0.4, // 数值越大速度滚动越快
|
|
limitMoveNum: 11, // 开始无缝滚动的数据量 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.initData()
|
|
},
|
|
methods: {
|
|
async initData () {
|
|
let res = await trappedMaterialCondition()
|
|
this.resData = res.result
|
|
this.array1 = res.result.TrappedStockList
|
|
this.array2 = res.result.TrappedIOStockList
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="stylus" scoped>
|
|
@import '~@css/mixin'
|
|
.c_gray
|
|
color $gray1 !important
|
|
.c_yellow
|
|
color $yellow !important
|
|
.c_green
|
|
color $green !important
|
|
.c_red
|
|
color $orange !important
|
|
.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_r.jpg')
|
|
.n_body_container_wraper
|
|
_wh(100%, 100%)
|
|
_fj()
|
|
.status_wrap
|
|
position absolute
|
|
top 18px
|
|
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
|
|
.red
|
|
background-color $orange
|
|
.box1
|
|
position relative
|
|
_wh(100%, 58%)
|
|
// border 1px solid rgba(8,205,248,0.3)
|
|
// border-left none
|
|
.box_l1
|
|
_wh(3%, 10%)
|
|
position absolute
|
|
top 25%
|
|
right 20%
|
|
z-index 2
|
|
transform rotate(90deg)
|
|
.picbox
|
|
width 100%
|
|
margin-bottom 15%
|
|
img
|
|
_wh(100%, auto)
|
|
.box_l2
|
|
_wh(3%, 10%)
|
|
position absolute
|
|
top 65%
|
|
right 20%
|
|
z-index 2
|
|
transform rotate(90deg)
|
|
.picbox
|
|
width 100%
|
|
margin-bottom 15%
|
|
img
|
|
_wh(100%, auto)
|
|
.box_r1
|
|
_wh(3%, 10%)
|
|
position absolute
|
|
top 25%
|
|
right 2%
|
|
z-index 2
|
|
transform rotate(90deg)
|
|
.picbox
|
|
width 100%
|
|
margin-bottom 20%
|
|
img
|
|
_wh(100%, auto)
|
|
.box_r2
|
|
_wh(3%, 10%)
|
|
position absolute
|
|
top 65%
|
|
right 2%
|
|
z-index 2
|
|
transform rotate(90deg)
|
|
.picbox
|
|
width 100%
|
|
margin-bottom 20%
|
|
img
|
|
_wh(100%, auto)
|
|
.mgt5
|
|
margin-top 65%
|
|
.box2
|
|
_wh(100%, 40%)
|
|
_fj(row)
|
|
.item_wrap
|
|
_wh(100%, 100%)
|
|
+.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
|
|
.scroll_wrap
|
|
_wh(100%, 100%)
|
|
border 1px solid rgba(8,205,248,0.3)
|
|
// background-color #070b1c
|
|
.scroll_tab_1
|
|
_wh(100%, 40px)
|
|
border-bottom 1 solid rgba(8,205,248,0.3)
|
|
li
|
|
float left
|
|
width 12.5%
|
|
_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(12.5%, 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
|
|
</style>
|