马宇豪
2025-03-04 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c
src/views/newHome/index.vue
@@ -1,1023 +1,1067 @@
<template>
    <div class="login-container" :key="once">
        <div class="topPanel"></div>
        <div class="topPanelBg"></div>
        <div class="topPanelCont">
            <div class="topLogo">
                <img src="../../assets/newMenu/toplogo.png" />
            </div>
            <div class="userInfo">
                <div @click="onScreenfullClick" style="margin-right: 15px; cursor: pointer">
                    <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
                </div>
                <div class="loginOut" @click="onLoginOut">退出登录</div>
                <span></span>
                <div class="avator">
                    <img src="../../assets/menu/admin.png" />
                    <div>{{userName}}</div>
                </div>
            </div>
  <div class="login-container" :key="once">
    <div class="topPanel"></div>
    <div class="topPanelBg"></div>
    <div class="topPanelCont">
      <div class="topLogo">
        <!--                <img src="../../assets/newMenu/toplogo.png" />-->
        <span style="font-size: 18px;color: #fff">智能安全数字化平台</span>
      </div>
      <div class="userInfo">
        <div @click="onScreenfullClick" style="margin-right: 15px; cursor: pointer">
          <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')"
             :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
        </div>
        <div class="leftCont"></div>
        <div class="topCont">
            <div class="topInfo">
                <div class="topTit">智能安全数字化平台</div>
                <div class="topTime">
                    <div class="time">
                        {{ time }}
                    </div>
                    <span></span>
                    <div class="today">
                        <div>{{ date }}</div>
                        <div>
        <div class="loginOut" @click="onLoginOut">退出登录</div>
        <span></span>
        <div class="avator">
          <img src="../../assets/menu/admin.png"/>
          <div>{{ userName }}</div>
        </div>
      </div>
    </div>
    <div class="leftCont"></div>
    <div class="topCont">
      <div class="topInfo">
        <div class="topTit">智能安全数字化平台</div>
        <div class="topTime">
          <div class="time">
            {{ time }}
          </div>
          <span></span>
          <div class="today">
            <div>{{ date }}</div>
            <div>
                            <span>{{ weekDay }}</span
                            ><span>{{ dayTime }}</span>
                        </div>
                    </div>
                </div>
            </div>
            <div class="line"></div>
          </div>
        </div>
        <div class="menuGrid">
            <div class="gridCont">
<!--                <div class="grid-content grid-content-1 cont-bg-1" v-throttle @click="toRiskPlatform">-->
<!--                    <div class="toplayer">-->
<!--                        <div>-->
<!--                            <img class="iconImg" src="../../assets/newMenu/icon1.png" />-->
<!--                            <div>-->
<!--                                <div class="itemTit1">智能安全风险综合预警<br />预报平台</div>-->
<!--                                <div class="enTit1">Intelligent Security Risk Comprehensive Forewarning and Forecasting Platform</div>-->
<!--                            </div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg1" src="../../assets/newMenu/card-1.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-1" v-throttle @click="toDoublePrevent">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon2.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">智能安全双重预防系统</div>-->
<!--                            <div class="enTit">Intelligent Security Dual Prevention System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-4.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-1" v-throttle @click="render('4')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon3.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">智能安全巡检系统</div>-->
<!--                            <div class="enTit">Intelligent Security Patrol System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-8.png" />-->
<!--                </div>-->
                <div class="grid-content cont-bg-1" v-throttle @click="render('3')">
                    <div class="toplayer">
                        <img class="iconImg" src="../../assets/newMenu/icon4.png" />
                        <div>
                            <div class="itemTit">智能安全特殊作业系统</div>
                            <div class="enTit">Intelligent Security Special Operating System</div>
                        </div>
                    </div>
                    <img class="bgImg" src="../../assets/newMenu/card-7.png" />
                </div>
<!--                <div class="grid-content cont-bg-1" v-throttle @click="toManLocation">-->
<!--                  <div class="toplayer">-->
<!--                    <img class="iconImg" src="../../assets/newMenu/icon12.png" />-->
<!--                    <div>-->
<!--                      <div class="itemTit">人员定位系统</div>-->
<!--                      <div class="enTit">Personnel Positioning System</div>-->
<!--                    </div>-->
<!--                  </div>-->
<!--                  <img class="bgImg" src="../../assets/newMenu/card-12.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('12')">-->
<!--                  <div class="toplayer">-->
<!--                    <img class="iconImg" src="../../assets/newMenu/icon14.png" />-->
<!--                    <div>-->
<!--                      <div class="itemTit">监管数据融合互通系统</div>-->
<!--                      <div class="enTit">Regulatory Data Integration and Interoperability System</div>-->
<!--                    </div>-->
<!--                  </div>-->
<!--                  <img class="bgImg" src="../../assets/newMenu/card-14.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('7')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon5.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">安全目标责任管理系统</div>-->
<!--                            <div class="enTit">Security Target Responsibility Management System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-2.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('10')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon6.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">安全知识图谱系统</div>-->
<!--                            <div class="enTit">Security Knowledge Graph System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-3.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('9')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon7.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">设备综合管控系统</div>-->
<!--                            <div class="enTit">Equipment Integrated Management and Control System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-9.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('6')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon8.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">应急管理系统</div>-->
<!--                            <div class="enTit">Emergency Management System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-5.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="renderToNew('11')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon9.png" />-->
<!--                        <div>-->
<!--&lt;!&ndash;                            <div class="itemTit">智能安全危险化学品全生命周期管控系统</div>&ndash;&gt;-->
<!--&lt;!&ndash;                            <div class="enTit">Intelligent Security Hazardous Chemicals Life Cycle Safety Management System</div>&ndash;&gt;-->
<!--                            <div class="itemTit">安全教育考试系统</div>-->
<!--                            <div class="enTit">Safety Education Examination System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-10.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="render('8')">-->
<!--                    <div class="toplayer">-->
<!--                        <img class="iconImg" src="../../assets/newMenu/icon10.png" />-->
<!--                        <div>-->
<!--                            <div class="itemTit">安全事故管理系统</div>-->
<!--                            <div class="enTit">Security Incident Management System</div>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                    <img class="bgImg" src="../../assets/newMenu/card-6.png" />-->
<!--                </div>-->
<!--                <div class="grid-content cont-bg-2" v-throttle @click="toSmartFactory">-->
<!--                  <div class="toplayer">-->
<!--                    <img class="iconImg" src="../../assets/newMenu/icon13.png" />-->
<!--                    <div>-->
<!--                      <div class="itemTit">智能工厂系统</div>-->
<!--                      <div class="enTit">Intelligent Factory System</div>-->
<!--                    </div>-->
<!--                  </div>-->
<!--                  <img class="bgImg" src="../../assets/newMenu/card-13.png" />-->
<!--                </div>-->
                <div class="grid-content cont-bg-2" @click="render('1')">
                    <div class="toplayer">
                        <img class="iconImg" src="../../assets/newMenu/icon11.png" />
                        <div>
                            <div class="itemTit">安全基础信息系统</div>
                            <div class="enTit">Basic Security Information System</div>
                        </div>
                    </div>
                    <img class="bgImg" src="../../assets/newMenu/card-11.png" />
                </div>
            </div>
        </div>
        <div class="bot-rights">
            <img src="../../assets/newMenu/pic_line1.png" />
            <div>技术支持:苏州国科鸿宇智能科技有限公司</div>
            <img src="../../assets/newMenu/pic_line2.png" />
        </div>
      </div>
      <div class="line"></div>
    </div>
    <div class="menuGrid">
      <div class="gridCont">
        <!--                <div class="grid-content grid-content-1 cont-bg-1" v-throttle @click="toRiskPlatform">-->
        <!--                    <div class="toplayer">-->
        <!--                        <div>-->
        <!--                            <img class="iconImg" src="../../assets/newMenu/icon1.png" />-->
        <!--                            <div>-->
        <!--                                <div class="itemTit1">智能安全风险综合预警<br />预报平台</div>-->
        <!--                                <div class="enTit1">Intelligent Security Risk Comprehensive Forewarning and Forecasting Platform</div>-->
        <!--                            </div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg1" src="../../assets/newMenu/card-1.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-1" v-throttle @click="toDoublePrevent">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon2.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">智能安全双重预防系统</div>-->
        <!--                            <div class="enTit">Intelligent Security Dual Prevention System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-4.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-1" v-throttle @click="render('4')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon3.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">智能安全巡检系统</div>-->
        <!--                            <div class="enTit">Intelligent Security Patrol System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-8.png" />-->
        <!--                </div>-->
        <div class="grid-content cont-bg-1" v-throttle @click="render('3')">
          <div class="toplayer">
            <img class="iconImg" src="../../assets/newMenu/icon4.png"/>
            <div>
              <div class="itemTit">智能安全特殊作业系统</div>
              <div class="enTit">Intelligent Security Special Operating System</div>
            </div>
          </div>
          <img class="bgImg" src="../../assets/newMenu/card-7.png"/>
        </div>
        <!--                <div class="grid-content cont-bg-1" v-throttle @click="toManLocation">-->
        <!--                  <div class="toplayer">-->
        <!--                    <img class="iconImg" src="../../assets/newMenu/icon12.png" />-->
        <!--                    <div>-->
        <!--                      <div class="itemTit">人员定位系统</div>-->
        <!--                      <div class="enTit">Personnel Positioning System</div>-->
        <!--                    </div>-->
        <!--                  </div>-->
        <!--                  <img class="bgImg" src="../../assets/newMenu/card-12.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('12')">-->
        <!--                  <div class="toplayer">-->
        <!--                    <img class="iconImg" src="../../assets/newMenu/icon14.png" />-->
        <!--                    <div>-->
        <!--                      <div class="itemTit">监管数据融合互通系统</div>-->
        <!--                      <div class="enTit">Regulatory Data Integration and Interoperability System</div>-->
        <!--                    </div>-->
        <!--                  </div>-->
        <!--                  <img class="bgImg" src="../../assets/newMenu/card-14.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('7')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon5.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">安全目标责任管理系统</div>-->
        <!--                            <div class="enTit">Security Target Responsibility Management System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-2.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('10')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon6.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">安全知识图谱系统</div>-->
        <!--                            <div class="enTit">Security Knowledge Graph System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-3.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('9')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon7.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">设备综合管控系统</div>-->
        <!--                            <div class="enTit">Equipment Integrated Management and Control System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-9.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('6')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon8.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">应急管理系统</div>-->
        <!--                            <div class="enTit">Emergency Management System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-5.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="renderToNew('11')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon9.png" />-->
        <!--                        <div>-->
        <!--&lt;!&ndash;                            <div class="itemTit">智能安全危险化学品全生命周期管控系统</div>&ndash;&gt;-->
        <!--&lt;!&ndash;                            <div class="enTit">Intelligent Security Hazardous Chemicals Life Cycle Safety Management System</div>&ndash;&gt;-->
        <!--                            <div class="itemTit">安全教育考试系统</div>-->
        <!--                            <div class="enTit">Safety Education Examination System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-10.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="render('8')">-->
        <!--                    <div class="toplayer">-->
        <!--                        <img class="iconImg" src="../../assets/newMenu/icon10.png" />-->
        <!--                        <div>-->
        <!--                            <div class="itemTit">安全事故管理系统</div>-->
        <!--                            <div class="enTit">Security Incident Management System</div>-->
        <!--                        </div>-->
        <!--                    </div>-->
        <!--                    <img class="bgImg" src="../../assets/newMenu/card-6.png" />-->
        <!--                </div>-->
        <!--                <div class="grid-content cont-bg-2" v-throttle @click="toSmartFactory">-->
        <!--                  <div class="toplayer">-->
        <!--                    <img class="iconImg" src="../../assets/newMenu/icon13.png" />-->
        <!--                    <div>-->
        <!--                      <div class="itemTit">智能工厂系统</div>-->
        <!--                      <div class="enTit">Intelligent Factory System</div>-->
        <!--                    </div>-->
        <!--                  </div>-->
        <!--                  <img class="bgImg" src="../../assets/newMenu/card-13.png" />-->
        <!--                </div>-->
        <div class="grid-content cont-bg-1" @click="render('1')">
          <div class="toplayer">
            <img class="iconImg" src="../../assets/newMenu/icon11.png"/>
            <div>
              <div class="itemTit">安全基础信息系统</div>
              <div class="enTit">Basic Security Information System</div>
            </div>
          </div>
          <img class="bgImg" src="../../assets/newMenu/card-11.png"/>
        </div>
      </div>
    </div>
    <div class="bot-rights">
      <img src="../../assets/newMenu/pic_line1.png"/>
      <div>技术支持:苏州国科鸿宇智能科技有限公司</div>
      <img src="../../assets/newMenu/pic_line2.png"/>
    </div>
  </div>
</template>
<script lang="ts">
import {toRefs, reactive, computed, defineComponent, onMounted, onUnmounted} from 'vue';
import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
import {storeToRefs} from 'pinia';
import {useThemeConfig} from '/@/stores/themeConfig';
import logoMini from '/@/assets/logo-mini.svg';
import loginIconTwo from '/@/assets/login-icon-two.svg';
import { NextLoading } from '/@/utils/loading';
import { Session } from '/@/utils/storage';
import { useRoute, useRouter } from 'vue-router';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import { useUserInfo } from '/@/stores/userInfo';
import { useRoutesList } from '/@/stores/routesList';
import {NextLoading} from '/@/utils/loading';
import {Session} from '/@/utils/storage';
import {useRoute, useRouter} from 'vue-router';
import {initBackEndControlRoutes} from '/@/router/backEnd';
import {useUserInfo} from '/@/stores/userInfo';
import {useRoutesList} from '/@/stores/routesList';
import pinia from '/@/stores';
import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
import { ElMessage } from 'element-plus';
import { ElMessageBox } from 'element-plus/es';
import { useLoginApi } from '/@/api/login';
import { useI18n } from 'vue-i18n';
import {useTagsViewRoutes} from '/@/stores/tagsViewRoutes';
import {ElMessage} from 'element-plus';
import {ElMessageBox} from 'element-plus/es';
import {useLoginApi} from '/@/api/login';
import {useI18n} from 'vue-i18n';
import screenfull from 'screenfull';
import router from '../../router';
import Cookies from 'js-cookie';
// 定义接口来定义对象的类型
interface LoginState {
    tabsActiveName: string;
    isScan: boolean;
    count: number;
    projectId: string;
    once: number;
    isScreenfull: boolean;
    time: string;
    date: string;
    weekDay: string;
    dayTime: string;
    timer: null | any
  tabsActiveName: string;
  isScan: boolean;
  count: number;
  projectId: string;
  once: number;
  isScreenfull: boolean;
  time: string;
  date: string;
  weekDay: string;
  dayTime: string;
  timer: null | any
}
export default defineComponent({
    name: 'loginIndex',
    components: {},
    setup() {
        const { t } = useI18n();
        const router = useRouter();
        const userInfo = useUserInfo();
        const { userInfos } = storeToRefs(userInfo);
        const routeToStore = useRoutesList(pinia);
        const { routesList } = storeToRefs(routeToStore);
        const storesThemeConfig = useThemeConfig();
        const { themeConfig } = storeToRefs(storesThemeConfig);
        // 时间格式化
        const timeForm = {
            hour12: false,
            year: 'numeric',
            month: '2-digit',
            day: '2-digit',
            hour: '2-digit',
            minute: '2-digit',
            second: '2-digit'
        };
        const state = reactive<LoginState>({
            tabsActiveName: 'account',
            isScan: false,
            count: 0,
            projectId: '1',
            once: 0,
            time: '',
            date: '',
            weekDay: '',
            dayTime: '',
            isScreenfull: false,
              timer: null
        });
  name: 'loginIndex',
  components: {},
  setup() {
    const {t} = useI18n();
    const router = useRouter();
    const userInfo = useUserInfo();
    const {userInfos} = storeToRefs(userInfo);
    const routeToStore = useRoutesList(pinia);
    const {routesList} = storeToRefs(routeToStore);
    const storesThemeConfig = useThemeConfig();
    const {themeConfig} = storeToRefs(storesThemeConfig);
    // 时间格式化
    const timeForm = {
      hour12: false,
      year: 'numeric',
      month: '2-digit',
      day: '2-digit',
      hour: '2-digit',
      minute: '2-digit',
      second: '2-digit'
    };
    const state = reactive<LoginState>({
      tabsActiveName: 'account',
      isScan: false,
      count: 0,
      projectId: '1',
      once: 0,
      time: '',
      date: '',
      weekDay: '',
      dayTime: '',
      isScreenfull: false,
      timer: null
    });
        const userName = computed(() =>{
            return userInfos.value.userName
        })
        // 获取布局配置信息
        const getThemeConfig = computed(() => {
            return themeConfig.value;
        });
    const userName = computed(() => {
      return userInfos.value.userName
    })
    // 获取布局配置信息
    const getThemeConfig = computed(() => {
      return themeConfig.value;
    });
        // 当前时间
        const getDateTime = () => {
            const curTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
            state.time = curTime.slice(10, 16);
            state.date = curTime.slice(0, 10);
            let week = ['日', '一', '二', '三', '四', '五', '六'];
            let day = new Date().getDay();
            state.weekDay = '星期' + week[day];
            let curHour = Number(curTime.slice(10, 13));
            if (curHour >= 5 && curHour <= 10) {
                state.dayTime = '上午';
            }
            if (curHour > 10 && curHour <= 12) {
                state.dayTime = '中午';
            }
            if (curHour > 12 && curHour <= 18) {
                state.dayTime = '下午';
            }
            if (curHour > 18 && curHour <= 22) {
                state.dayTime = '晚上';
            }
            if (curHour > 22) {
                state.dayTime = '午夜';
            }
        };
        // 下拉菜单点击时
        const onLoginOut = () => {
            ElMessageBox({
                closeOnClickModal: false,
                closeOnPressEscape: false,
                title: t('message.user.logOutTitle'),
                message: t('message.user.logOutMessage'),
                showCancelButton: true,
                confirmButtonText: t('message.user.logOutConfirm'),
                cancelButtonText: t('message.user.logOutCancel'),
                buttonSize: 'default',
                beforeClose: (action, instance, done) => {
                    if (action === 'confirm') {
                        instance.confirmButtonLoading = true;
                        instance.confirmButtonText = t('message.user.logOutExit');
                        setTimeout(() => {
                            done();
                            setTimeout(() => {
                                instance.confirmButtonLoading = false;
                            }, 300);
                        }, 700);
                    } else {
                        done();
                    }
                }
            })
                .then(async () => {
                    let res = await useLoginApi().signOut();
                    if (res.data.code === '200') {
                        Session.clear(); // 清除缓存/token等
                        // 使用 reload 时,不需要调用 resetRoute() 重置路由
                        window.location.reload();
                    } else {
                        ElMessage({
                            type: 'warning',
                            message: res.data.msg
                        });
                    }
                })
                .catch(() => {});
        };
        //选择菜单
        const render = (value: string) => {
            state.projectId = value;
            renderMenu();
        };
        // 全屏点击时
        const onScreenfullClick = () => {
            if (!screenfull.isEnabled) {
                ElMessage.warning('暂不不支持全屏');
                return false;
            }
            screenfull.toggle();
            screenfull.on('change', () => {
                if (screenfull.isFullscreen) state.isScreenfull = true;
                else state.isScreenfull = false;
            });
        };
        // 去风险大屏
        const toRiskPlatform = async() => {
            // router.push({
            //     name: "warningScreen"
            // });
          const routePath = '/warningScreen';
          const resolvedRoute = router.resolve(routePath);
          const fullPath = resolvedRoute.href
          window.open(fullPath, '_blank');
            // window.open('http://39.104.85.193:8585/');
        };
        const toDoublePrevent = () => {
           window.open('http://8.137.115.153:6801/login');
        };
        const toSmartFactory = () =>{
          window.open('http://117.190.40.54:5522/#/login');
    // 当前时间
    const getDateTime = () => {
      const curTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
      state.time = curTime.slice(10, 16);
      state.date = curTime.slice(0, 10);
      let week = ['日', '一', '二', '三', '四', '五', '六'];
      let day = new Date().getDay();
      state.weekDay = '星期' + week[day];
      let curHour = Number(curTime.slice(10, 13));
      if (curHour >= 5 && curHour <= 10) {
        state.dayTime = '上午';
      }
      if (curHour > 10 && curHour <= 12) {
        state.dayTime = '中午';
      }
      if (curHour > 12 && curHour <= 18) {
        state.dayTime = '下午';
      }
      if (curHour > 18 && curHour <= 22) {
        state.dayTime = '晚上';
      }
      if (curHour > 22) {
        state.dayTime = '午夜';
      }
    };
    // 下拉菜单点击时
    const onLoginOut = () => {
      ElMessageBox({
        closeOnClickModal: false,
        closeOnPressEscape: false,
        title: t('message.user.logOutTitle'),
        message: t('message.user.logOutMessage'),
        showCancelButton: true,
        confirmButtonText: t('message.user.logOutConfirm'),
        cancelButtonText: t('message.user.logOutCancel'),
        buttonSize: 'default',
        beforeClose: (action, instance, done) => {
          if (action === 'confirm') {
            instance.confirmButtonLoading = true;
            instance.confirmButtonText = t('message.user.logOutExit');
            setTimeout(() => {
              done();
              setTimeout(() => {
                instance.confirmButtonLoading = false;
              }, 300);
            }, 700);
          } else {
            done();
          }
        }
        const toManLocation = () =>{
          window.open('http://117.190.40.54:8081/location_system_5.4.9/login/login.html?company=GUOTAI&version=5.4.9');
        }
        const throttle = (renderMenu: any, delay: number) => {
            let flag = true;
            let count = 0;
            return function () {
                if (!flag) return;
                flag = false;
                if (count === 0) {
                    renderMenu.apply();
                    count++;
                    flag = true;
                } else {
                    setTimeout(() => {
                        renderMenu.apply();
                        flag = true;
                    }, delay);
                }
            };
        };
        //调用菜单方法
        const renderMenu = throttle(() => {
          // debugger
            renderFun();
        }, 2000);
        //调后台菜单接口
        const renderFun = async () => {
            Cookies.set('projectId', state.projectId);
            userInfos.value.projectId = state.projectId;
            await initBackEndControlRoutes().then(() => {
                let linkToMenu = [...routesList.value];
                if (linkToMenu && linkToMenu.length > 0) {
                    router.push(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[0]));
                } else {
                    ElMessage({ type: 'warning', message: '你没有该子系统的权限' });
                }
            });
        };
        const linkToFirstMenu: any = (value: any) => {
            let returnMenu = value;
            if (returnMenu.children?.length > 0) {
                return linkToFirstMenu(returnMenu.children[0]);
      })
          .then(async () => {
            let res = await useLoginApi().signOut();
            if (res.data.code === '200') {
              Session.clear(); // 清除缓存/token等
              // 使用 reload 时,不需要调用 resetRoute() 重置路由
              window.location.reload();
            } else {
                return returnMenu.path;
              ElMessage({
                type: 'warning',
                message: res.data.msg
              });
            }
        };
          })
          .catch(() => {
          });
    };
    //选择菜单
    const render = (value: string) => {
      state.projectId = value;
      renderMenu();
    };
        const renderToNew = () => {
            // window.open('http://222.92.213.22:18001/smartlab/', '_blank');
          window.open('http://47.108.222.15:8000/', '_blank');
        };
        // //点击进入特殊作业
        // const toSpecialWorkSys = () => {
        //    router.push('/layoutPage');
        // };
        // 页面加载时
        onMounted(() => {
            state.once += 1;
            NextLoading.done();
            getDateTime();
            state.timer = setInterval(() => {
                getDateTime();
            }, 30000);
            // loginBg();
            // loginApp()
        })
      onUnmounted(() => {
        clearInterval(state.timer)
    // 全屏点击时
    const onScreenfullClick = () => {
      if (!screenfull.isEnabled) {
        ElMessage.warning('暂不不支持全屏');
        return false;
      }
      screenfull.toggle();
      screenfull.on('change', () => {
        if (screenfull.isFullscreen) state.isScreenfull = true;
        else state.isScreenfull = false;
      });
    };
    // 去风险大屏
    const toRiskPlatform = async () => {
      // router.push({
      //     name: "warningScreen"
      // });
      const routePath = '/warningScreen';
      const resolvedRoute = router.resolve(routePath);
      const fullPath = resolvedRoute.href
      window.open(fullPath, '_blank');
        return {
            render,
            userName,
            logoMini,
            onLoginOut,
            getDateTime,
            renderToNew,
            toRiskPlatform,
            toDoublePrevent,
            toSmartFactory,
            toManLocation,
            onScreenfullClick,
            loginIconTwo,
            getThemeConfig,
            ...toRefs(state)
        };
      // window.open('http://39.104.85.193:8585/');
    };
    const toDoublePrevent = () => {
      window.open('http://8.137.115.153:6801/login');
    };
    const toSmartFactory = () => {
      window.open('http://117.190.40.54:5522/#/login');
    }
    const toManLocation = () => {
      window.open('http://117.190.40.54:8081/location_system_5.4.9/login/login.html?company=GUOTAI&version=5.4.9');
    }
    const throttle = (renderMenu: any, delay: number) => {
      let flag = true;
      let count = 0;
      return function () {
        if (!flag) return;
        flag = false;
        if (count === 0) {
          renderMenu.apply();
          count++;
          flag = true;
        } else {
          setTimeout(() => {
            renderMenu.apply();
            flag = true;
          }, delay);
        }
      };
    };
    //调用菜单方法
    const renderMenu = throttle(() => {
      // debugger
      renderFun();
    }, 2000);
    //调后台菜单接口
    const renderFun = async () => {
      Cookies.set('projectId', state.projectId);
      userInfos.value.projectId = state.projectId;
      await initBackEndControlRoutes().then(() => {
        let linkToMenu = [...routesList.value];
        if (linkToMenu && linkToMenu.length > 0) {
          router.push(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[0]));
        } else {
          ElMessage({type: 'warning', message: '你没有该子系统的权限'});
        }
      });
    };
    const linkToFirstMenu: any = (value: any) => {
      let returnMenu = value;
      if (returnMenu.children?.length > 0) {
        return linkToFirstMenu(returnMenu.children[0]);
      } else {
        return returnMenu.path;
      }
    };
    const renderToNew = () => {
      // window.open('http://222.92.213.22:18001/smartlab/', '_blank');
      window.open('http://47.108.222.15:8000/', '_blank');
    };
    // //点击进入特殊作业
    // const toSpecialWorkSys = () => {
    //    router.push('/layoutPage');
    // };
    // 页面加载时
    onMounted(() => {
      state.once += 1;
      NextLoading.done();
      getDateTime();
      state.timer = setInterval(() => {
        getDateTime();
      }, 30000);
      // loginBg();
      // loginApp()
    })
    onUnmounted(() => {
      clearInterval(state.timer)
    });
    return {
      render,
      userName,
      logoMini,
      onLoginOut,
      getDateTime,
      renderToNew,
      toRiskPlatform,
      toDoublePrevent,
      toSmartFactory,
      toManLocation,
      onScreenfullClick,
      loginIconTwo,
      getThemeConfig,
      ...toRefs(state)
    };
  }
});
</script>
<style scoped lang="scss">
    @keyframes showDown {
        100% {
            position: absolute;
            top: 60px;
        }
    }
    @keyframes moveDown {
        100% {
            position: absolute;
            top: 0;
        }
    }
    @keyframes moveRight {
        100% {
            position: absolute;
            left: 0;
        }
    }
    @keyframes upDown {
        50% {
            -webkit-transform: translateY(-8px);
            -ms-transform: translateY(-8px);
            -o-transform: translateY(-8px);
            transform: translateY(-8px);
        }
        100% {
            -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
            -o-transform: translateY(0);
            transform: translateY(0);
        }
    }
@keyframes showDown {
  100% {
    position: absolute;
    top: 60px;
  }
}
@keyframes moveDown {
  100% {
    position: absolute;
    top: 0;
  }
}
@keyframes moveRight {
  100% {
    position: absolute;
    left: 0;
  }
}
@keyframes upDown {
  50% {
    -webkit-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
    -o-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@media screen and (min-width: 1600px) {
    .gridCont {
        width: 100%;
        display: grid;
        grid-gap: 20px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(5, 200px);
        grid-auto-flow: row;
        justify-content: center;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            padding: 0 20px;
            z-index: 99;
  .gridCont {
    width: 100%;
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 200px);
    grid-auto-flow: row;
    justify-content: center;
            .itemTit {
                font-size: 28px;
                line-height: 34px;
                margin-bottom: 2px;
                height: 40%;
                color: #072270;
            }
            .enTit {
                font-size: 16px;
                line-height: 20px;
                color: #072270;
            }
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      padding: 0 20px;
      z-index: 99;
            .iconImg {
                width: 88px;
                height: 88px;
                margin-right: 20px;
            }
        }
        .bgImg {
            position: absolute;
            width: 30%;
            height: auto;
            right: -10px;
            top: 15px;
        }
      .itemTit {
        font-size: 28px;
        line-height: 34px;
        margin-bottom: 2px;
        height: 40%;
        color: #072270;
      }
      .enTit {
        font-size: 16px;
        line-height: 20px;
        color: #072270;
      }
      .iconImg {
        width: 88px;
        height: 88px;
        margin-right: 20px;
      }
    }
    .grid-content-1 {
        grid-row-start: 1;
        grid-row-end: 3;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            z-index: 99;
            & > div {
                display: flex;
                align-items: flex-start;
            }
            .itemTit1 {
                font-size: 32px;
                line-height: 42px;
                height: 40%;
                letter-spacing: 1px;
                color: #072270;
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 18px;
                line-height: 24px;
                color: #072270;
            }
        }
        .bgImg1 {
            position: absolute;
            width: 45%;
            height: auto;
            right: -20px;
            top: 30%;
        }
    .bgImg {
      position: absolute;
      width: 30%;
      height: auto;
      right: -10px;
      top: 15px;
    }
  }
    .bot-rights {
  .grid-content-1 {
    grid-row-start: 1;
    grid-row-end: 3;
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      z-index: 99;
      & > div {
        display: flex;
        align-items: flex-start;
      }
      .itemTit1 {
        font-size: 32px;
        line-height: 42px;
        height: 40%;
        letter-spacing: 1px;
        color: #072270;
        margin-bottom: 12px;
      }
      .enTit1 {
        font-size: 18px;
        color: #333;
        line-height: 24px;
        color: #072270;
      }
    }
    .bgImg1 {
      position: absolute;
      width: 45%;
      height: auto;
      right: -20px;
      top: 30%;
    }
  }
  .bot-rights {
    font-size: 18px;
    color: #333;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1600px) {
    .gridCont {
        width: 100%;
        display: grid;
        grid-gap: 15px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(5, 120px);
        grid-auto-flow: row;
        justify-content: center;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            padding: 0 20px;
            z-index: 99;
            .itemTit {
                font-size: 22px;
                line-height: 30px;
                height: 40%;
                color: #072270;
                margin-bottom: 2px;
            }
            .enTit {
                font-size: 12px;
                color: #072270;
            }
            .iconImg {
                width: 44px;
                height: 44px;
                margin-right: 10px;
            }
        }
        .bgImg {
            position: absolute;
            width: 30%;
            height: auto;
            right: -10px;
            top: 15px;
        }
    }
    .grid-content-1 {
        grid-row-start: 1;
        grid-row-end: 3;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            z-index: 99;
            & > div {
                display: flex;
                align-items: flex-start;
            }
            .itemTit1 {
                font-size: 24px;
                line-height: 36px;
                height: 40%;
                letter-spacing: 1px;
                color: #072270;
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 14px;
                color: #072270;
            }
        }
        .bgImg1 {
            position: absolute;
            width: 45%;
            height: auto;
            right: -20px;
            top: 30%;
        }
    }
    .bot-rights {
        font-size: 15px;
        color: #333;
    }
}
@media screen and (max-width: 1200px) {
    .gridCont {
        width: 100%;
        display: grid;
        grid-gap: 10px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(5, 96px);
        grid-auto-flow: row;
        justify-content: center;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            padding: 0 15px;
            z-index: 99;
            .itemTit {
                font-size: 14px;
                line-height: 22px;
                color: #072270;
            }
            .enTit {
                font-size: 10px;
                line-height: 14px;
                color: #072270;
            }
            .iconImg {
                width: 32px;
                height: 32px;
                margin-right: 10px;
            }
        }
        .bgImg {
            position: absolute;
            width: 45%;
            height: auto;
            right: -10px;
            top: 15px;
        }
    }
    .grid-content-1 {
        grid-row-start: 1;
        grid-row-end: 3;
        .toplayer {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: flex;
            align-items: center;
            z-index: 99;
            & > div {
                display: flex;
                align-items: flex-start;
            }
            .itemTit1 {
                font-size: 16px;
                line-height: 36px;
                height: 40%;
                letter-spacing: 1px;
                color: #072270;
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 12px;
                color: #072270;
            }
        }
        .bgImg1 {
            position: absolute;
            width: 45%;
            height: auto;
            right: -20px;
            top: 30%;
        }
    }
    .bot-rights {
        font-size: 12px;
        color: #333;
    }
}
.login-container {
  .gridCont {
    width: 100%;
    height: 100%;
    position: relative;
    background: #fff;
    .topPanel {
        width: 100%;
        height: 260px;
        background: url('../../assets/newMenu/topbg.jpg') no-repeat center;
        background-size: 100% 100%;
    display: grid;
    grid-gap: 15px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 120px);
    grid-auto-flow: row;
    justify-content: center;
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      padding: 0 20px;
      z-index: 99;
      .itemTit {
        font-size: 22px;
        line-height: 30px;
        height: 40%;
        color: #072270;
        margin-bottom: 2px;
      }
      .enTit {
        font-size: 12px;
        color: #072270;
      }
      .iconImg {
        width: 44px;
        height: 44px;
        margin-right: 10px;
      }
    }
    .bgImg {
      position: absolute;
      width: 30%;
      height: auto;
      right: -10px;
      top: 15px;
    }
  }
  .grid-content-1 {
    grid-row-start: 1;
    grid-row-end: 3;
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      z-index: 99;
      & > div {
        display: flex;
        justify-content: center;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    }
    .topPanelBg {
        position: absolute;
        width: 100%;
        height: 60px;
        top: -60px;
        left: 0;
        background: rgba(255, 255, 255, 0.8);
        z-index: 9;
        animation: moveDown 0.6s 1 ease forwards;
    }
    .topPanelCont {
        position: absolute;
        width: 100%;
        height: 60px;
        padding: 0 50px;
        top: -60px;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 999;
        animation: moveDown 0.6s 1 ease forwards;
        .topLogo {
            display: flex;
            align-items: center;
            img {
                width: 146px;
                height: auto;
            }
        }
        .userInfo {
            display: flex;
            align-items: center;
            .avator {
                display: flex;
                justify-content: right;
                img {
                    width: 20px;
                    height: 20px;
                    border-radius: 10px;
                }
                div {
                    font-size: 15px;
                    color: #333333;
                    line-height: 20px;
                    margin-left: 6px;
                }
            }
            span {
                width: 1px;
                height: 20px;
                background: #999;
                margin: 0 15px;
            }
            .loginOut {
                font-size: 15px;
                color: #333;
                line-height: 20px;
                cursor: pointer;
                &:hover {
                    color: #006df5;
                }
            }
        }
    }
    .leftCont {
        position: absolute;
        left: -100px;
        top: 0;
        width: 220px;
        height: 100%;
        z-index: 99;
        background: url('../../assets/newMenu/leftbg.png') no-repeat center;
        background-size: 100% 100%;
        animation: moveRight .8s 1 ease forwards;
    }
    .topCont {
        position: absolute;
        width: 100%;
        height: 200px;
        left: 0;
        top: 30px;
        padding: 0 40px 0 120px;
        z-index: 99999;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        animation: showDown 0.6s 1 ease forwards;
      }
        .topInfo {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 10px;
      .itemTit1 {
        font-size: 24px;
        line-height: 36px;
        height: 40%;
        letter-spacing: 1px;
        color: #072270;
        margin-bottom: 12px;
      }
            .topTit {
                font-size: 44px;
                font-weight: bolder;
                text-align: left;
                color: #fff;
                text-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
            }
            .topTime {
                padding: 15px 10px;
                box-sizing: border-box;
                background: rgba(6, 64, 195, 0.8);
                border-radius: 8px;
                color: #fff;
                font-family: 'PingFang SC';
                font-weight: 600;
                font-size: 16px;
                display: flex;
                align-items: center;
                .time {
                    font-size: 48px;
                }
                & > span {
                    width: 1px;
                    height: 40px;
                    margin: 0 15px;
                    background: #fff;
                }
                .today {
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    span {
                        font-size: 14px;
                    }
                    span:first-of-type {
                        margin-right: 10px;
                    }
                }
            }
        }
        .line {
            width: 120px;
            height: 6px;
            background: #00eeff;
        }
      .enTit1 {
        font-size: 14px;
        color: #072270;
      }
    }
    .menuGrid {
        width: calc(100vw - 220px);
        height: calc(100vh - 320px);
        padding: 20px 20px 0;
        position: absolute;
        top: 260px;
        left: 220px;
      overflow: hidden;
      overflow-y: scroll;
        .gridCont {
            .grid-content {
                border-radius: 16px;
                position: relative;
                overflow: hidden;
                cursor: pointer;
                transition: 0.3s;
                border: 2px solid rgba(255,255,255,0);
                &:hover {
                    border-radius: 16px;
                    background-image: radial-gradient(ellipse farthest-side at 50% 100%, #48a3ff 0%, #fff 120%);
                    box-shadow: -8px -8px 24px rgba(20, 97, 234, 0.2), 8px 8px 24px rgba(20, 97, 234, 0.2);
                    border: 2px solid #fff;
                    .iconImg{
                        animation: upDown 0.3s 1 ease-in-out forwards;
                        filter: drop-shadow(0 0 12px rgba(20, 97, 234, 0.4));
                    }
                }
            }
            .cont-bg-1 {
                background: #d9eaff;
            }
            .cont-bg-2 {
                background: #cdd6ff;
            }
            /*.grid-content-2{*/
            /*   background-image: linear-gradient(135deg,#0098F5,#1461EA);*/
            /*}*/
            /*.grid-content-3{*/
            /*   background-image: linear-gradient(135deg,#006DF5,#1450EA);*/
            /*}*/
        }
    .bgImg1 {
      position: absolute;
      width: 45%;
      height: auto;
      right: -20px;
      top: 30%;
    }
    .bot-rights {
        width: calc(100vw - 240px);
        height: 60px;
        position: absolute;
        bottom: 0;
        left: 240px;
        z-index: 9999;
  }
  .bot-rights {
    font-size: 15px;
    color: #333;
  }
}
@media screen and (max-width: 1200px) {
  .gridCont {
    width: 100%;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 96px);
    grid-auto-flow: row;
    justify-content: center;
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      padding: 0 15px;
      z-index: 99;
      .itemTit {
        font-size: 14px;
        line-height: 22px;
        color: #072270;
      }
      .enTit {
        font-size: 10px;
        line-height: 14px;
        color: #072270;
      }
      .iconImg {
        width: 32px;
        height: 32px;
        margin-right: 10px;
      }
    }
    .bgImg {
      position: absolute;
      width: 45%;
      height: auto;
      right: -10px;
      top: 15px;
    }
  }
  .grid-content-1 {
    grid-row-start: 1;
    grid-row-end: 3;
    .toplayer {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: flex;
      align-items: center;
      z-index: 99;
      & > div {
        display: flex;
        align-items: center;
        justify-content: center;
        align-items: flex-start;
      }
      .itemTit1 {
        font-size: 16px;
        line-height: 36px;
        height: 40%;
        letter-spacing: 1px;
        color: #072270;
        margin-bottom: 12px;
      }
      .enTit1 {
        font-size: 12px;
        color: #072270;
      }
    }
    .bgImg1 {
      position: absolute;
      width: 45%;
      height: auto;
      right: -20px;
      top: 30%;
    }
  }
  .bot-rights {
    font-size: 12px;
    color: #333;
  }
}
.login-container {
  width: 100%;
  height: 100%;
  position: relative;
  background: #fff;
  .topPanel {
    width: 100%;
    height: 260px;
    background: url('../../assets/newMenu/topbg.jpg') no-repeat center;
    background-size: 100% 100%;
    display: flex;
    justify-content: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  }
  .topPanelBg {
    position: absolute;
    width: 100%;
    height: 60px;
    top: -60px;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 9;
    animation: moveDown 0.6s 1 ease forwards;
  }
  .topPanelCont {
    position: absolute;
    width: 100%;
    height: 60px;
    padding: 0 50px 0 0;
    top: -60px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 999;
    animation: moveDown 0.6s 1 ease forwards;
    .topLogo {
      display: flex;
      align-items: center;
      width: 220px;
      img {
        width: 146px;
        height: auto;
      }
      span {
        width: 100%;
        text-align: center;
      }
    }
    .userInfo {
      display: flex;
      align-items: center;
      .avator {
        display: flex;
        justify-content: right;
        img {
            width: 248px;
            height: 8px;
          width: 20px;
          height: 20px;
          border-radius: 10px;
        }
        div {
            margin: 0 20px;
          font-size: 15px;
          color: #333333;
          line-height: 20px;
          margin-left: 6px;
        }
      }
      span {
        width: 1px;
        height: 20px;
        background: #999;
        margin: 0 15px;
      }
      .loginOut {
        font-size: 15px;
        color: #333;
        line-height: 20px;
        cursor: pointer;
        &:hover {
          color: #006df5;
        }
      }
    }
  }
  .leftCont {
    position: absolute;
    left: -100px;
    top: 0;
    width: 220px;
    height: 100%;
    z-index: 99;
    background: url('../../assets/newMenu/leftbg.png') no-repeat center;
    background-size: 100% 100%;
    animation: moveRight .8s 1 ease forwards;
  }
  .topCont {
    position: absolute;
    width: 100%;
    height: 200px;
    left: 0;
    top: 30px;
    padding: 0 40px 0 120px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    animation: showDown 0.6s 1 ease forwards;
    .topInfo {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 10px;
      .topTit {
        font-size: 44px;
        font-weight: bolder;
        text-align: left;
        color: #fff;
        text-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
      }
      .topTime {
        padding: 15px 10px;
        box-sizing: border-box;
        background: rgba(6, 64, 195, 0.8);
        border-radius: 8px;
        color: #fff;
        font-family: 'PingFang SC';
        font-weight: 600;
        font-size: 16px;
        display: flex;
        align-items: center;
        .time {
          font-size: 48px;
        }
        & > span {
          width: 1px;
          height: 40px;
          margin: 0 15px;
          background: #fff;
        }
        .today {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          span {
            font-size: 14px;
          }
          span:first-of-type {
            margin-right: 10px;
          }
        }
      }
    }
    .line {
      width: 120px;
      height: 6px;
      background: #00eeff;
    }
  }
  .menuGrid {
    width: calc(100vw - 220px);
    height: calc(100vh - 320px);
    padding: 20px 20px 0;
    position: absolute;
    top: 260px;
    left: 220px;
    .gridCont {
      .grid-content {
        border-radius: 8px;
        position: relative;
        overflow: hidden;
        cursor: pointer;
        transition: 0.3s;
        border: 2px solid rgba(255, 255, 255, 0);
        &:hover {
          border-radius: 16px;
          background-image: radial-gradient(ellipse farthest-side at 50% 100%, #48a3ff 0%, #fff 120%);
          box-shadow: -8px -8px 24px rgba(20, 97, 234, 0.2), 8px 8px 24px rgba(20, 97, 234, 0.2);
          border: 2px solid #fff;
          .iconImg {
            animation: upDown 0.3s 1 ease-in-out forwards;
            filter: drop-shadow(0 0 12px rgba(20, 97, 234, 0.4));
          }
        }
      }
      .cont-bg-1 {
        background: #d9eaff;
      }
      .cont-bg-2 {
        background: #cdd6ff;
      }
      /*.grid-content-2{*/
      /*   background-image: linear-gradient(135deg,#0098F5,#1461EA);*/
      /*}*/
      /*.grid-content-3{*/
      /*   background-image: linear-gradient(135deg,#006DF5,#1450EA);*/
      /*}*/
    }
  }
  .bot-rights {
    width: calc(100vw - 240px);
    height: 60px;
    position: absolute;
    bottom: 0;
    left: 240px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    img {
      width: 248px;
      height: 8px;
    }
    div {
      margin: 0 20px;
    }
  }
}
</style>