wolyshaw 5 jaren geleden
bovenliggende
commit
ffd619d50a

+ 5 - 0
package-lock.json

@@ -5186,6 +5186,11 @@
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
       "dev": true
     },
+    "jquery": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
+      "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
+    },
     "js-base64": {
       "version": "2.6.4",
       "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz",

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
     "animate.css": "^4.1.1",
     "axios": "^0.20.0",
     "element-ui": "^2.13.2",
+    "jquery": "^3.5.1",
     "parallax-js": "^3.1.0",
     "plyr": "^3.6.2",
     "qs": "^6.9.4",

+ 14 - 8
src/components/efficient/index.vue

@@ -1,21 +1,29 @@
 <template>
   <div class="efficient">
-    <div class="content">
-      <div>
+    <div data-depth="2.2" ref="efficient" class="content">
+      <div data-depth="0.1">
         <img class="img3 animate__animated animate__fadeInTopRight" src="./images/3.png"/>
       </div>
-      <div>
+      <div data-depth="0.3">
         <img class="img1 animate__animated animate__fadeInTopLeft" src="./images/1.png"/>
       </div>
-      <div>
+      <div data-depth="0.5">
         <img class="img2 animate__animated animate__fadeInBottomRight" src="./images/2.png"/>
       </div>
     </div>
   </div>
 </template>
 <script>
+import Parallax from 'parallax-js'
 export default {
   name: 'efficient',
+  mounted() {
+    // const parallaxInstance = new Parallax(this.$refs.efficient, {
+    //   relativeInput: true,
+    //   hoverOnly: true,
+    // })
+    // parallaxInstance.friction(0.2, 0.2)
+  }
 }
 </script>
 <style lang="less" scoped>
@@ -26,11 +34,11 @@ export default {
       .img1{
         width: 466px;
         top: 50px;
-        left: 290px;
+        left: 285px;
       }
       .img2{
         width: 636px;
-        top: 150px;
+        top: 142px;
         left: 350px;
       }
       .img3{
@@ -42,8 +50,6 @@ export default {
         padding: 30px;
         >img{
           position: absolute;
-          top: 0;
-          left: 0;
         }
       }
     }

+ 3 - 0
src/components/lifecycle/index.vue

@@ -43,6 +43,9 @@ export default {
     mouseenter(index) {
       let timer = null
       const _items = [...this.items]
+      if (_items[index][2] === true) {
+        return
+      }
       _items[index][2] = true
       this.items = _items
       setTimeout(() => {

+ 10 - 4
src/components/map.vue

@@ -2,7 +2,7 @@
   <div class="viewmap">
     <img src="../assets/images/map.png"/>
     <svg class="lines" width="628" height="445">
-      <line v-for="(item, index) in links" :key="index" :x2="item[0]" :y2="item[1]" x1="445" y1="200" stroke="rgba(0, 153, 255, 0.7)"/>
+      <line v-for="(item, index) in links" :key="index" :x2="item[0]" :y2="item[1]" x1="445" y1="200" stroke="rgba(185, 208, 231, 0.7)"/>
     </svg>
     <div class="icon">
       <div class="dot"></div>
@@ -147,13 +147,19 @@ export default {
     }
   }
   line {
-    stroke-dasharray: 1000;
-    stroke-dashoffset: 1000;
+    stroke-dashoffset: 0;
     animation: dash 4s;
   }
 
   @keyframes dash {
-    to {
+    0% {
+      stroke-dashoffset: 0;
+    }
+    1% {
+      stroke-dasharray: 800;
+      stroke-dashoffset: 800;
+    }
+    100% {
       stroke-dashoffset: 0;
     }
   }

+ 50 - 14
src/components/zero/index.vue

@@ -1,43 +1,79 @@
 <template>
   <div class="zero" ref="zero">
     <div data-depth="2.2">
-      <p style="padding-top: 50px;padding-left: 600px;opacity: .6;font-size: 20px;">直播考试</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="padding-top: 50px;padding-left: 600px;opacity: .6;font-size: 20px;"
+      >直播考试</p>
     </div>
     <div data-depth="4.3">
-      <p style="padding-top: 100px;margin-left: -700px;opacity: .5;font-size: 20px;">录播考试</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="padding-top: 100px;margin-left: -700px;opacity: .5;font-size: 20px;"
+      >录播考试</p>
     </div>
     <div data-depth="1.5">
-      <p style="margin-top: 10px;margin-left: -700px;opacity: .9;font-size: 22px;">考生管理</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 10px;margin-left: -700px;opacity: .9;font-size: 22px;"
+      >考生管理</p>
     </div>
     <div data-depth="1.8">
-      <p style="margin-top: -80px;margin-left: 100px;opacity: .8;font-size: 24px;">考试结果查询</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: -80px;margin-left: 100px;opacity: .8;font-size: 24px;"
+      >考试结果查询</p>
     </div>
     <div data-depth="2">
-      <p style="margin-top: -50px;margin-left: -300px;opacity: .6;font-size: 20px;">文件视频存储</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: -50px;margin-left: -300px;opacity: .6;font-size: 20px;"
+      >文件视频存储</p>
     </div>
     <div data-depth="3">
-      <p style="margin-top: 260px;margin-left: -400px;">功能迭代</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 260px;margin-left: -400px;"
+      >功能迭代</p>
     </div>
     <div data-depth="2.5">
-      <p style="margin-top: 150px;margin-left: 550px;opacity: .9;font-size: 24px;">运营维护</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 150px;margin-left: 550px;opacity: .9;font-size: 24px;"
+      >运营维护</p>
     </div>
     <div data-depth="2.8">
-      <p style="margin-top: 180px;margin-left: -600px;">服务器租赁</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 180px;margin-left: -600px;"
+      >服务器租赁</p>
     </div>
     <div data-depth="1.3">
-      <p style="margin-top: 350px;margin-left: 100px;">考试评审</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 300px;margin-left: 100px;"
+      >考试评审</p>
     </div>
     <div data-depth="3.3">
-      <p style="margin-top: 350px;margin-left: 500px;opacity: .7;font-size: 24px;">系统研发</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 350px;margin-left: 500px;opacity: .7;font-size: 24px;"
+      >系统研发</p>
     </div>
     <div data-depth="2.3">
-      <p style="margin-top: 350px;margin-left: -380px;opacity: .7;font-size: 24px;">视频线路使用</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 350px;margin-left: -380px;opacity: .7;font-size: 24px;"
+      >视频线路使用</p>
     </div>
     <div data-depth="4.3">
-      <p style="margin-top: 270px;margin-left: 400px;">合作单位管理</p>
+      <p
+        class="animate__animated animate__zoomIn"
+        style="margin-top: 270px;margin-left: 350px;"
+      >合作单位管理</p>
     </div>
     <div data-depth="1.5">
-      <img class="img" src="./images/bg.png"/>
+      <img class="img animate__animated animate__zoomIn" src="./images/bg.png"/>
     </div>
   </div>
 </template>
@@ -59,7 +95,7 @@ export default {
     width: 700px;
     margin: auto;
     min-height: 300px;
-    margin-top: 120px;
+    margin-top: 180px;
     >div{
       width: 100%;
       height: 100%;

+ 367 - 9
src/views/index/blocks/consult.vue

@@ -43,16 +43,18 @@
           </div>
           <div class="swiper-pagination"></div>
         </div> -->
-        <div @click='prev'
+        <!-- <div @click='prev'
              class="prev"></div>
         <div @click='next'
              class="next"></div>
-        <el-carousel :interval="4000"
-                     type="card"
-                     height="400px"
-                     arrow="never"
-                     ref="carousel"
-                     indicator-position="none">
+        <el-carousel
+          type="card"
+          height="400px"
+          arrow="never"
+          ref="carousel"
+          :autoplay="false"
+          indicator-position="none"
+        >
           <el-carousel-item>
             <div class="textItem"
                  @click="gotoDetail(1)">
@@ -102,7 +104,144 @@
               </div>
             </div>
           </el-carousel-item>
-        </el-carousel>
+        </el-carousel> -->
+        <div class="swiper hidden-md hidden-xs" ref="swiper1">
+          <div class="current-swiper swiper-container">
+              <div class="swiper-wrapper">
+                  <div class="swiper-slide azg-slide-1 active">
+                      <div class="swiper-box">
+                          <div class="swiper-content">
+                              <div class="swiper-c-logo">
+                                  <img src="/www/svg/icon-client-dtly.svg" alt="">
+                              </div>
+                              <div class="swiper-c-text">
+                                  大唐旅游(武汉)有限公司是一家高端旅游综合服务提供商,具有国家一类出境组团社资质,服务内容包括出境旅行服务、海外修学服务、国内旅行服务、航空票务服务、会议会展服务,酒店预订服务等。
+                              </div>
+                              <div class="swiper-c-video">
+                                  <i></i>播放视频
+                              </div>
+                          </div>
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-2">
+                      <div class="swiper-box">
+                          <div class="swiper-content">
+                              <div class="swiper-c-logo">
+                                  <img src="/www/svg/icon-client-jkcy.svg" alt="">
+                              </div>
+                              <div class="swiper-c-text">
+                                  武汉锦康餐饮管理有限公司是中国团餐品牌30强,日供餐能力150万/人次,餐品1000多种,服务的客户包括国防科技大学、空军航空第一学院、西安工业大学、长沙理工大学、武汉枫叶国际学校、湖北美术学院等。
+                              </div>
+                              <div class="swiper-c-video">
+                                  <i></i>播放视频
+                              </div>
+                          </div>
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-3">
+                      <div class="swiper-box">
+                          <div class="swiper-content">
+                              <div class="swiper-c-logo">
+                                  <img src="/www/svg/icon-client-wxl.svg" alt="">
+                              </div>
+                              <div class="swiper-c-text">
+                                  吾行里是以开放式艺术情景生活街区为核心驱动力的大型城市综合体示范区,整个项目用地面积约 1.7 万平方米,总建筑面积约 10 万方,包含开放式生活艺术街区、品质华宅、甲级写字楼及全能公寓四种物业形态。
+                              </div>
+                              <div class="swiper-c-video">
+                                  <i></i>播放视频
+                              </div>
+                          </div>
+                      </div>
+                  </div>
+              </div>
+          </div>
+          <div class="swiper-button-prev"></div>
+          <div class="swiper-button-next"></div>
+          <div class="left-swiper swiper-container" ref="swiper2">
+              <div class="swiper-wrapper">
+                  <div class="swiper-slide azg-slide-3">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-wxl.svg" alt="">
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-1">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-dtly.svg" alt="">
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-2">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-jkcy.svg" alt="">
+                      </div>
+                  </div>
+              </div>
+          </div>
+          <div class="right-swiper swiper-container">
+              <div class="swiper-wrapper">
+                  <div class="swiper-slide azg-slide-2">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-jkcy.svg" alt="">
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-3">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-wxl.svg" alt="">
+                      </div>
+                  </div>
+                  <div class="swiper-slide azg-slide-1">
+                      <div class="swiper-box">
+                          <img src="/www/svg/icon-client-dtly.svg" alt="">
+                      </div>
+                  </div>
+              </div>
+          </div>
+      </div>
+
+
+      <div class="swiper-container swiper-container-horizontal swiper-work-mobile visible-sm visible-xs" ref="swiper3">
+          <div class="swiper-wrapper">
+              <div class="swiper-slide swiper-slide-center none-effect">
+                  <img src="/www/images/image-dtlv.jpg">
+                  <div class="swiper-box">
+                      <div class="swiper-content">
+                          <div class="swiper-c-logo">
+                              <img src="/www/svg/icon-client-dtly.svg" alt="">
+                          </div>
+                          <div class="swiper-c-text">
+                              大唐旅游(武汉)有限公司是一家高端旅游综合服务提供商,具有国家一类出境组团社资质,服务内容包括出境旅行服务、海外修学服务、国内旅行服务、航空票务服务、会议会展服务,酒店预订服务等。
+                          </div>
+                      </div>
+                  </div>
+              </div>
+              <div class="swiper-slide">
+                  <img src="/www/images/image-jkcy.jpg">
+                  <div class="swiper-box">
+                      <div class="swiper-content">
+                          <div class="swiper-c-logo">
+                              <img src="/www/svg/icon-client-jkcy.svg" alt="">
+                          </div>
+                          <div class="swiper-c-text">
+                              武汉锦康餐饮管理有限公司是中国团餐品牌 30 强,日供餐能力 150 万 / 人次,餐品 1000 多种,服务的客户包括国防科技大学、空军航空第一学院、西安工业大学、长沙理工大学、武汉枫叶国际学校、湖北美术学院等。
+                          </div>
+                      </div>
+                  </div>
+              </div>
+              <div class="swiper-slide">
+                  <img src="/www/images/image-wxl.jpg">
+                  <div class="swiper-box">
+                      <div class="swiper-content">
+                          <div class="swiper-c-logo">
+                              <img src="/www/svg/icon-client-wxl.svg" alt="">
+                          </div>
+                          <div class="swiper-c-text">
+                              吾行里是以开放式艺术情景生活街区为核心驱动力的大型城市综合体示范区,整个项目用地面积约 1.7 万平方米,总建筑面积约 10 万方,包含开放式生活艺术街区、品质华宅、甲级写字楼及全能公寓四种物业形态。
+                          </div>
+                      </div>
+                  </div>
+              </div>
+          </div>
+          <div class="swiper-pagination swiper-pagination-clickable swiper-pagination-bullets"></div>
+      </div>
       </div>
 
     </div>
@@ -110,6 +249,7 @@
 </template>
 <script>
 import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
+import $ from 'jquery'
 // import 'swiper/swiper.scss'
 import 'swiper/swiper-bundle.css'
 export default {
@@ -169,6 +309,7 @@ export default {
     //   },
 
     // });
+    this.init()
   },
   computed: {
     swiper () {
@@ -176,6 +317,57 @@ export default {
     }
   },
   methods: {
+    init() {
+      var currentSwiper = new Swiper(this.$refs.ref.swiper1, {
+          loop: true,
+          on: {
+              slideChangeTransitionEnd: function () {
+                console.log(this.slides)
+                  $(this.$refs.ref.swiper1).find('.swiper-slide').removeClass('active');
+                  // $(this.slides[this.activeIndex]).addClass('active');
+              },
+          }
+      });
+      currentSwiper.$el.parent().find('.swiper-button-next').on('click', function() { //去除按钮阴影
+          currentSwiper.slideNext();
+
+      })
+      currentSwiper.$el.parent().find('.swiper-button-prev').on('click', function() {
+          currentSwiper.slidePrev();
+      })
+      var leftSwiper = new Swiper('.left-swiper', {
+          loop: true,
+          simulateTouch: false,
+      });
+      var rightSwiper = new Swiper('.right-swiper', {
+          loop: true,
+          simulateTouch: false,
+      });
+      currentSwiper.controller.control = [leftSwiper, rightSwiper];
+
+      var swiperWorkMobile = new Swiper('.swiper-work-mobile', {
+          pagination: {
+              el: '.swiper-pagination-clickable',
+          },
+          loop: true,
+      });
+
+
+      var swiperWorkMobile = new Swiper('.swiper-work-his', {
+          slidesPerView: 4,
+          pagination: {
+              // el: '.swiper-pagination-clickable',
+          },
+          loop: true,
+          autoplay: true,
+      });
+
+      $(".swiper-work-his .swiper-slide").hover(function() {
+          swiperWorkMobile.autoplay.stop();
+      }, function() {
+          swiperWorkMobile.autoplay.start();
+      });
+    },
     gotoDetail (num) {
       let newpage = this.$router.resolve({
         name: `detile${num}`,
@@ -277,4 +469,170 @@ export default {
     }
   }
 }
-</style>
+.client-love-work {
+    .swiper {
+        max-width: 1200px;
+        margin: 0 auto 40px;
+        position: relative;
+        .swiper-container {
+            width: 620px;
+            height: 480px;
+            border-radius: 8px;
+            position: relative;
+            z-index: 99;
+            box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
+        }
+        .left-swiper,
+        .right-swiper {
+            position: absolute;
+            z-index: 1;
+            transform: scale(.8);
+            img {
+                position: absolute;
+                z-index: 100;
+                top: 168px;
+            }
+            .swiper-slide {
+                .swiper-box {
+                    background: rgba(0, 0, 0, .7);
+                }
+            }
+        }
+        .left-swiper {
+            left: 0;
+            top: 0;
+            img {
+                left: 0;
+            }
+        }
+        .right-swiper {
+            top: 0;
+            right: 0;
+            img {
+                right: 0;
+            }
+        }
+    }
+    .azg-slide-1 {
+        background: url(/www/images/image-dtlv.jpg) no-repeat center #fff;
+    }
+    .azg-slide-2 {
+        background: url(/www/images/image-jkcy.jpg) no-repeat center #fff;
+    }
+    .azg-slide-3 {
+        background: url(/www/images/image-wxl.jpg) no-repeat center #fff;
+    }
+    .swiper-slide {
+        position: relative;
+        overflow: hidden;
+        .swiper-box {
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 100%;
+            text-align: center;
+            background: rgba(0, 92, 185, .7);
+        }
+        &.active {
+            .swiper-c-logo {
+                transform: translateY(0);
+                transition: all .3s ease;
+            }
+            .swiper-c-text {
+                transform: translateX(0);
+                transition: all .3s ease;
+            }
+            .swiper-c-video {
+                transform: translateX(0);
+                transition: all .3s ease;
+                display: none;
+            }
+        }
+        .swiper-content {
+            display: flex;
+            width: 350px;
+            height: 100%;
+            margin: 0 auto;
+            justify-content: center;
+            flex-direction: column;
+        }
+    }
+    .swiper-c-logo {
+        margin: 0 auto;
+        width: 240px;
+        height: 140px;
+        transform: translateY(75px);
+        transition: all .3s ease;
+    }
+    .swiper-c-text {
+        font-size: 16px;
+        line-height: 26px;
+        color: #fff;
+        transform: translateX(-500px);
+        transition: all .3s ease;
+    }
+    .swiper-c-video {
+        width: 104px;
+        height: 34px;
+        line-height: 34px;
+        color: #fff;
+        margin: 35px auto 0;
+        transform: translateX(380px);
+        transition: all .3s ease;
+        background-color: rgba(255, 255, 255, 0.5);
+        border: 1px solid #E5E8ED;
+        border-radius: 4px;
+        i {
+            display: inline-block;
+            width: 20px;
+            height: 20px;
+            background: url(/www/svg/icon-play-default.svg) no-repeat center;
+            margin-right: 8px;
+            vertical-align: text-bottom;
+        }
+    }
+    .swiper-button-prev,
+    .swiper-button-next {
+        background: url(/www/svg/icon-arrow-right-medium-default.svg) no-repeat center;
+        background-size: 100%;
+        width: 40px;
+        height: 40px;
+        &:hover {
+            background: url(/www/svg/icon-arrow-right-medium-hover.svg) no-repeat center;
+        }
+    }
+    .swiper-button-prev {
+        transform: rotate(180deg);
+    }
+    .swiper-work-mobile {
+        .swiper-slide {
+            .swiper-content {
+                justify-content: inherit;
+            }
+        }
+        .swiper-c-logo {
+            transform: translateY(0)
+        }
+        .swiper-c-text {
+            font-size: 16px;
+            line-height: 26px;
+            color: #fff;
+            transform: translateX(0);
+            transition: all .3s ease;
+            margin-top: -30px;
+        }
+        img {
+            width: 100%;
+        }
+        .swiper-pagination-bullet {
+            background: #fff;
+            opacity: .4;
+        }
+        .swiper-pagination-bullet-active {
+            background: #fff;
+            opacity: 1;
+        }
+    }
+}
+</style>

+ 1 - 1
src/views/index/blocks/infos.vue

@@ -71,7 +71,7 @@ export default {
   },
   data () {
     return {
-      active: 4
+      active: 0
     }
   },
   methods: {