Commit 89b573aa authored by zhengke's avatar zhengke

修改

parent f4c34534
...@@ -6,27 +6,699 @@ ...@@ -6,27 +6,699 @@
box-sizing: border-box; box-sizing: border-box;
background: #fff; background: #fff;
height: auto; height: auto;
padding: 20px 0; padding: 0 20px;
margin: 0 auto; margin: 0 auto;
height: auto!important; height: auto!important;
font-family: 'PingFang SC Regular'; font-family: 'PingFang SC Regular';
background:url('../assets/img/trip/japan.png');
background-size: 100%;
background-repeat: no-repeat;
} }
.newTripTop_Img{ .newTripCom_Img{
width:100%; width:100%;
padding-top:290px;
height:1805px;
/* background:url('../assets/img/trip/japan.png');
clip: rect(599px 550px 712px 0px); */
background-repeat: no-repeat;
/* background-position: 0px 1709px; */
/* background-image: ; */
} }
.newTripCom_Img img{
width:100%;
}
.newCenterContent{
width:100%;
height:auto;
color:#111111;
}
.newTripTitle{
font-size:30px;
margin-bottom:10px;
width:100%;
text-align: center;
font-weight: bold;
}
.newTripCankao{
width:100%;
font-size:20px;
text-align:center;
}
.newtripComTitle{
font-weight: bold;
}
.newTripStartInfo{
font-size:20px;
margin-top:20px;
}
.newTripStartInfo>div{
margin-bottom:20px;
}
.newtripList>div{
margin-bottom:20px;
}
.newTripDay{
font-size:20px;
}
.newTripFly{
font-size:25px;
font-weight: bold;
}
.newTripTable{
font-size:20px;
}
.newTripTable tr td{
vertical-align: top;
}
.newTripTable span{
font-weight: bold;
}
.tripLeftCan,.tripRightCan{
display:inline-block;
}
</style> </style>
<template> <template>
<div class="newTrip_Main"> <div class="newTrip_Main">
<div class="newTripTop_Img"></div> <div class="newTripCom_Img">
<img src="../assets/img/trip/japanTop.png" alt=""/>
</div>
<div class="newCenterContent">
<div class="newTripTitle">
{{title}}
</div>
<div class="newTripCankao">(行程中所涉及到的图片仅供参考)</div>
<div class="newTripStartInfo">
<div><span class="newtripComTitle">线路:</span>{{orderMsg.lineName}}</div>
<div><span class="newtripComTitle">出发日期:</span>{{orderMsg.startDate}}</div>
<div><span class="newtripComTitle">返回日期:</span>{{orderMsg.endDate}}</div>
<div><span class="newtripComTitle">行程天数:</span>{{orderMsg.dayNum}}</div>
</div>
<div class="newFeature">
</div>
<div class="newtripList">
<div class="newTripFly">DAY 01</div>
<div class="newTripFly">西安&nbsp;&nbsp;<i class="iconfont icon-Shape1"></i>&nbsp;&nbsp;东京成田 参考航班 HU7927 08:15---14:25</div>
<div class="newTripDay">
05:15 从西安咸阳机场出发,乘坐海南航空航班飞往日本成田国际机场。抵达后导游接机。
</div>
<div class="newTripDay">
14:35 入住酒店休息,养精蓄锐,开启美好旅程。(方便游玩,本日晚餐自理)
</div>
<div class="newTripDay">
特别提示:因天气原因富士山下雪封路,巴士可能只能上到一合目或二合目,如一合目封山替换为平和公园敬请谅解!
</div>
<div class="newTripDay">
富士山:被日本人民誉为“圣岳”,是日本民族的象征。整个山体呈圆锥状,一眼望去,恰似一把悬空倒挂
的扇子,日本诗人曾用“玉扇倒悬东海天”、“富士白雪映朝阳”等诗句赞美它。富士山由山脚到山顶分为
十合,由山脚下出发到半山腰称为五合目,利用巴士可上到2305 米的五合目,这里的景色一年四季随季节
变化而不同,日出日落,气候变化,都会令富士山瞬间呈现不同的身影,千姿百态!
</div>
<div>
<table class="newTripTable">
<tr>
<td style="width:50%"><span>酒店:</span>成田ANA 皇冠假日酒店或同级</td>
<td style="width:25%">
<div class="tripLeftCan" style="vertical-align:top;">
<span>用餐:</span>
</div>
<div class="tripRightCan">
<!-- <div></div> -->
<div>早(温泉餐)</div>
<div>中(温泉餐)</div>
<div>晚(温泉餐)</div>
</div>
</td>
<td style="width:25%"><span>交通:</span>飞机、酒店/机场班车</td>
</tr>
</table>
</div>
<div class="">
</div>
</div>
</div>
<!-- <div class="newTripCom_Img">
<img src="../assets/img/trip/japanBtm.png" alt=""/>
</div> -->
</div> </div>
</template> </template>
\ No newline at end of file
<script>
import oneday from './commonPage/oneday'
export default {
data() {
return {
Typevalue:-1,
titleList:[],
listMsg:{
pageSize:1000,
pageIndex:1,
},
//orderId和是否op操作控制按钮显示
orderId: 0,
isopOperation: '',
editForm: {
},
//团源基础数据
SourceData: {
orderId: 0,
leaderInfo: '',
gatheringTime: '',
airportService: '',
gatherIdent: '',
emergencyContact: '',
gatheringAddress: '',
flightInfoJson: '',
travelOrderFlightList: []
},
editMsgShow: false,
pdfLoading: true,
list: [],
tripList: [],
priceList: [],
feature: {},
dataList: {},
showType: -1,
orderMsg: {},
//订单不同数据
orderTripdiff: {},
title: '',
isDirect: 1, //是否是直采 0:否,1:是
isClick: this.$route.query.isClick === undefined ? 0 : 1//不算统计
}
},
mounted() {
// this.orderId = this.$route.query.orderId;
// this.isopOperation = this.$route.query.isopOperation;
this.orderId=0;
this.isopOperation=
// this.getWxCode();
this.init();
this.getDataList();
},
methods: {
// 获取标题
getDataList(){
this.apiJavaPost('/api/rssarticle/getArticleList',this.listMsg,res=>{
if(res.data.resultCode==1){
let data=res.data.data.pageData.list;
this.titleList=data;
}else{
this.Error(res.data.message);
}
},null)
},
//获取微信二维码
getWxCode: function () {
this.apipost('survey_post_GetSurveyWeiXinShare', {
TCID: this.$route.query.tcid
}, res => {
if (res.data.resultCode == 1) {
this.WeiXinShareImgSrc=res.data.data;
}
}, err => {})
},
gernalFeature(isPc) {
this.pdfLoading = true;
let tcid = this.$route.query.tcid;
let UploadUrl = this.domainManager().UploadUrl
let _this = this
if (this.showType >= 4) { // 判断是否为行程特色
_this.ToWord_V2(_this.orderMsg.startDate + _this.orderMsg.lineteamName + _this.orderMsg.dayNum +
'日游', isPc)
} else {
this.ToWord_V2(this.orderMsg.startDate + this.orderMsg.lineteamName + this.orderMsg.dayNum + '日游', isPc)
}
},
airLineSelectChange: function (airLineId, item, type) {
item.airLineID = airLineId
this.airLineList.forEach(x => {
if (x.AirLineId == airLineId) {
item.alName = x.AlName
}
});
if (type == 1) {
item.flightID = 0;
item.flightNumber = "";
item.departureAirPortName = "";
item.departureTime = "";
item.arrivalAirPortName = "";
item.arrivalTime = "";
}
let msg = {
airlineID: airLineId
}
this.apipost(
'flight_post_GetAirportNameList',
msg,
res => {
if (res.data.resultCode == 1) {
item.airportNameList = res.data.data;
}
},
err => {}
)
this.$forceUpdate();
},
flightSelectChange(flightId, item) {
item.airportNameList.forEach(x => {
if (x.ID == flightId) {
item.flightNumber = x.Flight_number.split('/')[0];
item.departureAirPortName = x.dName;
item.departureTime = x.DepartureTime;
item.arrivalAirPortName = x.aName;
item.arrivalTime = x.ArrivalTime;
}
});
},
setDate: function (j) {
let stDate = "";
if (this.priceList && this.priceList.length > 0) {
stDate = this.priceList[0].startDate;
}
if (j === 0) {
return stDate
} else {
if (stDate) {
let d = new Date(stDate)
d = d.getTime(d);
let add = d + ((24 * 60 * 60 * 1000) * j)
let date = new Date(add); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = date.getDate() < 10 ? ('0' + date.getDate()) + ' ' : date.getDate() + ' ';
return Y + M + D;
} else {
return "";
}
}
},
// 生成pdf
toPDF_V3: function (title) {
this.pdfLoading = true
let urlObj = this.domainManager();
let msg = {
configId: this.$route.query.configId,
cityId: this.$route.query.cityId,
tcid: this.$route.query.tcid,
orderId: this.$route.query.orderId,
FileName: title,
//是否显示基础信息
isShowBase: this.vshowA ? 1 : 0,
//是否显示航班
isShowFlight: this.vshowB ? 1 : 0,
//是否显示行程特色
isShowFeature: this.vshowC ? 1 : 0,
//自费、费用包含、费用不含
isShowFee: this.vshowE ? 1 : 0,
//购物说明,购物安排
isShowShop: this.vshowF ? 1 : 0,
//重要提示、温馨提示 [订单须知]
isShowTip: this.vshowG ? 1 : 0,
//是否显示同行备注
isShowB2B: this.vshowI ? 1 : 0,
//是否显示行程
isShowTrip: this.vshowD ? 1 : 0,
//是否显示标题
isShowTitle: this.vshowL ? 1 : 0,
//是否显示旅客名单
isShowGuest: this.vshowM ? 1 : 0,
//是否显示紧急联系人
isShowMan: this.vshowLLR ? 1 : 0,
//是否显示团号
isShowTCNUM: this.vshowTCNUM ? 1 : 0,
//是否显示行程图片
isShowTripImage: this.vshowK ? 1 : 0,
//是否显示签证信息
isShowVisa: this.vshowH ? 1 : 0,
//是否显示视频图片
isShowVideoImg: this.vshowO ? 1 : 0,
//isPc是否PC下载
isPc: 2,
//模板参数
templateId: this.showType,
//用户Id
UId:this.getLocalStorage().EmployeeId
};
this.$http({
headers: {
'Content-Type': 'application/json'
},
method: 'post',
url: urlObj.DomainUrl + '/api/file/GetWebHtmlTwo_V3',
data: {
"msg": msg
}
}).then(res => {
if (res.data.resultCode === 1) {
let sign = title+"V3"
const a = document.createElement('a');
a.setAttribute('download', '');
a.setAttribute('href', urlObj.DomainUrl + '/api/file/DownloadFileForPdf?fileName=' + sign +
'.pdf&&fPath=' + res.data.data);
a.click();
} else {
this.$message.error('PDF获取失败');
}
this.pdfLoading = false
}).catch(err => {
})
},
DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
return iDays
},
init() {
this.apipost('b2b_get_GetB2BTravelInfoNoDes', {
configId: 5799,
cityId: 262,
tcid: 8953,
orderId: 0,
isClick:1//不算统计
}, res => {
if (res.data.resultCode == 1) {
let data = (res.data.data);
// console.log(res,'resss');
this.orderTripdiff = data.orderTripdiff;
this.orderMsg = data.orderMsg;
if (this.orderTripdiff && this.orderTripdiff.flightInfoJson) {
this.orderTripdiff.travelOrderFlightList = JSON.parse(this.orderTripdiff.flightInfoJson);
if (this.orderMsg.outNotice == 1) {
if (this.orderTripdiff.travelOrderFlightList != null && this.orderTripdiff.travelOrderFlightList
.length > 0) {
this.orderTripdiff.travelOrderFlightList.forEach(subItem => {
subItem.flightState = 1;
});
}
}
}
//HK新加
this.SourceData.Id = 0;
if (this.$route.query.orderId > 0) {
this.SourceData.orderId = this.$route.query.orderId;
var str = "";
if (this.orderMsg.leaderName) {
str = this.orderMsg.leaderName;
}
if (this.orderMsg.leaderMobile) {
str += "/" + this.orderMsg.leaderMobile;
}
this.SourceData.leaderInfo = str;
this.SourceData.gatheringTime = this.orderMsg.gatheringTime;
this.SourceData.airportService = this.orderMsg.airportServicePerson + "/" + this.orderMsg
.airportServicePhone;
this.SourceData.gatherIdent = this.orderMsg.bName;
this.SourceData.emergencyContact = this.orderMsg.sellName + "/" + this.orderMsg.sellTel;
this.SourceData.gatheringAddress = this.orderMsg.gatheringAddress;
if (data.priceList != null && data.priceList.length > 0) {
var array = JSON.parse(JSON.stringify(data.priceList[0].priceFlight));
this.SourceData.travelOrderFlightList = [];
array.forEach(fItem => {
this.SourceData.travelOrderFlightList.push({
airLineID: fItem.airLineID,
flightID: fItem.flightID,
alName: fItem.alName,
flightNumber: fItem.flightNumber,
startDate: fItem.startDate,
departureTime: fItem.departureTime,
departureAirPortName: fItem.departureAirPortName,
arrivalTime: fItem.arrivalTime,
arrivalAirPortName: fItem.arrivalAirPortName,
stopoverAirPortName: fItem.stopoverAirPortName,
flightState: fItem.flightState,
arriveDate: fItem.arriveDate,
airportNameList: [],
});
});
}
if (this.orderTripdiff) {
this.editForm = JSON.parse(JSON.stringify(this.orderTripdiff));
if (this.orderTripdiff.flightInfoJson) {
this.editForm.travelOrderFlightList = JSON.parse(this.orderTripdiff.flightInfoJson);
}
} else {
this.editForm = JSON.parse(JSON.stringify(this.SourceData));
}
this.editForm.travelOrderFlightList.forEach(fItem => {
fItem.airportNameList = [];
this.airLineSelectChange(fItem.airLineID, fItem);
});
}
this.title = this.orderMsg.startDate + this.orderMsg.lineteamName + this.orderMsg.dayNum + '日游'
document.title = this.title;
//初始化行程
this.initTrip(res, data);
}
this.$nextTick(function () {
this.pdfLoading = false;
let imgs = document.getElementsByTagName('img');
for (let i = 0; i < imgs.length; i++) {
document.getElementsByTagName('img')[i].removeAttribute('crossOrigin')
}
})
}, err => {})
},
//初始化行程
initTrip(res, data) {
this.tripList = res.data.data.dayList;
this.feature = res.data.data.feature
this.showType = this.feature.featureType;
this.isDirect = res.data.data.isDirect;
if (data.priceList.length > 0) {
data.priceList[0].priceFlight.forEach((x, i) => {
if (i == 0) {
x.dayNum = 1;
if (x.departureTime < x.arrivalTime) {
x.daodaDay = 1;
} else {
x.daodaDay = 2;
}
} else {
x.dayNum = this.DateDiff(data.priceList[0].priceFlight[0].startDate, x.startDate);
if (x.departureTime < x.arrivalTime) {
x.daodaDay = x.dayNum;
} else {
x.daodaDay = x.dayNum + 1;
}
}
})
}
this.priceList = data.priceList;
this.dataList = data;
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,
url: ''
}
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,
url: ''
}
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,
videoPath: y.childItem.imaArray[0].videoPath,
fileType: y.childItem.imaArray[0].fileType,
ticketName: y.childItem.couponsTicketName,
playTimeHour: y.childItem.playTimeHour,
playTimeMinutes: y.childItem.playTimeMinutes,
scenicJson: y.childItem.scenicJson,
url: y.childItem.url
}
jin.push(obj)
} else if (y.type == 3 && y.childItem.hotelName != '' && y.childItem.imaArray.length > 0) {
//酒店
let obj = {
title: y.childItem.hotelName,
newTitle: y.childItem.newHotelName,
status: y.childItem.status,
content: y.childItem.description,
img: y.childItem.imaArray[0].url,
ticketName: '',
playTimeHour: null,
playTimeMinutes: null,
url: y.childItem.url
}
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,
url: ''
}
activy.push(obj)
} else if (y.type == 6) {
let obj = {
title: y.childItem.title,
content: y.childItem.description,
img: '',
ticketName: '',
playTimeHour: null,
playTimeMinutes: null,
url: ''
}
tips.push(obj)
}
if (y.type == 3) {
jiu2.push({
name: y.childItem.hotelName,
url: y.childItem.url,
newTitle: y.childItem.newHotelName,
status: y.childItem.status,
});
useDinnerTypeBy = y.childItem.useDinnerType
}
})
if (can.breakfirst == '敬请自理' && useDinnerTypeBy.indexOf('1') != -1) {
can.breakfirst = '酒店内享用早餐'
} else if (can.breakfirst == '') {
can.breakfirst = '方便游玩敬请自理'
}
if (can.lanuch == '敬请自理' && useDinnerTypeBy.indexOf('2') != -1) {
can.lanuch = '酒店自助'
} else if (can.lanuch == '') {
can.lanuch = '方便游玩敬请自理'
}
if (can.dinner == '敬请自理' && useDinnerTypeBy.indexOf('3') != -1) {
can.dinner = '酒店自助'
} else if (can.dinner == '') {
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) {
details = activy
}
x.title = dadian.length > 0 && dadian[0].title && dadian[0].title != '' ? 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 == '集合出发') {
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)
x.dateTime = this.setDate(j);
// console.log(this.tripList,'triplistttt');
})
},
},
}
</script>
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