You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
4.8 KiB

<template>
<div id="index" ref="appRef">
<div class="bg">
<dv-loading v-if="loading">Loading...</dv-loading>
<div v-else class="host-body">
<div class="d-flex jc-center">
<dv-decoration-10 class="dv-dec-10" />
<div class="d-flex jc-center">
<dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
<div class="title">
<span class="title-text fw-b">{{title}}</span>
<dv-decoration-6
class="dv-dec-6"
:reverse="true"
:color="['#50e3c2', '#67a1e5']"
/>
</div>
<dv-decoration-8
class="dv-dec-8"
:reverse="true"
:color="decorationColor"
/>
</div>
<dv-decoration-10 class="dv-dec-10-s" />
</div>
<!-- 第二行 -->
<div class="d-flex jc-between px-2">
<div class="d-flex aside-width">
<div class="ml-4 react-l-s mr-4">
<dv-border-box-8>
<backBtn></backBtn>
</dv-border-box-8>
</div>
<div class="ml-4 react-l-s react-left" style="width: 300px;">
<span class="react-left"></span>
<span class="text"></span>
</div>
<div class="react-left bg-color-blue ml-3">
<span class="text"></span>
</div>
</div>
<div class="d-flex aside-width">
<div class="react-right bg-color-blue mr-3">
<span class="text fw-b">
<i class="el-icon-date"></i>
&nbsp;日期
</span>
</div>
<div class="react-right mr-4 react-l-s">
<span class="react-after"></span>
<span class="text"
>{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span
>
</div>
</div>
</div>
<div class="body-box">
<!-- 第三行数据 -->
<div class="content-box">
<div>
<dv-border-box-11 title="调令统计数据">
<centerLeft1 />
</dv-border-box-11>
</div>
<div>
<dv-border-box-11 title="调令实时看板">
<centerRight1 />
</dv-border-box-11>
</div>
</div>
<!-- 第四行数据 -->
<div class="bottom-box">
<bottom></bottom>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
// 按需引入vue-awesome图标
import {title} from '@/settings';
import Icon from 'vue-awesome/components/Icon';
import 'vue-awesome/icons/chart-bar.js';
import 'vue-awesome/icons/chart-area.js';
import 'vue-awesome/icons/chart-pie.js';
import 'vue-awesome/icons/chart-line.js';
import 'vue-awesome/icons/align-left.js';
import '@/styles/scss/style.scss';
import centerLeft1 from './component/centerLeft1'
import centerLeft2 from './component/centerLeft2'
import centerRight1 from './component/centerRight1'
import centerRight2 from './component/centerRight2'
import center from './component/center'
import bottomLeft from './component/bottomLeft'
import bottomRight from './component/bottomRight'
import drawMixin from "@/mixin/drawMixin";
import backBtn from './component/backBtn.vue';
import bottom from "./component/bottom.vue"
export default {
mixins: [ drawMixin ],
provide() {
return {
load: this.load,
cancelLoading: this.cancelLoading
}
},
components: {
Icon,
centerLeft1,
centerLeft2,
centerRight1,
centerRight2,
center,
bottomLeft,
bottomRight,
backBtn,
bottom
},
data() {
return {
title,
timing: null,
loading: true,
dateDay: null,
dateYear: null,
dateWeek: null,
weekday: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
decorationColor: ['#568aea', '#000000']
}
},
mounted() {
//document.documentElement.requestFullscreen();
this.timeFn();
this.cancelLoading();
},
beforeDestroy () {
clearInterval(this.timing)
//document.documentElement.exitFullscreen();
},
methods: {
timeFn() {
this.timing = setInterval(() => {
this.dateDay = this.$moment().format('HH:mm:ss')
this.dateYear = this.$moment().format('YYYY 年 MM 月 DD 日')
this.dateWeek = this.weekday[new Date().getDay()]
}, 1000)
},
load () {
this.loading = true;
},
cancelLoading() {
setTimeout(() => {
this.loading = false
}, 500)
}
}
}
</script>
<style scoped lang="scss">
@import "../../styles/scss/index.scss";
</style>
<style>
#app:has(#index) {
&:after {
content: '';
background: #000;
position: fixed;
z-index: 9999998;
inset: 0 0 0 0;
}
}
</style>