This commit is contained in:
2023-06-26 14:35:27 +08:00
parent b8796c15a2
commit b31766ce4c
8 changed files with 3111 additions and 3488 deletions

File diff suppressed because one or more lines are too long

View File

@@ -195,6 +195,8 @@ export default {
name: 'one',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
top: '',
left: '',
@@ -210,8 +212,17 @@ export default {
},
mounted () {
this.initData()
this.refresh()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},

View File

@@ -120,6 +120,8 @@ export default {
name: 'one',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
resData: {},
myCharts1: '',
@@ -156,8 +158,17 @@ export default {
},
mounted () {
this.initData()
this.refresh()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},

View File

@@ -231,6 +231,8 @@ export default {
name: 'one',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
top: '',
left: '',
@@ -264,8 +266,17 @@ export default {
},
mounted () {
this.initData()
this.refresh()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},

View File

@@ -1,443 +0,0 @@
<template>
<div @click.stop="closeModal" 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 TrappedShelf40List.slice(0, 20)" :key="i" class="picbox" :class="{'mgt5': i === 2 || i === 6 || i === 10 || i === 14 || i === 18}" @click.stop="getInfo(e)">
<!-- <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 :class="e.point_status === '0' ? 'hidden': ''" src="../../../images/workshop/lz.png" alt=""> -->
<img v-show="String(e.stand_status) === ''" src="../../../images/workshop/hj.png" alt="">
<img v-show="String(e.stand_status) === '2'" src="../../../images/workshop/lz_hj_green.png" alt="">
<img v-show="String(e.stand_status) === '5'" src="../../../images/workshop/lz_hj_red.png" alt="">
<img v-show="String(e.stand_status) === '3' || String(e.stand_status) === '4'" src="../../../images/workshop/lz_hj_yellow.png" alt="">
<div v-if="pkId === e.point_code" class="popup_block_wraper" :style="{'top': top, 'left': left}">
<div class="foldline foldline_left" :class="foldlineStyle"></div>
<div class="popup_bg">
<div class="popup_block">
<div class="pop_header">
<div class="pop_name">{{pkObj.point_code}}</div>
<div class="pop_status">
<!-- <div class="pop_status_dot" :class="['green', 'yellow', 'red'][Number(pkObj.stand_status) - 2]"></div> -->
<div class="pop_status_dot" :class="{green:pkObj.status ==='2',red:pkObj.status ==='5',yellow:(pkObj.status ==='3' || pkObj.status ==='4')}"></div>
<div class="pop_status_text fgray">{{pkObj.stand_status_name}}</div>
</div>
</div>
<div class="pop_content">
<div class="pop_item">
<div class="pop_label">状态</div>
<div class="pop_val">{{pkObj.point_status_name}}</div>
</div>
<div class="pop_item">
<div class="pop_label">载具</div>
<div class="pop_val pop_val_s">{{ pkObj.vehicle_code }}</div>
</div>
<div class="pop_item">
<div class="pop_label">BOM号</div>
<div class="pop_val pop_val_s">{{ pkObj.bom }}</div>
</div>
<div class="pop_item">
<div class="pop_label">碾次</div>
<div class="pop_val pop_val_s">{{ pkObj.mix_num }}</div>
</div>
<div class="pop_item">
<div class="pop_label">重量(kg)</div>
<div class="pop_val pop_val_s">{{ pkObj.weight }}</div>
<div class="pop_unit">kg</div>
</div>
<div class="pop_item">
<div class="pop_label">入库时间</div>
<div class="pop_val pop_val_s">{{ pkObj.instorage_time }}</div>
</div>
<div class="pop_item">
<div class="pop_label">静置(h)</div>
<div class="pop_val pop_val_s">{{ pkObj.standing_time }}</div>
<div class="pop_unit">h</div>
</div>
</div>
</div>
</div>
<div class="iconfont icon-guanbi close_btn" @click.stop="closeModal"></div>
</div>
</div>
</div>
<div class="box_l2">
<div v-for="(e,i) in TrappedShelf40List.slice(20, 40)" :key="i" class="picbox" :class="{'mgt5': i === 2 || i === 6 || i === 10 || i === 14 || i === 18}">
<!-- <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 :class="e.point_status === '0' ? 'hidden': ''" src="../../../images/workshop/lz.png" alt=""> -->
<img v-show="String(e.stand_status) === ''" src="../../../images/workshop/hj.png" alt="">
<img v-show="String(e.stand_status) === '2'" src="../../../images/workshop/lz_hj_green.png" alt="">
<img v-show="String(e.stand_status) === '5'" src="../../../images/workshop/lz_hj_red.png" alt="">
<img v-show="String(e.stand_status) === '3' || String(e.stand_status) === '4'" src="../../../images/workshop/lz_hj_yellow.png" alt="">
</div>
</div>
<div class="box_r1">
<div v-for="(e,i) in TrappedShelf6List.slice(0, 3)" :key="i" class="picbox">
<!-- <div v-for="(e,i) in [1,2,3]" :key="i" class="picbox"> -->
<!-- <img :class="e.point_status === '0' ? 'hidden': ''" src="../../../images/workshop/lz.png" alt=""> -->
<img v-show="String(e.stand_status) === ''" src="../../../images/workshop/hj.png" alt="">
<img v-show="String(e.stand_status) === '2'" src="../../../images/workshop/lz_hj_green.png" alt="">
<img v-show="String(e.stand_status) === '5'" src="../../../images/workshop/lz_hj_red.png" alt="">
<img v-show="String(e.stand_status) === '3' || String(e.stand_status) === '4'" src="../../../images/workshop/lz_hj_yellow.png" alt="">
</div>
</div>
<div class="box_r2">
<div v-for="(e,i) in TrappedShelf6List.slice(3, 6)" :key="i" class="picbox">
<!-- <div v-for="(e,i) in [1,2,3]" :key="i" class="picbox"> -->
<!-- <img :class="e.point_status === '0' ? 'hidden': ''" src="../../../images/workshop/lz.png" alt=""> -->
<img v-show="String(e.stand_status) === ''" src="../../../images/workshop/hj.png" alt="">
<img v-show="String(e.stand_status) === '2'" src="../../../images/workshop/lz_hj_green.png" alt="">
<img v-show="String(e.stand_status) === '5'" src="../../../images/workshop/lz_hj_red.png" alt="">
<img v-show="String(e.stand_status) === '3' || String(e.stand_status) === '4'" src="../../../images/workshop/lz_hj_yellow.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 {
top: '',
left: '',
foldlineStyle: '',
pkId: '',
pkObj: {
aaa: 'aaa',
num: '3'
},
resData: {},
TrappedShelf40List: [],
TrappedShelf6List: [],
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: {
getInfo (e) {
this.pkId = e.point_code
this.pkObj = e
},
closeModal () {
this.pkId = ''
this.pkObj = {}
},
async initData () {
let res = await trappedMaterialCondition()
this.resData = res.result
this.TrappedShelf40List = res.result.TrappedShelf40List
this.TrappedShelf6List = res.result.TrappedShelf6List
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
position relative
width 100%
margin-bottom 1%
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 1%
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 55%
.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 1px 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 1px 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
.popup_block_wraper
position absolute
top: -706%;
left: -287%;
z-index 10
transform rotate(-90deg)
</style>

View File

@@ -365,6 +365,8 @@ export default {
name: 'one',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
top: '',
left: '',
@@ -412,8 +414,17 @@ export default {
},
mounted () {
this.initData()
this.refresh()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},

View File

@@ -122,6 +122,8 @@ export default {
name: 'one',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
num1: 0,
num2: 0,
@@ -143,6 +145,7 @@ export default {
},
mounted () {
this.initData()
this.refresh()
// this.setEchart01()
// this.setEchart02()
// this.setEchart03()
@@ -150,7 +153,15 @@ export default {
// this.setEchart05()
// this.setEchart06()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},

View File

@@ -126,6 +126,8 @@ export default {
name: 'two',
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
num1: 0,
num2: 0,
@@ -150,6 +152,7 @@ export default {
},
mounted () {
this.initData()
this.refresh()
// this.setEchart01()
// this.setEchart02()
// this.setEchart03()
@@ -157,7 +160,15 @@ export default {
// this.setEchart05()
// this.setEchart06()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this.initData()
}, this.interTime)
},
expandTooltip () {
this.expand = !this.expand
},