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

预览行程新增日期

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