191 lines
4.9 KiB
Vue
191 lines
4.9 KiB
Vue
<template>
|
||
<div v-if="pkId === data.equipment" class="popup_wraper" :class="{'popup_wraper_down': direction === 'down'}">
|
||
<div class="popup_arrow" :class="{'popup_arrow_down': direction === 'down'}">
|
||
<img src="../../../images/device/arrow.png">
|
||
</div>
|
||
<div class="popup_bg">
|
||
<div class="popup_block">
|
||
<div v-show="data.hasOwnProperty('equipmentName') === true || data.hasOwnProperty('statusChinese') === true" class="pop_header">
|
||
<div v-show="data.hasOwnProperty('equipmentName') === true" class="pop_name">{{data.equipmentName}}</div>
|
||
<div v-show="data.hasOwnProperty('statusChinese') === true" class="pop_status">
|
||
<div class="pop_status_dot" :class="['green', 'yellow', 'gray', 'red'][Number(data.status) - 1]"></div>
|
||
<div class="pop_status_text fgray">{{ data.statusChinese }}</div>
|
||
</div>
|
||
</div>
|
||
<div class="pop_content">
|
||
<div class="popup_item" v-for="e in data.data" :key="e.key">
|
||
<div class="popup_label">{{ e.key }}</div>
|
||
<div class="popup_val">{{ e.value }}</div>
|
||
</div>
|
||
<div v-if="data.hasOwnProperty('table') === true" class="popup_table_wrap">
|
||
<table v-if="data.table.length > 0" class="popup_table">
|
||
<tr>
|
||
<th width="40%">本日生产</th>
|
||
<th width="30%">客户</th>
|
||
<th width="30%" v-if="type === 'hlj'">已生产(千克)</th>
|
||
<th width="30%" v-else>已生产(块)</th>
|
||
</tr>
|
||
<tr v-for="(e, i) in data.table" :key="i">
|
||
<td width="40%">{{ e.material_name }}</td>
|
||
<td width="30%">{{ e.kh }}</td>
|
||
<td width="30%" v-if="type === 'hlj'">{{ e.weight }}</td>
|
||
<td width="30%" v-else>{{ e.qty }}</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- <div class="iconfont icon-guanbi close_btn" @click="closePop"></div> -->
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
name: 'devicepop',
|
||
props: {
|
||
type: String,
|
||
pkId: String,
|
||
data: Object,
|
||
direction: String
|
||
},
|
||
methods: {
|
||
closePop () {
|
||
this.$emit('closePop')
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="stylus" scoped>
|
||
@import '~@style/mixin'
|
||
.popup_wraper
|
||
position absolute
|
||
left 50%
|
||
transform translateX(-50%) translateY(calc(-100% - 13px))
|
||
top 0
|
||
z-index 100
|
||
padding 20px 0 30px 0
|
||
background top center / 100% 100% url(../../../images/popup_bg.png) no-repeat
|
||
_wh(530px, auto)
|
||
.popup_wraper_down
|
||
top auto
|
||
bottom 0
|
||
transform translateX(-50%) translateY(calc(100% + 13px))
|
||
.popup_arrow
|
||
position absolute
|
||
_wh(22px, 23px)
|
||
left calc(50% - 11px)
|
||
bottom -23px
|
||
// animation todown 1.5s ease-in-out infinite
|
||
img
|
||
_wh(100%, 100%)
|
||
.popup_arrow_down
|
||
bottom auto
|
||
top -23px
|
||
// animation toUp 1.5s ease-in-out infinite
|
||
img
|
||
transform rotateZ(180deg)
|
||
.popup_bg
|
||
_wh(100%, auto)
|
||
background none
|
||
overflow hidden
|
||
.popup_block
|
||
_wh(100%,100%)
|
||
padding 0
|
||
.pop_header
|
||
_wh(calc(100% - 28px), 43px)
|
||
padding 15px 5px 0 5px
|
||
margin 0 14px
|
||
_fj(flex-end)
|
||
background top center / 100% 18px url(../../../images/popup_line.png) no-repeat
|
||
.pop_name
|
||
width 50%
|
||
_font(14px,28px,#32C5FF,,left)
|
||
text-shadow 2px 2px 4px #A6E6FF
|
||
margin-bottom 8px
|
||
.pop_status
|
||
_wh(50%, 28px)
|
||
_fj(flex-end)
|
||
.pop_status_dot
|
||
_wh(15px, 15px)
|
||
border-radius 50%
|
||
margin-right 10px
|
||
.pop_status_text
|
||
_font(16px, 28px, #fff,,)
|
||
.pop_content
|
||
_wh(calc(100% - 14px), auto)
|
||
padding 0 5px
|
||
margin 0 7px
|
||
overflow-y auto
|
||
_fj(flex-start)
|
||
align-content flex-start
|
||
flex-wrap wrap
|
||
.popup_item
|
||
_wh(calc(50% - 14px), 36px)
|
||
_fj(row,flex-start)
|
||
background-color rgba(50,197,255,50%)
|
||
border-left 3px solid #fdfd0f
|
||
margin 0 7px 5px 7px
|
||
padding 0 5px 0 5px
|
||
.popup_label
|
||
width 80px
|
||
_font(12px, 36px, #fff,,left)
|
||
.popup_val
|
||
_wh(calc(100% - 80px), 100%)
|
||
_font(12px, 15px, #0ff,,left)
|
||
word-break break-all
|
||
_fj(center)
|
||
span
|
||
font-size 13px
|
||
color #fff
|
||
.icon-guanbi
|
||
position absolute
|
||
top -30px
|
||
right -30px
|
||
_wh(30px, 30px)
|
||
_font(18px, 30px, #fff,,center)
|
||
border 1px solid #fff
|
||
border-radius 50%
|
||
background transparent
|
||
@keyframes todown {
|
||
0% {
|
||
transform: translateY(0)
|
||
}
|
||
100% {
|
||
transform: translateY(60px)
|
||
}
|
||
}
|
||
@keyframes toUp {
|
||
0% {
|
||
transform: translateY(0)
|
||
}
|
||
100% {
|
||
transform: translateY(-60px)
|
||
}
|
||
}
|
||
.popup_table_wrap
|
||
width 100%
|
||
max-height 132px
|
||
.popup_table
|
||
width calc(100% - 14px)
|
||
height auto
|
||
margin 0 7px
|
||
tr
|
||
th
|
||
_font(12px, 24px, #0ff,,left)
|
||
background-color #262f52
|
||
padding 0 10px
|
||
td
|
||
_font(13px, 18px, #fff,,left)
|
||
min-height 24px
|
||
padding 0 10px
|
||
vertical-align middle
|
||
&:nth-child(2n)
|
||
td
|
||
background rgba(38,47,82,0.50)
|
||
&:nth-child(2n+1)
|
||
td
|
||
background rgba(38,47,82,0.80)
|
||
</style>
|