zpj преди 10 месеца
родител
ревизия
e6dd21eb6f

+ 36 - 8
src/assets/css/common.css

@@ -31,13 +31,18 @@
 .text-align-right{
 	text-align: right;
 }
-
+.fc-f{
+	color: #fff;
+}
 .fc-12{
 	color: #121212;
 }
 .fc-70{
 	color: #707070;
 }
+.fc-7B4F6C{
+	color: #7B4F6C;
+}
 
 .bg-c-EEF4FF{
 	background-color: #EEF4FF;
@@ -52,10 +57,15 @@
 .fw-400{
 	font-weight: 400;
 }
+.fw-500{
+	font-weight: 500;
+}
 .fw-b{
 	font-weight: bold;
 }
-
+.fs-12{
+	font-size: 12px;
+}
 .fs-14{
 	font-size: 14px;
 }
@@ -68,20 +78,29 @@
 .fs-24{
 	font-size: 24px;
 }
-.lh-40{
-	line-height: 40px;
-}
-.lh-19{
-	line-height: 19px;
+.fs-34{
+	font-size: 34px;
 }
 
+
+.pt-100{
+	padding-top: 100px;
+}
+.plr-24{
+	padding: 0 24px;
+}
 .plr-50{
 	padding: 0 50px;
 }
-
+.mr-38{
+	margin-right: 38px;
+}
 .mr-10{
 	margin-right: 10px;
 }
+.mt-100{
+	margin-top: 100px;
+}
 .mt-70{
 	margin-top: 70px;
 }
@@ -100,6 +119,9 @@
 .mb-36{
 	margin-bottom: 36px;
 }
+.mb-40{
+	margin-bottom: 40px;
+}
 .mb-44{
 	margin-bottom: 44px;
 }
@@ -111,4 +133,10 @@
 }
 .mb-10{
 	margin-bottom: 10px;
+}
+.mb-12{
+	margin-bottom: 12px;
+}
+.mb-16{
+	margin-bottom: 16px;
 }

BIN
src/assets/img/home/index1.png


BIN
src/assets/img/home/index2.png


BIN
src/assets/img/home/index3.png


BIN
src/assets/img/home/index4.png


BIN
src/assets/img/home/index5.png


BIN
src/assets/img/lang-icon.png


BIN
src/assets/img/sanjiaoxing.png


+ 96 - 220
src/components/Forestage/Navigation.vue

@@ -1,44 +1,29 @@
 <template>
   <transition name="el-fade-in-linear">
-    <div class="nav-container flex-vc" :class="{'position-change':whether,'bg-c-f':!isNavShow}">
-      <div class="logo-warp mouse-poi" @click="goHome">
-        
-        
+    <div class="nav-container justify-content-space-between align-items-center plr-24 box-sizing-border-box">
+
+      <div class="align-items-center">
+        <img class="logo-box" src="@/assets/img/logo.png" alt="">
+        <div class="fs-18 fc-f">GIobal Merchant Center</div>
       </div>
 
-      <ul class="nav-block flex-vc">
-        <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 1}" @click="navClick(1)">
-          {{$t('nav.navText_1')}}</li>
-        <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 2}" @click="navClick(2)">
-          {{$t('nav.navText_2')}}</li>
-          <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 6}" @click="navClick(6)">
-            项目介绍</li>
-        <!-- <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 3}" @click="navClick(3)">
-          {{$t('nav.navText_3')}}</li> -->
-        <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 4}" @click="navClick(4)">
-          {{$t('nav.navText_4')}}</li>
-        <li class="nav-title mouse-poi flex-vc" :class="{active:navActive === 5}" @click="navClick(5)">
-          {{$t('nav.navText_5')}}</li>
-      </ul>
+      <div class="align-items-center">
+        <div @click="navClick(1)" class="fs-16 mr-38 fc-f hand-cursor" :class="{active:navActive === 1}">{{$t('Home')}}{{navActive}}</div>
+        <div @click="navClick(2)" class="fs-16 mr-38 fc-f hand-cursor" :class="{active:navActive === 2}">{{$t('Tourism')}}</div>
 
-           <div class="lang-container" v-click-outside="clickOutside">
-             <div class="lang-block flex-vh mouse-poi" @click="open">
-               <span>{{langText}}</span>
-               <span class="rotate-warp" :class="{'rotate':langShow}">
-                 <i class="el-icon-arrow-down"></i>
-               </span>
-             </div>
-             <transition name="el-zoom-in-top">
-               <ul class="option-block" v-if="langShow">
-                 <li class="option flex-vc mouse-poi" v-for="(item,index) in langList" :key="index"
-                   @click="langChange(item,index)">
-                   {{item.name}}
-                 </li>
-               </ul>
-             </transition>
-           </div>
+        <div class="align-items-center mr-38 lang-pop-f hand-cursor" v-click-outside="clickOutside">
+          <div class="fs-16 fc-f " @click="open()">{{langText}}</div>
+          <img class="lang-img" :class="langShow?'lang-img-1':'lang-img-2'" @click="open()" src="@/assets/img/lang-icon.png" alt="">
 
+          <img class="sanjiaoxing-icon" v-if="langShow" src="@/assets/img/sanjiaoxing.png" alt="">
+          <div class="lang-pop" v-if="langShow">
+            <div class="fs-16" v-for="(item,index) in langList" :key="index" :class="langText==item.name?'fc-7B4F6C':''"
+              @click="langChange(item,index)">{{item.name}}</div>
+          </div>
+        </div>
 
+        <div v-if="userToken" class="out-buttom fs-16 fw-500 hand-cursor">登出</div>
+      </div>
     </div>
   </transition>
 </template>
@@ -53,12 +38,9 @@ export default {
       whether: false,
       langShow: false,
       langIndex: 0,
-      langText: '简体中文',
-      langList: [{ name: '简体中文', type: 'cn' }, { name: 'English', type: 'en' }],
-      oldScrollTop: 0,
-      isNavShow: true,
-      isReload: true,
-      routes: ['/NewDetail']
+      langText: '繁体中文',
+      langList: [{ name: '繁体中文', type: 'cn' }, { name: 'English', type: 'en' }],
+      userToken:'',
     }
   },
   computed: {
@@ -76,9 +58,11 @@ export default {
     }
   },
   created () {
+    this.userToken = window.localStorage.getItem('userToken')
+
     const lang = localStorage.getItem('lang') || 'cn'
     if (lang === 'cn') {
-      this.langText = '体中文'
+      this.langText = '体中文'
     } else {
       this.langText = 'English'
     }
@@ -89,13 +73,9 @@ export default {
       this.whether = false
     }
   },
-  mounted () {
-    window.addEventListener('scroll', this.scrolling)
-  },
+
   methods: {
-    goHome () {
-      this.$router.push({ path: '/Home' })
-    },
+    // 导航选择
     navClick (num) {
       this.$store.commit('user/setNavActive', num)
       switch (num) {
@@ -103,19 +83,7 @@ export default {
           this.$router.push({ path: '/Home' })
           break
         case 2:
-          this.$router.push({ path: '/AboutUs' })
-          break
-        // case 3:
-        //   this.$router.push({ path: '/Cooperation' })
-        //   break;
-        case 4:
-          this.$router.push({ path: '/News' })
-          break
-        case 5:
-          this.$router.push({ path: '/Contact' })
-          break
-        case 6:
-          this.$router.push({ path: '/MyProd' })
+          this.$router.push({ path: '/Tourism' })
           break
       }
     },
@@ -131,190 +99,98 @@ export default {
       this.langShow = false
       this.$i18n.locale = item.type
       localStorage.setItem('lang', item.type)
-      // this.$store.commit('user/lang', item.type)
       let companyInfo = this.$store.getters.companyInfo
       companyInfo = this.$langFilter(companyInfo)
       this.$store.commit('user/setCompanyInfo', companyInfo)
       const routePath = this.$route.path
       this.$eventBus.$emit('langChange', item.type, routePath)
     },
-    scrolling () {
-      const index = this.routes.indexOf(this.$route.path)
-      if (this.isReload) {
-        this.isNavShow = true
-        this.isReload = false
-      } else {
-        const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
-        const scrollStep = scrollTop - this.oldScrollTop
-        this.oldScrollTop = scrollTop
-        if (scrollStep <= 0 || index > -1) {
-          this.isNavShow = true
-        } else {
-          this.isNavShow = false
-        }
-      }
-    }
+
   }
 }
 </script>
 
-<style lang="scss" scoped>
-.nav-logo{
-  font-weight: bold;
-  font-size: 36px;
-  color: #333;
-  margin-bottom: 3px;
-}
-.logo-name{
-  font-size: 18px;
-  color: #333;
-}
-
-.bgc-f80{
-  background: rgba(255, 255, 255, 0.8);
-}
-
+<style lang="scss" scoped> 
 .nav-container {
   position: fixed;
   top: 0;
-  width: 100%;
-  height: 100px;
-  padding-left: 375px;
-  background: rgba(255, 255, 255, 0.8);
+  width: 100vw;
+  height: 70px;
+  opacity: 1;
+  background: rgba(123, 79, 108, 1);
   z-index: 1003;
 
-  .logo-warp {
-    .logo {
-      width: 146px;
-      height: 78px;
-    }
-    .logo-zhw{
-      width: 140px;
-      height: 72px;
-    }
-    .logo-zhw-1{
-      width: 186px;
-      height: 140px;
-    }
+  .logo-box{
+    width: 48px;
+    height: 48px;
+    opacity: 1;
+    background: rgba(255, 255, 255, 1);
+    border-radius: 50%;
+    margin-right: 10px;
   }
 
-  .nav-block {
-    height: 100%;
-    margin-left: 285px;
-
-    .nav-title {
-      height: 100%;
-      font-size: 16px;
-      color: #333333;
-      margin-right: 58px;
-
-      &:hover {
-        color: #3169FA;
-      }
-
-      &:last-child {
-        margin: 0;
-      }
-    }
-
-    .active {
-      position: relative;
-      font-weight: bold;
-      color: #3169FA;
-
-      &::after {
-        content: ' ';
-        position: absolute;
-        bottom: 1px;
-        left: 50%;
-        transform: translateX(-50%);
-        width: 64px;
-        height: 0px;
-        border-bottom: 2px solid #3169FA;
-      }
-    }
-  }
-
-  .lang-container {
+  .active {
     position: relative;
-    margin-left: 111px;
-    font-size: 16px;
-    color: #333;
-  }
-
-  .lang-block {
-    justify-content: space-between;
-    width: 119px;
-    height: 40px;
-    padding: 0 9px 0 16px;
-    border: 1px solid #333;
-    border-radius: 6px;
-
-    &:hover {
-      border: 1px solid #e9e9e9;
-    }
-
-    .rotate-warp {
-      transition: all 0.2s;
-    }
-
-    .rotate {
-      transition: all 0.2s;
-      transform: rotate(180deg);
+    &::after {
+      content: ' ';
+      position: absolute;
+      bottom: -5px;
+      left: 50%;
+      transform: translateX(-50%);
+      width: 100%;
+      height: 0px;
+      border-bottom: 1px solid #fff;
     }
   }
-
-  .option-block {
-    position: absolute;
-    left: 0;
-    top: 72px;
-    width: 119px;
-    padding: 10px 0;
-    background: rgba(0, 0, 0, 0.39);
-    border: 1px solid #e9e9e9;
-    border-radius: 6px;
-
-    .option {
-      height: 40px;
-      padding: 0 20px;
-
-      &:hover {
-        background-color: #1B74E5;
-      }
-    }
+  .lang-img{
+    width: 14px;
+    height: 8px;
+    margin-left: 5px;
   }
-}
-
-.position-change {
-  position: static;
-  background: #fff;
-  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.09);
-
-  .nav-block .nav-title {
-    color: #333;
+  .lang-img-1{
+    transform: rotate(180deg);
+    transition: transform 0.5s ease;
   }
-
-  .lang-container {
-    color: #333;
-
-    .lang-block {
-      border-color: #999999;
-
-      &:hover {
-        border-color: #888888;
-      }
-    }
-
-    .option-block {
-      background: rgba(255, 255, 255, 0.5);
-
-      .option {
-
-        &:hover {
-          background-color: #e0e0e0;
-        }
+  .lang-img-2{
+    transform: rotate(0deg);
+    transition: transform 0.5s ease;
+  }
+  .lang-pop-f{
+    position: relative;
+    .sanjiaoxing-icon{
+      position: absolute;
+       z-index: 1004;
+       top: 25px;
+       right: 0px;
+       width: 22px;
+       height: 14px;
+    }
+    .lang-pop{
+      background-color: #fff;
+      width: 104px;
+      min-height: 32px;
+      opacity: 1;
+      z-index: 1005;
+      position: absolute;
+      top: 30px;
+      right: 0;
+      div{
+        width: 100%;
+        height: 32px;
+        text-align: center;
+        line-height: 32px;
+        box-sizing: border-box;
       }
     }
   }
+  .out-buttom{
+    width: 100px;
+    height: 42px;
+    opacity: 1;
+    border-radius: 2px;
+    background: #C7AB7B;
+    text-align: center;
+    line-height: 42px;
+  }
 }
 </style>

+ 18 - 184
src/components/Forestage/PageFoot.vue

@@ -1,50 +1,8 @@
 <template>
-  <div class="footer-container">
-    <div class="row_1 flex">
-      <!-- <img src="@/assets/forestage/images/logo.png" class="logo"> -->
-      
-      <ul class="flex-vc">
-        <li class="nav-title mouse-poi flex-vc" @click="navClick(1)">{{$t('nav.navText_1')}}</li>
-        <li class="nav-title mouse-poi flex-vc" @click="navClick(2)">{{$t('nav.navText_2')}}</li>
-        <li class="nav-title mouse-poi flex-vc" @click="navClick(6)">我们的产品</li>
-        <!-- <li class="nav-title mouse-poi flex-vc" @click="navClick(3)">{{$t('nav.navText_3')}}</li> -->
-        <li class="nav-title mouse-poi flex-vc" @click="navClick(4)">{{$t('nav.navText_4')}}</li>
-        <li class="nav-title mouse-poi flex-vc" @click="navClick(5)">{{$t('nav.navText_5')}}</li>
-      </ul>
-    </div>
-    <div class="row_2 flex">
-      <div class="warp-left flex-hc">
-        <p class="company-msg"><span class="text">{{$t('footer.footText_1')}}</span>:023-67177907</p>
-        <p class="company-msg"><span class="text">实体联盟联系电话</span>:15310443778</p>
-        <p class="company-msg"><span class="text">乡村振兴联系电话</span>:13618235741</p>
-        <p class="company-msg"><span class="text">{{$t('footer.footText_2')}}</span>:zhenhewang2015@126.com</p>
-        <p class="company-msg"><span class="text">地址</span>:重庆市渝北区创意公园3A</p>
-<!--        <p class="company-msg"><span class="text">{{$t('footer.footText_3')}}</span>:{{$t('footer.footText_6')}}</p>-->
-<!--        <p class="company-msg"><span class="text">{{$t('footer.footText_3')}}</span>:{{lang == 'cn'?companyInfo.cn.address:companyInfo.en.address}}</p>-->
-      </div>
-      <div class="warp-right flex-vc">
-        <div class="inner">
-          <p class="phone-msg">华际科技-咨询服务热线</p>
-          <p class="phone">023-67177907</p>
-        </div>
-        <div class="inner-qr_code">
-          <img :src="companyInfo.wx_image" class="qr_code">
-          <p class="qr_code-msg">{{$t('footer.footText_5')}}</p>
-        </div>
-      </div>
-    </div>
-    <div class="row_3 flex-vh">
-      <p>版权公告©2022 重庆振合网网络科技有限公司。版权所有。</p>
-      <div class="flex-vc">
-        
-        <p class="mouse-poi" @click="openIcp(1)">渝公网安备 {{companyInfo.put_on_record}}号</p>
-        <p class="fg">|</p>
-        
-        <p class="mouse-poi" @click="openIcp(2)">渝ICP备{{companyInfo.icp}}</p>
-      </div>
-
-    </div>
-
+  <div class="footer-container align-items-center justify-content">
+    <img class="logo-box" src="@/assets/img/logo.png" alt="">
+    <div class="fs-16 fc-f m-r-40">GIobal Merchant Center</div>
+    <div class="fs-12 fc-f">Copyright © 1999 - 2025 GMC Operating Company, LLC. All Rights Reserved. </div>
   </div>
 </template>
 
@@ -74,148 +32,24 @@ export default {
     await this.$store.dispatch('user/getCompanyInfo')
   },
   methods: {
-    openIcp(type){
-      let url = ''
-      if(type === 1){
-        url = 'https://www.beian.gov.cn/portal/registerSystemInfo'
-      }else{
-        url = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
-      }
-      window.open(url)
-    },
-    navClick(num) {
-      this.activeIndex = num
-      switch (num) {
-        case 1:
-          this.$router.push({ path: '/Home' })
-          break;
-        case 2:
-          this.$router.push({ path: '/AboutUs' })
-          break;
-        // case 3:
-        //   this.$router.push({ path: '/Cooperation' })
-        //   break;
-        case 4:
-          this.$router.push({ path: '/News' })
-          break;
-        case 5:
-          this.$router.push({ path: '/Contact' })
-          break;
-        case 6:
-          this.$router.push({ path: '/MyProd' })
-          break;
-      }
-    },
+
   }
 }
 </script>
 
 <style lang="scss" scoped>
-.flex {
-  display: flex;
-  justify-content: space-between;
-}
-
-.footer-container {
-  height: 497px;
-  padding: 0 360px;
-
-}
-
-.row_1 {
-  padding: 32px 0;
-
-  .logo {
-    width: 144px;
-    height: 78px;
-  }
-
-  .nav-title {
-    margin-right: 38px;
-    font-size: 16px;
-    color: #ffffff;
-
-    &:hover {
-      color: #e2e2e2;
-    }
-
-    &:last-child {
-      margin: 0;
+    .footer-container{
+      width: 100vw;
+      height: 92px;
+      opacity: 1;
+      background: rgba(123, 79, 108, 1);
+    }
+    .logo-box{
+      width: 48px;
+      height: 48px;
+      opacity: 1;
+      background: rgba(255, 255, 255, 1);
+      border-radius: 50%;
+      margin-right: 10px;
     }
-  }
-}
-
-.row_2 {
-  height: 250px;
-  padding: 30px 0;
-  font-size: 16px;
-  color: #ffffff;
-  border-top: 1px solid rgba(225, 225, 225, 0.15);
-  border-bottom: 1px solid rgba(225, 225, 225, 0.15);
-  box-sizing: border-box;
-
-  .warp-left {
-    flex-direction: column;
-
-    .text {
-      display: inline-block;
-    }
-  }
-
-  .company-msg {
-    margin-bottom: 30px;
-  }
-  .company-msg:last-child {
-    margin-bottom: 0;
-  }
-  .warp-right {
-    display: flex;
-  }
-
-  .inner {
-    margin-right: 30px;
-
-    .phone-msg {
-      font-size: 13px;
-      color: rgba(255, 255, 255, 0.7);
-      text-align: right;
-    }
-
-    .phone {
-      margin-top: 6px;
-      font-size: 30px;
-      font-weight: bold;
-    }
-  }
-
-  .inner-qr_code {
-    .qr_code {
-      width: 150px;
-      height: 150px;
-    }
-
-    .qr_code-msg {
-      margin-top: 19px;
-      font-size: 16px;
-      text-align: center;
-      font-weight: 500;
-    }
-  }
-}
-
-.row_3 {
-  flex-direction: column;
-  padding: 30px 0;
-  font-size: 14px;
-  color: #D4D7DB;
-
-  .flex-vc {
-    margin-top: 12px;
-  }
-
-  .police-icon {
-    width: 20px;
-    height: 20px;
-  }
-}
 </style>

+ 1 - 1
src/layout/Forestage/index.vue

@@ -8,7 +8,7 @@
     </div>
     <message></message>
     <page-foot></page-foot>
-     
+
   </div>
 </template>
 

+ 4 - 1
src/locales/zh-CN.json

@@ -1,4 +1,6 @@
-{
+{ 
+  "Home":"首页",
+  "Tourism":"旅游",
   "LoginIndex":{
 	  "userLogin":"帳號登入",
 	  "inputId":"輸入郵箱帳戶或ID",
@@ -8,4 +10,5 @@
 	  "forgetPassword":"忘記密碼",
 	  "login":"登入"
   }
+	
 }

+ 5 - 0
src/router/front.js

@@ -10,6 +10,11 @@ export default [
         name: 'Home',
         component: () => import('@/views/Forestage/Home/index.vue')
       },
+      {
+        path: '/Tourism',
+        name: 'Tourism',
+        component: () => import('@/views/Forestage/Tourism/index.vue')
+      },
     ]
   }
 ]

+ 4 - 2
src/utils/routerEach.js

@@ -2,7 +2,7 @@ import router from '../router/index.js'
 import store from '@/store'
 
 
-const routeList = ['/Home',]
+const routeList = ['/Home','/Tourism']
 router.beforeEach((to, from, next) => {
   let userToken = window.localStorage.getItem('userToken')
   if (userToken) {
@@ -10,13 +10,15 @@ router.beforeEach((to, from, next) => {
     if (active > -1) {
       active++
     }
+    console.log(active);
     store.commit('user/setNavActive', active)
     next()
   } else {
-    if (to.path == '/login'||to.path == '/register'||to.path == '/forget-password') {
+    if (to.path == '/Home'||to.path == '/login'||to.path == '/register'||to.path == '/forget-password') {
       next()
     } else {
       next('/login')
     }
   }
 })
+ 

+ 0 - 202
src/views/Forestage/Home/component/Pc/FormMsg.vue

@@ -1,202 +0,0 @@
-<template>
-  <div :class="isMobile?'m-from-container':'from-container flex-vh'">
-    <div :class="isMobile?'m-from-view':''">
-
-      <h2 :class="isMobile?'m-from-title':'heading_2'">{{$t('heading.HText_2')}}</h2>
-
-      <el-form :model="fromData" :rules="rules" ref="ruleForm" class="from-block">
-        <el-form-item prop="name">
-          <el-input v-model="fromData.name" class="input" :placeholder="$t('placeholder.PText_1')"></el-input>
-        </el-form-item>
-        <el-form-item prop="phone">
-          <el-input v-model="fromData.phone" class="input" :placeholder="$t('placeholder.PText_2')"></el-input>
-        </el-form-item>
-        <el-form-item prop="content">
-          <el-input type="textarea" v-model="fromData.content" :rows="10" resize="none" maxlength="225" show-word-limit
-            :placeholder="$t('placeholder.PText_3')"></el-input>
-        </el-form-item>
-      </el-form>
-
-      <div class="bottom-section flex-hc" v-if="!isMobile">
-        <div class="commit mouse-poi disabled-copy" @click="clickSubmit">{{$t('btn.btnText_2')}}</div>
-      </div>
-
-      <div v-else class="button-m" @click="clickSubmit">{{$t('btn.btnText_2')}}</div>
-
-    </div>
-  </div>
-</template>
-
-<script>
-import { hasMobile } from '@/utils/mobile.js'
-import mixinsHomeMsg from '@/mixins/forestage/homeMsg.js'
-import { checkStr } from '@/utils/validate.js'
-export default {
-  name: 'FromMsg',
-  mixins: [mixinsHomeMsg],
-  data () {
-    const phoneValidate = (rule, value, callback) => {
-      const permit = checkStr(value, 'phone')
-      if (!permit) {
-        return callback(new Error(this.$t('placeholder.PText_4')))
-      } else {
-        return callback()
-      }
-    }
-    return {
-      isMobile: false,
-      isRequest: false,
-      rules: {
-        name: [{
-          required: true,
-          message: this.$t('placeholder.PText_1'),
-          trigger: 'change'
-        }],
-        phone: [{
-          required: true,
-          validator: phoneValidate,
-          trigger: 'change'
-        }],
-        content: [{
-          required: true,
-          message: this.$t('placeholder.PText_3'),
-          trigger: 'change'
-        }]
-      }
-    }
-  },
-  created () {
-    this.isMobile = hasMobile()
-
-    this.$eventBus.$on('langChange', (langType, routePath) => {
-      if (routePath === '/Home') {
-        this.rules.name[0].message = this.$t('placeholder.PText_1')
-        this.rules.content[0].message = this.$t('placeholder.PText_3')
-        if (this.$refs.ruleForm) {
-          this.$refs.ruleForm.resetFields()
-        }
-      }
-    })
-  },
-  methods: {
-    clickSubmit () {
-      if (this.isRequest) return
-      this.$refs.ruleForm.validate(async (valid) => {
-        if (valid) {
-          this.isRequest = true
-          const result = await this.submitMessage()
-          if (result.code === 1) {
-            this.$refs.ruleForm.resetFields()
-          }
-          this.isRequest = false
-        }
-      })
-    }
-  }
-
-}
-</script>
-
-<style lang="scss" scoped>
-.m-from-container{
-  width: 1756.16px;
-  box-sizing: border-box;
-  margin: 153.6px 81.92px;
-
-  .button-m{
-    width: 972.8px;
-    height: 225.28px;
-    background-color: #1B74E5;
-    font-size: 81.92px;
-    line-height: 225.28px;
-    text-align: center;
-    color: #fff;
-    border-radius: 30.72px;
-    margin: 153.6px auto 0 auto;
-  }
-
-  :deep(.el-input__count){
-    font-size: 61.44px;
-    bottom:0.43604rem;
-    right: 0.43604rem;
-  }
-  :deep(.el-input__inner) {
-    height: 276.48px;
-    font-size: 81.92px;
-    border-radius: 30.72px;
-    padding: 0 61.44px;
-  }
-  :deep(.el-textarea__inner) {
-    border-radius: 30.72px;
-    font-size: 81.92px;
-    padding: 61.44px 61.44px;
-  }
-  :deep(.el-form-item__error){
-    font-size: 81.92px;
-  }
-  :deep(.el-form-item){
-    margin-bottom: 100px;
-  }
-
-  .m-from-view{
-    width: 100%;
-    min-height: 1237.44px;
-    background-color: #fff;
-    border-radius: 30.72px;
-    padding:153.6px 0 81.92px 0;
-    .m-from-title{
-      color: #333;
-      font-size: 102.4px;
-      margin: 0 0 102.4px 81.92px;
-    }
-    .from-block{
-      margin: 102.4px 81.92px;
-      .input{
-        width: 100%;
-        height: 276.48px;
-      }
-    }
-  }
-}
-
-.from-container {
-  padding: 120px 0;
-
-  :deep(.el-input__inner) {
-    height: 64px;
-  }
-
-  :deep(.el-textarea__inner) {
-    font-size: 16px;
-  }
-
-  .from-block {
-    margin-top: 60px;
-    width: 800px;
-  }
-
-  .input {
-    font-size: 16px;
-  }
-
-  .bottom-section {
-    margin-top: 60px;
-
-    .commit {
-      height: 64px;
-      padding: 0 38px;
-      font-size: 20px;
-      color: #ffffff;
-      background: #1B74E5;
-      border: 1px solid #1B74E5;
-      border-radius: 6px;
-      line-height: 64px;
-
-      &:active {
-        background: #115cbd;
-      }
-    }
-  }
-}
-
-</style>

+ 0 - 245
src/views/Forestage/Home/component/Pc/News.vue

@@ -1,245 +0,0 @@
-<template>
-  <div class="news-container flex-vh">
-    <div class="warp-block">
-      <div class="inner-block flex-vc">
-        <h2 class="heading">
-          <span class="h-text">{{$t('heading.HText_1')}}</span>
-        </h2>
-        <div class="more-btn flex-vh mouse-poi" @click="$router.push({path:'/News'})">{{$t('btn.btnText_1')}}</div>
-      </div>
-      <ul class="list-region ul flex-vc">
-        <li class="list_1 mouse-poi list list-hover_1" v-for="item,index in list1" :key="index" @click="goToUrl(item)">
-          <div class="img-block">
-            <el-image :src="item.image" fit="cover" class="img_1 position-vh"></el-image>
-          </div>
-          <div class="warp-content">
-            <p class="summary row-hidden_2">
-              <span class="row-hidden_2">{{item.title}}</span>
-            </p>
-            <div class="content-bottom flex-vc">
-              <span class="news-time">{{item.created_at}}</span>
-              <i class="el-icon-my-arrow-right"></i>
-            </div>
-          </div>
-        </li>
-      </ul>
-      <ul class="list-container ul flex-vc">
-        <li class="list_2 mouse-poi list list-hover_2" v-for="item,index in list2" :key="index" @click="goToUrl(item)">
-          <div class="img-block">
-            <el-image :src="item.image" fit="cover" class="img_2 position-vh"></el-image>
-          </div>
-          <div class="warp-content">
-            <p class="summary row-hidden_2">
-              <span class="row-hidden_2">{{item.title}}</span>
-            </p>
-            <div class="content-bottom flex-vc">
-              <span class="news-time">{{item.created_at}}</span>
-              <i class="el-icon-my-arrow-right"></i>
-            </div>
-          </div>
-        </li>
-      </ul>
-    </div>
-  </div>
-</template>
-
-<script>
-import mixinsHomeNews from '@/mixins/forestage/homeNews.js'
-export default {
-  name: 'News',
-  mixins: [mixinsHomeNews],
-  data() {
-    return {}
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.news-container {
-  color: #333333;
-  padding-top: 119px;
-}
-
-
-.inner-block {
-  position: relative;
-  justify-content: space-between;
-  width: 1200px;
-  height: 88px;
-
-  &::after {
-    content: ' ';
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    width: 45px;
-    height: 4px;
-    border-bottom: 4px solid #1B74E5;
-  }
-
-  .heading {
-    height: 100%;
-    vertical-align: top;
-
-    .h-text {
-      font-size: 40px;
-      font-weight: 600;
-    }
-
-
-  }
-
-  .more-btn {
-    width: 102px;
-    height: 40px;
-    font-size: 16px;
-    border: 1px solid #999999;
-    border-radius: 6px;
-
-    &:hover {
-      background-color: #1B74E5;
-      color: #ffffff;
-    }
-
-    &:active {
-      color: #ffffff;
-      background-color: #1466d1;
-    }
-  }
-
-}
-
-.ul {
-  .list {
-    &:hover {
-      background-color: #1B74E5;
-
-      .news-time {
-        color: #fff;
-      }
-
-      .row-hidden_2 {
-        color: #fff;
-      }
-
-      .el-icon-my-arrow-right {
-        color: #fff;
-      }
-
-      .summary {
-        border-bottom: 1px solid #fff;
-      }
-    }
-  }
-
-  .warp-content {
-    padding: 0 30px;
-
-    .summary {
-      height: 45px;
-      padding: 30px 0;
-      font-size: 20px;
-      border-bottom: 1px solid #E2E2E2;
-      line-height: 1.2;
-    }
-  }
-
-  .content-bottom {
-    padding: 30px 0;
-    font-size: 14px;
-    justify-content: space-between;
-
-    .el-icon-my-arrow-right {
-      font-size: 20px;
-      color: #999999;
-    }
-
-    .news-time {
-      color: #666666;
-    }
-  }
-}
-
-.list-region {
-  justify-content: space-between;
-  margin-top: 60px;
-}
-
-.list_1 {
-  width: 585px;
-
-  background-color: #fff;
-  border-radius: 0px 0px 2px 2px;
-  overflow: hidden;
-
-
-
-  .img-block {
-    position: relative;
-    width: 100%;
-    height: 425px;
-    overflow: hidden;
-
-    .img_1 {
-      width: 100%;
-      height: 100%;
-      transition: all 0.3s;
-      :deep(img){
-        border-radius: 2px 2px 0px 0px;
-      }
-    }
-  }
-}
-
-.list-hover_1 {
-  &:hover {
-    .img_1 {
-      width: 610px;
-      height: 440px;
-      transition: all 0.3s;
-    }
-  }
-}
-
-.list-container {
-  margin-top: 30px;
-}
-
-.list_2 {
-  width: 380px;
-  margin-right: 30px;
-  background-color: #fff;
-  border-radius: 0px 0px 2px 2px;
-  overflow: hidden;
-
-  &:last-child {
-    margin-right: 0;
-  }
-
-  .img-block {
-    position: relative;
-    width: 100%;
-    height: 276px;
-    overflow: hidden;
-
-    .img_2 {
-      width: 100%;
-      height: 100%;
-      transition: all 0.3s;
-      :deep(img){
-        border-radius: 2px 2px 0px 0px;
-      }
-    }
-  }
-}
-
-.list-hover_2 {
-  &:hover {
-    .img_2 {
-      width: 400px;
-      height: 290px;
-      transition: all 0.3s;
-    }
-  }
-}
-</style>

+ 0 - 33
src/views/Forestage/Home/component/Pc/Poster.vue

@@ -1,33 +0,0 @@
-<template>
-  <div class="container flex-vh">
-    <img src="@/assets/forestage/images/poster-text.png" class="poster-img wow animate__animated animate__backInDown">
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'Poster',
-  data() {
-    return {
-    }
-  },
-  methods: {
-
-  },
-
-}
-</script>
-
-<style lang="scss" scoped>
-.container {
-  position: relative;
-  margin-top: 120px;
-  height: 800px;
-  background: url('https://jhxcnc.oss-cn-chengdu.aliyuncs.com/image/images/poster.png') no-repeat center / 100% 100%;
-}
-
-.poster-img {
-  width: 1462px;
-  height: 116px;
-}
-</style>

+ 0 - 100
src/views/Forestage/Home/component/Pc/Swiper.vue

@@ -1,100 +0,0 @@
-<template>
-  <el-carousel trigger="click" :height="isMobile?'5.62667rem':'100vh'" ref="slideCarousel">
-    <el-carousel-item v-for="item,index in list" :key="index">
-      <img :src="item.image" class="swiper-img" @click="toUrl(item)">
-    </el-carousel-item>
-  </el-carousel>
-</template>
-
-<script>
-  import { hasMobile } from '@/utils/mobile.js'
-export default {
-  name: 'Swiper',
-  props: ['list'],
-  data() {
-    return {
-      isMobile:false,
-    };
-  },
-
-  created() {
-    this.isMobile = hasMobile()
-  },
-
-  mounted() {
-    if(this.isMobile){
-      this.slideBanner()
-    }
-  },
-
-  methods: {
-    toUrl(item){
-      if(item.url) window.open(item.url)
-    },
-    slideBanner() {
-    	  //选中的轮播图
-    	  var box = document.querySelector('.el-carousel__container');
-    	  var startPoint = 0;
-    	  var stopPoint = 0;
-    	  //重置坐标
-    	  var resetPoint = function () {
-    	    startPoint = 0;
-    	    stopPoint = 0;
-    	  }
-    	  //手指按下
-    	  box.addEventListener("touchstart", function (e) {
-    	    //手指点击位置的X坐标
-    	    startPoint = e.changedTouches[0].pageX;
-    	  });
-    	  //手指滑动
-    	  box.addEventListener("touchmove", function (e) {
-    	    //手指滑动后终点位置X的坐标
-    	    stopPoint = e.changedTouches[0].pageX;
-    	  });
-    	  //当手指抬起的时候,判断图片滚动离左右的距离
-    	  let that = this
-    	  box.addEventListener("touchend", function (e) {
-    	    console.log("1:" + startPoint);
-    	    console.log("2:" + stopPoint);
-    	    if (stopPoint == 0 || startPoint - stopPoint == 0) {
-    	      resetPoint();
-    	      return;
-    	    }
-    	    if (startPoint - stopPoint > 0) {
-    	      resetPoint();
-    	      that.$refs.slideCarousel.next();
-    	      return;
-    	    }
-    	    if (startPoint - stopPoint < 0) {
-    	      resetPoint();
-    	      that.$refs.slideCarousel.prev();
-    	      return;
-    	    }
-    	  });
-    	},
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.swiper-img {
-  width: 100%;
-  height: 100%;
-}
-
-:deep(.el-carousel__arrow) {
-  width: 88px;
-  height: 88px;
-  font-size: 30px;
-  background: rgba(0, 0, 0, 0.39);
-}
-
-:deep(.el-carousel__button){
-  width: 50px;
-  height: 6px;
-  border-radius: 10px;
-}
-:deep(.el-carousel__indicator){
-  padding-bottom: 40px !important;
-}
-</style>

+ 0 - 115
src/views/Forestage/Home/component/mobile/News.vue

@@ -1,115 +0,0 @@
-<template>
-  <div class="news-box">
-      <div class="news-box-title">
-        <div class="title-1">{{$t('heading.HText_1')}}</div>
-        <div class="title-2" @click="$router.push({path:'/News'})">
-          <div class="title-text">{{$t('btn.btnText_1')}}</div>
-          <img src="../../../../../assets/forestage/img/m-toRight.png" alt="">
-        </div>
-      </div>
-
-      <div class="news-list">
-        <div class="list-box" v-for="(item,i) in list1" :key="i" @click="goToUrl(item)">
-          <img :src="item.image" alt="">
-          <div class="list-title">{{item.title}}</div>
-          <div class="list-box-xian"></div>
-          <div class="list-foot">
-            <span class="news-time">{{item.created_at}}</span>
-            <i class="el-icon-my-arrow-right"></i>
-          </div>
-        </div>
-        <div class="list-box" v-for="(item,index) in list2" @click="goToUrl(item)">
-          <img :src="item.image" alt="">
-          <div class="list-title">{{item.title}}</div>
-          <div class="list-box-xian"></div>
-          <div class="list-foot">
-            <span class="news-time">{{item.created_at}}</span>
-            <i class="el-icon-my-arrow-right"></i>
-          </div>
-        </div>
-      </div>
-  </div>
-</template>
-
-<script>
-  import mixinsHomeNews from '@/mixins/forestage/homeNews.js'
-  export default {
-    mixins: [mixinsHomeNews],
-  }
-</script>
-
-<style scoped lang="scss">
-  .news-box{
-    box-sizing: border-box;
-    padding: 0 81.92px;
-    margin-top: 153.6px;
-    .news-box-title{
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      .title-1{
-        color: #333333;
-        font-size: 102.4px;
-      }
-      .title-2{
-        display: flex;
-        .title-text{
-          color: #999;
-          font-size: 71.68px;
-          margin-top: 10px;
-        }
-        img{
-          width: 33.1264px;
-          height: 61.5936px;
-          margin-left: 40px;
-          margin-top: 15px;
-        }
-      }
-    }
-
-    .news-list{
-      min-height: 400px;
-      .list-box{
-        margin-top: 76.8px;
-        height: 1945.6px;
-        background: #fff;
-        border-radius: 30.72px;
-        img{
-          width: 100%;
-          height: 1280px;
-          border-top-left-radius:30.72px;
-          border-top-right-radius:30.72px;
-        }
-        .list-title{
-          height: 270.6px;
-          margin: 0 81.92px 0 81.92px;
-          padding-top: 81.92px;
-          // border-bottom: 1px solid #E2E2E2;
-          line-height: 1.5;
-          display: -webkit-box;
-          -webkit-box-orient: vertical;
-          -webkit-line-clamp: 2;
-          overflow: hidden;
-          word-break: break-all;
-          font-size: 81.92px;
-        }
-        .list-box-xian{
-          margin: 0 81.92px;
-          height: 0.75px;
-          background: #E2E2E2;
-          margin-top: 45px;
-        }
-        .list-foot{
-          display: flex;
-          justify-content: space-between;
-          margin-top: 81.92px;
-          padding: 0 81.92px;
-          .news-time{
-            color: #666666;
-            font-size: 61.44px;
-          }
-        }
-      }
-    }
-  }
-</style>

+ 79 - 6
src/views/Forestage/Home/index.vue

@@ -1,6 +1,27 @@
 <template>
-  <div>
-    1
+  <!-- 首页 -->
+  <div class="home-index">
+    <div class="index-bg-1">
+        <div v-if="userToken" class="info-1 text-align-center box-sizing-border-box pt-100">
+            <div class="fs-34 fc-f fw-500 mb-12">全球商户中心互联网平台</div>
+            <div class="fs-14 fc-f fw-400 mb-40">预订门票和浏览全球热门旅行景点</div>
+            <div class="box-1 text-align-center fs-16 mb-12 hand-cursor">登录</div>
+            <div class="box-2 text-align-center fs-16 hand-cursor">注册</div>
+        </div>
+    </div>
+
+    <div class="index-bg-2">
+
+    </div>
+    <div class="index-bg-3">
+
+    </div>
+    <div class="index-bg-4">
+
+    </div>
+    <div class="index-bg-5">
+    
+    </div>
   </div>
 </template>
 
@@ -8,13 +29,14 @@
 
 export default {
   name: "Home",
-
   data() {
     return {
-      
+      userToken:'',
     };
   },
-
+  created() {
+    this.userToken = window.localStorage.getItem('userToken')
+  },
   mounted() {
 
   },
@@ -23,5 +45,56 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-
+  .home-index{
+    padding-top: 70px;
+    .index-bg-1{
+      width: 100%;
+      height: 433px;
+      background: url(@/assets/img/home/index1.png) no-repeat;
+      background-size: 100% 100%;
+      .info-1{
+        width: 570px;
+        height: 433px;
+        background: rgb(138, 169, 198,0.6);
+        margin: 0 auto;
+      }
+      .box-1,.box-2{
+        width: 100px;
+        height: 42px;
+        line-height: 42px;
+        opacity: 1;
+        border-radius: 2px;
+        background: rgb(199, 171, 123);
+        margin-left: auto;
+        margin-right: auto;
+      }
+      .box-2{
+        width: 112px !important;
+      }
+    }
+    .index-bg-2{
+      width: 100%;
+      height: 618px;
+      background: url(@/assets/img/home/index2.png) no-repeat;
+      background-size: 100% 100%;
+    }
+    .index-bg-3{
+      width: 100%;
+      height: 768px;
+      background: url(@/assets/img/home/index3.png) no-repeat;
+      background-size: 100% 100%;
+    }
+    .index-bg-4{
+      width: 100%;
+      height: 700px;
+      background: url(@/assets/img/home/index4.png) no-repeat;
+      background-size: 100% 100%;
+    }
+    .index-bg-5{
+      width: 100%;
+      height: 557px;
+      background: url(@/assets/img/home/index5.png) no-repeat;
+      background-size: 100% 100%;
+    }
+  }
 </style>

+ 15 - 0
src/views/Forestage/Tourism/index.vue

@@ -0,0 +1,15 @@
+<template>
+  <div>
+    旅游
+  </div>
+</template>
+
+<script>
+  export default {
+    
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 3 - 11
src/views/Forestage/login/forget-password.vue

@@ -40,18 +40,10 @@
         }
         login(this.loginForm).then((res) => {
           if (res.code === 1) {
-            localStorage.setItem('userName',res.data.user.name)
-            localStorage.setItem('token',res.data.token)
-            getMenuIds().then((res)=>{
-              if(res.code === 1){
-                localStorage.setItem('ids',res.data)
-                this.$router.push('/login')
-              }else{
-                this.$notify.error(res.msg)
-              }
-            })
+            tools.success('密码设置成功,请重新登录');
+            this.$router.push('/login')
           } else {
-            this.$notify.error(res.msg)
+           tools.error(res.msg)
           }
         })
       },

+ 14 - 19
src/views/Forestage/login/login.vue

@@ -38,25 +38,20 @@
       },
 
       toLogin() {
-        if (this.fromData.password === '') {
-          return tools.success('请输入密码');
-        }
-        login(this.loginForm).then((res) => {
-          if (res.code === 1) {
-            localStorage.setItem('userName',res.data.user.name)
-            localStorage.setItem('token',res.data.token)
-            getMenuIds().then((res)=>{
-              if(res.code === 1){
-                localStorage.setItem('ids',res.data)
-                this.$router.push('/')
-              }else{
-                this.$notify.error(res.msg)
-              }
-            })
-          } else {
-            this.$notify.error(res.msg)
-          }
-        })
+         localStorage.setItem('userToken','123456')
+         this.$router.push('/')
+
+        // if (this.fromData.password === '') {
+        //   return tools.success('请输入密码');
+        // }
+        // login(this.loginForm).then((res) => {
+        //   if (res.code === 1) {
+        //     localStorage.setItem('token',res.data.token)
+        //     this.$router.push('/')
+        //   } else {
+        //     tools.error(res.msg)
+        //   }
+        // })
       },
     },
   };

+ 3 - 11
src/views/Forestage/login/register.vue

@@ -48,18 +48,10 @@
         }
         login(this.loginForm).then((res) => {
           if (res.code === 1) {
-            localStorage.setItem('userName',res.data.user.name)
-            localStorage.setItem('token',res.data.token)
-            getMenuIds().then((res)=>{
-              if(res.code === 1){
-                localStorage.setItem('ids',res.data)
-                this.$router.push('/login')
-              }else{
-                this.$notify.error(res.msg)
-              }
-            })
+            tools.success('注册成功,请重新登录');
+            this.$router.push('/login')
           } else {
-            this.$notify.error(res.msg)
+            tools.error(res.msg)
           }
         })
       },