Commit 18de3810 authored by 黄奎's avatar 黄奎

预览行程新增日期

parent f0e4ee52
<style> <style>
@import "../../assets/css/trip/index.css"; @import "../../assets/css/trip/index.css";
</style> </style>
<template> <template>
<div class="trip-box-commonTeam" v-loading="loading"> <div class="trip-box-commonTeam" v-loading="loading">
<div class="item-title"> <div class="item-title">
<span class="t">{{tripList.length}}日行程</span> <span class="t">{{tripList.length}}日行程</span>
<span> <span>
<small class="s"></small> <small class="s"></small>
</span> </span>
<span>Scheduling</span> <span>Scheduling</span>
</div> </div>
<div class="trip-block-commonTeam" v-for="(item,i) in tripList" :key="i"> <div class="trip-block-commonTeam" v-for="(item,i) in tripList" :key="i">
<div class="trip-title"> <div class="trip-title">
<div class="day"><span v-if='item.dayNum<10'>0</span>{{item.dayNum}}</div> <div>
<div class="desc" v-html="item.title"></div> <p class="day"><span v-if='item.dayNum<10'>0</span>{{item.dayNum}}</p>
</div> <template v-if="startDate&&startDate!=''">
<oneday v-if="item.details && item.details.length==1" :day='item'></oneday> <p>{{GetDayStr(startDate,item.dayNum-1)}}</p>
<twoday v-if="item.details && item.details.length==2" :day='item'></twoday> </template>
<threeday v-if="item.details && item.details.length==3" :day='item'></threeday>
<fourday v-if="item.details && item.details.length==4" :day='item'></fourday>
<fiveday v-if="item.details && item.details.length>=5" :day='item'></fiveday>
</div> </div>
<div class="desc" v-html="item.title"></div>
</div>
<oneday v-if="item.details && item.details.length==1" :day='item'></oneday>
<twoday v-if="item.details && item.details.length==2" :day='item'></twoday>
<threeday v-if="item.details && item.details.length==3" :day='item'></threeday>
<fourday v-if="item.details && item.details.length==4" :day='item'></fourday>
<fiveday v-if="item.details && item.details.length>=5" :day='item'></fiveday>
</div> </div>
</div>
</template> </template>
<script> <script>
import oneday from "../commonPage/TravelTripPreview/oneday"; import oneday from "../commonPage/TravelTripPreview/oneday";
import twoday from "../commonPage/TravelTripPreview/twoday"; import twoday from "../commonPage/TravelTripPreview/twoday";
import threeday from "../commonPage/TravelTripPreview/threeday"; import threeday from "../commonPage/TravelTripPreview/threeday";
import fourday from "../commonPage/TravelTripPreview/fourday"; import fourday from "../commonPage/TravelTripPreview/fourday";
import fiveday from "../commonPage/TravelTripPreview/fiveday"; import fiveday from "../commonPage/TravelTripPreview/fiveday";
export default { export default {
props: ["subConfig"], props: ["subConfig"],
data() { data() {
return { return {
tripList: [], tripList: [],
loading:false loading: false,
}; startDate: ""
}, };
components: { },
oneday, components: {
twoday, oneday,
threeday, twoday,
fourday, threeday,
fiveday fourday,
}, fiveday
mounted() {}, },
methods: { mounted() {},
GetTrip(id) { methods: {
this.tripList=[]; GetDayStr(dateStr, dayNum) {
if (id !== undefined) { return this.$commonUtils.AddDay(dateStr, dayNum);
//根据ID 获取行程内容 },
this.loading=true; GetTrip(id, TCID) {
this.apipost( this.tripList = [];
"b2b_get_GetB2BTravelInfoNoDes", this.startDate = '';
{ var nTCID = 0;
configId: id if (TCID) {
}, nTCID = TCID;
res => { }
this.loading=false; var msg = {
if (res.data.resultCode == 1) { configId: id,
this.tripList = res.data.data.dayList; tcid: nTCID
this.init(); };
} if (id !== undefined) {
}, //根据ID 获取行程内容
err => {} this.loading = true;
); this.apipost(
} else { "b2b_get_GetB2BTravelInfoNoDes", msg,
var dayList = []; res => {
this.subConfig.DayList.forEach((objItem, objIndex) => { this.loading = false;
var dayItem = this.$tripUtils.daysArrayObj(); if (res.data.resultCode == 1) {
dayItem.dayNum = objItem.dayNum; if (res.data.data.priceList && res.data.data.priceList.length > 0) {
//每一天的数组 this.startDate = res.data.data.priceList[0].startDate;
var dayArray = []; }
//子项遍历 this.tripList = res.data.data.dayList;
objItem.dayArray.forEach(subItem => { this.init();
switch (subItem.Type) { }
//交通 },
case "1": err => {}
var subTraffiArray = []; );
subItem.childItem.SubTraffic.forEach(subTrafficItem => { } else {
subTraffiArray.push({ var dayList = [];
startCityName: subTrafficItem.StartCityName, this.subConfig.DayList.forEach((objItem, objIndex) => {
arrivalType: subTrafficItem.ArrivalType, var dayItem = this.$tripUtils.daysArrayObj();
arrivalCityName: subTrafficItem.ArrivalCityName dayItem.dayNum = objItem.dayNum;
//每一天的数组
var dayArray = [];
//子项遍历
objItem.dayArray.forEach(subItem => {
switch (subItem.Type) {
//交通
case "1":
var subTraffiArray = [];
subItem.childItem.SubTraffic.forEach(subTrafficItem => {
subTraffiArray.push({
startCityName: subTrafficItem.StartCityName,
arrivalType: subTrafficItem.ArrivalType,
arrivalCityName: subTrafficItem.ArrivalCityName
});
}); });
}); var trafficObj = {
var trafficObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { description: subItem.childItem.Description,
description: subItem.childItem.Description, subTraffic: subTraffiArray
subTraffic: subTraffiArray }
} };
}; dayArray.push(trafficObj);
dayArray.push(trafficObj); break;
break; //景点
//景点 case "2":
case "2": var imgArray = [];
var imgArray = []; subItem.childItem.ImaArray.forEach(imgItem => {
subItem.childItem.ImaArray.forEach(imgItem => { imgArray.push({
imgArray.push({ url: imgItem.Url,
url: imgItem.Url, name: imgItem.Name
name: imgItem.Name });
}); });
}); var scenicObj = {
var scenicObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { couponsName: subItem.childItem.CouponsName,
couponsName: subItem.childItem.CouponsName, couponsTicketName: subItem.childItem.CouponsTicketName,
couponsTicketName: subItem.childItem.CouponsTicketName, playTimeHour: subItem.childItem.PlayTimeHour,
playTimeHour: subItem.childItem.PlayTimeHour, playTimeMinutes: subItem.childItem.PlayTimeMinutes,
playTimeMinutes: subItem.childItem.PlayTimeMinutes, description: subItem.childItem.Description,
description: subItem.childItem.Description, imaArray: imgArray
imaArray: imgArray }
} };
}; dayArray.push(scenicObj);
dayArray.push(scenicObj); break;
break; //酒店
//酒店 case "3":
case "3": var imgArray = [];
var imgArray = []; subItem.childItem.ImaArray.forEach(imgItem => {
subItem.childItem.ImaArray.forEach(imgItem => { imgArray.push({
imgArray.push({ url: imgItem.Url,
url: imgItem.Url, name: imgItem.Name
name: imgItem.Name });
}); });
}); var hotelObj = {
var hotelObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { hotelName: subItem.childItem.HotelName,
hotelName: subItem.childItem.HotelName, hotelProductName: subItem.childItem.HotelProductName,
hotelProductName: subItem.childItem.HotelProductName, useDinnerType: subItem.childItem.UseDinnerType,
useDinnerType: subItem.childItem.UseDinnerType, description: subItem.childItem.Description,
description: subItem.childItem.Description, imaArray: imgArray
imaArray: imgArray }
} };
}; dayArray.push(hotelObj);
dayArray.push(hotelObj); break;
break; //餐厅
//餐厅 case "4":
case "4": var imgArray = [];
var imgArray = []; subItem.childItem.ImaArray.forEach(imgItem => {
subItem.childItem.ImaArray.forEach(imgItem => { imgArray.push({
imgArray.push({ url: imgItem.Url,
url: imgItem.Url, name: imgItem.Name
name: imgItem.Name });
}); });
}); var dinnerObj = {
var dinnerObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { dinnerName: subItem.childItem.DinnerName,
dinnerName: subItem.childItem.DinnerName, mealName: subItem.childItem.MinnerName,
mealName: subItem.childItem.MinnerName, useDinnerType: subItem.childItem.UseDinnerType,
useDinnerType: subItem.childItem.UseDinnerType, useTimeHour: subItem.childItem.UseTimeHour,
useTimeHour: subItem.childItem.UseTimeHour, useTimeMinutes: subItem.childItem.UseTimeMinutes,
useTimeMinutes: subItem.childItem.UseTimeMinutes, description: subItem.childItem.Description,
description: subItem.childItem.Description, descriptionText: subItem.childItem.Description,
descriptionText: subItem.childItem.Description, imaArray: imgArray
imaArray: imgArray }
} };
}; dayArray.push(dinnerObj);
dayArray.push(dinnerObj); break;
break; //自由活动
//自由活动 case "5":
case "5": var freedomObj = {
var freedomObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { description: subItem.Description,
description: subItem.Description, descriptionText: subItem.Description
descriptionText: subItem.Description }
} };
}; dayArray.push(freedomObj);
dayArray.push(freedomObj); break;
break; //温馨提示
//温馨提示 case "6":
case "6": var warmObj = {
var warmObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { description: subItem.Description,
description: subItem.Description, descriptionText: subItem.Description
descriptionText: subItem.Description }
} };
}; dayArray.push(warmObj);
dayArray.push(warmObj); break;
break; //行程大点
//行程大点 case "7":
case "7": var titleObj = {
var titleObj = { type: subItem.Type,
type: subItem.Type, childItem: {
childItem: { title: subItem.childItem.Title,
title: subItem.childItem.Title, description: subItem.childItem.Description
description: subItem.childItem.Description }
} };
}; dayArray.push(titleObj);
dayArray.push(titleObj); break;
break;
}
});
dayItem.dayArray = dayArray;
dayList.push(dayItem);
});
this.tripList = dayList;
this.init();
}
},
init() {
this.tripList.forEach((x, j) => {
let useDinnerTypeBy = "";
let jin = [],
jiu = [],
jiu2 = [],
jiao = [],
dadian = [],
tips = [],
activy = [],
can = {
breakfirst: "敬请自理",
lanuch: "敬请自理",
dinner: "敬请自理"
};
x.dayArray.forEach((y, index) => {
if (y.type == 7 && y.childItem.title != "") {
let obj = {
title: y.childItem.title,
content: y.childItem.description,
img:
y.childItem.imaArray && y.childItem.imaArray.length > 0
? y.childItem.imaArray[0].url
: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
dadian.push(obj);
} else if (y.type == 1 && y.childItem.subTraffic.length > 0) {
let title = "";
y.childItem.subTraffic.forEach((z, i) => {
title += z.startCityName;
if (z.arrivalType == 1) {
title += '<i class="iconfont icon-feiji"></i>';
} else if (z.arrivalType == 2) {
title += '<i class="iconfont icon-bus"></i>';
} else if (z.arrivalType == 3) {
title += '<i class="iconfont icon-icon31"></i>';
} else {
title += '<i class="iconfont icon-gaotiedongche"></i>';
}
if (i + 1 == y.childItem.subTraffic.length) {
title += z.arrivalCityName;
} }
}); });
let obj = { dayItem.dayArray = dayArray;
title: title, dayList.push(dayItem);
content: y.childItem.description, });
img: "", this.tripList = dayList;
ticketName: "", this.init();
playTimeHour: null, }
playTimeMinutes: null },
}; init() {
jiao.push(obj); this.tripList.forEach((x, j) => {
} else if ( let useDinnerTypeBy = "";
y.type == 2 && let jin = [],
y.childItem.couponsName != "" && jiu = [],
y.childItem.imaArray.length > 0 jiu2 = [],
) { jiao = [],
let obj = { dadian = [],
title: y.childItem.couponsName, tips = [],
content: y.childItem.description, activy = [],
img: y.childItem.imaArray[0].url, can = {
ticketName: y.childItem.couponsTicketName, breakfirst: "敬请自理",
playTimeHour: y.childItem.playTimeHour, lanuch: "敬请自理",
playTimeMinutes: y.childItem.playTimeHour dinner: "敬请自理"
};
jin.push(obj);
} else if (
y.type == 3 &&
y.childItem.hotelName != "" &&
y.childItem.imaArray.length > 0
) {
let obj = {
title: y.childItem.hotelName,
content: y.childItem.description,
img: y.childItem.imaArray[0].url,
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
}; };
jiu.push(obj); x.dayArray.forEach((y, index) => {
} else if (y.type == 4) { if (y.type == 7 && y.childItem.title != "") {
if (y.childItem.useDinnerType == "1") { let obj = {
can.breakfirst = y.childItem.dinnerName; title: y.childItem.title,
} else if (y.childItem.useDinnerType == "2") { content: y.childItem.description,
can.lanuch = y.childItem.dinnerName; img: y.childItem.imaArray && y.childItem.imaArray.length > 0 ?
} else if (y.childItem.useDinnerType == "3") { y.childItem.imaArray[0].url : "",
can.dinner = y.childItem.dinnerName; ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
dadian.push(obj);
} else if (y.type == 1 && y.childItem.subTraffic.length > 0) {
let title = "";
y.childItem.subTraffic.forEach((z, i) => {
title += z.startCityName;
if (z.arrivalType == 1) {
title += '<i class="iconfont icon-feiji"></i>';
} else if (z.arrivalType == 2) {
title += '<i class="iconfont icon-bus"></i>';
} else if (z.arrivalType == 3) {
title += '<i class="iconfont icon-icon31"></i>';
} else {
title += '<i class="iconfont icon-gaotiedongche"></i>';
}
if (i + 1 == y.childItem.subTraffic.length) {
title += z.arrivalCityName;
}
});
let obj = {
title: title,
content: y.childItem.description,
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
jiao.push(obj);
} else if (
y.type == 2 &&
y.childItem.couponsName != "" &&
y.childItem.imaArray.length > 0
) {
let obj = {
title: y.childItem.couponsName,
content: y.childItem.description,
img: y.childItem.imaArray[0].url,
ticketName: y.childItem.couponsTicketName,
playTimeHour: y.childItem.playTimeHour,
playTimeMinutes: y.childItem.playTimeHour
};
jin.push(obj);
} else if (
y.type == 3 &&
y.childItem.hotelName != "" &&
y.childItem.imaArray.length > 0
) {
let obj = {
title: y.childItem.hotelName,
content: y.childItem.description,
img: y.childItem.imaArray[0].url,
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
jiu.push(obj);
} else if (y.type == 4) {
if (y.childItem.useDinnerType == "1") {
can.breakfirst = y.childItem.dinnerName;
} else if (y.childItem.useDinnerType == "2") {
can.lanuch = y.childItem.dinnerName;
} else if (y.childItem.useDinnerType == "3") {
can.dinner = y.childItem.dinnerName;
}
} else if (y.type == 5) {
let obj = {
title: "自由活动",
content: y.childItem.description,
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
activy.push(obj);
} else if (y.type == 6) {
let obj = {
title: y.childItem.title,
content: y.childItem.description,
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
tips.push(obj);
} }
} else if (y.type == 5) { if (y.type == 3) {
let obj = { jiu2.push(y.childItem.hotelName);
title: "自由活动", useDinnerTypeBy = y.childItem.useDinnerType;
content: y.childItem.description, }
img: "", });
ticketName: "", if (
playTimeHour: null, can.breakfirst == "敬请自理" &&
playTimeMinutes: null useDinnerTypeBy.indexOf("1") != -1
}; ) {
activy.push(obj); can.breakfirst = "酒店内享用早餐";
} else if (y.type == 6) {
let obj = {
title: y.childItem.title,
content: y.childItem.description,
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
tips.push(obj);
} }
if (y.type == 3) { if (can.lanuch == "敬请自理" && useDinnerTypeBy.indexOf("2") != -1) {
jiu2.push(y.childItem.hotelName); can.lanuch = "酒店自助";
useDinnerTypeBy = y.childItem.useDinnerType;
} }
}); if (can.dinner == "敬请自理" && useDinnerTypeBy.indexOf("3") != -1) {
if ( can.dinner = "酒店自助";
can.breakfirst == "敬请自理" &&
useDinnerTypeBy.indexOf("1") != -1
) {
can.breakfirst = "酒店内享用早餐";
}
if (can.lanuch == "敬请自理" && useDinnerTypeBy.indexOf("2") != -1) {
can.lanuch = "酒店自助";
}
if (can.dinner == "敬请自理" && useDinnerTypeBy.indexOf("3") != -1) {
can.dinner = "酒店自助";
}
x.can = can;
let details = [];
x.tips = tips;
x.jiu2 = jiu2;
if (jin.length > 0) {
details = jin;
} else if (jiu.length > 0) {
details = jiu;
} else if (dadian.length > 0) {
details = dadian;
} else if (jiao.length > 0) {
if (j == this.tripList.length - 1) {
let obj = {
title: "温暖的家",
content: "感谢您参加本次行程,期待下次与您相遇",
img: ""
};
details.push(obj);
} else {
details = jiao;
} }
} else if (activy.length > 0) { x.can = can;
details = activy; let details = [];
} x.tips = tips;
x.title = x.jiu2 = jiu2;
dadian.length > 0 if (jin.length > 0) {
? dadian[0].title details = jin;
: jiao.length > 0 } else if (jiu.length > 0) {
? jiao[0].title details = jiu;
: "集合出发"; } else if (dadian.length > 0) {
x.details = details; details = dadian;
} else if (jiao.length > 0) {
if (x.details.length == 0) { if (j == this.tripList.length - 1) {
if (j == 0) { let obj = {
let obj = { title: "温暖的家",
title: "集合出发", content: "感谢您参加本次行程,期待下次与您相遇",
content: "向着远方的目标出发起飞", img: ""
img: "", };
ticketName: "", details.push(obj);
playTimeHour: null, } else {
playTimeMinutes: null details = jiao;
}; }
details.push(obj); } else if (activy.length > 0) {
} else if (j == this.tripList.length - 1) { details = activy;
let obj = {
title: "温暖的家",
content: "感谢您参加本次行程,期待下次与您相遇",
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
details.push(obj);
} }
} else { x.title =
if (x.title == "集合出发") { dadian.length > 0 ?
x.details.forEach(xc => { dadian[0].title :
if (xc.title !== undefined) x.title = xc.title + "~"; jiao.length > 0 ?
}); jiao[0].title :
"集合出发";
x.details = details;
if (x.details.length == 0) {
if (j == 0) {
let obj = {
title: "集合出发",
content: "向着远方的目标出发起飞",
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
details.push(obj);
} else if (j == this.tripList.length - 1) {
let obj = {
title: "温暖的家",
content: "感谢您参加本次行程,期待下次与您相遇",
img: "",
ticketName: "",
playTimeHour: null,
playTimeMinutes: null
};
details.push(obj);
}
} else {
if (x.title == "集合出发") { if (x.title == "集合出发") {
if (j > 0 && j < tripList.length - 1) x.title = "自由活动"; x.details.forEach(xc => {
} else { if (xc.title !== undefined) x.title = xc.title + "~";
x.title = x.title.substring(0, x.title.length - 1); });
if (x.title == "集合出发") {
if (j > 0 && j < tripList.length - 1) x.title = "自由活动";
} else {
x.title = x.title.substring(0, x.title.length - 1);
}
} }
} }
} x.islast = j + 1 == this.tripList.length;
x.islast = j + 1 == this.tripList.length; this.$set(this.tripList, j, x);
this.$set(this.tripList, j, x); });
}); for (let i = this.tripList.length - 1; i >= 0; i--) {
for (let i = this.tripList.length - 1; i >= 0; i--) { if (i == 0) this.tripList[i].can.breakfirst = "敬请自理";
if (i == 0) this.tripList[i].can.breakfirst = "敬请自理"; else {
else { this.tripList[i].can.breakfirst = this.tripList[i - 1].can.breakfirst;
this.tripList[i].can.breakfirst = this.tripList[i - 1].can.breakfirst; if (
if ( this.tripList[i].lineId != 5 &&
this.tripList[i].lineId != 5 && this.tripList[i].can.breakfirst == "敬请自理"
this.tripList[i].can.breakfirst == "敬请自理" )
) this.tripList[i].can.breakfirst = "酒店内享用早餐";
this.tripList[i].can.breakfirst = "酒店内享用早餐"; }
} }
} }
} }
} };
};
</script> </script>
...@@ -515,7 +515,7 @@ ...@@ -515,7 +515,7 @@
<tr> <tr>
<td colspan="22" style="text-align: left!important;padding:0 20px;"> <td colspan="22" style="text-align: left!important;padding:0 20px;">
<div class="link"> <div class="link">
<p @click="getJourney(item.ConfigID,item.Title)" style="padding-top:4px;">{{item.Title}}</p> <p @click="getJourney(item)" style="padding-top:4px;">{{item.Title}}</p>
<div v-if="outItem.PriceCommonList[index].DMCNum && outItem.PriceCommonList[index].DMCNum!=''" <div v-if="outItem.PriceCommonList[index].DMCNum && outItem.PriceCommonList[index].DMCNum!=''"
class="colorE95252" style="padding-top:5px;">地接备注团号:{{outItem.PriceCommonList[index].DMCNum}} class="colorE95252" style="padding-top:5px;">地接备注团号:{{outItem.PriceCommonList[index].DMCNum}}
</div> </div>
...@@ -690,11 +690,11 @@ ...@@ -690,11 +690,11 @@
return "(临时领队)" return "(临时领队)"
} }
}, },
getJourney(id, title) { getJourney(item) {
var that = this; var that = this;
this.tripTitle = title; this.tripTitle = item.Title;
this.$nextTick(() => { this.$nextTick(() => {
that.$refs.comTeam.GetTrip(id); that.$refs.comTeam.GetTrip(item.ConfigID,item.TCID);
}); });
that.teamVisible = true; that.teamVisible = true;
}, },
......
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