智能货架大屏更新

This commit is contained in:
hzz 2023-08-01 17:34:08 +08:00
parent 025e2bbcee
commit 44fa4b00fe
2 changed files with 48 additions and 18 deletions

View File

@ -2,32 +2,32 @@
<div class="" :style="{width:config.width+'px',height:config.height+'px'}"> <div class="" :style="{width:config.width+'px',height:config.height+'px'}">
<Border15> <Border15>
<template #title> <template #title>
<text class="title">T-02M0</text> <text class="title">{{ data.name }}</text>
</template> </template>
<div class="body"> <div class="body">
<div class="top"> <div class="top">
<div>货架利用率 <text>50%</text></div> <div>货架利用率 <text>{{ data.rate }}</text></div>
<div>传感器&集成器状态</div> <div>传感器&集成器状态</div>
</div> </div>
<div class="center"> <div class="center">
<div class="center-l"> <div class="center-l">
<div class="clt">100</div> <div class="clt">{{ data.num }}</div>
<div class="clb">200</div> <div class="clb">{{ data.total }}</div>
</div> </div>
<div class="center-r"> <div class="center-r">
<div> <div>
<img src="../../../assets/img/sensor_y.svg" alt=""> <img :src="sensor" alt="传感器">
</div> </div>
<div> <div>
<img src="../../../assets/img/integrator.svg" alt=""> <img :src="integrator" alt="集成器">
</div> </div>
</div> </div>
</div> </div>
<div class="bottom"> <div class="bottom">
<div class="box" v-for="i in 6">1-{{ i }}</div> <div class="box" v-for="i in emptyList">{{ i }}</div>
<div class="kong">空位12</div> <div class="kong" v-show="data.emptyList.length > 6">空位 {{ data.emptyList.length }}</div>
<div class="tip"><Tip></Tip> </div> <div class="tip" v-show="data.tip"><Tip></Tip> </div>
</div> </div>
</div> </div>
</Border15> </Border15>
@ -36,23 +36,53 @@
<script setup lang='ts'> <script setup lang='ts'>
import Border15 from "@/components/borderBox/border15.vue" import Border15 from "@/components/borderBox/border15.vue"
import Tip from "./Tip.vue" import Tip from "./Tip.vue";
defineProps({ import { computed } from "vue";
let prop = defineProps({
config: { config: {
type: Object, type: Object,
default: () => { default: () => {
return { return {
width: 421, width: 421,
height: 218, height: 218
data:{ }
}
},
data: {
type: Object,
default: () => {
return {
name:"T-02M0", name:"T-02M0",
rate:50, rate:50,
num:0,
} total:0,
sensor:true,
integrator:true,
emptyList:['1-1','1-2','1-3','1-4','1-5','1-6','1-7'],
tip:false
} }
} }
} }
}) })
let img = {
sensor:require("@/assets/img/sensor.svg"),
sensor_y:require("@/assets/img/sensor_y.svg"),
integrator:require("@/assets/img/integrator.svg"),
integrator_y:require("@/assets/img/integrator_y.svg"),
}
let sensor = computed(()=>{
return prop.data.sensor?img.sensor:img.sensor_y;
})
let integrator = computed(()=>{
return prop.data.integrator?img.integrator:img.integrator_y
})
let emptyList = computed(()=>{
return prop.data.emptyList.slice(0,6)
})
</script> </script>
<style scoped> <style scoped>

View File

@ -46,7 +46,7 @@ let { t } = useI18n();
let panelConfig = ref({ let panelConfig = ref({
width:434, width:434,
height:244 height:244,
}) })
let centerConfig = ref({ let centerConfig = ref({
width:803, width:803,