Files
screen-lnsh/src/pages/modules/takeshape/two.vue
2023-06-21 14:15:19 +08:00

349 lines
14 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="n_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 class="scroll_wrap">
<ul class="scroll_tab_1">
<li>任务号</li>
<li>设备</li>
<li>BOM号</li>
<li>生产物料</li>
<li>计划量()</li>
<li>已生产()</li>
<li>碾次</li>
<li>生产状态</li>
<li>开始时间</li>
<li>结束时间</li>
</ul>
<div class="scroll_container_1">
<vue-seamless-scroll :data="MoldingDayList" :class-option="defaultOption1">
<ul class="scroll-ul_1">
<li v-for="(e, i) in MoldingDayList" :key="i">
<div class="scroll-ul_1_div">{{e.workorder_code}}</div>
<div class="scroll-ul_1_div">{{e.device_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.plan_qty }}</div>
<div class="scroll-ul_1_div">{{ e.real_qty }}</div>
<div class="scroll-ul_1_div">{{ e.total_mix_frequency }}</div>
<div class="scroll-ul_1_div">{{ e.order_status_name }}</div>
<div class="scroll-ul_1_div">{{ e.realproducestart_date }}</div>
<div class="scroll-ul_1_div">{{ e.realproduceend_date }}</div>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
</div>
</div>
</div>
<div class="n_content n_bottom_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 class="scroll_wrap">
<ul class="scroll_tab_1 scroll_tab_2">
<li>货位</li>
<li>物料编码</li>
<li>数量</li>
<li>载具号</li>
<li>碾次</li>
<li>入库时间</li>
</ul>
<div class="scroll_container_1 scroll_container_2">
<vue-seamless-scroll :data="SemiFinishedProductShelList" :class-option="defaultOption2">
<ul class="scroll-ul_1 scroll-ul_2">
<li v-for="(e, i) in SemiFinishedProductShelList" :key="i">
<div class="scroll-ul_1_div">{{e.point_name}}</div>
<div class="scroll-ul_1_div">{{e.material_code}}</div>
<div class="scroll-ul_1_div">{{e.qty}}</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.create_time }}</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 scroll_tab_3">
<li>类别</li>
<li>物料编码</li>
<li>数量</li>
<li>载具号</li>
<li>碾次</li>
<li>货位</li>
<li>出入时间</li>
</ul>
<div class="scroll_container_1 scroll_container_3">
<vue-seamless-scroll :data="MoldingIOStoringList" :class-option="defaultOption3">
<ul class="scroll-ul_1 scroll-ul_3">
<li v-for="(e, i) in MoldingIOStoringList" :key="i">
<div class="scroll-ul_1_div">{{e.io_type}}</div>
<div class="scroll-ul_1_div">{{e.material_code}}</div>
<div class="scroll-ul_1_div">{{e.qty}}</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">{{ e.create_time }}</div>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tooltip_wrap right_tooltip_wrap" :style="expand ? 'opacity: 1' : 'opacity: 0.1'">
<div class="tooltip_pages" :style="expand ? 'width: 300px' : 'width: 0'">
<router-link to="/setup" class="tooltip_page">配置</router-link>
<router-link to="/homepagetwo" class="tooltip_page">1</router-link>
<router-link to="/hnlktwo" class="tooltip_page">2</router-link>
<div class="tooltip_page current_page pointer">3</div>
<router-link to="/firedrytwo" class="tooltip_page">4</router-link>
<router-link to="/sortpacktwo" class="tooltip_page">5</router-link>
<router-link to="/pdtwo" class="tooltip_page">6</router-link>
</div>
<div class="tooltip_arrow pointer" @click="expandTooltip" v-text="expand ? '&lt;&lt;' : '&gt;&gt;'"></div>
</div>
<div class="style_block" style="left: calc(100% / 3);top:0;"></div>
<div class="style_block" style="background: green;left: calc(100% / 3);top:calc(100% / 3);"></div>
<div class="style_block" style="left: calc(100% / 3);bottom: 0"></div>
<div class="style_block" style="background: green;left: calc(200% / 3);top:0;"></div>
<div class="style_block" style="left: calc(200% / 3);top:calc(100% / 3);"></div>
<div class="style_block" style="background: blue;left: calc(200% / 3);bottom: 0"></div>
<div class="style_block" style="background: green;left: 0;top:0;"></div>
<div class="style_block" style="left: 0;top:calc(100% / 3);"></div>
<div class="style_block" style="background: green;left: 0;bottom: 0"></div>
</div>
</template>
<script>
import { moldingTableDate } from '@js/getData2'
export default {
data () {
return {
interTime: this.$store.getters.setTime,
timer: null,
expand: false,
MoldingIOStoringList: [],
SemiFinishedProductShelList: [],
MoldingDayList: []
}
},
computed: {
defaultOption1 () {
return {
step: 0.4, // 数值越大速度滚动越快
limitMoveNum: 9, // 开始无缝滚动的数据量 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: 8, // 开始无缝滚动的数据量 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)
}
},
defaultOption3 () {
return {
step: 0.4, // 数值越大速度滚动越快
limitMoveNum: 8, // 开始无缝滚动的数据量 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._moldingTableDate()
// this.refresh()
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
refresh () {
this.timer = setInterval(() => {
this._moldingTableDate()
}, this.interTime)
},
async _moldingTableDate () {
let res = await moldingTableDate()
if (res.code === 200) {
this.MoldingIOStoringList = [...res.result.MoldingIOStoringList]
this.SemiFinishedProductShelList = [...res.result.SemiFinishedProductShelList]
this.MoldingDayList = [...res.result.MoldingDayList]
}
},
expandTooltip () {
this.expand = !this.expand
}
}
}
</script>
<style lang="stylus" scoped>
@import '~@css/mixin'
.n_container
position relative
_wh(100%, 100%)
overflow hidden
.n_header
position relative
z-index 0
_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
position relative
z-index 8
_wh(100%, 92%)
padding 10px 50px 20px 40px
_bis('../../../images/bg_content_r.jpg')
.n_body_container_wraper
_wh(100%, 100%)
.n_content
_wh(100%, 49.75%)
&:nth-child(2)
margin-top .5%
.n_bottom_content
_fj(row)
.item_wrap
width calc(50% - 8px)
&:nth-child(2)
margin-left 16px
.item_tip_bg_s
_bis('../../../images/bg_title_s.png')
.item_wrap
_wh(100%, 100%)
.item_tip
_wh(100%, 32px)
line-height 32px
padding 0 10px
.item_tip_bg_s
_bis('../../../images/bg_title_j.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 0
.scroll_wrap
_wh(100%, 100%)
padding 0 5px
border 1px solid rgba(8,205,248,0.3)
.scroll_tab_1
_wh(100%, 40px)
border-bottom 1px solid rgba(8,205,248,0.3)
li
float left
width 10%
_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
&:nth-child(7)
width 6%
&:nth-child(9),&:nth-child(10)
width 12%
.scroll_tab_2 li
width 16%
&:nth-child(6)
width 20%
.scroll_tab_3 li
width 14%
&:nth-child(3)
width 11%
&:nth-child(7)
width 19%
.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(10%, 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
&:nth-child(7)
width 6%
&:nth-child(9),&:nth-child(10)
width 12%
.scroll-ul_2 li .scroll-ul_1_div
width 16%
&:nth-child(6)
width 20%
.scroll-ul_3 li .scroll-ul_1_div
width 14%
&:nth-child(3)
width 11%
&:nth-child(7)
width 19%
</style>