Pārlūkot izejas kodu

Merge branch 'master' of http://face3d.4dage.com:7005/shaogen1995/YFYC-H5 into master

shaogen1995 2 gadi atpakaļ
vecāks
revīzija
057c57d5ef

BIN
src/assets/img/service/eye.png


+ 0 - 1
src/components/SearchRedBtn.vue

@@ -34,7 +34,6 @@ export default {
 
 <style lang="less" scoped>
 .search-wrap {
-  margin: 6.1vw 4.4vw 0 4.4vw;
   background: #F4F4F4;
   height: 6.9vw;
   border-radius: 1.1vw;

+ 11 - 1
src/router/index.js

@@ -85,11 +85,21 @@ const routes = [{
         path: '/layout/serve',
         name: 'serve',
         meta: {
-          myInd: 2
+          myInd: 2,
+          myTitle: '享·服务',
         },
         component: () => import('../views/Serve/index.vue')
       },
       {
+        path: '/layout/serve/recommended-path',
+        name: 'RecommendedPath',
+        meta: {
+          myInd: 2,
+          myTitle: '推荐路线',
+        },
+        component: () => import('../views/Serve/RecommendedPath.vue')
+      },
+      {
         path: '/layout/interact',
         name: 'interact',
         meta: {

+ 173 - 0
src/views/Serve/RecommendedPath.vue

@@ -0,0 +1,173 @@
+<template>
+  <div class="recommended-path">
+    <SearchBar class="search-bar" @search="onSearch"></SearchBar>
+    <div class="keywords">
+      <h2>推荐</h2>
+      <button
+        class="keyword"
+        v-for="(item, index) in recoKeywordList"
+        :key="index"
+        @click="onClickTag(item)"
+      >
+        {{item}}
+      </button>
+    </div>
+    <div class="card-list">
+      <article
+        v-for="n in 10"
+        :key="n"
+      >
+        <div class="left">
+          <img src="@/assets/img/service/一日游.png" alt="" draggable="false">
+        </div>
+        <div class="right">
+          <h3>【一日游】方特  欢乐世界+梦幻王国+中江塔+老海关客流数据格式的克里夫拉萨大家反抗拉萨酱豆腐考虑离开</h3>
+          <ul class="tags">
+            <li class="tag">一日游</li>
+            <li class="tag">自驾</li>
+          </ul>
+          <div class="bottom">
+            <div class="time">2022-10-10</div>
+            <div class="view-count">
+              <img class="icon" src="@/assets/img/service/eye.png" alt="" draggable="false">
+              666
+            </div>
+          </div>
+        </div>
+      </article>
+    </div>
+  </div>
+</template>
+
+<script>
+import SearchBar from "@/components/SearchRedBtn.vue";
+
+export default {
+  components: {
+    SearchBar,
+  },
+  data() {
+    return {
+      recoKeywordList: [
+        '一日游',
+        '古建筑',
+        '美食',
+        '快速浏览',
+        '美食',
+      ]
+    }
+  },
+  methods: {
+    onSearch(v) {
+      console.log('on search: ', v);
+    },
+    onClickTag(v) {
+      console.log('on click tag: ', v);
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.recommended-path {
+  background-color: #fff;
+  height: calc(100% - 80px);
+  overflow: auto;
+  padding: 6.1vw 4.5vw 4.5vw 4.5vw;
+  display: flex;
+  flex-direction: column;
+  .search-bar {
+    flex: 0 0 auto;
+  }
+  .keywords {
+    margin-top: 4.1vw;
+    margin-right: -4.5vw;
+    flex: 0 0 auto;
+    > h2 {
+      font-size: 3.5vw;
+      font-weight: bold;
+      color: #000000;
+      margin-bottom: 3.2vw;
+    }
+    > button {
+      background: #F4F4F4;
+      border-radius: 0.5vw;
+      padding: 2.5vw 4vw;
+      font-size: 2.7vw;
+      color: #333333;
+      margin-right: 4.5vw;
+      margin-bottom: 3.2vw;
+    }
+  }
+  .card-list {
+    flex: 1 0 1px;
+    overflow: auto;
+    > article {
+      height: 29.6vw;
+      background: #F7F8FA;
+      box-shadow: 0vw 0.5vw 1.1vw 0vw rgba(109,128,166,0.29);
+      border-radius: 1.1vw;
+      overflow: hidden;
+      margin-right: 1.1vw;
+      margin-bottom: 5.6vw;
+      display: flex;
+      > .left {
+        height: 100%;
+        width: 21.3vw;
+        flex: 0 1 auto;
+        > img {
+          width: 100%;
+          height: 100%;
+          object-fit: cover;
+          border-radius: 1.1vw;
+        }
+      }
+      > .right {
+        flex: 0 1 auto;
+        width: 69.7vw;
+        padding: 2.2vw 2vw 2.7vw 2vw;
+        > h3 {
+          font-size: 3.2vw;
+          color: #333333;
+          line-height: 6.4vw;
+          display: -webkit-box;
+          -webkit-box-orient: vertical;
+          -webkit-line-clamp: 2;
+          overflow: hidden;
+          margin-bottom: 3vw;
+        }
+        > ul.tags {
+          margin-bottom: 2vw;
+          > li.tag {
+            border: 0.3vw solid #FE6E69;
+            border-radius: 0.5vw;
+            margin-right: 2.9vw;
+            padding: 0.8vw 2vw;
+            font-size: 2.7vw;
+            color: #FE6E69;
+            letter-spacing: 0.2em;
+          }
+        }
+        > .bottom {
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+          font-size: 2.7vw;
+          color: #333333;
+          > .time {
+          }
+          > .view-count {
+            display: flex;
+            align-items: center;
+            > img {
+              width: 3.3vw;
+              height: 2.5vw;
+              margin-right: 0.9vw;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+</style>

+ 6 - 3
src/views/Serve/index.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="service" id="service-first-page">
     <div class="banner">
-      <SearchBar @search="onSearch"></SearchBar>
+      <SearchBar class="search-bar" @search="onSearch"></SearchBar>
     </div>
     
     <menu>
-      <router-link class="entry" to="/">
+      <router-link class="entry" :to="{name: 'RecommendedPath'}">
         <img src="@/assets/img/service/路线.png" alt="" draggable="false">
         <div>推荐路线</div>
       </router-link>
@@ -33,7 +33,7 @@
 
     <div class="travel-route-2">
       <h3>推荐路线</h3>
-      <router-link class="more" to="/">更多  》</router-link>
+      <router-link class="more" :to="{name: 'RecommendedPath'}">更多  》</router-link>
       <div class="grid-wrap">
         <div class="left-wrap card">
           <img src="@/assets/img/service/一日游.png" alt="" draggable="false">
@@ -204,6 +204,9 @@ activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
     background-position: center center;
     overflow: hidden;
     margin-bottom: 3.3vw;
+    .search-bar {
+      margin: 6.1vw 4.4vw 0 4.4vw;
+    }
   }
 
   > menu {