马宇豪
2024-04-02 d91fd1557ebed3e9bcb8c051c71b9d41c0e36eef
src/views/newHome/index.vue
@@ -21,7 +21,7 @@
        <div class="leftCont"></div>
        <div class="topCont">
            <div class="topInfo">
                <div class="topTit">新疆国泰新华<br />安全风险预警监测系统(试运行)</div>
                <div class="topTit">新疆国泰新华<br />安全风险预警监测系统</div>
                <div class="topTime">
                    <div class="time">
                        {{ time }}
@@ -52,7 +52,7 @@
                    </div>
                    <img class="bgImg1" src="../../assets/newMenu/card-1.png" />
                </div>
                <div class="grid-content cont-bg-1" v-throttle @click="render('2')">
                <div class="grid-content cont-bg-1" v-throttle @click="toDoublePrevent">
                    <div class="toplayer">
                        <img class="iconImg" src="../../assets/newMenu/icon2.png" />
                        <div>
@@ -82,7 +82,27 @@
                    </div>
                    <img class="bgImg" src="../../assets/newMenu/card-7.png" />
                </div>
                <div class="grid-content cont-bg-1" v-throttle @click="render('7')">
                <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>
@@ -142,6 +162,16 @@
                    </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" />
@@ -163,7 +193,7 @@
</template>
<script lang="ts">
import { toRefs, reactive, computed, defineComponent, onMounted } from 'vue';
import {toRefs, reactive, computed, defineComponent, onMounted, onUnmounted} from 'vue';
import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
import logoMini from '/@/assets/logo-mini.svg';
@@ -196,6 +226,7 @@
    date: string;
    weekDay: string;
    dayTime: string;
    timer: null | any
}
export default defineComponent({
@@ -230,7 +261,8 @@
            date: '',
            weekDay: '',
            dayTime: '',
            isScreenfull: false
            isScreenfull: false,
              timer: null
        });
        const userName = computed(() =>{
@@ -327,11 +359,22 @@
        };
        // 去风险大屏
        const toRiskPlatform = () => {
            router.push({
                name: "warningScreen"
            });
            // window.open('http://39.104.85.193:8585/');
            // router.push({
            //     name: "warningScreen"
            // });
            window.open('http://39.104.85.193:8585/');
        };
        const toDoublePrevent = () => {
           window.open('http://124.88.37.66:6801');
        };
        const toSmartFactory = () =>{
          window.open('http://10.211.134.139:5522/#/login');
        }
        const toManLocation = () =>{
          window.open('http://124.88.37.66: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;
@@ -353,6 +396,7 @@
        //调用菜单方法
        const renderMenu = throttle(() => {
          // debugger
            renderFun();
        }, 2000);
@@ -391,12 +435,17 @@
            state.once += 1;
            NextLoading.done();
            getDateTime();
            setInterval(() => {
            state.timer = setInterval(() => {
                getDateTime();
            }, 1000);
            }, 30000);
            // loginBg();
            // loginApp()
        });
        })
      onUnmounted(() => {
        clearInterval(state.timer)
      });
        return {
            render,
            userName,
@@ -405,6 +454,9 @@
            getDateTime,
            renderToNew,
            toRiskPlatform,
            toDoublePrevent,
            toSmartFactory,
            toManLocation,
            onScreenfullClick,
            loginIconTwo,
            getThemeConfig,
@@ -447,13 +499,13 @@
            transform: translateY(0);
        }
    }
@media screen and (min-width: 1400px) {
@media screen and (min-width: 1600px) {
    .gridCont {
        width: 100%;
        height: 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 {
@@ -515,7 +567,7 @@
            }
            .itemTit1 {
                font-size: 34px;
                font-size: 32px;
                line-height: 42px;
                height: 40%;
                letter-spacing: 1px;
@@ -523,7 +575,7 @@
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 20px;
                font-size: 18px;
                line-height: 24px;
                color: #072270;
            }
@@ -543,13 +595,13 @@
    }
}
@media screen and (min-width: 1200px) and (max-width: 1400px) {
@media screen and (min-width: 1200px) and (max-width: 1600px) {
    .gridCont {
        width: 100%;
        height: 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;
@@ -565,14 +617,14 @@
            z-index: 99;
            .itemTit {
                font-size: 26px;
                font-size: 22px;
                line-height: 30px;
                height: 40%;
                color: #072270;
                margin-bottom: 2px;
            }
            .enTit {
                font-size: 14px;
                font-size: 12px;
                color: #072270;
            }
@@ -611,7 +663,7 @@
            }
            .itemTit1 {
                font-size: 28px;
                font-size: 24px;
                line-height: 36px;
                height: 40%;
                letter-spacing: 1px;
@@ -619,7 +671,7 @@
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 16px;
                font-size: 14px;
                color: #072270;
            }
        }
@@ -639,10 +691,10 @@
@media screen and (max-width: 1200px) {
    .gridCont {
        width: 100%;
        height: 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;
@@ -658,12 +710,12 @@
            z-index: 99;
            .itemTit {
                font-size: 18px;
                font-size: 14px;
                line-height: 22px;
                color: #072270;
            }
            .enTit {
                font-size: 12px;
                font-size: 10px;
                line-height: 14px;
                color: #072270;
            }
@@ -703,7 +755,7 @@
            }
            .itemTit1 {
                font-size: 24px;
                font-size: 16px;
                line-height: 36px;
                height: 40%;
                letter-spacing: 1px;
@@ -711,7 +763,7 @@
                margin-bottom: 12px;
            }
            .enTit1 {
                font-size: 14px;
                font-size: 12px;
                color: #072270;
            }
        }
@@ -817,7 +869,7 @@
        position: absolute;
        left: -100px;
        top: 0;
        width: 240px;
        width: 220px;
        height: 100%;
        z-index: 99;
        background: url('../../assets/newMenu/leftbg.png') no-repeat center;
@@ -896,12 +948,14 @@
        }
    }
    .menuGrid {
        width: calc(100vw - 240px);
        width: calc(100vw - 220px);
        height: calc(100vh - 320px);
        padding: 20px 20px 0;
        position: absolute;
        top: 260px;
        left: 240px;
        left: 220px;
      overflow: hidden;
      overflow-y: scroll;
        .gridCont {
            .grid-content {
                border-radius: 16px;
@@ -912,9 +966,10 @@
                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 rgba(255,255,255,0.8);
                    border: 2px solid #fff;
                    .iconImg{
                        animation: upDown 0.3s 1 ease-in-out forwards;