bonus-ui/src/views/screen/cityScreen/index.vue

136 lines
3.2 KiB
Vue
Raw Normal View History

2025-09-14 15:07:01 +08:00
<template>
2025-10-29 16:56:49 +08:00
<!-- 城市大屏 -->
<div class="city-screen-container" id="cityScreenContainer">
<div class="left_view">
<!-- <TopIcons /> -->
<div class="left_1">
<TopIcons />
2025-09-14 15:07:01 +08:00
</div>
2025-10-29 16:56:49 +08:00
<div class="left_2">
<EquQuantity style="width: 50%" />
<EquStatus style="width: 50%" />
2025-09-15 23:45:56 +08:00
</div>
2025-10-29 16:56:49 +08:00
<div class="left_3">
<Maintenance style="width: 50%" />
<Retire style="width: 50%" />
</div>
</div>
<div class="center_view">
<CountryMap />
</div>
<div class="right_view">
<div class="right_1">
<TopIconsTwo />
</div>
<div class="right_2">
<EquUse style="width: 50%" />
<EquTurnover style="width: 50%" />
</div>
<div class="right_3">
<EngineerUsing />
2025-09-14 15:07:01 +08:00
</div>
</div>
</div>
</template>
2025-10-29 16:56:49 +08:00
<script>
import CountryMap from './components/countryMap/index.vue'
import TopIcons from './components/topIcons/index.vue'
import EquQuantity from './components/equQuantity/index.vue'
import EquStatus from './components/equStatus/index.vue'
import Maintenance from './components/maintenance/index.vue'
import Retire from './components/retire/index.vue'
import TopIconsTwo from './components/topIconsTwo/index.vue'
import EquUse from './components/equUse/index.vue'
import EquTurnover from './components/equTurnover/index.vue'
import EngineerUsing from './components/engineerUsing/index.vue'
import autofit from 'autofit.js'
2025-09-14 15:07:01 +08:00
export default {
2025-09-14 19:34:02 +08:00
name: 'cityScreen',
2025-10-29 16:56:49 +08:00
// mixins: [drawMixin],
2025-09-14 19:34:02 +08:00
components: {
2025-10-29 16:56:49 +08:00
TopIcons,
EquQuantity,
EquStatus,
Maintenance,
Retire,
CountryMap,
TopIconsTwo,
EquUse,
EquTurnover,
EngineerUsing,
2025-09-14 19:34:02 +08:00
},
2025-09-14 15:07:01 +08:00
data() {
2025-10-29 16:56:49 +08:00
return {}
2025-09-14 15:07:01 +08:00
},
2025-10-29 16:56:49 +08:00
created() {},
2025-09-14 19:34:02 +08:00
mounted() {
2025-10-29 16:56:49 +08:00
autofit.init({
designHeight: 1080,
designWidth: 1920,
renderDom: '#cityScreenContainer',
resize: true,
})
2025-09-14 15:07:01 +08:00
},
2025-10-29 16:56:49 +08:00
methods: {},
2025-09-14 15:07:01 +08:00
}
</script>
<style lang="scss" scoped>
2025-10-29 16:56:49 +08:00
.city-screen-container {
width: 100%;
height: 100%;
font-size: 16px;
2025-10-29 17:21:49 +08:00
padding: 60px 1% 6px;
2025-10-29 16:56:49 +08:00
display: grid;
grid-template-rows: 100%;
grid-template-columns: 34% 32% 34%;
background: url('../../../assets/images/cityScreen/bg.jpg') no-repeat center center;
2025-09-14 19:34:02 +08:00
background-size: 100% 100%;
}
2025-10-29 16:56:49 +08:00
.left_view {
display: grid;
gap: 6px;
grid-template-rows: repeat(16, 1fr);
2025-09-14 19:34:02 +08:00
}
2025-10-29 16:56:49 +08:00
.right_view {
display: grid;
gap: 6px;
grid-template-rows: repeat(16, 1fr);
2025-09-14 19:34:02 +08:00
}
2025-10-29 16:56:49 +08:00
.left_1 {
grid-row: 1 / 4;
grid-column: 1 / 2;
2025-09-14 19:34:02 +08:00
}
2025-10-29 16:56:49 +08:00
.left_2 {
grid-row: 4 / 10;
grid-column: 1 / 2;
display: flex;
gap: 6px;
// background-color: skyblue;
2025-09-15 17:50:00 +08:00
}
2025-10-29 16:56:49 +08:00
.left_3 {
grid-row: 10 / 17;
grid-column: 1 / 2;
display: flex;
gap: 6px;
// background-color: pink;
2025-09-15 17:50:00 +08:00
}
2025-09-14 19:34:02 +08:00
2025-10-29 16:56:49 +08:00
.right_1 {
grid-row: 1 / 4;
}
.right_2 {
grid-row: 4 / 10;
display: flex;
gap: 6px;
}
.right_3 {
grid-row: 10 / 17;
display: flex;
gap: 6px;
}
2025-09-14 15:07:01 +08:00
</style>