Commit 5347636c authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/viitto/million

# Conflicts:
#	src/components/navs/hor-btm.vue
parents ca982498 b0ee96fd
src/assets/img/login-bg.png

7.65 MB | W: | H:

src/assets/img/login-bg.png

1.79 MB | W: | H:

src/assets/img/login-bg.png
src/assets/img/login-bg.png
src/assets/img/login-bg.png
src/assets/img/login-bg.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -25,8 +25,8 @@ Vue.prototype.domainManager = function() {
if (domainNameUrl.indexOf('testerp.oytour') !== -1) {
domainUrl = "http://testapi.oytour.com";
} else if (domainNameUrl.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com";
//domainUrl = 'http://192.168.10.206:8015' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' '
// domainUrl = "http://reborn.oytour.com";
domainUrl = 'http://192.168.10.11:8083' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' '
}
var obj = {
//主地址
......
......@@ -185,6 +185,7 @@
<q-menu
ref="address"
@mouseenter="addressMenuEnter"
@mouseleave="addressMenuLeave"
class="light-shadow"
>
<div class="address-box flex">
......@@ -493,6 +494,7 @@ export default {
this.$refs.address.show();
},
mouseeleaveAddress() {
this.addressFocus = 0;
setTimeout(() => {
if (!this.addressFocus) {
this.$refs.address.hide();
......
......@@ -373,16 +373,18 @@ cursor: pointer;
</div>
<div :class="$q.platform.is.desktop ? 'row': 'q-mt-lg'">
<div v-for="(item,i) in dataList.FooterList" :key="item.Id" :class="{'q-ml-xl':i>0 && $q.platform.is.desktop}">
<div class=" text-weight-bold text-white" :class="$q.platform.is.desktop ? 'text-subtitle1': 'f14'">{{ item.NavTitle }}</div>
<div :class="$q.platform.is.desktop ? 'q-mt-xl': 'q-mt-md'" v-if="item.SubList">
<div :class="$q.platform.is.desktop ? 'text-subtitle2 text-regular': 'f12'" class="q-mb-lg text-grey-8 cursor-pointer" v-for="item2 in item.SubList" :key="item2.Id" @click="navigateTo(item2)">{{item2.NavTitle}}</div>
<div class=" text-weight-bold text-white" :class="$q.platform.is.desktop ? 'text-subtitle1': 'f16'">{{ item.NavTitle }}</div>
<div :class="$q.platform.is.desktop ? 'q-mt-xl': 'q-mt-md row'" v-if="item.SubList">
<div :class="$q.platform.is.desktop ? 'text-subtitle2 text-regular': 'f14'" class="q-mb-lg q-mr-md text-grey-8 cursor-pointer" v-for="item2 in item.SubList" :key="item2.Id" @click="navigateTo(item2)">{{item2.NavTitle}}</div>
</div>
</div>
</div>
<div v-for="item in dataList.BottomList" :key="item.Id">
<div class="text-subtitle1 text-weight-bold text-white">{{ item.NavTitle }}</div>
<div class="q-mt-xl row" style="width:210px">
<img v-for="item2 in item.SubList" :key="item2.Id" style="width:40px;border-radius: 2px;" class="q-mb-md q-mr-md bg-white" :src="item2.Icon" :title="item2.NavTitle" />
<div class="text-weight-bold text-white" :class="$q.platform.is.desktop ? 'text-subtitle1': 'f16'">{{ item.NavTitle }}</div>
<div class="row" :class="$q.platform.is.desktop ? 'q-mt-xl' : 'q-mt-md'" :style="$q.platform.is.desktop ? 'width:210px': 'width:100%'" >
<div class="bg-white rounded-borders q-pa-xs overflow-hidden q-mb-md q-mr-md" @click="navigateTo(item2)" v-for="item2 in item.SubList" :key="item2.Id" style="width:40px;height:34px;">
<img style="width:100%" :src="item2.Icon" :title="item2.NavTitle" />
</div>
</div>
</div>
</div>
......
......@@ -117,9 +117,18 @@
.f36 {
font-size: 36px;
}
.f40 {
font-size: 40px;
}
.f42 {
font-size: 42px;
}
.lh200 {
line-height: 200%;
}
.lh150 {
line-height: 150%;
}
.text-center {
text-align: center;
}
......
<style lang="scss" scoped>
.banner {
width: 100%;
}
.wrapper {
max-width: 1200px;
margin: 0 auto;
}
.about-content {
width: 55%;
margin-right: 5%;
}
.about-img {
width: 40%;
height: 30%;
object-fit: cover;
}
.tips {
width: 42px;
height: 3px;
background: #000000;
}
.team {
padding-top: 90px;
background: url("../assets/img/about/team-bg.png") no-repeat;
}
.card {
padding: 25px 30px;
width: 405px;
height: 537px;
background: linear-gradient(-7deg, #fefeff, #f4f6f9);
border: 2px solid rgba(255, 255, 255, 0.81);
box-shadow: 0px 13px 29px 0px rgba(39, 77, 192, 0.08);
border-radius: 8px;
}
.avotar {
width: 168px;
height: 168px;
border-radius: 50%;
}
.team-ml {
margin-left: 80px;
}
.mt-150 {
margin-top: 150px;
}
.mt-100 {
margin-top: 100px;
}
.line-1 {
width: 54px;
height: 4px;
background: #000000;
margin: 0 auto;
}
.line-2 {
width: 154px;
height: 2px;
background: #434343;
margin: -3px auto;
}
.product-card {
width: 241px;
height: 97px;
background: linear-gradient(-7deg, #fefeff, #f4f6f9);
border: 2px solid rgba(255, 255, 255, 0.81);
box-shadow: 0px 13px 29px 0px rgba(39, 77, 192, 0.08);
border-radius: 8px;
padding: 16px 35px;
.circle {
width: 32px;
height: 32px;
background: $primary;
border-radius: 50%;
text-align: center;
color: #fff;
line-height: 32px;
margin-right: 14px;
margin-top: 4px;
}
.tips {
width: 52px;
height: 2px;
background: #000000;
margin: 2px 0;
}
.name-circle {
width: 6px;
height: 6px;
background: #000000;
display: inline-block;
border-radius: 50%;
}
}
.map {
width: 100%;
max-width: 1200px;
display: inline-block;
}
.prize {
margin-top: 20px;
width: 192px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.prize-cover {
width: 155px;
height: 201px;
}
.line {
width: 100%;
height: 3px;
background: #efefef;
margin: 44px 0 0 0;
}
.tips {
margin: -6px auto 15px auto;
width: 8px;
height: 8px;
border-radius: 50%;
}
}
.partners-card {
width: 756px;
height: 234px;
background: linear-gradient(-7deg, #fefeff, #f4f6f9);
border: 2px solid rgba(255, 255, 255, 0.81);
box-shadow: 0px 13px 29px 0px rgba(39, 77, 192, 0.08);
border-radius: 6px 16px 16px 16px;
margin: 0 auto;
padding: 56px;
.partner-img {
width: 197px;
height: 51px;
margin-right: 70px;
}
}
.partners-list {
overflow-x: auto;
}
.partner {
width: 150px;
height: 80px;
}
</style>
<template>
<q-page>
<template v-for="(item,index) in AboutData">
<div :key="index">
<!--自訂版型(影片)-->
<videoOne v-if="item.Id=='white_label_video'&&item.plugData.Type==1" :plugData="item.plugData"></videoOne>
<videoTwo v-if="item.Id=='white_label_video'&&item.plugData.Type==2" :plugData="item.plugData"></videoTwo>
<!--自訂版型(圖片)和挑選自有行程(圖片)-->
<diyImgOne v-if="item.Id=='white_label_picture'&&item.plugData.Type==1" :plugData="item.plugData"></diyImgOne>
<diyImgTwo v-if="item.Id=='white_label_picture'&&item.plugData.Type==2" :plugData="item.plugData"></diyImgTwo>
<diyImgThree v-if="item.Id=='white_label_picture'&&item.plugData.Type==3" :plugData="item.plugData">
</diyImgThree>
<diyImgFour v-if="item.Id=='white_label_picture'&&item.plugData.Type==4" :plugData="item.plugData"></diyImgFour>
<diyImgFive v-if="item.Id=='white_label_picture'&&item.plugData.Type==5" :plugData="item.plugData"></diyImgFive>
<diyImgSix v-if="item.Id=='white_label_picture'&&item.plugData.Type==6" :plugData="item.plugData"></diyImgSix>
<!--自訂版型(QRcode)white_label_qrcode-->
<qrLeft v-if="item.Id=='white_label_qrcode'&&item.plugData.Type==1" :plugData="item.plugData"></qrLeft>
<qrRight v-if="item.Id=='white_label_qrcode'&&item.plugData.Type==2" :plugData="item.plugData"></qrRight>
<!--自訂版型(其他)white_label_other -Start-->
<empty v-if="item.Id=='white_label_other'&&item.plugData.Type==1" :plugData="item.plugData"></empty>
<downloadTable v-if="item.Id=='white_label_other'&&item.plugData.Type==2" :plugData="item.plugData">
</downloadTable>
<diyTitle v-if="item.Id=='white_label_other'&&item.plugData.Type==3" :plugData="item.plugData"></diyTitle>
<paragraph v-if="item.Id=='white_label_other'&&item.plugData.Type==4" :plugData="item.plugData"></paragraph>
<photo v-if="item.Id=='white_label_other'&&item.plugData.Type==5" :plugData="item.plugData"></photo>
<!--待完善-->
<diyForm v-if="item.Id=='white_label_other'&&item.plugData.Type==6" :plugData="item.plugData" :TCID="0"> </diyForm>
<!--自訂版型(背景圖)white_label_background_article-->
<bgArticleLeft v-if="item.Id=='white_label_background_article'&&item.plugData.Type==1"
:plugData="item.plugData"></bgArticleLeft>
<bgArticleCenter v-if="item.Id=='white_label_background_article'&&item.plugData.Type==2"
:plugData="item.plugData"></bgArticleCenter>
<bgArticleRight v-if="item.Id=='white_label_background_article'&&item.plugData.Type==3"
:plugData="item.plugData"></bgArticleRight>
<!--自訂版型(段落標題)-->
<paragraph1 v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==1" :plugData="item.plugData">
</paragraph1>
<paragraph2 v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==2" :plugData="item.plugData">
</paragraph2>
<paragraph3 v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==3" :plugData="item.plugData">
</paragraph3>
<paragraphleft v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==4" :plugData="item.plugData">
</paragraphleft>
<paragraphright v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==5" :plugData="item.plugData">
</paragraphright>
<paragraphafter v-if="item.Id=='white_label_paragraph_title'&&item.plugData.Type==6" :plugData="item.plugData">
</paragraphafter>
<!--自訂版型(段落連結)和挑選自有行程(段落連結) white_label_link_paragraph和b2b_LinkP -->
<plinkLeft v-if="(item.Id=='white_label_link_paragraph'||item.Id=='b2b_LinkP')&&item.plugData.Type==1"
:plugData="item.plugData"></plinkLeft>
<plinkRight v-if="(item.Id=='white_label_link_paragraph'||item.Id=='b2b_LinkP')&&item.plugData.Type==2"
:plugData="item.plugData"></plinkRight>
<!--自訂版型(圖片連結)和挑選自有行程(圖片連結)white_label_link_picture和b2b_LinkPicture-->
<ilinkLeft v-if="(item.Id=='white_label_link_picture'||item.Id=='b2b_LinkPicture')&&item.plugData.Type==1"
:plugData="item.plugData"></ilinkLeft>
<ilinkRight v-if="(item.Id=='white_label_link_picture'||item.Id=='b2b_LinkPicture')&&item.plugData.Type==2"
:plugData="item.plugData"></ilinkRight>
<!--自訂版型(輪播圖)white_label_slider-->
<sliderBig v-if="item.Id=='white_label_slider'&&item.plugData.Type==1" :plugData="item.plugData"></sliderBig>
<sliderSmall v-if="item.Id=='white_label_slider'&&item.plugData.Type==2" :plugData="item.plugData">
</sliderSmall>
<!--出团表-->
<!--挑选自有行程(图片)b2b -->
<diyImgOne v-if="item.Id=='b2b'&&item.plugData.Type==1" :plugData="item.plugData"></diyImgOne>
<diyImgTwo v-if="item.Id=='b2b'&&item.plugData.Type==2" :plugData="item.plugData"></diyImgTwo>
<diyImgFour v-if="item.Id=='b2b'&&item.plugData.Type==3" :plugData="item.plugData"></diyImgFour>
<diyImgSix v-if="item.Id=='b2b'&&item.plugData.Type==4" :plugData="item.plugData"></diyImgSix>
<!--搜尋區塊(Banner)search_b -->
<searchb1 v-if="item.Id=='search_b'&&item.plugData.Type==1" :plugData="item.plugData"></searchb1>
<searchb2 v-if="item.Id=='search_b'&&item.plugData.Type==2" :plugData="item.plugData"></searchb2>
<searchb3 v-if="item.Id=='search_b'&&item.plugData.Type==3" :plugData="item.plugData"></searchb3>
<searchb4 v-if="item.Id=='search_b'&&item.plugData.Type==4" :plugData="item.plugData"></searchb4>
<!--搜尋區塊(輪播淡出)search_sf -->
<searchsf1 v-if="item.Id=='search_sf'&&item.plugData.Type==1" :plugData="item.plugData"></searchsf1>
<searchsf2 v-if="item.Id=='search_sf'&&item.plugData.Type==2" :plugData="item.plugData"></searchsf2>
<searchsf3 v-if="item.Id=='search_sf'&&item.plugData.Type==3" :plugData="item.plugData"></searchsf3>
<div>
<img class="banner" src="../assets/img/about/banner.png" />
<div class="flex justify-between wrapper mt-150">
<div class="about-content">
<div class="f40 bold wrapper">
關於我們
<span>ABOUTUS</span>
</div>
<div class="f20 bold q-my-md">〝印象之旅”旅遊品牌成立於2009年3月</div>
<div class="tips"></div>
<div class="f16 lh200 q-my-md">
公司原本为一单纯的日本专线供货商公司营运初期为日本出境游,经过几年来的转变<br />
目前已转型为全产品出境旅游专线供货商,主要经营项目为同业出境旅游批发商<br />
2013年以全资并购四川和平国际旅行社( 国际旅游许可证号:
L-SC-CJ00015)<br />
四川和平国际旅行社为四川省出境资质旅行社,是经国家旅游局批准、四川省工商局注册<br />
具独立法人资格并向旅游主管部门缴纳足额质量保证金的旅游企业,也因此公司正式由一个旅游品牌转型为一个有独立资质的旅游公司
</div>
<div class="f20 bold q-mt-xl q-mb-md">經營理念——以同業市場為出發</div>
<div class="f16 lh200">
公司是由一群年轻且对旅游有所执着的【旅游人】所组成的旅行社<br />
我们理念是以客户为出发点,反向操作以尽乎苛求的高质量来满足客户的需求为宗旨<br />
坚持不合理低价来吸引消费者<br />
我们深信【我们虽然不是最大,但却是最好的旅行社】、【我们虽然不是历史最悠久,但却是最用心的旅行社】<br />
秉持这样的理念,所以在出境旅游版块中经过我们的用心经营<br />
目前已经是成都旅游界有口碑的一家出境供货商
</div>
</div>
<img class="about-img" src="../assets/img/about/about.png" />
</div>
<!--搜尋區塊(輪播橫)search_s -->
<searchsf1 v-if="item.Id=='search_s'&&item.plugData.Type==1" :plugData="item.plugData"></searchsf1>
<searchsf2 v-if="item.Id=='search_s'&&item.plugData.Type==2" :plugData="item.plugData"></searchsf2>
<searchsf3 v-if="item.Id=='search_s'&&item.plugData.Type==3" :plugData="item.plugData"></searchsf3>
<div class="team flex justify-center mt-150">
<div>
<img style="width: 71px" src="../assets/img/about/team.png" />
<div class="f40 bold white team-ml q-mt-md">经营团队及职责范围</div>
<div class="f20 white team-ml q-mt-lg">公司核心團隊人員</div>
</div>
<div class="card q-mx-xl">
<div class="flex justify-between">
<div class="q-mt-md q-ml-md">
<div class="f26 bold">谢军女士</div>
<div class="f18 text-grey-6">财务总监</div>
<div class="tips q-mt-sm"></div>
</div>
<img class="avotar" src="../assets/img/about/cfo.png" />
</div>
<div class="f16 lh200 q-mt-lg">
四川成都人,旅游资历20年,成都旅游界知名人物,在四川旅游领域当中的传奇人士之一,为四川地区旅游转型最成功的人物,在短暂的5年内成功从4人公司到目前四川和平国旅集团公司,在四川旅游业界传为佳话,目前和平国旅集团也是西南地区日本与巴里岛旅游最大的组团社(数据可查),其他线路亦有不错的表现,并且是各大旅游平台的产品供货商,专注旅游丰富的业界资源与强势的旅游业操作实力可提供本团队强大的市场后盾
</div>
</div>
<div class="card q-mt-xl">
<div class="flex justify-between">
<div class="q-mt-md q-ml-md">
<div class="f26 bold">徐稚升先生</div>
<div class="f18 text-grey-6">销售总经理</div>
<div class="tips q-mt-sm"></div>
</div>
<img class="avotar" src="../assets/img/about/ceo.png" />
</div>
<div class="f16 lh200 q-mt-lg">
台湾台北人,旅游资历15年,极力邀请到本团队的台湾人,在台湾受过完整的专业旅游业训练,有着旅游界最缺乏的营销企画优势,对于旅游互联网通路亦有独到见解,并拥有的成功经营经验与优势的组织管理能力,在四川地区成功引进台湾先进的旅游理念,首创旅行社成立科技公司,大力推动互联网结合旅游概念(ERP系统),从早期B2B概念的推展模式,到现在的B2B2C+O2O的概念,到现在的N+1模式,完全是以不同业界的传统模式推展,
</div>
</div>
</div>
<!--搜尋區塊(其他)search_el -->
<searchel1 v-if="item.Id=='search_el'&&item.plugData.Type==1" :plugData="item.plugData"></searchel1>
<!--出團表group -->
<travelList v-if="item.Id=='group'" :plugData="item.plugData"></travelList>
<div class="mt-150 wrapper">
<div class="text-center f40 bold">經營項目</div>
<div class="line-1"></div>
<div class="line-2"></div>
<div class="text-center f20 lh150 q-mt-lg">
印象之旅专注出境旅游产品的供货商<br />目前主要业务范畴定位同业销售为主(B2B),目前为西南地区最大日本专线供应商
</div>
<q-carousel
v-model="hotSilder"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="dark"
control-type="regular"
padding
arrows
height="100px"
flat
class="bg-transparent rounded-borders q-mt-md"
>
<q-carousel-slide :name="index" v-for="(item, index) in Math.ceil(partnersList.length/topPageCount)" :key="index" class="column no-wrap">
<div class="row fit justify-start items-center q-gutter-md q-col-gutter no-wrap">
<template v-for="(x,i) in topPageCount">
<div :key="i" v-if="(i+(index*topPageCount))<partnersList.length" :product="partnersList[i+(index*topPageCount)]">
<div class="product-card flex">
<div class="circle">A</div>
<div>
<div class="f20 bold">東北亞線</div>
<div class="tips"></div>
<div class="f16 flex items-center">
<span class="name-circle"></span>日本
</div>
</div>
</div>
</div>
</template>
</div>
</q-carousel-slide>
</q-carousel>
<img class="map q-mt-lg" src="../assets/img/about/map.png" />
</div>
</template>
</q-page>
<div class="mt-150 relative" style="z-index: 1">
<div class="text-center f40 bold">公司組織架構</div>
<div class="line-1"></div>
<div class="line-2"></div>
</div>
<img
class="full-width"
style="margin-top: -10%"
src="../assets/img/about/partners.png"
/>
<div class="mt-150 wrapper">
<div class="text-center f40 bold">歷年榮譽</div>
<div class="line-1"></div>
<div class="line-2"></div>
<div class="flex mt-100">
<div class="prize" v-for="item in prizesList" :key="item.key">
<img
class="prize-cover"
:src="require(`../assets/img/about/${item.img}.png`)"
/>
<div class="line"></div>
<div class="tips bg-primary"></div>
<div class="primary f20 bold text-center">{{ item.time }}</div>
<div class="f16 text-center q-mt-sm">{{ item.prize }}</div>
<div class="f16 text-center">{{ item.desc }}</div>
</div>
</div>
</div>
<div class="mt-150">
<div class="text-center f40 bold">合作的夥伴</div>
<div class="line-1"></div>
<div class="line-2"></div>
<div style="margin-top: 50px; margin-bottom: 100px" class="partners-card flex no-wrap justify-between items-center">
<img class="partner-img" src="../assets/img/about/partners.png"/>
<div>
<div class="f20 bold">全日空航空</div>
<div class="f16 lh200">全日本空输(ANA)是一家日本的航空公司。 也是亚洲最大的航空公司之一,被评之为五星航空 为我社日本系列团主要配搭航空之一。</div>
</div>
</div>
<q-carousel
v-model="hotSilder"
transition-prev="slide-right"
transition-next="slide-left"
swipeable
animated
control-color="dark"
control-type="regular"
padding
arrows
height="100px"
flat
class="bg-transparent rounded-borders q-mt-md"
>
<q-carousel-slide :name="index" v-for="(item, index) in Math.ceil(partnersList.length/topPageCount)" :key="index" class="column no-wrap">
<div class="row fit justify-start items-center q-gutter-md q-col-gutter no-wrap">
<template v-for="(x,i) in topPageCount">
<img :key="i" v-if="(i+(index*topPageCount))<partnersList.length" :product="partnersList[i+(index*topPageCount)]" class="partner" src="../assets/img/about/banner.png" />
</template>
</div>
</q-carousel-slide>
</q-carousel>
</div>
</div>
</template>
<script>
//出團表 group -Start
import travelList from "../components/group/travel-list";
//出團表 group -End
//搜尋區塊(輪播橫)search_s -Start
import searchs1 from "../components/search_s/search_s1";
import searchs2 from "../components/search_s/search_s2";
import searchs3 from "../components/search_s/search_s3";
//搜尋區塊(輪播橫)search_s -End
//搜尋區塊(Banner)search_b -Start
import searchb1 from "../components/search_b/search_b1";
import searchb2 from "../components/search_b/search_b2";
import searchb3 from "../components/search_b/search_b3";
import searchb4 from "../components/search_b/search_b4";
//搜尋區塊(Banner)search_b -End
//搜尋區塊(輪播淡出)search_sf -Start
import searchsf1 from "../components/search_sf/search_sf1";
import searchsf2 from "../components/search_sf/search_sf2";
import searchsf3 from "../components/search_sf/search_sf3";
//搜尋區塊(輪播淡出)search_sf -End
//搜尋區塊(其他)search_el -Start
import searchel1 from "../components/search_el/search_el1";
//搜尋區塊(其他)search_el -End
//自訂版型(影片)white_label_video -Start
import videoOne from "../components/label_video/video-one";
import videoTwo from "../components/label_video/video-two";
//自訂版型(影片)white_label_video -End
//自訂版型(圖片)和挑選自有行程(圖片) white_label_picture和b2b -Start
import diyImgOne from "../components/label_picture/diy-img-one";
import diyImgTwo from "../components/label_picture/diy-img-two";
import diyImgThree from "../components/label_picture/diy-img-three";
import diyImgFour from "../components/label_picture/diy-img-four";
import diyImgFive from "../components/label_picture/diy-img-five";
import diyImgSix from "../components/label_picture/diy-img-six";
//自訂版型(圖片)和挑選自有行程(圖片) white_label_picture和b2b -End
//自訂版型(QRcode)white_label_qrcode -Start
import qrLeft from "../components/label_qrcode/left";
import qrRight from "../components/label_qrcode/right";
//自訂版型(QRcode)white_label_qrcode -End
//自訂版型(背景圖)white_label_background_article -Start
import bgArticleLeft from "../components/label_background_article/left";
import bgArticleRight from "../components/label_background_article/right";
import bgArticleCenter from "../components/label_background_article/center";
//自訂版型(背景圖)white_label_background_article -ENd
//自訂版型(段落標題)white_label_paragraph_title -Start
import paragraph1 from "../components/label_paragraph_title/paragraph1";
import paragraph2 from "../components/label_paragraph_title/paragraph2";
import paragraph3 from "../components/label_paragraph_title/paragraph3";
import paragraphleft from "../components/label_paragraph_title/paragraph-left";
import paragraphright from "../components/label_paragraph_title/paragraph-right";
import paragraphafter from "../components/label_paragraph_title/paragraph-after";
//自訂版型(段落標題)white_label_paragraph_title -End
//自訂版型(段落連結)和挑選自有行程(段落連結)white_label_link_paragraph和b2b_LinkP -Start
import plinkLeft from "../components/label_link_paragraph/left";
import plinkRight from "../components/label_link_paragraph/right";
//自訂版型(段落連結)和挑選自有行程(段落連結)white_label_link_paragraph和b2b_LinkP -End
//自訂版型(圖片連結)和挑選自有行程(圖片連結)white_label_link_picture和b2b_LinkPicture -Start
import ilinkLeft from "../components/label_link_picture/left";
import ilinkRight from "../components/label_link_picture/right";
//自訂版型(圖片連結)和挑選自有行程(圖片連結)white_label_link_picture和b2b_LinkPicture -End
//自訂版型(輪播圖)white_label_slider -Start
import sliderBig from "../components/label_slider/big";
import sliderSmall from "../components/label_slider/small";
//自訂版型(輪播圖)white_label_slider -End
//自訂版型(其他)white_label_other-Start
import empty from "../components/label_other/empty";
import downloadTable from "../components/label_other/downloadTable";
import diyTitle from "../components/label_other/diy-title";
import paragraph from "../components/label_other/paragraph";
import photo from "../components/label_other/photo";
import diyForm from "../components/label_other/diy-form";
//自訂版型(其他)white_label_other-End
export default {
name: "PageAbout",
components: {
searchs1,
searchs2,
searchs3,
searchb1,
searchb2,
searchb3,
searchb4,
searchsf1,
searchsf2,
searchsf3,
searchel1,
videoOne,
videoTwo,
diyImgOne,
diyImgTwo,
diyImgThree,
diyImgFour,
diyImgFive,
diyImgSix,
qrLeft,
qrRight,
bgArticleLeft,
bgArticleRight,
bgArticleCenter,
paragraph1,
paragraph2,
paragraph3,
paragraphleft,
paragraphright,
paragraphafter,
plinkLeft,
plinkRight,
ilinkLeft,
ilinkRight,
sliderBig,
sliderSmall,
empty,
downloadTable,
diyTitle,
paragraph,
photo,
diyForm,
travelList
},
data() {
return {
RB_Group_Id: 0,
AboutData: {},
};
},
created() {
this.getAbout();
},
mounted() {
var jObj = JSON.parse(localStorage.getItem('groupinfo'));
this.RB_Group_Id = jObj.GroupId;
this.getAbout();
},
methods: {
getAbout() {
this.apipost(
"ws_get_GetAboutPage", {
RB_Group_Id: this.RB_Group_Id
},
res => {
if (res.data.resultCode == 1) {
if (res.data.data) {
this.AboutData = res.data.data;
}
}
},
err => {}
);
}
},
};
</script>
export default {
data() {
return {
hotSilder:0,
topPageCount: 10,
partnersList: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,],
prizesList: [
{
img: "prize-2009",
time: "2009",
prize: "国航",
desc: '"市场开发一等奖"',
},
{
img: "prize-2010",
time: "2010",
prize: "国航",
desc: '"国际最佳合作奖"',
},
{
img: "prize-2010-1",
time: "2010",
prize: "国內",
desc: '"国际最佳合作奖"',
},
{
img: "prize-2011",
time: "2011",
prize: "国航",
desc: '"最佳开拓奖"',
},
{
img: "prize-2014",
time: "2014",
prize: "港航",
desc: '"年度杰出销售奖"',
},
{
img: "prize-2014-1",
time: "2014",
prize: "全日空",
desc: '"成渝地区优秀合作伙伴奖"',
},
{
img: "prize-2015",
time: "2015",
prize: "成都旅行社协会",
desc: '"金牌专线"',
},
],
};
},
};
</script>
\ No newline at end of file
......@@ -516,6 +516,16 @@
<div class="col">{{CarObj.CarName}} x {{ chosenObj.Count }}</div>
<div>{{details.CurrencyCode}} {{ moneyFormat(OrderDate.originalB2CPrice,2) }}</div>
</div>
<hr
style="border: none; border-top: 1px dashed #eee !important"
class="bg-transparent q-mb-sm"
/>
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center">
<div class="col">優惠金額</div>
......
......@@ -282,6 +282,16 @@
</template>
</div>
</template>
<hr
style="border: none; border-top: 1px dashed #eee !important"
class="bg-transparent q-mb-sm"
/>
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center" v-if="parameters.MailingState==2&&parameters.MailingMoney>0">
<div class="col">邮寄费</div>
......
......@@ -180,7 +180,7 @@
unelevated
class="q-px-xl"
label="搜索"
@click="getData"
@click="getRoom"
/>
</div>
</div>
......@@ -347,7 +347,6 @@
<hotel-map></hotel-map>
</div> -->
<div
v-if="dataList"
class="q-pa-lg bg-grey-3 q-mt-lg text-grey-9"
ref="pricelist"
>
......@@ -369,7 +368,6 @@
</div>
<div
class="bg-white rounded-borders q-mt-md"
v-if="dataList.priceList && dataList.priceList.length > 0"
>
<div class="q-pa-md row">
<div class="col">
......@@ -378,29 +376,29 @@
v-if="$q.platform.is.desktop"
>
<span class="q-mr-md">行程標準出行方案</span>
<q-chip
<!-- <q-chip
square
color="orange"
size="sm"
text-color="grey-2"
class="text-light"
label="15天前可免費取消"
/>
/> -->
</div>
<div class="text-grey f12">
<!-- <div class="text-grey f12">
<ul class="q-pl-md no-margin">
<li v-for="(x, i) in warnBuy" class="q-mt-md" :key="i">
{{ x }}
</li>
</ul>
</div>
</div> -->
</div>
<div class="" v-if="$q.platform.is.desktop">
<div class="row items-center">
<span class="product-price text-h6 q-mr-md"
>CNY
{{
moneyFormat(dataList.priceList[0].originalB2CPrice, 0)
moneyFormat(MinPrice, 0)
}}</span
>
<q-btn
......@@ -412,7 +410,7 @@
/>
</div>
<div class="text-info q-mt-md text-right">
最早可預訂日期:{{ dataList.priceList[0].startDate }}
最早可預訂日期:{{ StartDate }}
</div>
</div>
</div>
......@@ -423,15 +421,19 @@
>
<div class="q-mt-lg row" v-if="$q.platform.is.desktop">
<div class="col">
<calendar
:priceList="dataList.priceList"
<RoomCard
:priceList="SimilarList"
@change="changeChosenDateHandler"
ref="calendar"
></calendar>
ref="RoomCard"
></RoomCard>
</div>
<div class="col q-ml-xl">
<order-preview
:JapanIncrease="JapanIncrease"
:price="currentPrice"
:SimilarList="SimilarList"
:msg="msg"
:liveNvm="liveNvm"
@reset="resetHandler"
></order-preview>
</div>
......@@ -441,19 +443,6 @@
</div>
</div>
</div>
<!-- <div style="max-width: 1200px; margin-left: auto; margin-right: auto">
<div
id="comment"
class="text-h5 text-weight-bold text-left q-mt-xl mb"
ref="comment"
:class="{
'q-px-md': $q.screen.width < 1220 && $q.platform.is.mobile,
}"
>
评价
</div>
<comments></comments>
</div> -->
<div
style="max-width: 1200px; margin-left: auto; margin-right: auto"
......@@ -656,11 +645,7 @@
<script>
import { date } from 'quasar'
import { slider, slideritem } from "vue-concise-slider";
import calendar from "../components/trip/calendar.vue";
import OrderPreview from "src/components/trip/orderPreview.vue";
import smaple from "src/components/trip/smaple.vue";
import Trip from "src/components/trip/trip.vue";
import block from "src/components/trip/block/index";
import hotelStar from "./hotel/hotelStar.vue";
import hotelMap from "./hotel/hotelMap.vue";
......@@ -669,15 +654,12 @@ import comments from "./hotel/comments.vue";
import selectRoom from './hotel/selectRoom.vue';
import componentsMap from 'src/components/car/Map.vue';
import ImagePreview from 'src/components/common/ImagePreview.vue'
import RoomCard from 'src/components/hotal/RoomCard.vue'
import OrderPreview from "src/components/hotal/orderPreview.vue";
export default {
props: [],
components: {
slider,
slideritem,
calendar,
OrderPreview,
smaple,
Trip,
block,
hotelStar,
hotelMap,
......@@ -685,7 +667,9 @@ export default {
comments,
selectRoom,
componentsMap,
ImagePreview
ImagePreview,
RoomCard,
OrderPreview,
},
data() {
return {
......@@ -696,6 +680,7 @@ export default {
clickDate: "",
slide: 1,
StartDate: '',
roomReviewRating: 0,
currentImage: '',
showImagePriview: false,
......@@ -713,47 +698,35 @@ export default {
liveNvm: 1,
dateRange:{},
dateRangeFormat: '',//入住、离店时间
roomGroupObj:{roomNum:null,numberOfAdults:1,numberOfChildren:0},
roomGroupObj:{
childAges:null,
roomNum:null,numberOfAdults:1,numberOfChildren:0
},
msg: {
// configId: "",
// cityId: 0,
// preview: 0,
// tcid: 0,
// teamType: 0,
// isGetPriceFlight: true,
arrivalDate: '',//开始日期
departureDate: '',//结束日期
searchroomGroup: [
{roomNum:1,numberOfAdults:1,numberOfChildren:0}
],//客房数
searchHotelIdList: [],
freeword: '',//地区名字 酒店名字
freewordType: 1, //类型 1,地区,2-酒店名称
reviewRatingUpperLimits: '',//最大评分数
reviewRatingLowerLimits: '',//最小评分数
searchHotelCategory: [], //酒店分类
searchHotelFeatures: [], //酒店特征
searchRoomType: [], //类型的房间
searchMealType: [], //饮食条件搜索
searchMinRate: '', //最小金额
searchMaxRate: '', //最大金额
displayFrom: 1,//页数
numberOfResults: 12,
rowsPerPage: 15,
sort: 1
hotelId:'',
sort:1,
displayFrom:1,
arrivalDate:'',//开始时间
departureDate:'',//结束时间
roomOptionCd:'',
searchroomGroup:[{
childAges:null,
roomNum:1,numberOfAdults:1,numberOfChildren:0
}],
},
detaMsg:{
groupBookingFlg: "0",
hotelId: 0,
hotelImageSize: 5,
photoGalleryGetFlg: 1
hotelImageSize: 5,//图片大小
photoGalleryGetFlg: 1 //画廊取得标志
},
currentPrice: {},
currentPrice: [],
isShow: false,
dataList: null,
dataList: {
roomGroup: null,
},
JapanIncrease: '',
SimilarList: [],
isDirect: 1,
TripConfig: {},
isShowNav: false,
......@@ -774,10 +747,8 @@ export default {
loop: true,
},
warnBuy: [
"未满 2 岁幼儿不占位可免费参加(不含座位,餐点,门票,床位),请先于下订时在「备注栏」告知。",
"如需要單人房,請購買單房",
"不占床2-11(包含)岁幼童可购买儿童价,如需占床請購買成人價",
"12歲以上皆視同成人售價",
"超过13岁视为成人处理",
"预定成功后房间将为您整晚保留"
],
showOrderPreview: false,
videoPosition: 0,
......@@ -846,6 +817,7 @@ export default {
created() {
if (this.$route.params.id) {
this.detaMsg.hotelId = decodeURIComponent(this.$route.params.id)
this.msg.hotelId = decodeURIComponent(this.$route.params.id)
}
if(this.$route.params.b2CPrice){
this.MinPrice = this.$route.params.b2CPrice
......@@ -854,16 +826,18 @@ export default {
},
mounted() {
window.addEventListener("scroll", this.handleScroll);
this.dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 9 }), 'YYYY-MM-DD')
this.dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY-MM-DD')
this.msg.StartDate = date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY-MM-DD')
this.msg.EndDate = date.formatDate(date.addToDate(new Date(), { days: 9 }), 'YYYY-MM-DD')
this.dateRangeFormat = `${this.msg.StartDate} - ${this.msg.EndDate} `
this.msg.arrivalDate = date.formatDate(date.addToDate(new Date(), { days: 8 }), 'YYYY-MM-DD')
this.msg.departureDate = date.formatDate(date.addToDate(new Date(), { days: 9 }), 'YYYY-MM-DD')
this.dateRangeFormat = `${this.msg.arrivalDate} - ${this.msg.departureDate} `
this.StartDate = this.msg.arrivalDate
window.addEventListener("scroll", this.menu);
this.getData();
this.getRoom()
},
beforeDestroy() {
document.getElementsByTagName("body")[0].style = "";
......@@ -908,11 +882,11 @@ export default {
},
// 日期筛选
dateRangeHandler(e) {
this.msg.StartDate = `${e.from.year}/${e.from.month}/${e.from.day}`
this.msg.EndDate = `${e.to.year}/${e.to.month}/${e.to.day} `
this.dateRangeFormat = `${this.msg.StartDate} - ${this.msg.EndDate} `
this.msg.arrivalDate = `${e.from.year}-${e.from.month}-${e.from.day}`
this.msg.departureDate = `${e.to.year}-${e.to.month}-${e.to.day} `
this.dateRangeFormat = `${this.msg.arrivalDate} - ${this.msg.departureDate} `
if (this.$refs.qDateProxy) this.$refs.qDateProxy.hide()
this.liveNvm = this.dateDiffer(this.msg.StartDate,this.msg.EndDate)
this.liveNvm = this.dateDiffer(this.msg.arrivalDate,this.msg.departureDate)
},
dateDiffer(DateStart,DateEnd) {
//date1结束时间
......@@ -1004,12 +978,20 @@ export default {
//console.log(e)
},
resetHandler() {
this.currentPrice.startDate = "";
this.$refs.calendar.reset();
this.currentPrice = [];
this.$refs.RoomCard.reset();
},
changeChosenDateHandler(val) {
val.price.version = new Date().getTime();
this.currentPrice = JSON.parse(JSON.stringify(val.price));
let arrList = function(arr){
arr.forEach(x=>{
x.id=null
})
}
arrList(val.roomOptions)
val.roomOptions.forEach((x,index)=>{
x.id=(index+1)
})
this.currentPrice = JSON.parse(JSON.stringify(val));
this.$refs.qDateProxy.hide();
},
showDialog() {
......@@ -1028,7 +1010,6 @@ export default {
(res) => {
this.$q.loading.hide();
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.hotelDetails = res.data.data.hotelDetails;
this.hotelSummary = res.data.data.hotelSummary;
this.roomReviewRating = Number(this.hotelDetails.roomReviewRating);
......@@ -1316,6 +1297,7 @@ export default {
}
}
this.images=dataImgArray;
this.$nextTick(() => {
setTimeout(() => {
this.navs.forEach((x) => {
......@@ -1341,6 +1323,64 @@ export default {
null
);
},
// 获取酒店房间
getRoom() {
this.$q.loading.show();
this.apipost(
"dmc_post_Get_GetJAPAN_RoomsList",
this.msg,
(res) => {
this.$q.loading.hide();
if (res.data.resultCode == 1) {
if (
Object.prototype.toString.call(res.data.data.roomRateDetails) ==
"[object Object]"
) {
this.SimilarList.push(res.data.data.roomRateDetails);
} else {
this.SimilarList = res.data.data.roomRateDetails;
}
let arrList = function(arr){
arr.forEach(item=>{
item.images=[]
item.id=null
})
}
arrList(this.SimilarList)
this.SimilarList.forEach((x,index) => {
x.id = (index+1)
x.images = []
x.images.push(x.roomImageURL)
for (let i = 0; i < 4; i++) {
if(x.roomOptions[`planPictureURL${(i+1)}`] && x.roomOptions[`planPictureURL${(i+1)}`].length>0){
x.images.push(x.roomOptions[`planPictureURL${(i+1)}`])
}
}
if (
Object.prototype.toString.call(x.roomOptions) ==
"[object Object]"
) {
let arr = [];
arr.push(x.roomOptions);
x.roomOptions = arr;
}
});
this.JapanIncrease = res.data.data.JapanIncrease;
} else {
this.$q.notify({
type: "negative",
message: res.data.message,
position: "top",
});
}
},
null
);
},
menu() {
this.scroll =
document.documentElement.scrollTop || document.body.scrollTop;
......
......@@ -11,7 +11,7 @@
right: 0;
}
.login-box-pc {
max-width: 436px;
width: 436px;
padding: 30px 40px;
margin: 100px auto;
position: absolute;
......
<style>
.login {
background: url('../assets/img/login-bg.png');background-size: cover;
background: url("../assets/img/login-bg.png");
background-size: cover;
width: 100%;
height: 100%;
position: fixed;
......@@ -9,7 +10,7 @@
left: 0;
right: 0;
}
.login-box {
.login-box-pc {
width: 436px;
padding: 30px 40px;
margin: 100px auto;
......@@ -19,6 +20,12 @@
background: #ffffff;
border-radius: 18px;
}
.login-box {
max-width: 436px;
padding: 30px 40px;
background-clip: padding-box;
background: #ffffff;
}
.login-box .tw_logo {
margin: 0 auto 20px;
......@@ -82,8 +89,8 @@
}
</style>
<template>
<div class="login">
<div class="login-box">
<div :class="$q.platform.is.desktop ? 'login': 'full-width'">
<div class="login-box" :class="$q.platform.is.desktop ? 'login-box-pc': ''">
<div class="f34 bold">重置密码</div>
<div class="login_row">
<div class="form-group">
......
......@@ -59,6 +59,10 @@ const routes = [{
meta: { title: '酒店' },
component: () =>
import ('pages/detailsHotal.vue')
}, { // 酒店下单
path: '/HotalForm/:id',
component: () =>
import ('pages/hotel/orderForm.vue')
}, { // 旅程
path: '/detail/:id/:tcid/:newConfigId',
meta: { title: '旅程' },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment