<template>
  <div id="app" :class="{'red-theme':isRed}">
    <keep-alive>
      <router-view v-if="$route.meta.keepAlive" />
    </keep-alive>
    <router-view v-if="!$route.meta.keepAlive" />
    <viewer :images="images" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
      <img v-for="src in images" :src="src" :key="src">
    </viewer>
    <chosen-open-mode v-if="haveOpenMode" :settingSys="settingSys"></chosen-open-mode>
    <!--  -->
    <div class="showMyCareer" v-if="showCareer">
      <mycareer :show-close="true" :uid="careerId" @close="closeCareer"></mycareer>
    </div>
  </div>
</template>


<script>
  var sUserAgent = navigator.userAgent;
  if (
    sUserAgent.indexOf("Android") > -1 ||
    sUserAgent.indexOf("iPhone") > -1 ||
    sUserAgent.indexOf("iPad") > -1 ||
    sUserAgent.indexOf("iPod") > -1 ||
    sUserAgent.indexOf("Symbian") > -1
  ) {
    // document.body.style.minWidth = '100%'
    // document.body.style.maxWidth = '100%'
    // document.body.style.overflow = 'hidden'
    // document.html.style.minWidth = '100%'
  } else {
    document.body.style.minWidth = "1366px";
    // document.html.style.minWidth = '1366px'
  }
  import chosenOpenMode from "./components/commonPage/chosenOpenMode";
  import mycareer from "./components/champion/mycareer";
  import {
    clearInterval
  } from "timers";
  export default {
    name: "App",
    components: {
      chosenOpenMode,
      mycareer
    },
    created() {
      //注册禁止后退,并且不做卸载
      // history.go(-1)
      // history.forward(-1)
      if (localStorage.openMode && localStorage.openMode == 1) {
        try {
          history.pushState(null, null, document.URL);
          window.addEventListener("popstate", function () {
            history.pushState(null, null, document.URL);
          });
        } catch (err) {}
      }
    },
    data() {
      return {
        images: [],
        imageOptions: {
          navbar: false,
          title: false
        },
        dataShow: false,
        haveOpenMode: false,
        settingSys: false,
        timer: null,
        useTime: 0,
        showCareer: false,
        careerId: 0,
        isRed: false
        // sessionStorage.getItem("mazip") ? sessionStorage.getItem("mazip") : true
      };
    },
    methods: {
      inited(viewer) {
        this.$viewer = viewer;
      },
      closeCareer() {
        this.showCareer = false;
      },
      show(data) {
        this.$set(this.images, data);
        this.$viewer.show();
      },
      listeneruser() {
        let that = this;
        window.onblur = function () {
          that.plaus();
          if (that.useTime) {
            let params = {
              CreateBy: that.getLocalStorage().EmployeeId,
              UsedTime: that.useTime
            };
            if (params.CreateBy && params.CreateBy > 0) {
              // that.apipost("user_set_user_usederplog", params, r => {
              //   if (r.data.resultCode == 1) {
              //     that.UsedTime = 0;
              //   }
              // });
            }
          }
        };
        window.onfocus = function () {
          that.timekeeper();
        };
      },
      timekeeper() {
        if (!this.timer) {
          this.timer = window.setInterval(() => {
            this.useTime += 0.1;
          }, 1000 * 6);
        }
      },
      plaus() {
        if (this.timer) {
          window.clearInterval(this.timer);
          this.timer = null;
        }
      }
    },
    mounted() {
      if (
        !this.getLocalStorage() &&
        document.URL.indexOf("SupplierLogin") == -1 &&
        document.URL.indexOf("clientConfirm") == -1 &&
        document.URL.indexOf("TravelContractConfirm") == -1 &&
        document.URL.indexOf("ViittoContractConfirm") == -1
      ) {
        this.$router.push({
          path: "/login"
        });
      } else {
        if (
          document.URL.indexOf("clientConfirm") != -1 ||
          document.URL.indexOf("TravelContractConfirm") != -1 ||
          document.URL.indexOf("ViittoContractConfirm") != -1
        ) {
          localStorage.openMode = 0;
        } else {}
        this.timekeeper();
        this.listeneruser();
      }

      this.haveOpenMode = !localStorage.openMode;
      this.MsgBus.$on("imgpreviewoverflow", content => {
        this.show(content);
      });
      this.MsgBus.$on("imgpreviewshow", content => {
        this.$viewer.show();
      });
      this.MsgBus.$on("imgpreviewshowindex", content => {
        this.$viewer.view(this.images.indexOf(content));
        this.$viewer.show();
      });
      this.MsgBus.$on("settingOpen", content => {
        this.haveOpenMode = true;
        this.settingSys = true;
      });
      this.MsgBus.$on("settingClose", content => {
        this.haveOpenMode = false;
        this.settingSys = false;
      });
      this.MsgBus.$on("imgprevpush", content => {
        let isExsit = false;
        this.images.forEach(x => {
          if (x == content) isExsit = true;
        });
        if (!isExsit) this.images.push(content);
      });
      this.MsgBus.$on("imgprevclear", content => {
        this.images = [];
      });
      this.MsgBus.$on("showCareer", empId => {
        this.careerId = empId;
        this.showCareer = true;
      });
      this.MsgBus.$on("hideCareer", content => {
        this.careerId = 0;
        this.showCareer = false;
      });
      this.MsgBus.$on("changeTheme", t => {
        this.isRed = t == 1;
      });
    }
  };
</script>
<style>
  @import "//at.alicdn.com/t/font_635492_wcd7pw1105.css";
  @import "./assets/css/Semibold.css";
  @import "./assets/css/global/config.css";
  @import "./assets/css/fileIcon.css";

  /* html,body{height: 100%; min-width: 1366px; } */
  html,
  body {
    margin: 0;
    padding: 0;
    background: #f9f9f9 url(assets/img/img-bg.png) no-repeat bottom left/100% auto;
    height: 100%;
  }

  #app {
    height: 100%;
  }

  #app>div {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .BMap_cpyCtrl {
    display: none;
  }

  .anchorBL {
    display: none;
  }

  .viewer {
    display: none !important;
  }

  .showMyCareer {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    align-items: center;
    justify-content: center;
    z-index: 999999999999999;
  }

  .red-theme {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
      Helvetica Neue, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol,
      Noto Color Emoji, MicrosoftJhengHeiBoldFix, "\5FAE\8EDF\6B63\9ED1\9AD4",
      Microsoft JhengHei;
  }
</style>