237 lines
5.8 KiB
Vue
237 lines
5.8 KiB
Vue
<template>
|
||
<div class="main-container main-container_l">
|
||
<div class="con1">
|
||
<div class="tip" v-if="dataInfo.error_name">{{dataInfo.error_name}}</div>
|
||
</div>
|
||
<div class="con2">
|
||
<div class="rt">
|
||
<div class="rttxt">{{ $t('homeinfo.topinfo') }}</div>
|
||
</div>
|
||
<div class="rc">
|
||
<div class="infoli01">
|
||
<span class="title">{{ $t('homeinfo.deviceinfo') }}</span>
|
||
<span class="txt01">{{dataInfo.device_info}}</span>
|
||
<div class="line"></div>
|
||
</div>
|
||
<div class="infoli01">
|
||
<span class="title">{{ $t('homeinfo.task') }}</span>
|
||
<span class="txt01">{{dataInfo.task_name}}</span>
|
||
<span class="txt01">{{dataInfo.task_info}}</span>
|
||
<div class="line"></div>
|
||
</div>
|
||
<div class="infoli">
|
||
<span class="title">{{ $t('homeinfo.status') }}</span>
|
||
<span class="txt">{{dataInfo.task_status}}</span>
|
||
<div class="line"></div>
|
||
</div>
|
||
<div class="infoli">
|
||
<span class="title">{{ $t('homeinfo.tasknum') }}</span>
|
||
<span class="txt">{{dataInfo.task_num}}</span>
|
||
<div class="line"></div>
|
||
</div>
|
||
<div class="infoli infoli3">
|
||
<span class="title">{{ $t('homeinfo.speed') }}</span>
|
||
<span class="txt">{{dataInfo.speed}}</span>
|
||
<div class="speed-bg"></div>
|
||
<div class="line" style="top: 110px"></div>
|
||
</div>
|
||
<div class="infoli infoli3">
|
||
<span class="title">{{ $t('homeinfo.error') }}</span>
|
||
<span class="txt txt2">{{dataInfo.error_name}}</span>
|
||
</div>
|
||
<button class="btn" v-if="dataInfo.button_name" @click="clickSave">{{dataInfo.button_name}}</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import {queryHomePage, clickSave} from '@/config/getData.js'
|
||
import NavBar from '@components/NavBar.vue'
|
||
export default {
|
||
name: 'Home',
|
||
components: {
|
||
NavBar
|
||
},
|
||
data () {
|
||
return {
|
||
interTime: this.$store.getters.setTime,
|
||
timer: null,
|
||
// dataInfo: {}
|
||
// dataInfo: {
|
||
// device_info: 'NobleLiftPS10LMT_HuaHai',
|
||
// task_name: '无',
|
||
// task_status: '有任务未执行',
|
||
// task_num: '待执行',
|
||
// speed: '0.0m/s',
|
||
// error_name: '障碍物告警',
|
||
// button_name: '继续搬运'
|
||
// }
|
||
dataInfo: {
|
||
device_info: 'NobleLiftPS10LMT_HuaHai',
|
||
task_name: '任务号:11322',
|
||
task_info: '目标点:5',
|
||
task_status: '执行中',
|
||
task_num: '待执行0/2',
|
||
speed: '0.0m/s',
|
||
error_name: '正常运行',
|
||
button_name: '确认完成继续下个任务'
|
||
}
|
||
}
|
||
},
|
||
created () {
|
||
this.initData()
|
||
this.refresh()
|
||
},
|
||
beforeDestroy () {
|
||
clearInterval(this.timer)
|
||
},
|
||
methods: {
|
||
refresh () {
|
||
this.timer = setInterval(() => {
|
||
this.initData()
|
||
}, this.interTime)
|
||
},
|
||
async initData () {
|
||
let res = await queryHomePage()
|
||
if (res.code === '1') {
|
||
this.dataInfo = res.result
|
||
} else {
|
||
this.toast(res.desc)
|
||
}
|
||
},
|
||
async clickSave () {
|
||
if (!this.dataInfo.button_name) {
|
||
return
|
||
}
|
||
let res = await clickSave(this.dataInfo.button_code)
|
||
if (res.code === '1') {
|
||
this.toast(res.desc)
|
||
this.initData()
|
||
} else {
|
||
this.toast(res.desc)
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="stylus" scoped>
|
||
@import '~@style/mixin'
|
||
.main-container_l
|
||
width 100%
|
||
padding-left 53px
|
||
.con1
|
||
float left
|
||
position relative
|
||
width 811px
|
||
height 776px
|
||
// background center / 100% 100% url(../../../images/aio/car2.png) no-repeat
|
||
background center / 100% 100% url(../../../images/new/car-home.png) no-repeat
|
||
// background center / 100% 100% url(../../../images/aio/AGV223.gif) no-repeat
|
||
margin-right 235px
|
||
.tip
|
||
width 542px
|
||
height 120px
|
||
line-height 120px
|
||
color #FF907F
|
||
font-style italic
|
||
font-size 36px
|
||
text-align center
|
||
margin-top 153px
|
||
margin-left 63px
|
||
background center / 100% 100% url(../../../images/new/bg-home-tip.png) no-repeat
|
||
.con2
|
||
float left
|
||
.btn
|
||
width 410px
|
||
height 91px
|
||
background center / 100% 100% url(../../../images/new/button.png) no-repeat
|
||
margin-left 127px
|
||
position relative
|
||
top -30px
|
||
color #f6f9fe
|
||
font-size 32px
|
||
.rt
|
||
width 646px
|
||
height 102px
|
||
font-size 36px
|
||
font-style italic
|
||
color #F6F9FE
|
||
background center / 100% 100% url(../../../images/new/bg-home-r1.png) no-repeat
|
||
.rttxt
|
||
margin-left 31px
|
||
padding-top 40px
|
||
.rc
|
||
width 652px
|
||
height 697px
|
||
font-size 36px
|
||
color #B4C1D8
|
||
background center / 100% 100% url(../../../images/new/bg-home-r2.png) no-repeat
|
||
position relative
|
||
top -10px
|
||
.infoli01
|
||
width 542px
|
||
height 140px
|
||
margin 0 auto
|
||
padding-top 45px
|
||
.title
|
||
float left
|
||
display inline-block
|
||
color #f6f9fe
|
||
width 30%
|
||
.txt01
|
||
float left
|
||
display inline-block
|
||
color #3CC1FF
|
||
margin-left 34px
|
||
width 330px
|
||
line-height 36px
|
||
word-wrap break-word
|
||
font-size 30px
|
||
.infoli
|
||
width 542px
|
||
line-height 94px
|
||
height 94px
|
||
margin 0 auto
|
||
.title
|
||
float left
|
||
display inline-block
|
||
color #f6f9fe
|
||
width 30%
|
||
.txt
|
||
float left
|
||
display inline-block
|
||
color #3CC1FF
|
||
margin-left 34px
|
||
font-size 30px
|
||
.infoli3
|
||
line-height 94px
|
||
height 124px
|
||
.title
|
||
float left
|
||
display inline-block
|
||
color #f6f9fe
|
||
width 30%
|
||
.txt
|
||
float left
|
||
display inline-block
|
||
color #3CC1FF
|
||
margin-left 34px
|
||
font-size 30px
|
||
.speed-bg
|
||
width 513px
|
||
height 12px
|
||
background center / 100% 100% url(../../../images/new/bg-home-r3.png) no-repeat
|
||
position relative
|
||
top 95px
|
||
.line
|
||
width 543px
|
||
height 1px
|
||
background center / 100% 100% url(../../../images/new/bg-home-r4.png) no-repeat
|
||
position relative
|
||
top 92px
|
||
.txt2
|
||
color #E54F29 !important
|
||
</style>
|