|
@@ -2,41 +2,41 @@
|
|
|
<div class="food-detail">
|
|
|
<img src="@/assets/img/my/food-detail-banner-bg.png" alt="" class="banner-bg">
|
|
|
<div class="banner-card">
|
|
|
- <h2>美食店铺名称(仁和新街点)</h2>
|
|
|
+ <h2>{{info.name}}</h2>
|
|
|
<div class="star">
|
|
|
<img
|
|
|
- v-for="n in 5"
|
|
|
+ v-for="n in info.star"
|
|
|
:key="n"
|
|
|
src="@/assets/img/service/star.png" alt="" class="star"
|
|
|
>
|
|
|
- 5
|
|
|
+ {{info.star}}
|
|
|
</div>
|
|
|
<div class="tag-list">
|
|
|
<div class="tag">
|
|
|
- 菜系标签
|
|
|
+ {{typeList[this.info.typeIdx]}}
|
|
|
</div>
|
|
|
- <div class="tag">
|
|
|
+ <!-- <div class="tag">
|
|
|
评价标签
|
|
|
</div>
|
|
|
<div class="tag">
|
|
|
其他标签
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
- <img src="@/assets/img/service/food-detail-banner.png" alt="" class="shop-banner">
|
|
|
+ <img :src="require(`@/assets/img/service/food/${info.coverName}`)" alt="" class="shop-banner">
|
|
|
<div class="bottom-bar">
|
|
|
<div class="left">
|
|
|
<img src="@/assets/img/service/address-gray.png" alt="" class="icon">
|
|
|
- <div class="address">鸠江区仁和路和兴街S12栋S110号</div>
|
|
|
+ <div class="address">{{info.address}}</div>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
- <button class="nav">
|
|
|
+ <button class="nav" @click="onClickNav">
|
|
|
<img class="" src="@/assets/img/service/navigation-gray.png" alt="" draggable="false">
|
|
|
导航
|
|
|
</button>
|
|
|
- <button class="phone">
|
|
|
+ <a v-if="info.phone" class="phone" :href="`tel:${info.phone}`">
|
|
|
<img class="" src="@/assets/img/service/phone-gray-2.png" alt="" draggable="false">
|
|
|
电话
|
|
|
- </button>
|
|
|
+ </a>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -44,28 +44,19 @@
|
|
|
<div class="content-card">
|
|
|
<div class="top-line">
|
|
|
<div class="title">推荐菜</div>
|
|
|
- <button>
|
|
|
+ <!-- <button>
|
|
|
更多 》
|
|
|
- </button>
|
|
|
+ </button> -->
|
|
|
</div>
|
|
|
<div class="swiper-container-food">
|
|
|
<div class="swiper-wrapper">
|
|
|
- <div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【古建筑】.png" alt="">
|
|
|
+ <div class="swiper-slide"
|
|
|
+ v-for="(item, index) in menu"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <img :src="item.img" alt="">
|
|
|
<div class="title-wrap">
|
|
|
- <h4>美食名称</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【快速浏览】.png" alt="">
|
|
|
- <div class="title-wrap">
|
|
|
- <h4>美食名称</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【西洋建筑】.png" alt="">
|
|
|
- <div class="title-wrap">
|
|
|
- <h4>美食名称</h4>
|
|
|
+ <h4>{{item.name}}</h4>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -75,28 +66,16 @@
|
|
|
<div class="content-card">
|
|
|
<div class="top-line">
|
|
|
<div class="title">周边景点</div>
|
|
|
- <button>
|
|
|
+ <!-- <button>
|
|
|
更多 》
|
|
|
- </button>
|
|
|
+ </button> -->
|
|
|
</div>
|
|
|
<div class="swiper-container-attractions">
|
|
|
<div class="swiper-wrapper">
|
|
|
<div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【古建筑】.png" alt="">
|
|
|
- <div class="title-wrap">
|
|
|
- <h4>景点名称</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【快速浏览】.png" alt="">
|
|
|
- <div class="title-wrap">
|
|
|
- <h4>景点名称</h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="swiper-slide">
|
|
|
- <img src="@/assets/img/service/【西洋建筑】.png" alt="">
|
|
|
+ <img src="@/assets/img/service/老芜湖海关.png" alt="">
|
|
|
<div class="title-wrap">
|
|
|
- <h4>景点名称</h4>
|
|
|
+ <h4>{{attractionList[info.attractionIdx]}}</h4>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -107,9 +86,49 @@
|
|
|
|
|
|
<script>
|
|
|
import Swiper from "../../assets/libs/swiper.js";
|
|
|
+import serveData from "@/assets/data/serve/data.js";
|
|
|
|
|
|
export default {
|
|
|
+ computed: {
|
|
|
+ attractionList() {
|
|
|
+ return serveData.attractionList
|
|
|
+ },
|
|
|
+ typeList() {
|
|
|
+ return serveData.typeList
|
|
|
+ },
|
|
|
+ info() {
|
|
|
+ return serveData.restaurantList.find((item) => {
|
|
|
+ return item.id === this.$route.query.id
|
|
|
+ })
|
|
|
+ },
|
|
|
+ menu() {
|
|
|
+ const targetKeys = Object.keys(serveData.foodImgToName).filter((item) => {
|
|
|
+ return item.split(' ')[0] === this.info.id.toString()
|
|
|
+ })
|
|
|
+ let ret = []
|
|
|
+ for (const key of targetKeys) {
|
|
|
+ ret.push({
|
|
|
+ img: require(`@/assets/img/service/food/${key}`),
|
|
|
+ name: serveData.foodImgToName[key],
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return ret
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ onClickNav() {
|
|
|
+ this.$router.push({
|
|
|
+ name: 'MapNav',
|
|
|
+ params: {
|
|
|
+ x: this.info.x,
|
|
|
+ y: this.info.y,
|
|
|
+ name: this.info.name,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
mounted() {
|
|
|
+ console.log(this.info);
|
|
|
this.$nextTick(() => {
|
|
|
new Swiper(".swiper-container-food", {
|
|
|
slidesPerView: 1.4,
|
|
@@ -213,7 +232,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
> .right {
|
|
|
- > button {
|
|
|
+ > button, a {
|
|
|
font-size: 2.9vw;
|
|
|
font-weight: bold;
|
|
|
color: #787878;
|
|
@@ -266,6 +285,7 @@ export default {
|
|
|
width: 82.8vw;
|
|
|
height: 53.2vw;
|
|
|
background: #F7F8FA;
|
|
|
+ border-radius: 1.1vw;
|
|
|
> img {
|
|
|
width: 100%;
|
|
|
height: 40.7vw;
|
|
@@ -291,6 +311,7 @@ export default {
|
|
|
width: 43.6vw;
|
|
|
height: 55vw;
|
|
|
background: #F7F8FA;
|
|
|
+ border-radius: 1.1vw;
|
|
|
> img {
|
|
|
width: 100%;
|
|
|
height: 44.5vw;
|