<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.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>
