Commit f97cfc41 authored by youjie's avatar youjie

签证产品

parent 86856946
...@@ -171,7 +171,8 @@ module.exports = function( /* ctx */ ) { ...@@ -171,7 +171,8 @@ module.exports = function( /* ctx */ ) {
'QToggle', 'QToggle',
'QTime', 'QTime',
'QSpace', 'QSpace',
'QInnerLoading' 'QInnerLoading',
'QOptionGroup',
], ],
directives: [ directives: [
......
...@@ -25,7 +25,7 @@ Vue.prototype.domainManager = function () { ...@@ -25,7 +25,7 @@ Vue.prototype.domainManager = function () {
if (domainNameUrl.indexOf('oytour') !== -1) { if (domainNameUrl.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
} }
//domainUrl = "http://192.168.5.46"; domainUrl = "http://192.168.5.56";
var obj = { var obj = {
//主地址 //主地址
DomainUrl: domainUrl, DomainUrl: domainUrl,
......
...@@ -326,7 +326,7 @@ ...@@ -326,7 +326,7 @@
<template v-for="(x, i) in categoryList"> <template v-for="(x, i) in categoryList">
<div class="category-btn" :key="i" :label="x.CategoryName" flat unelevated <div class="category-btn" :key="i" :label="x.CategoryName" flat unelevated
:content-style="{ hover: '#ff0000' }" @mouseenter="typeHover(i, true)" @mouseleave="typeHover(i, false)" :content-style="{ hover: '#ff0000' }" @mouseenter="typeHover(i, true)" @mouseleave="typeHover(i, false)"
@click="x.SubList&&x.SubList.length>0&&x.CategoryName!='行程线路'?'':handleCategoryChage(x)" @click="x.SubList&&x.SubList.length>0&&x.CategoryName!='行程线路'?'':productSearch(x)"
:class="[x.SubList&&x.SubList.length>0&&x.CategoryName!='行程线路'?'':'cursor-pointer']"> :class="[x.SubList&&x.SubList.length>0&&x.CategoryName!='行程线路'?'':'cursor-pointer']">
{{ x.CategoryName }} {{ x.CategoryName }}
<q-menu ref="menu" :key="i" @mouseenter="menuFocus = 2" @mouseleave="menuLeave(i)"> <q-menu ref="menu" :key="i" @mouseenter="menuFocus = 2" @mouseleave="menuLeave(i)">
...@@ -404,7 +404,7 @@ ...@@ -404,7 +404,7 @@
}, },
$route: { $route: {
handler: function (val, oldVal) { handler: function (val, oldVal) {
this.isHome = val.path === "/searchProduct" || val.path === "/search"; this.isHome = val.path === "/searchProduct" || val.path === "/search" || val.path === "/searchVisa" || val.path === "/planeticket";
}, },
// 深度观察监听 // 深度观察监听
deep: true, deep: true,
...@@ -459,11 +459,15 @@ ...@@ -459,11 +459,15 @@
}; };
}, },
mounted() { mounted() {
this.isSearch = this.$router.history.current.path === "/search" || this.$router.history.current.path === this.isSearch = this.$router.history.current.path === "/search" ||
"/searchProduct"; this.$router.history.current.path ==="/searchProduct" ||
this.$router.history.current.path === "/searchVisa" ||
this.$router.history.current.path === "/planeticket";
this.isHome = this.isHome =
this.$router.history.current.path === "/searchProduct" || this.$router.history.current.path === "/searchProduct" ||
this.$router.history.current.path === "/search"; this.$router.history.current.path === "/search" ||
this.$router.history.current.path === "/searchVisa" ||
this.$router.history.current.path === "/planeticket";
if (localStorage.b2bUser) { if (localStorage.b2bUser) {
this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser")); this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser"));
...@@ -495,19 +499,37 @@ ...@@ -495,19 +499,37 @@
handleSelectArea(item) { handleSelectArea(item) {
this.CommonJump("/city/" + item.Id); this.CommonJump("/city/" + item.Id);
}, },
handleCategoryChage(item) { handleCategoryChage(item,type) {
this.CommonJump("/search", { if(!type){
qsearchKey: this.searchKey, this.CommonJump("/search", {
qsearchDate: this.searchDate, qsearchKey: this.searchKey,
qsearchEndDate: this.searchEndDate, qsearchDate: this.searchDate,
categoryId: item.Id, qsearchEndDate: this.searchEndDate,
}); categoryId: item.Id,
});
}else{
if(type==1){//自由
}else if(type==2){//机票
this.CommonJump("/planeticket", {
Name: this.searchKey,
});
}else if(type==3){//签证
this.CommonJump("/searchVisa", {
Name: this.searchKey,
});
}
}
setTimeout(() => { setTimeout(() => {
if (this.isSearch) { if (this.isSearch) {
window.location.reload() window.location.reload()
} }
}, 300) }, 300)
}, },
productSearch(item){
// if(item.CategoryName=='机票') this.handleCategoryChage(item,2)
if(item.CategoryName=='签证') this.handleCategoryChage(item,3)
},
mouseenterAddress() { mouseenterAddress() {
this.menuFocusAll = 0; this.menuFocusAll = 0;
this.menuFocus = 0; this.menuFocus = 0;
......
...@@ -270,7 +270,7 @@ ...@@ -270,7 +270,7 @@
</q-card> </q-card>
</div> </div>
<div class="col q-mt-sm"> <div class="col q-mt-sm">
<div class="rounded-borders bg-white q-col-gutter-sm"> <div class="rounded-borders bg-white">
<div class="row q-col-gutter-sm items-center q-pa-md"> <div class="row q-col-gutter-sm items-center q-pa-md">
<div class="text-subtitle2 q-mr-md"> <div class="text-subtitle2 q-mr-md">
<span class="text-weight-bold text-primary q-mr-sm"> <span class="text-weight-bold text-primary q-mr-sm">
......
<template>
<!-- 豆腐块 -->
<div class="Search_center">
<ul class="pd-list">
<li class="pd-box" v-for="(item,index) in DataList" :key="index">
<a class="pd-link">
<div class="pd-img"
:style="{backgroundImage:`url('${item.newCoverImg}')`}">
<div class="pd-price">
<div class="price">
{{item.dayNum}}
<small class="unit"></small> {{item.b2BPrice}}
<small class="unit">元起</small>
</div>
</div>
</div>
<div class="pd-content">
<h3 class="pd-title">{{item.title}}</h3>
<div class="pd-departure">
出發日期:{{item.startDate}}
<span class="more" @click="GotoDetails(item)" style="cursor:pointer">...更多</span>
</div>
</div>
</a>
</li>
</ul>
</div>
</template>
<script>
export default {
props: ["DataList", "PageCount"],
data() {
return {
};
},
methods: {
GotoDetails(item) {
this.CommonJump('/details/' + encodeURIComponent(item.id) + "/" + item.tcid, {});
}
}
}
</script>
This diff is collapsed.
<template>
<!-- 列表 -->
<div class="group-result-list">
<div class="group-statis-block">
<div class="group-share" style="display:none;"></div>
<div class="group-statis-detail">
<span class="title" v-if="qMsg.searchKey">{{qMsg.searchKey}} :</span>
找到
<span class="num"> {{qMsg.TotalCount}} </span>個行程
<span class="pc">,目前在第<span style="color: #7f7f7f;"> {{qMsg.pageIndex}} </span></span>
</div>
</div>
<div>
<div class="group-box" v-for="(item,index) in DataList" :key="index">
<a class="group-cover">
<img v-if="item.newCoverImg" :src="item.newCoverImg" />
</a>
<div class="group-main">
<div class="group-info">
<div class="group-name" style="margin-bottom:5px;cursor:pointer" @click="GotoDetails(item)">
{{item.title}}
</div>
<div class="group-detail">
<i class="iconfont iconaddress"></i>
<span>{{item.countryName}}</span>
</div>
<div class="group-detail">
<i class="iconfont icontime"></i>
<span>{{item.dayNum}}</span>
</div>
<ul class="group-list">
<li>
<a>{{item.startDate}}</a>
</li>
</ul>
</div>
<div class="price-info">
<div class="price-wrap">
<div class="price_Search">
<small class="price_unit">TWD$</small> {{item.b2BPrice}}
</div>
<a class="btn_warning" @click="GotoDetails(item)" style="cursor:pointer">更多出發日</a>
</div>
</div>
</div>
</div>
<div style="display:flex;justify-content: center;">
<q-pagination v-if="qMsg.PageCount>1" v-model="qMsg.pageIndex" :max="qMsg.PageCount" @input="gerOrderList()"
:direction-links="true">
</q-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
props: ["DataList", "qMsg"],
data() {
return {
};
},
methods: {
GotoDetails(item) {
this.CommonJump('/details/' + encodeURIComponent(item.id) + "/" + item.tcid, {});
},
//调用
gerOrderList(){
this.$emit('getPage')
}
}
}
</script>
...@@ -329,7 +329,8 @@ export default { ...@@ -329,7 +329,8 @@ export default {
created() { created() {
}, },
mounted() { mounted() {
this.isSearch = this.$router.history.current.path === "/search"||this.$router.history.current.path === "/searchProduct"; this.isSearch = this.$router.history.current.path === "/search"||this.$router.history.current.path === "/searchProduct"
||this.$router.history.current.path === "/searchVisa"||this.$router.history.current.path === "/planeticket";
this.initAreaList() this.initAreaList()
var jObj = JSON.parse(window.localStorage.getItem('baseifo')); var jObj = JSON.parse(window.localStorage.getItem('baseifo'));
const hotList = this.getHotList(jObj.AreaList) const hotList = this.getHotList(jObj.AreaList)
...@@ -411,28 +412,34 @@ export default { ...@@ -411,28 +412,34 @@ export default {
}, },
handleHotTagClick(item) { handleHotTagClick(item) {
this.setectHotTag = item.Id this.setectHotTag = item.Id
// let val = item.Name let val = item.Name
// if(val!='' && typeof val == 'string'){ if(val!='' && typeof val == 'string'){
// this.searchKey=val this.searchKey=val
// } }
// this.historys=Array.from(new Set([this.searchKey].concat(this.historys))) // this.historys=Array.from(new Set([this.searchKey].concat(this.historys)))
// localStorage['recent_search'] = JSON.stringify(this.historys) // localStorage['recent_search'] = JSON.stringify(this.historys)
if(this.$route.path==='/searchProduct') { var currentUrl = window.location.href;
this.CommonJump("/searchProduct", { let urlName="/search";
qsearchKey: item.Name, if(currentUrl.includes('/#/searchProduct')){
qsearchDate: this.searchDate, urlName="/searchProduct";
qsearchEndDate: this.searchEndDate, }else if(currentUrl.includes('/#/planeticket')){
areaId: item.Id urlName="/planeticket";
}else if(currentUrl.includes('/#/searchVisa')){
urlName="/searchVisa";
}
if(urlName=='/searchVisa'||urlName=='/planeticket'){
this.CommonJump(urlName, {
Name: this.searchKey,
VisaCountryId: item.Id
}); });
}else{ }else{
this.CommonJump("/search", { this.CommonJump(urlName, {
qsearchKey: this.searchKey, qsearchKey: this.searchKey,
qsearchDate: this.searchDate, qsearchDate: this.searchDate,
qsearchEndDate: this.searchEndDate, qsearchEndDate: this.searchEndDate,
areaId: item.Id areaId: item.Id
}); });
} }
if(this.isSearch) { if(this.isSearch) {
window.location.reload() window.location.reload()
} }
...@@ -507,13 +514,25 @@ export default { ...@@ -507,13 +514,25 @@ export default {
let urlName="/search"; let urlName="/search";
if(currentUrl.includes('/#/searchProduct')){ if(currentUrl.includes('/#/searchProduct')){
urlName="/searchProduct"; urlName="/searchProduct";
}else if(currentUrl.includes('/#/planeticket')){
urlName="/planeticket";
}else if(currentUrl.includes('/#/searchVisa')){
urlName="/searchVisa";
} }
this.CommonJump(urlName, { if(urlName=='/searchVisa'||urlName=='/planeticket'){
qsearchKey: this.searchKey, this.CommonJump(urlName, {
areaIds: this.areaTicked.join(','), Name: this.searchKey,
qsearchDate: this.searchDate, VisaCountryIds: this.areaTicked.join(',')
qsearchEndDate: this.searchEndDate, });
}); }else{
this.CommonJump(urlName, {
qsearchKey: this.searchKey,
areaIds: this.areaTicked.join(','),
qsearchDate: this.searchDate,
qsearchEndDate: this.searchEndDate,
});
}
this.showSplitPannel = false this.showSplitPannel = false
if(this.isSearch) { if(this.isSearch) {
window.location.reload() window.location.reload()
......
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
</q-card> </q-card>
</div> </div>
<div class="col q-mt-sm"> <div class="col q-mt-sm">
<div class="rounded-borders bg-white q-col-gutter-sm"> <div class="rounded-borders bg-white">
<div class="row q-col-gutter-sm items-center q-pa-md"> <div class="row q-col-gutter-sm items-center q-pa-md">
<div class="text-subtitle2 q-mr-md"> <div class="text-subtitle2 q-mr-md">
<span class="text-weight-bold text-primary q-mr-sm"> <span class="text-weight-bold text-primary q-mr-sm">
...@@ -536,6 +536,15 @@ export default { ...@@ -536,6 +536,15 @@ export default {
}, },
handleTicked(target) { handleTicked(target) {
let goodsType = this.goodsType.filter(x=>{return x.Id==target})
if(goodsType&&goodsType.length>0) {
if(goodsType[0].CategoryName=='签证'){
return this.CommonJump("/searchVisa", {});
}
if(goodsType[0].CategoryName=='机票'){
return this.CommonJump("/planeticket", {});
}
}
this.msg.pageIndex = 1 this.msg.pageIndex = 1
this.ticked = target; this.ticked = target;
this.goSearchHandler(); this.goSearchHandler();
......
This diff is collapsed.
This diff is collapsed.
...@@ -773,8 +773,8 @@ export default { ...@@ -773,8 +773,8 @@ export default {
} }
} else { } else {
this.$message.error(res.data.message); this.$message.error(res.data.message);
this.submiting = false;
} }
this.submiting = false;
}, },
(err) => { (err) => {
this.submiting = false; this.submiting = false;
......
This diff is collapsed.
...@@ -39,6 +39,11 @@ const routes = [{ ...@@ -39,6 +39,11 @@ const routes = [{
meta: { title: '行程' }, meta: { title: '行程' },
component: () => component: () =>
import ('pages/detailsProduct.vue') import ('pages/detailsProduct.vue')
}, { //签证详情
path: '/detailsVisa/:Pid',
meta: { title: '签证' },
component: () =>
import ('pages/detailsVisa.vue')
}, { // 包车,接机 }, { // 包车,接机
meta: { title: '包车,接机' }, meta: { title: '包车,接机' },
path: '/detailCar/:id', path: '/detailCar/:id',
...@@ -83,6 +88,11 @@ const routes = [{ ...@@ -83,6 +88,11 @@ const routes = [{
meta: { title: '出行检索' }, meta: { title: '出行检索' },
component: () => component: () =>
import ('pages/SearchProduct.vue') import ('pages/SearchProduct.vue')
},{
path: '/searchVisa', //出行产品(签证)检索
meta: { title: '出行检索' },
component: () =>
import ('pages/SearchVisa.vue')
},{ },{
path: '/planeticket', //出行产品(机票)检索 path: '/planeticket', //出行产品(机票)检索
meta: { title: '出行检索' }, meta: { title: '出行检索' },
...@@ -197,6 +207,12 @@ const routes = [{ ...@@ -197,6 +207,12 @@ const routes = [{
component: () => component: () =>
import ('pages/line/orderPreview.vue') import ('pages/line/orderPreview.vue')
}, },
{
path: '/visaOrderPriview/:id?', //签证订单确认
meta: { title: '订单确认' },
component: () =>
import ('pages/line/visaOrderPreview.vue')
},
{ {
path: '/planeticketOrder/:id?', //机票订单确认 path: '/planeticketOrder/:id?', //机票订单确认
meta: { title: '订单确认' }, 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