zs 11 months ago
parent
commit
565f0a06e0

+ 1 - 1
src/components/AdaptiveView/index.vue

@@ -9,7 +9,7 @@ export default {
   props: {
     width: {
       type: String,
-      default: window.innerWidth - 17
+      default: window.innerWidth
     },
     height: {
       type: String,

+ 6 - 5
src/layout/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="common-layout">
+  <div class="layout">
     <div class="top">
       <div class="w_1200">
         <el-row :gutter="20" align="middle">
@@ -184,10 +184,11 @@ provide('selectMenu', selectMenu)
 </script>
 
 <style scoped lang="scss">
-.common-layout {
+.layout {
   .top {
     position: sticky;
     top: 0;
+    padding: 5px 0;
     z-index: 100;
     background: #ffffff;
 
@@ -326,7 +327,7 @@ provide('selectMenu', selectMenu)
       .left {
         font-family: 'Microsoft YaHei';
         color: rgb(204, 204, 204);
-        font-size: $global-font-size-20;
+        font-size: $global-font-size-18;
         .left_2 {
           margin: 5px 0 0 0;
         }
@@ -342,7 +343,7 @@ provide('selectMenu', selectMenu)
         }
         .right_2 {
           font-family: 'Microsoft YaHei';
-          font-size: $global-font-size-20;
+          font-size: $global-font-size-18;
           color: rgb(204, 204, 204);
         }
         .right_2:hover {
@@ -354,7 +355,7 @@ provide('selectMenu', selectMenu)
     .footflex_3 {
       padding: 10px 0;
       font-family: 'Microsoft YaHei';
-      font-size: $global-font-size-20;
+      font-size: $global-font-size-18;
       color: rgb(204, 204, 204);
     }
   }

+ 299 - 0
src/views/index/index copy.vue

@@ -0,0 +1,299 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main animate__animated animate__backInRight" v-loading="loading">
+        <el-image class="video" :src="siteInfo.videoUrl" fit="fill" />
+        <div class="content">
+          <div class="one">
+            <el-row>
+              <el-col :span="14" class="left">
+                <el-image class="image" :src="siteInfo.logoUrl" fit="fill" />
+                <div class="left_1">
+                  <div class="title">{{ siteInfo.zhTitle }}</div>
+                  <div class="English">{{ siteInfo.zhEnglish }}</div>
+                </div>
+              </el-col>
+              <el-col :span="10" class="right">
+                <el-row align="middle">
+                  <el-col :span="6" class="right_1" @click="toCommon(0)">帮助中心</el-col>
+                  <el-col :span="14" class="right_2">
+                    <a-input-search
+                      v-model:value="searchValue"
+                      placeholder="请输入您想要搜索的内容"
+                      style="width: 240px"
+                      enter-button
+                      @search="onSearch"
+                    />
+                  </el-col>
+                  <el-col :span="4" v-if="user && user.id" class="right_3">
+                    <el-dropdown>
+                      <el-button type="primary" size="mini">
+                        {{ user.nick_name || '游客' }}
+                      </el-button>
+                      <template #dropdown>
+                        <el-dropdown-menu>
+                          <el-dropdown-menu>
+                            <el-dropdown-item @click="toOpen">管理中心</el-dropdown-item>
+                            <el-dropdown-item @click="toCenter">个人中心</el-dropdown-item>
+                            <el-dropdown-item @click="toLogout">注销</el-dropdown-item>
+                          </el-dropdown-menu>
+                        </el-dropdown-menu>
+                      </template>
+                    </el-dropdown>
+                  </el-col>
+                  <el-col :span="4" v-else class="right_3">
+                    <el-button @click="toCommon(1)" type="primary" size="small">登录</el-button>
+                    <el-button @click="toCommon(2)" type="primary" size="small">注册</el-button>
+                  </el-col>
+                </el-row>
+              </el-col>
+            </el-row>
+          </div>
+          <div class="two">
+            <el-row justify="center" align="middle">
+              <el-col class="list" :span="8" @click="switchMenu('one')">
+                <div class="bg"></div>
+                <div class="two_1">
+                  <text>{{ siteInfo.zhTitle }}</text>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+          <div class="thr">
+            <el-row justify="center" align="middle">
+              <el-col
+                class="list"
+                :span="4"
+                v-for="(item, index) in menu"
+                :key="index"
+                @click="switchMenu(item.href)"
+              >
+                <div class="thr_1">
+                  <div class="title">{{ item.title }}</div>
+                  <div class="English">{{ item.English }}</div>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+          <div class="four">
+            {{ footInfo.Copyright }}
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script setup>
+// 基础
+import { siteInfo, footInfo, menuList } from '@/layout/site'
+import { UserStore } from '@/store/user'
+const userStore = UserStore()
+const user = computed(() => userStore.user)
+// 加载中
+const loading = ref(false)
+// 路由
+const router = useRouter()
+// 搜索
+const searchValue = ref('')
+const menu = ref(menuList)
+// 请求
+onMounted(async () => {
+  loading.value = true
+  search()
+  loading.value = false
+})
+const search = async () => {
+  const menuList = menu.value.filter((item) => {
+    if (item.href != 'one') return item
+  })
+  menu.value = menuList
+}
+// 搜索
+const onSearch = (data) => {
+  const query = { type: 'search' }
+  if (data) query.searchValue = data
+  router.push({ path: '/search', query })
+}
+const toCommon = (type) => {
+  if (type === 0) router.push({ path: '/help' })
+  else if (type === 1) router.push({ path: '/login' })
+  else router.push({ path: '/register' })
+}
+// 点击指定模块
+const switchMenu = async (item) => {
+  router.push({ path: `/${item}` })
+}
+// 打开管理端
+const toOpen = async () => {
+  window.location.href = import.meta.env.VITE_APP_HOME
+}
+// 基础跳转
+const toCenter = () => {
+  router.push('/center')
+}
+// 退出登录
+const toLogout = () => {
+  userStore.logOut()
+  router.push('/login')
+}
+</script>
+<style scoped lang="scss">
+.main {
+  height: 100vh;
+  min-width: 1200px;
+
+  .video {
+    position: absolute;
+    top: 0px;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+    z-index: 0;
+  }
+
+  .content {
+    position: absolute;
+    top: 0px;
+    width: 100%;
+    height: 100%;
+    z-index: 0;
+    color: #ffffff;
+
+    .one {
+      width: 1200px;
+      min-width: 1200px;
+      margin: 0 auto;
+      padding-top: 32px;
+      padding-bottom: 12px;
+
+      .left {
+        display: flex;
+        align-items: center;
+
+        .image {
+          height: 45px;
+          width: 45px;
+          margin: 0 10px 0 0;
+        }
+
+        .left_1 {
+          margin: 0 0 0 5px;
+
+          .title {
+            margin: 0 0 5px 0;
+            font-size: 23px;
+            font-weight: bold;
+          }
+
+          .English {
+            font-size: 12px;
+            color: #fff;
+          }
+        }
+      }
+
+      .right {
+        font-size: 16px;
+        letter-spacing: 0;
+        color: #fff;
+        font-weight: 500;
+
+        .right_3 {
+          display: flex;
+          justify-content: space-between;
+          .example-showcase .el-dropdown-link {
+            cursor: pointer;
+            color: #1c66e7;
+            display: flex;
+            align-items: center;
+          }
+        }
+      }
+    }
+
+    .two {
+      width: 1200px;
+      min-width: 1200px;
+      margin: 0 auto;
+      width: 100%;
+      position: absolute;
+      left: 50%;
+      top: 45%;
+      transform: translate(-50%, -50%);
+
+      .list {
+        position: relative;
+        display: flex;
+        justify-content: center;
+
+        .bg {
+          margin: 10px;
+          width: 400px;
+          height: 400px;
+          z-index: 1;
+          background-image: url(/images/homebg.png);
+          background-position: center center;
+          background-repeat: no-repeat;
+          background-size: contain;
+          animation: animationName 5s linear infinite;
+        }
+
+        .two_1 {
+          position: absolute;
+          top: 45%;
+          left: 35%;
+          display: flex;
+          flex-direction: column;
+          align-items: center;
+          z-index: 999;
+          width: 200px;
+
+          text {
+            font-size: 20px;
+            color: #ffffff;
+            text-align: center;
+          }
+        }
+
+        @keyframes animationName {
+          100% {
+            transform: rotate(1turn);
+          }
+        }
+      }
+    }
+    .thr {
+      position: absolute;
+      left: 10%;
+      bottom: 10%;
+      .list {
+        margin: 10px 0;
+        .thr_1 {
+          font-family: PingFangSC-Semibold;
+          color: #fff;
+          margin-left: 14px;
+          text-align: center;
+          .title {
+            font-size: 19px;
+            font-weight: 600;
+          }
+          .English {
+            font-size: 12px;
+            font-weight: 400;
+          }
+        }
+      }
+    }
+
+    .four {
+      width: 100%;
+      position: absolute;
+      bottom: 20px;
+      text-align: center;
+      font-size: 12px;
+      color: #fff;
+    }
+  }
+}
+</style>

+ 167 - 202
src/views/index/index.vue

@@ -1,84 +1,75 @@
 <template>
-  <div id="index">
+  <div class="main">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight" v-loading="loading">
-        <el-image class="video" :src="siteInfo.videoUrl" fit="fill" />
-        <div class="content">
-          <div class="one">
-            <el-row>
-              <el-col :span="14" class="left">
-                <el-image class="image" :src="siteInfo.logoUrl" fit="fill" />
-                <div class="left_1">
-                  <div class="title">{{ siteInfo.zhTitle }}</div>
-                  <div class="English">{{ siteInfo.zhEnglish }}</div>
-                </div>
-              </el-col>
-              <el-col :span="10" class="right">
-                <el-row align="middle">
-                  <el-col :span="6" class="right_1" @click="toCommon(0)">帮助中心</el-col>
-                  <el-col :span="14" class="right_2">
-                    <a-input-search
-                      v-model:value="searchValue"
-                      placeholder="请输入您想要搜索的内容"
-                      style="width: 240px"
-                      enter-button
-                      @search="onSearch"
-                    />
-                  </el-col>
-                  <el-col :span="4" v-if="user && user.id" class="right_3">
-                    <el-dropdown>
-                      <el-button type="primary" size="mini">
-                        {{ user.nick_name || '游客' }}
-                      </el-button>
-                      <template #dropdown>
+      <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
+        <div class="one">
+          <el-row>
+            <el-col :span="14" class="left">
+              <el-image class="images" :src="logoUrl" fit="fill" />
+            </el-col>
+            <el-col :span="10" class="right">
+              <el-row align="middle">
+                <el-col :span="6" class="right_1" @click="toCommon(0)">帮助中心</el-col>
+                <el-col :span="14" class="right_2">
+                  <a-input-search
+                    v-model:value="searchValue"
+                    placeholder="请输入您想要搜索的内容"
+                    style="width: 240px"
+                    enter-button
+                    @search="onSearch"
+                  />
+                </el-col>
+                <el-col :span="4" v-if="user && user.id" class="right_3">
+                  <el-dropdown>
+                    <el-button type="primary">
+                      {{ user.nick_name || '游客' }}
+                    </el-button>
+                    <template #dropdown>
+                      <el-dropdown-menu>
                         <el-dropdown-menu>
-                          <el-dropdown-menu>
-                            <el-dropdown-item @click="toOpen">管理中心</el-dropdown-item>
-                            <el-dropdown-item @click="toCenter">个人中心</el-dropdown-item>
-                            <el-dropdown-item @click="toLogout">注销</el-dropdown-item>
-                          </el-dropdown-menu>
+                          <el-dropdown-item @click="toOpen">管理中心</el-dropdown-item>
+                          <el-dropdown-item @click="toCenter">个人中心</el-dropdown-item>
+                          <el-dropdown-item @click="toLogout">注销</el-dropdown-item>
                         </el-dropdown-menu>
-                      </template>
-                    </el-dropdown>
-                  </el-col>
-                  <el-col :span="4" v-else class="right_3">
-                    <el-button @click="toCommon(1)" type="primary" size="small">登录</el-button>
-                    <el-button @click="toCommon(2)" type="primary" size="small">注册</el-button>
-                  </el-col>
-                </el-row>
-              </el-col>
-            </el-row>
+                      </el-dropdown-menu>
+                    </template>
+                  </el-dropdown>
+                </el-col>
+                <el-col :span="4" v-else class="right_3">
+                  <el-button @click="toCommon(1)" type="primary">登录</el-button>
+                  <el-button @click="toCommon(2)" type="primary">注册</el-button>
+                </el-col>
+              </el-row>
+            </el-col>
+          </el-row>
+        </div>
+        <div class="two" @click="switchMenu('one')">
+          <div class="two_1">
+            <el-image class="image" :src="homeBg" fit="fill" />
           </div>
-          <div class="two">
-            <el-row justify="center" align="middle">
-              <el-col class="list" :span="8" @click="switchMenu('one')">
-                <div class="bg"></div>
-                <div class="two_1">
-                  <text>{{ siteInfo.zhTitle }}</text>
-                </div>
-              </el-col>
-            </el-row>
+          <div class="two_2">
+            <text>{{ siteInfo.zhTitle }}</text>
           </div>
+        </div>
+        <div class="w_1200">
           <div class="thr">
-            <el-row justify="center" align="middle">
-              <el-col
-                class="list"
-                :span="4"
-                v-for="(item, index) in menu"
-                :key="index"
-                @click="switchMenu(item.href)"
-              >
-                <div class="thr_1">
-                  <div class="title">{{ item.title }}</div>
-                  <div class="English">{{ item.English }}</div>
-                </div>
-              </el-col>
-            </el-row>
-          </div>
-          <div class="four">
-            {{ footInfo.Copyright }}
+            <el-col
+              class="list"
+              :span="4"
+              v-for="(item, index) in menu"
+              :key="index"
+              @click="switchMenu(item.href)"
+            >
+              <div class="thr_1">
+                <div class="title">{{ item.title }}</div>
+                <div class="English">{{ item.English }}</div>
+              </div>
+            </el-col>
           </div>
         </div>
+        <div class="four">
+          {{ footInfo.Copyright }}
+        </div>
       </el-col>
     </el-row>
   </div>
@@ -86,6 +77,9 @@
 
 <script setup>
 // 基础
+import logoUrl from '/images/logo-jilin.png'
+import homeBg from '/images/homebg.png'
+
 import { siteInfo, footInfo, menuList } from '@/layout/site'
 import { UserStore } from '@/store/user'
 const userStore = UserStore()
@@ -105,7 +99,7 @@ onMounted(async () => {
 })
 const search = async () => {
   const menuList = menu.value.filter((item) => {
-    if (item.href != 'one') return item
+    if (item.route != 'one') return item
   })
   menu.value = menuList
 }
@@ -141,159 +135,130 @@ const toLogout = () => {
 <style scoped lang="scss">
 .main {
   height: 100vh;
-  min-width: 1200px;
+  width: 100%;
+  position: relative;
+  background: url('./images/home.jpg');
+  background-size: 100% 100%;
+  padding: 0px;
+  margin: 0px;
+  color: #fff;
+  font-family: '微软雅黑';
+  .one {
+    width: 1200px;
+    min-width: 1200px;
+    margin: 0 auto;
+    padding-top: 32px;
+    padding-bottom: 12px;
 
-  .video {
-    position: absolute;
-    top: 0px;
-    width: 100%;
-    height: 100%;
-    object-fit: cover;
-    z-index: 0;
-  }
-
-  .content {
-    position: absolute;
-    top: 0px;
-    width: 100%;
-    height: 100%;
-    z-index: 0;
-    color: #ffffff;
+    .left {
+      display: flex;
+      align-items: center;
 
-    .one {
-      width: 1200px;
-      min-width: 1200px;
-      margin: 0 auto;
-      padding-top: 32px;
-      padding-bottom: 12px;
-
-      .left {
-        display: flex;
-        align-items: center;
-
-        .image {
-          height: 45px;
-          width: 45px;
-          margin: 0 10px 0 0;
-        }
-
-        .left_1 {
-          margin: 0 0 0 5px;
-
-          .title {
-            margin: 0 0 5px 0;
-            font-size: 23px;
-            font-weight: bold;
-          }
+      .image {
+        height: 45px;
+        width: 45px;
+        margin: 0 10px 0 0;
+      }
 
-          .English {
-            font-size: 12px;
-            color: #fff;
-          }
-        }
+      .images {
+        height: auto;
+        width: 335px;
       }
+      .left_1 {
+        margin: 0 0 0 5px;
 
-      .right {
-        font-size: 16px;
-        letter-spacing: 0;
-        color: #fff;
-        font-weight: 500;
+        .title {
+          margin: 0 0 5px 0;
+          font-size: 23px;
+          font-weight: bold;
+        }
 
-        .right_3 {
-          display: flex;
-          justify-content: space-between;
-          .example-showcase .el-dropdown-link {
-            cursor: pointer;
-            color: #1c66e7;
-            display: flex;
-            align-items: center;
-          }
+        .English {
+          font-size: 12px;
+          color: #fff;
         }
       }
     }
 
-    .two {
-      width: 1200px;
-      min-width: 1200px;
-      margin: 0 auto;
-      width: 100%;
-      position: absolute;
-      left: 50%;
-      top: 45%;
-      transform: translate(-50%, -50%);
+    .right {
+      font-size: 16px;
+      letter-spacing: 0;
+      color: #fff;
+      font-weight: 500;
 
-      .list {
-        position: relative;
+      .right_3 {
         display: flex;
-        justify-content: center;
-
-        .bg {
-          margin: 10px;
-          width: 400px;
-          height: 400px;
-          z-index: 1;
-          background-image: url(/images/homebg.png);
-          background-position: center center;
-          background-repeat: no-repeat;
-          background-size: contain;
-          animation: animationName 5s linear infinite;
-        }
-
-        .two_1 {
-          position: absolute;
-          top: 45%;
-          left: 35%;
+        justify-content: space-between;
+        .example-showcase .el-dropdown-link {
+          cursor: pointer;
+          color: #1c66e7;
           display: flex;
-          flex-direction: column;
           align-items: center;
-          z-index: 999;
-          width: 200px;
-
-          text {
-            font-size: 20px;
-            color: #ffffff;
-            text-align: center;
-          }
         }
+      }
+    }
+  }
 
-        @keyframes animationName {
-          100% {
-            transform: rotate(1turn);
-          }
+  .two {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 1200px;
+    min-width: 1200px;
+    margin: 0 auto;
+    height: 60vh;
+    .two_1 {
+      .image {
+        width: 400px;
+        height: 400px;
+        animation: animationName 5s linear infinite;
+      }
+      @keyframes animationName {
+        100% {
+          transform: rotate(1turn);
         }
       }
     }
-    .thr {
+    .two_2 {
       position: absolute;
-      left: 10%;
-      bottom: 10%;
-      .list {
-        margin: 10px 0;
-        .thr_1 {
-          font-family: PingFangSC-Semibold;
-          color: #fff;
-          margin-left: 14px;
-          text-align: center;
-          .title {
-            font-size: 19px;
-            font-weight: 600;
-          }
-          .English {
-            font-size: 12px;
-            font-weight: 400;
-          }
+      left: 41%;
+      text {
+        font-size: 22px;
+        color: #ffffff;
+        text-align: center;
+      }
+    }
+  }
+  .thr {
+    display: flex;
+    flex-wrap: wrap;
+    .list {
+      margin: 10px 0;
+      .thr_1 {
+        font-family: PingFangSC-Semibold;
+        color: #fff;
+        margin-left: 14px;
+        text-align: center;
+        .title {
+          font-size: 20px;
+          font-weight: 600;
+          margin: 0 0 10px 0;
+        }
+        .English {
+          font-size: 14px;
+          font-weight: 400;
         }
       }
     }
+  }
 
-    .four {
-      width: 100%;
-      position: absolute;
-      bottom: 20px;
-      text-align: center;
-      font-size: 12px;
-      color: #fff;
-    }
+  .four {
+    margin: 100px 0 10px 0;
+    width: 100%;
+    text-align: center;
+    font-size: 12px;
+    color: #fff;
   }
 }
 </style>

+ 0 - 85
src/views/main/elevenHatch/dataV/mixin/autoResize.js

@@ -1,85 +0,0 @@
-import { debounce, observerDomResize } from '../util/index'
-
-export default {
-  data () {
-    return {
-      dom: '',
-
-      width: 0,
-      height: 0,
-
-      debounceInitWHFun: '',
-
-      domObserver: ''
-    }
-  },
-  methods: {
-    async autoResizeMixinInit () {
-      const { initWH, getDebounceInitWHFun, bindDomResizeCallback, afterAutoResizeMixinInit } = this
-
-      await initWH(false)
-
-      getDebounceInitWHFun()
-
-      bindDomResizeCallback()
-
-      if (typeof afterAutoResizeMixinInit === 'function') afterAutoResizeMixinInit()
-    },
-    initWH (resize = true) {
-      const { $nextTick, $refs, ref, onResize } = this
-
-      return new Promise(resolve => {
-        $nextTick((_) => {
-          const dom = (this.dom = $refs[ref])
-          // this.width = dom ? dom.clientWidth : 0
-          // this.height = dom ? dom.clientHeight : 0
-          this.width = window.innerWidth
-          this.height = window.innerHeight
-
-          if (!dom) {
-            console.warn('DataV: Failed to get dom node, component rendering may be abnormal!')
-          } else if (!this.width || !this.height) {
-            console.warn('DataV: Component width or height is 0px, rendering abnormality may occur!')
-          }
-
-          if (typeof onResize === 'function' && resize) onResize()
-
-          resolve()
-        })
-      })
-    },
-    getDebounceInitWHFun () {
-      const { initWH } = this
-
-      this.debounceInitWHFun = debounce(100, initWH)
-    },
-    bindDomResizeCallback () {
-      const { dom, debounceInitWHFun } = this
-
-      this.domObserver = observerDomResize(dom, debounceInitWHFun)
-
-      window.addEventListener('resize', debounceInitWHFun)
-    },
-    unbindDomResizeCallback () {
-      let { domObserver, debounceInitWHFun } = this
-
-      if (!domObserver) return
-
-      domObserver.disconnect()
-      domObserver.takeRecords()
-      domObserver = null
-
-      window.removeEventListener('resize', debounceInitWHFun)
-    }
-  },
-  mounted () {
-    const { autoResizeMixinInit } = this
-
-    autoResizeMixinInit()
-  },
-  beforeDestroy () {
-    const { unbindDomResizeCallback } = this
-
-    unbindDomResizeCallback()
-  }
-}

+ 0 - 60
src/views/main/elevenHatch/dataV/myMain.vue

@@ -1,60 +0,0 @@
-<template>
-  <div id="dv-full-screen-container" :ref="ref">
-    <template v-if="ready">
-      <slot></slot>
-    </template>
-  </div>
-</template>
-
-<script>
-import autoResize from './mixin/autoResize.js'
-
-export default {
-  name: 'DvFullScreenContainer',
-  mixins: [autoResize],
-  data() {
-    return {
-      ref: 'full-screen-container',
-      allWidth: 0,
-      allHeight: 0,
-      scale: 0,
-      datavRoot: '',
-      ready: false
-    }
-  },
-  methods: {
-    afterAutoResizeMixinInit() {
-      const { initConfig, setAppScale } = this
-
-      initConfig()
-
-      setAppScale()
-
-      this.ready = true
-    },
-    initConfig() {
-      const { dom } = this
-      // const { width } = screen
-      let width = window.innerWidth
-      let height = window.innerHeight
-      this.allWidth = width
-      this.allHeight = height
-
-      dom.style.width = `${width - 17}px`
-      dom.style.height = `${height}px`
-    },
-    setAppScale() {
-      const { allWidth, allHeight, dom } = this
-      const currentWidth = window.outerWidth
-      const currentHeight = window.innerHeight
-      // dom.style.transform = `scale(${currentWidth / allWidth})`
-      dom.style.transform = `scaleY(${currentHeight / allHeight}) scaleX(${currentWidth / allWidth})`
-    },
-    onResize() {
-      const { setAppScale } = this
-
-      setAppScale()
-    }
-  }
-}
-</script>

+ 0 - 47
src/views/main/elevenHatch/dataV/util/index.js

@@ -1,47 +0,0 @@
-export function randomExtend(minNum, maxNum) {
-  if (arguments.length === 1) {
-    return parseInt(Math.random() * minNum + 1, 10)
-  } else {
-    return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)
-  }
-}
-
-export function debounce(delay, callback) {
-  let lastTime
-
-  return function () {
-    clearTimeout(lastTime)
-
-    const [that, args] = [this, arguments]
-
-    lastTime = setTimeout(() => {
-      callback.apply(that, args)
-    }, delay)
-  }
-}
-
-export function observerDomResize(dom, callback) {
-  const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
-
-  const observer = new MutationObserver(callback)
-
-  observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true })
-
-  return observer
-}
-
-export function getPointDistance(pointOne, pointTwo) {
-  const minusX = Math.abs(pointOne[0] - pointTwo[0])
-
-  const minusY = Math.abs(pointOne[1] - pointTwo[1])
-
-  return Math.sqrt(minusX * minusX + minusY * minusY)
-}
-
-export function uuid(hasHyphen) {
-  return (hasHyphen ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx').replace(/[xy]/g, function (c) {
-    const r = (Math.random() * 16) | 0
-    const v = c == 'x' ? r : (r & 0x3) | 0x8
-    return v.toString(16)
-  })
-}

+ 83 - 86
src/views/main/elevenHatch/index.vue

@@ -1,103 +1,100 @@
 <template>
-  <myMain>
-    <div class="main">
-      <el-row>
-        <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
-          <div class="head">
-            <div class="head_1">孵化器管理驾驶舱</div>
-            <div class="head_2" id="showTime">{{ formattedTime }}</div>
-          </div>
-          <div class="center">
-            <el-row :gutter="20">
-              <el-col :span="6">
-                <div class="center_1">
-                  <div class="boxall">
-                    <div class="alltitle">孵化进度</div>
-                    <echarts3></echarts3>
-                  </div>
-                  <div class="boxall">
-                    <div class="alltitle">孵化项目列表</div>
-                    <div class="wraptit">
-                      <span>项目名称</span><span>金额</span><span>风险概率</span><span>时间</span>
-                    </div>
-                    <div class="one">
-                      <vue3-seamless-scroll
-                        :list="oneList"
-                        :hover="true"
-                        :step="0.2"
-                        :wheel="true"
-                        :isWatch="true"
-                        class="scroll"
-                      >
-                        <div class="wrap" v-for="(item, index) in oneList" :key="index">
-                          <div class="other">{{ item.name }}</div>
-                          <div class="other">{{ item.money }}</div>
-                          <div class="other">{{ item.number }}</div>
-                          <div class="other">{{ item.time }}</div>
-                        </div>
-                      </vue3-seamless-scroll>
-                    </div>
+  <div class="main">
+    <el-row>
+      <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
+        <div class="head">
+          <div class="head_1">孵化器管理驾驶舱</div>
+          <div class="head_2" id="showTime">{{ formattedTime }}</div>
+        </div>
+        <div class="center">
+          <el-row :gutter="20">
+            <el-col :span="6">
+              <div class="center_1">
+                <div class="boxall">
+                  <div class="alltitle">孵化进度</div>
+                  <echarts3></echarts3>
+                </div>
+                <div class="boxall">
+                  <div class="alltitle">孵化项目列表</div>
+                  <div class="wraptit">
+                    <span>项目名称</span><span>金额</span><span>风险概率</span><span>时间</span>
                   </div>
-                  <div class="boxall">
-                    <div class="alltitle">行业领域占比情况</div>
-                    <echarts1></echarts1>
+                  <div class="one">
+                    <vue3-seamless-scroll
+                      :list="oneList"
+                      :hover="true"
+                      :step="0.2"
+                      :wheel="true"
+                      :isWatch="true"
+                      class="scroll"
+                    >
+                      <div class="wrap" v-for="(item, index) in oneList" :key="index">
+                        <div class="other">{{ item.name }}</div>
+                        <div class="other">{{ item.money }}</div>
+                        <div class="other">{{ item.number }}</div>
+                        <div class="other">{{ item.time }}</div>
+                      </div>
+                    </vue3-seamless-scroll>
                   </div>
                 </div>
-              </el-col>
-              <el-col :span="12">
-                <div class="center_1">
-                  <div class="boxall" style="height: 160px">
-                    <div class="clearfix navboxall" style="height: 100%">
-                      <div class="pulll_left num">
-                        <div class="numbt">总体情况<span>(单位:家)</span></div>
-                        <div class="numtxt">190</div>
+                <div class="boxall">
+                  <div class="alltitle">行业领域占比情况</div>
+                  <echarts1></echarts1>
+                </div>
+              </div>
+            </el-col>
+            <el-col :span="12">
+              <div class="center_1">
+                <div class="boxall" style="height: 160px">
+                  <div class="clearfix navboxall" style="height: 100%">
+                    <div class="pulll_left num">
+                      <div class="numbt">总体情况<span>(单位:家)</span></div>
+                      <div class="numtxt">190</div>
+                    </div>
+                    <div class="pulll_right zhibiao">
+                      <div class="zb1">
+                        <span>工研院运营</span>
+                        <echarts5></echarts5>
                       </div>
-                      <div class="pulll_right zhibiao">
-                        <div class="zb1">
-                          <span>工研院运营</span>
-                          <echarts5></echarts5>
-                        </div>
-                        <div class="zb2">
-                          <span>参股孵化器</span>
-                          <echarts6></echarts6>
-                        </div>
-                        <div class="zb3">
-                          <span>合作孵化器</span>
-                          <echarts7></echarts7>
-                        </div>
+                      <div class="zb2">
+                        <span>参股孵化器</span>
+                        <echarts6></echarts6>
+                      </div>
+                      <div class="zb3">
+                        <span>合作孵化器</span>
+                        <echarts7></echarts7>
                       </div>
                     </div>
                   </div>
-                  <div class="boxall">
-                    <div class="alltitle">年度项目完成对比</div>
-                    <echarts2></echarts2>
-                  </div>
-                  <div class="boxall">
-                    <div class="alltitle">投资收益对比</div>
-                    <echarts4></echarts4>
-                  </div>
                 </div>
-              </el-col>
-              <el-col :span="6">
-                <div class="center_1">
-                  <div class="boxall">
-                    <div class="alltitle">视频监控</div>
-                    <div v-for="(item, index) in twoList" :key="index">
-                      <el-image class="image" :src="item.url" fit="fill" />
-                    </div>
+                <div class="boxall">
+                  <div class="alltitle">年度项目完成对比</div>
+                  <echarts2></echarts2>
+                </div>
+                <div class="boxall">
+                  <div class="alltitle">投资收益对比</div>
+                  <echarts4></echarts4>
+                </div>
+              </div>
+            </el-col>
+            <el-col :span="6">
+              <div class="center_1">
+                <div class="boxall">
+                  <div class="alltitle">视频监控</div>
+                  <div v-for="(item, index) in twoList" :key="index">
+                    <el-image class="image" :src="item.url" fit="fill" />
                   </div>
                 </div>
-              </el-col>
-            </el-row>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-  </myMain>
+              </div>
+            </el-col>
+          </el-row>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
 </template>
 
 <script setup>
-import myMain from './dataV/myMain.vue'
 import echarts1 from './path/echarts1.vue'
 import echarts2 from './path/echarts2.vue'
 import echarts3 from './path/echarts3.vue'

+ 0 - 85
src/views/main/hatch/dataV/mixin/autoResize.js

@@ -1,85 +0,0 @@
-import { debounce, observerDomResize } from '../util/index'
-
-export default {
-  data () {
-    return {
-      dom: '',
-
-      width: 0,
-      height: 0,
-
-      debounceInitWHFun: '',
-
-      domObserver: ''
-    }
-  },
-  methods: {
-    async autoResizeMixinInit () {
-      const { initWH, getDebounceInitWHFun, bindDomResizeCallback, afterAutoResizeMixinInit } = this
-
-      await initWH(false)
-
-      getDebounceInitWHFun()
-
-      bindDomResizeCallback()
-
-      if (typeof afterAutoResizeMixinInit === 'function') afterAutoResizeMixinInit()
-    },
-    initWH (resize = true) {
-      const { $nextTick, $refs, ref, onResize } = this
-
-      return new Promise(resolve => {
-        $nextTick((_) => {
-          const dom = (this.dom = $refs[ref])
-          // this.width = dom ? dom.clientWidth : 0
-          // this.height = dom ? dom.clientHeight : 0
-          this.width = window.innerWidth
-          this.height = window.innerHeight
-
-          if (!dom) {
-            console.warn('DataV: Failed to get dom node, component rendering may be abnormal!')
-          } else if (!this.width || !this.height) {
-            console.warn('DataV: Component width or height is 0px, rendering abnormality may occur!')
-          }
-
-          if (typeof onResize === 'function' && resize) onResize()
-
-          resolve()
-        })
-      })
-    },
-    getDebounceInitWHFun () {
-      const { initWH } = this
-
-      this.debounceInitWHFun = debounce(100, initWH)
-    },
-    bindDomResizeCallback () {
-      const { dom, debounceInitWHFun } = this
-
-      this.domObserver = observerDomResize(dom, debounceInitWHFun)
-
-      window.addEventListener('resize', debounceInitWHFun)
-    },
-    unbindDomResizeCallback () {
-      let { domObserver, debounceInitWHFun } = this
-
-      if (!domObserver) return
-
-      domObserver.disconnect()
-      domObserver.takeRecords()
-      domObserver = null
-
-      window.removeEventListener('resize', debounceInitWHFun)
-    }
-  },
-  mounted () {
-    const { autoResizeMixinInit } = this
-
-    autoResizeMixinInit()
-  },
-  beforeDestroy () {
-    const { unbindDomResizeCallback } = this
-
-    unbindDomResizeCallback()
-  }
-}

+ 0 - 60
src/views/main/hatch/dataV/myMain.vue

@@ -1,60 +0,0 @@
-<template>
-  <div id="dv-full-screen-container" :ref="ref">
-    <template v-if="ready">
-      <slot></slot>
-    </template>
-  </div>
-</template>
-
-<script>
-import autoResize from './mixin/autoResize.js'
-
-export default {
-  name: 'DvFullScreenContainer',
-  mixins: [autoResize],
-  data() {
-    return {
-      ref: 'full-screen-container',
-      allWidth: 0,
-      allHeight: 0,
-      scale: 0,
-      datavRoot: '',
-      ready: false
-    }
-  },
-  methods: {
-    afterAutoResizeMixinInit() {
-      const { initConfig, setAppScale } = this
-
-      initConfig()
-
-      setAppScale()
-
-      this.ready = true
-    },
-    initConfig() {
-      const { dom } = this
-      // const { width } = screen
-      let width = window.innerWidth
-      let height = window.innerHeight
-      this.allWidth = width
-      this.allHeight = height
-
-      dom.style.width = `${width - 17}px`
-      dom.style.height = `${height}px`
-    },
-    setAppScale() {
-      const { allWidth, allHeight, dom } = this
-      const currentWidth = window.outerWidth
-      const currentHeight = window.innerHeight
-      // dom.style.transform = `scale(${currentWidth / allWidth})`
-      dom.style.transform = `scaleY(${currentHeight / allHeight}) scaleX(${currentWidth / allWidth})`
-    },
-    onResize() {
-      const { setAppScale } = this
-
-      setAppScale()
-    }
-  }
-}
-</script>

+ 0 - 47
src/views/main/hatch/dataV/util/index.js

@@ -1,47 +0,0 @@
-export function randomExtend(minNum, maxNum) {
-  if (arguments.length === 1) {
-    return parseInt(Math.random() * minNum + 1, 10)
-  } else {
-    return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)
-  }
-}
-
-export function debounce(delay, callback) {
-  let lastTime
-
-  return function () {
-    clearTimeout(lastTime)
-
-    const [that, args] = [this, arguments]
-
-    lastTime = setTimeout(() => {
-      callback.apply(that, args)
-    }, delay)
-  }
-}
-
-export function observerDomResize(dom, callback) {
-  const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
-
-  const observer = new MutationObserver(callback)
-
-  observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true })
-
-  return observer
-}
-
-export function getPointDistance(pointOne, pointTwo) {
-  const minusX = Math.abs(pointOne[0] - pointTwo[0])
-
-  const minusY = Math.abs(pointOne[1] - pointTwo[1])
-
-  return Math.sqrt(minusX * minusX + minusY * minusY)
-}
-
-export function uuid(hasHyphen) {
-  return (hasHyphen ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx').replace(/[xy]/g, function (c) {
-    const r = (Math.random() * 16) | 0
-    const v = c == 'x' ? r : (r & 0x3) | 0x8
-    return v.toString(16)
-  })
-}

+ 102 - 105
src/views/main/hatch/twelve_2.vue

@@ -1,126 +1,123 @@
 <template>
-  <myMain>
-    <div class="hatch">
-      <el-row>
-        <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
-          <div class="head">
-            <div class="head_1">产学研用平台孵化大脑</div>
-            <div class="head_2" id="showTime">{{ formattedTime }}</div>
-          </div>
-          <div class="center">
-            <ul class="clearfix">
-              <li>
-                <div class="boxall">
-                  <div class="titleall">模块标题</div>
-                  <div class="list">
-                    <div class="list_1" v-for="i in listOne" :key="i.value">
-                      <h2>{{ i.value }}</h2>
-                      <span>{{ i.label }}</span>
-                    </div>
+  <div class="hatch">
+    <el-row>
+      <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
+        <div class="head">
+          <div class="head_1">产学研用平台孵化大脑</div>
+          <div class="head_2" id="showTime">{{ formattedTime }}</div>
+        </div>
+        <div class="center">
+          <ul class="clearfix">
+            <li>
+              <div class="boxall">
+                <div class="titleall">模块标题</div>
+                <div class="list">
+                  <div class="list_1" v-for="i in listOne" :key="i.value">
+                    <h2>{{ i.value }}</h2>
+                    <span>{{ i.label }}</span>
                   </div>
-                  <div class="boxfoot"></div>
                 </div>
-              </li>
-              <li>
-                <div class="barnav">
-                  <div class="top">
-                    <div class="list" v-for="i in listTwo" :key="i.value">
-                      <div class="value">{{ i.value }}</div>
-                    </div>
-                  </div>
-                  <div class="top">
-                    <div class="list" v-for="i in listTwo" :key="i.value">
-                      <div class="label">{{ i.label }}</div>
-                    </div>
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+            <li>
+              <div class="barnav">
+                <div class="top">
+                  <div class="list" v-for="i in listTwo" :key="i.value">
+                    <div class="value">{{ i.value }}</div>
                   </div>
-                  <div class="boxfoot"></div>
-                </div>
-                <div class="mapbox">
-                  <map1 class="map"></map1>
                 </div>
-              </li>
-              <li>
-                <div class="boxall">
-                  <div class="titleall">模块标题</div>
-                  <div class="list">
-                    <div class="list_1" v-for="i in listOne" :key="i.value">
-                      <h2>{{ i.value }}</h2>
-                      <span>{{ i.label }}</span>
-                    </div>
+                <div class="top">
+                  <div class="list" v-for="i in listTwo" :key="i.value">
+                    <div class="label">{{ i.label }}</div>
                   </div>
-                  <div class="boxfoot"></div>
                 </div>
-              </li>
-            </ul>
-            <ul class="clearfix">
-              <li>
-                <div class="boxall">
-                  <div class="titleall">模块标题</div>
-                  <div class="list thr">
-                    <div class="list_1" v-for="i in listThr" :key="i.value">
-                      <h2>{{ i.value }}</h2>
-                      <span>{{ i.label }}</span>
-                    </div>
+                <div class="boxfoot"></div>
+              </div>
+              <div class="mapbox">
+                <map1 class="map"></map1>
+              </div>
+            </li>
+            <li>
+              <div class="boxall">
+                <div class="titleall">模块标题</div>
+                <div class="list">
+                  <div class="list_1" v-for="i in listOne" :key="i.value">
+                    <h2>{{ i.value }}</h2>
+                    <span>{{ i.label }}</span>
                   </div>
-                  <div class="boxfoot"></div>
                 </div>
-              </li>
-              <li></li>
-              <li>
-                <div class="boxall">
-                  <div class="titleall">优质企业</div>
-                  <div class="list four">
-                    <vue3-seamless-scroll
-                      :list="listFour"
-                      :hover="true"
-                      :step="0.2"
-                      :wheel="true"
-                      :isWatch="true"
-                      class="scroll"
-                    >
-                      <div class="wrap" v-for="(item, index) in listFour" :key="index">
-                        <div class="other">{{ item.name }}</div>
-                        <div class="other">{{ item.number }}人</div>
-                        <div class="other">{{ item.time }}</div>
-                      </div>
-                    </vue3-seamless-scroll>
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+          </ul>
+          <ul class="clearfix">
+            <li>
+              <div class="boxall">
+                <div class="titleall">模块标题</div>
+                <div class="list thr">
+                  <div class="list_1" v-for="i in listThr" :key="i.value">
+                    <h2>{{ i.value }}</h2>
+                    <span>{{ i.label }}</span>
                   </div>
-                  <div class="boxfoot"></div>
                 </div>
-              </li>
-            </ul>
-            <ul class="clearfix" style="display: flex; justify-content: space-between">
-              <li style="width: 49.5%">
-                <div class="boxall">
-                  <div class="titleall">模块标题</div>
-                  <div class="five">
-                    <echarts1></echarts1>
-                  </div>
-                  <div class="boxfoot"></div>
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+            <li></li>
+            <li>
+              <div class="boxall">
+                <div class="titleall">优质企业</div>
+                <div class="list four">
+                  <vue3-seamless-scroll
+                    :list="listFour"
+                    :hover="true"
+                    :step="0.2"
+                    :wheel="true"
+                    :isWatch="true"
+                    class="scroll"
+                  >
+                    <div class="wrap" v-for="(item, index) in listFour" :key="index">
+                      <div class="other">{{ item.name }}</div>
+                      <div class="other">{{ item.number }}人</div>
+                      <div class="other">{{ item.time }}</div>
+                    </div>
+                  </vue3-seamless-scroll>
                 </div>
-              </li>
-              <li style="width: 49.5%">
-                <div class="boxall">
-                  <div class="titleall">模块标题</div>
-                  <div class="six">
-                    <echarts2></echarts2>
-                  </div>
-                  <div class="boxfoot"></div>
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+          </ul>
+          <ul class="clearfix" style="display: flex; justify-content: space-between">
+            <li style="width: 49.5%">
+              <div class="boxall">
+                <div class="titleall">模块标题</div>
+                <div class="five">
+                  <echarts1></echarts1>
+                </div>
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+            <li style="width: 49.5%">
+              <div class="boxall">
+                <div class="titleall">模块标题</div>
+                <div class="six">
+                  <echarts2></echarts2>
                 </div>
-              </li>
-            </ul>
-          </div>
-        </el-col>
-      </el-row>
-      <!-- <div class="copyright">
+                <div class="boxfoot"></div>
+              </div>
+            </li>
+          </ul>
+        </div>
+      </el-col>
+    </el-row>
+    <!-- <div class="copyright">
       版权所有:Copyright©2007-2024 吉林省华欣数字科技股份有限公司 │ 吉ICP备14005689号
     </div> -->
-    </div>
-  </myMain>
+  </div>
 </template>
 
 <script setup>
-import myMain from './dataV/myMain.vue'
 import map1 from './path/map.vue'
 import echarts1 from './path/echarts1.vue'
 import echarts2 from './path/echarts2.vue'

+ 0 - 85
src/views/main/twelveHatch/dataV/mixin/autoResize.js

@@ -1,85 +0,0 @@
-import { debounce, observerDomResize } from '../util/index'
-
-export default {
-  data () {
-    return {
-      dom: '',
-
-      width: 0,
-      height: 0,
-
-      debounceInitWHFun: '',
-
-      domObserver: ''
-    }
-  },
-  methods: {
-    async autoResizeMixinInit () {
-      const { initWH, getDebounceInitWHFun, bindDomResizeCallback, afterAutoResizeMixinInit } = this
-
-      await initWH(false)
-
-      getDebounceInitWHFun()
-
-      bindDomResizeCallback()
-
-      if (typeof afterAutoResizeMixinInit === 'function') afterAutoResizeMixinInit()
-    },
-    initWH (resize = true) {
-      const { $nextTick, $refs, ref, onResize } = this
-
-      return new Promise(resolve => {
-        $nextTick((_) => {
-          const dom = (this.dom = $refs[ref])
-          // this.width = dom ? dom.clientWidth : 0
-          // this.height = dom ? dom.clientHeight : 0
-          this.width = window.innerWidth
-          this.height = window.innerHeight
-
-          if (!dom) {
-            console.warn('DataV: Failed to get dom node, component rendering may be abnormal!')
-          } else if (!this.width || !this.height) {
-            console.warn('DataV: Component width or height is 0px, rendering abnormality may occur!')
-          }
-
-          if (typeof onResize === 'function' && resize) onResize()
-
-          resolve()
-        })
-      })
-    },
-    getDebounceInitWHFun () {
-      const { initWH } = this
-
-      this.debounceInitWHFun = debounce(100, initWH)
-    },
-    bindDomResizeCallback () {
-      const { dom, debounceInitWHFun } = this
-
-      this.domObserver = observerDomResize(dom, debounceInitWHFun)
-
-      window.addEventListener('resize', debounceInitWHFun)
-    },
-    unbindDomResizeCallback () {
-      let { domObserver, debounceInitWHFun } = this
-
-      if (!domObserver) return
-
-      domObserver.disconnect()
-      domObserver.takeRecords()
-      domObserver = null
-
-      window.removeEventListener('resize', debounceInitWHFun)
-    }
-  },
-  mounted () {
-    const { autoResizeMixinInit } = this
-
-    autoResizeMixinInit()
-  },
-  beforeDestroy () {
-    const { unbindDomResizeCallback } = this
-
-    unbindDomResizeCallback()
-  }
-}

+ 0 - 60
src/views/main/twelveHatch/dataV/myMain.vue

@@ -1,60 +0,0 @@
-<template>
-  <div id="dv-full-screen-container" :ref="ref">
-    <template v-if="ready">
-      <slot></slot>
-    </template>
-  </div>
-</template>
-
-<script>
-import autoResize from './mixin/autoResize.js'
-
-export default {
-  name: 'DvFullScreenContainer',
-  mixins: [autoResize],
-  data() {
-    return {
-      ref: 'full-screen-container',
-      allWidth: 0,
-      allHeight: 0,
-      scale: 0,
-      datavRoot: '',
-      ready: false
-    }
-  },
-  methods: {
-    afterAutoResizeMixinInit() {
-      const { initConfig, setAppScale } = this
-
-      initConfig()
-
-      setAppScale()
-
-      this.ready = true
-    },
-    initConfig() {
-      const { dom } = this
-      // const { width } = screen
-      let width = window.innerWidth
-      let height = window.innerHeight
-      this.allWidth = width
-      this.allHeight = height
-
-      dom.style.width = `${width - 17}px`
-      dom.style.height = `${height}px`
-    },
-    setAppScale() {
-      const { allWidth, allHeight, dom } = this
-      const currentWidth = window.outerWidth
-      const currentHeight = window.innerHeight
-      // dom.style.transform = `scale(${currentWidth / allWidth})`
-      dom.style.transform = `scaleY(${currentHeight / allHeight}) scaleX(${currentWidth / allWidth})`
-    },
-    onResize() {
-      const { setAppScale } = this
-
-      setAppScale()
-    }
-  }
-}
-</script>

+ 0 - 47
src/views/main/twelveHatch/dataV/util/index.js

@@ -1,47 +0,0 @@
-export function randomExtend(minNum, maxNum) {
-  if (arguments.length === 1) {
-    return parseInt(Math.random() * minNum + 1, 10)
-  } else {
-    return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)
-  }
-}
-
-export function debounce(delay, callback) {
-  let lastTime
-
-  return function () {
-    clearTimeout(lastTime)
-
-    const [that, args] = [this, arguments]
-
-    lastTime = setTimeout(() => {
-      callback.apply(that, args)
-    }, delay)
-  }
-}
-
-export function observerDomResize(dom, callback) {
-  const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
-
-  const observer = new MutationObserver(callback)
-
-  observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true })
-
-  return observer
-}
-
-export function getPointDistance(pointOne, pointTwo) {
-  const minusX = Math.abs(pointOne[0] - pointTwo[0])
-
-  const minusY = Math.abs(pointOne[1] - pointTwo[1])
-
-  return Math.sqrt(minusX * minusX + minusY * minusY)
-}
-
-export function uuid(hasHyphen) {
-  return (hasHyphen ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx').replace(/[xy]/g, function (c) {
-    const r = (Math.random() * 16) | 0
-    const v = c == 'x' ? r : (r & 0x3) | 0x8
-    return v.toString(16)
-  })
-}

+ 75 - 78
src/views/main/twelveHatch/index.vue

@@ -1,95 +1,92 @@
 <template>
-  <myMain>
-    <div class="main">
-      <el-row>
-        <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
-          <div class="head clearfix">
-            <h1 class="pulll_left">产业孵化大脑</h1>
-            <div class="menu menu2 pulll_left">
-              <ul>
-                <li><a @click="toChange" href="#">返回</a></li>
-                <li><a @click="selectMenu('four')" href="#">信息检索</a></li>
-                <li><a @click="selectMenu('five')" href="#">双创活动</a></li>
-                <li><a @click="selectMenu('six')" href="#">中试平台</a></li>
-                <li><a @click="selectMenu('seven')" href="#">服务支撑</a></li>
-                <li><a @click="selectMenu('eight')" href="#">产业集群</a></li>
-                <li><a @click="selectMenu('nine')" href="#">成果展示</a></li>
-                <li><a @click="selectMenu('ten')" href="#">信息库</a></li>
-                <li><a @click="selectMenu('eleven')" href="#">孵化器</a></li>
-              </ul>
-            </div>
-            <div class="time">{{ formattedTime }}</div>
+  <div class="main">
+    <el-row>
+      <el-col :span="24" class="animate__animated animate__backInRight" v-loading="loading">
+        <div class="head clearfix">
+          <h1 class="pulll_left">产业孵化大脑</h1>
+          <div class="menu menu2 pulll_left">
+            <ul>
+              <li><a @click="toChange" href="#">返回</a></li>
+              <li><a @click="selectMenu('four')" href="#">信息检索</a></li>
+              <li><a @click="selectMenu('five')" href="#">双创活动</a></li>
+              <li><a @click="selectMenu('six')" href="#">中试平台</a></li>
+              <li><a @click="selectMenu('seven')" href="#">服务支撑</a></li>
+              <li><a @click="selectMenu('eight')" href="#">产业集群</a></li>
+              <li><a @click="selectMenu('nine')" href="#">成果展示</a></li>
+              <li><a @click="selectMenu('ten')" href="#">信息库</a></li>
+              <li><a @click="selectMenu('eleven')" href="#">孵化器</a></li>
+            </ul>
           </div>
-          <div class="mainbox">
-            <el-row :gutter="20">
-              <el-col :span="6">
-                <div class="center_1">
-                  <div class="box">
-                    <div class="tit">各类用户人数</div>
-                    <div class="boxnav" style="height: 340px">
-                      <div class="yqlist">
-                        <ul class="clearfix">
-                          <li>
-                            <div class="yq" id="yq">2634</div>
-                            <span>正在线人数(1)</span>
-                          </li>
-                          <li>
-                            <div class="yq">567</div>
-                            <span>对接人数(2)</span>
-                          </li>
-                          <li>
-                            <div class="yq">56345</div>
-                            <span>浏览人数(3)</span>
-                          </li>
-                          <li>
-                            <div class="yq">721</div>
-                            <span>用户总数(4)</span>
-                          </li>
-                        </ul>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="box">
-                    <div class="tit">专家分布地区</div>
-                    <div class="boxnav">
-                      <echarts1></echarts1>
+          <div class="time">{{ formattedTime }}</div>
+        </div>
+        <div class="mainbox">
+          <el-row :gutter="20">
+            <el-col :span="6">
+              <div class="center_1">
+                <div class="box">
+                  <div class="tit">各类用户人数</div>
+                  <div class="boxnav" style="height: 340px">
+                    <div class="yqlist">
+                      <ul class="clearfix">
+                        <li>
+                          <div class="yq" id="yq">2634</div>
+                          <span>正在线人数(1)</span>
+                        </li>
+                        <li>
+                          <div class="yq">567</div>
+                          <span>对接人数(2)</span>
+                        </li>
+                        <li>
+                          <div class="yq">56345</div>
+                          <span>浏览人数(3)</span>
+                        </li>
+                        <li>
+                          <div class="yq">721</div>
+                          <span>用户总数(4)</span>
+                        </li>
+                      </ul>
                     </div>
                   </div>
                 </div>
-              </el-col>
-              <el-col :span="12">
-                <div class="center_1">
-                  <div class="box">
-                    <div class="boxnav mapc" style="position: relative">
-                      <map1 class="map"></map1>
-                    </div>
+                <div class="box">
+                  <div class="tit">专家分布地区</div>
+                  <div class="boxnav">
+                    <echarts1></echarts1>
                   </div>
                 </div>
-              </el-col>
-              <el-col :span="6">
-                <div class="center_1">
-                  <div class="box">
-                    <div class="tit">赛事总数及各阶段数量</div>
-                    <echarts3></echarts3>
-                  </div>
-                  <div class="box">
-                    <div class="tit">数据统计</div>
-                    <echarts4></echarts4>
+              </div>
+            </el-col>
+            <el-col :span="12">
+              <div class="center_1">
+                <div class="box">
+                  <div class="boxnav mapc" style="position: relative">
+                    <map1 class="map"></map1>
                   </div>
                 </div>
-              </el-col>
-            </el-row>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-  </myMain>
+              </div>
+            </el-col>
+            <el-col :span="6">
+              <div class="center_1">
+                <div class="box">
+                  <div class="tit">赛事总数及各阶段数量</div>
+                  <echarts3></echarts3>
+                </div>
+                <div class="box">
+                  <div class="tit">数据统计</div>
+                  <echarts4></echarts4>
+                </div>
+              </div>
+            </el-col>
+          </el-row>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
 </template>
 
 <script setup>
 const toChange = inject('toChange')
 const selectMenu = inject('selectMenu')
-import myMain from './dataV/myMain.vue'
 import echarts1 from './path/echarts1.vue'
 // import echarts2 from './path/echarts2.vue'
 import map1 from './path/map.vue'