Commit 335f6169 authored by huangyuanyuan's avatar huangyuanyuan

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/athena

# Conflicts:
#	src/components/global/head.vue
parents 2ef323c9 8bf277fe
......@@ -1588,8 +1588,8 @@
</table>
<div class="_hangban_line"></div>
<table border="0" align="center" cellspacing="0" cellpadding="0" class="flight_list">
<tbody v-if="orderTripdiff&&orderTripdiff.travelOrderFlightList&& orderTripdiff.travelOrderFlightList.length>0">
<tr v-for="(flight,ftIndex) in orderTripdiff.travelOrderFlightList" :key="ftIndex">
<tbody v-if="orderTripdiff && orderTripdiff.length>0">
<tr v-for="(flight,ftIndex) in orderTripdiff" :key="ftIndex">
<td width="140"><span class="nth-day">{{flight.startDate.substring(5)}}</span>&nbsp;<span class="num">{{flight.departureTime}}</span></td>
<td width="160"><span class="nth-day">{{flight.arriveDate.substring(5)}}</span>&nbsp;<span class="num">{{flight.arrivalTime}}</span></td>
<td width="206">{{flight.departureAirPortName}}<span class="citycode"></span></td>
......@@ -1925,6 +1925,13 @@
handler: function(val, oldVal) {
},
deep: true
},
"sonData.currentPriceInfo.startDate":{
handler: function(val, oldVal) {
// console.log("sonData.currentPriceInfo.startDate", val)
this.init()
},
deep: true
}
},
data() {
......@@ -1952,7 +1959,7 @@
travelOrderFlightList: []
},
editMsgShow: false,
pdfLoading: true,
pdfLoading: false,
vshowTCNUM: this.TripLayer.vshowTCNUM === undefined ? false : this.TripLayer.vshowTCNUM === 'true',
list: [],
tripList: [],
......@@ -1966,23 +1973,13 @@
orderTripdiff: {},
title: '',
isDirect: 1, //是否是直采 0:否,1:是
blockShow: false,
}
},
mounted() {
this.orderId = this.$route.query.orderId;
this.isopOperation = this.$route.query.isopOperation;
this.init();
this.initAirlines()
setTimeout(() => {
this.appendParent()
}, 2000)
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')
}
})
},
methods: {
//保存基础数据
......@@ -2104,7 +2101,7 @@
},
setDate: function (j) {
let stDate = this.priceList[0].startDate
let stDate = this.sonData.currentPriceInfo.startDate
if (j === 0) {
return stDate
} else {
......@@ -2162,7 +2159,7 @@
}
this.pdfLoading = false
}).catch(err => {
console.log(err)
// console.log(err)
})
},
DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
......@@ -2176,8 +2173,8 @@
},
init() {
if (true) {
let data = this.sonData
this.orderTripdiff = data.orderTripdiff;
let data = JSON.parse(JSON.stringify(this.sonData))
this.orderTripdiff = data.currentPriceInfo.priceFlight;
if (this.orderTripdiff && this.orderTripdiff.flightInfoJson) {
this.orderTripdiff.travelOrderFlightList = JSON.parse(this.orderTripdiff.flightInfoJson);
}
......@@ -2238,16 +2235,18 @@
document.title = this.title;
//初始化行程
this.initTrip(data);
this.initAirlines()
}
},
//初始化行程
initTrip(data) {
this.blockShow = false
this.tripList = data.dayList;
this.feature = data.feature
this.showType = this.feature.featureType;
this.isDirect = data.isDirect;
if (data.priceList.length > 0) {
data.priceList[0].priceFlight.forEach((x, i) => {
if (data.currentPriceInfo.priceFlight.length > 0) {
data.currentPriceInfo.priceFlight.forEach((x, i) => {
if (i == 0) {
x.dayNum = 1;
if (x.departureTime < x.arrivalTime) {
......@@ -2256,7 +2255,7 @@
x.daodaDay = 2;
}
} else {
x.dayNum = this.DateDiff(data.priceList[0].priceFlight[0].startDate, x.startDate);
x.dayNum = this.DateDiff(data.currentPriceInfo.priceFlight[0].startDate, x.startDate);
if (x.departureTime < x.arrivalTime) {
x.daodaDay = x.dayNum;
} else {
......@@ -2462,9 +2461,10 @@
}
}
x.islast = (j + 1) == this.tripList.length
x.dateTime = this.setDate(j)
this.$set(this.tripList, j, x)
x.dateTime = this.setDate(j);
})
// console.log("this.tripList",this.tripList)
},
//上移下移(IsUp:0上移,1下移)
......
......@@ -88,8 +88,20 @@ export default {
},mounted(){
},created(){
this.getYearMonthDay();
this.getYearMonthDay()
bus.$on('order-chosen_calendar', this.orderChosen)
},methods:{
orderChosen: function (date) {
let day = parseInt(date.split('-')[2]).toString()
this.daysData.forEach((x, index) => {
if (x.day === day) {
this.isSelect = index;
this.$emit('ChildrenSelect', date)
}
});
// this.$emit('ChildrenSelect', clickDate)
},
selectDate(index){
if(this.$data.daysData[index].day == 0) {
bus.$emit('chosen-tripdate', null)
......@@ -107,7 +119,6 @@ export default {
clickDay = clickDay < 10 ? ('0' + clickDay) : clickDay
let clickDate = currentDay[0] + '-' + currentDay[1] + '-' + clickDay
this.$emit('ChildrenSelect', clickDate)
bus.$emit('chosen-tripdate', this.currentDay.substring(0,7) + '-' + clickDay)
},
getYearMonthDay(){
let currentYear = this.currentDay.substring(0,4); //当前年份
......@@ -136,7 +147,6 @@ export default {
for (var i in this.priceData) {
var price = this.priceData[i];
var dayIndex = price.dateStr.substring(price.dateStr.length-2,price.dateStr.length);
console.log(dayIndex)
var dayDict = daysData[Number(dayIndex)-1];
dayDict.price = price.price;
if(dayIndex<strDate&&strMonth==currentMonth){
......
......@@ -278,8 +278,8 @@
</table>
<div class="_hangban_line"></div>
<table border="0" align="center" cellspacing="0" cellpadding="0" class="flight_list">
<tbody v-if="dataList.priceList&&dataList.priceList.length>0&&dataList.priceList[priceListIndex].priceFlight&&dataList.priceList[priceListIndex].priceFlight.length>0">
<tr v-for="(flight,ftIndex) in dataList.priceList[priceListIndex].priceFlight" :key="ftIndex">
<tbody v-if="showFlight && FlightList.length>0">
<tr v-for="(flight,ftIndex) in sonData.currentPriceInfo.priceFlight" :key="ftIndex">
<td width="170"><span class="nth-day">{{flight.startDate.substring(5)}}</span>&nbsp;<span class="num">{{flight.departureTime}}</span></td>
<td width="170"><span class="nth-day">{{flight.arriveDate.substring(5)}}</span>&nbsp;<span class="num">{{flight.arrivalTime}}</span></td>
<td width="216">{{flight.departureAirPortName}}<span class="citycode"></span></td>
......@@ -644,6 +644,7 @@ import trade from '../trade/order/index'
import swiper from '../trip/swiper/index'
import GGMap from '../global/GGMap'
import confirmationOrderDownLoad from '../global/confirmationOrderDownLoad'
import bus from '../../plugins/event-bus'
export default {
components: {
// bmap,
......@@ -659,6 +660,7 @@ export default {
data () {
return {
ID:'',
tcid: '',
pre:0,
chosenTime:'',
crn:2,
......@@ -729,7 +731,10 @@ export default {
abcList: ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG'],
travelLngLatInfo:[],
VideoStr:'',
sonData: null
sonData: null,
showFlight: false,
FlightList: [],
city: -1,
}
},watch: { // 监听参数变化
changeCity: {
......@@ -743,11 +748,13 @@ export default {
},
},created(){
this.ID = decodeURIComponent(this.$route.params.id)
this.tcid = decodeURIComponent(this.$route.params.tcid)
if(this.$route.params.pre && this.$route.params.pre=='preview'){
this.pre=1
}
this.getList()
this.isLogin=this.$store.state.isLogin;
bus.$on('order-chosen', this.orderChosen)
},
mounted () {
this.scrollobj=document.getElementsByClassName('el-scrollbar__wrap')[0];
......@@ -755,6 +762,18 @@ export default {
// this.initMap();
},
methods: {
orderChosen: function (date) {
let day = date.split('-')[0] + '-' + date.split('-')[1]
this.calendarTit.forEach((x, index)=>{
if (x.dateStrS === day) {
this.selectMonth = index;
this.indexActive = index;
setTimeout(function(){
bus.$emit('order-chosen_calendar', date)
},500)
}
})
},
editSrc: function (src) {
return src.split('?')[0]
},
......@@ -767,6 +786,53 @@ export default {
this.$refs.confirmationOrderDownLoad.toPDF(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游');
}
},
ToWord: function () {
this.loadingDataList = true
let title = this.dataList.currentPriceInfo.startDate + this.dataList.ltName + this.dataList.dayNum + '日游'
let msg = {
configId: this.dayList.id,
cityId: this.city,
tcid: this.tcid,
orderId: 0,
FileName: title,
//是否显示基础信息
isShowBase: 1 ,
//是否显示航班
isShowFlight: 1,
//是否显示行程特色
isShowFeature: 1,
//自费、费用包含、费用不含
isShowFee: 1,
//购物说明,购物安排
isShowShop: 1,
//重要提示、温馨提示 [订单须知]
isShowTip: 1,
//是否显示同行备注
isShowB2B: 1,
//是否显示行程
isShowTrip: 1,
//是否显示标题
isShowTitle: 1,
//是否显示旅客名单
isShowGuest: 0,
//是否显示紧急联系人
isShowMan: 0,
//是否显示团号
isShowTCNUM: 0,
//是否显示行程图片
isShowTripImage: 1,
//是否显示签证信息
isShowVisa: 1,
//isPc是否PC下载
isPc: 1,
//模板参数
templateId: this.showType,
};
this.GetLocalFile("DownLoadTripWord", msg, title + ".doc", res => {
this.loadingDataList = false
});
},
donwLoad(){
this.loadNone = true;
this.loadingDataList = true;
......@@ -791,6 +857,9 @@ export default {
for ( let i = 0; i < data.length; i++) {
if (word===data[i].startDate){
this.priceListIndex = i;
let msg = {configId:data[i].configIDDes, cityId:this.city, preview:this.pre, tcid:data[i].tcid}
bus.$emit('chosen-tripdate', word)
this.getData(msg)
}
}
},
......@@ -805,17 +874,24 @@ export default {
this.picIsShow= true;
},
getList(){
this.loadingDataList=true
this.apipost('b2b_get_site',{},res=> {
let data = res.data.data
let city = 0
for(let i = 0 ; i < data.length; i++ ) {
if(data[i].companyId == localStorage.site) {
city = data[i].cityId
this.city = city
break
}
}
this.apipost('b2b_get_GetB2BTravelInfo',{configId:this.ID,cityId:city,preview:this.pre},r=>{
let msg = {configId:this.ID,cityId:city,preview:this.pre,tcid:this.tcid}
this.getData(msg)
})
},
getData: function (msg) {
this.loadingDataList=true
// console.log('api',msg)
this.apipost('b2b_get_GetB2BTravelInfoV1',msg,r=>{
if(r.data.resultCode==1){
let data = (r.data.data);
this.sonData = data;
......@@ -849,7 +925,8 @@ export default {
// })
// }
this.priceList = data.priceList;
this.clickDate = this.priceList[0].startDate;
this.clickDate = data.currentPriceInfo.startDate;
this.FlightList = data.currentPriceInfo.priceFlight;
this.dataList = data;
this.toDayObj = this.priceList && this.priceList.length>0?this.priceList[0]:null;
this.imgCover = JSON.parse(this.dataList.imgCover);
......@@ -880,19 +957,18 @@ export default {
})
}
this.htmlTitle = this.dataList.ltName;
this.showFlight = true
this.$forceUpdate()
}else{
this.$message.error(r.data.message)
}
this.loadingDataList=false
},null)
})
},
creatCalendar(list){ // 创建日历
let dateList = [];
if(list && list.length>0){
list.forEach((x,index)=>{
console.log(list)
if(x.tcState==3){
let msg = {
dateStr:x.startDate,
......@@ -902,7 +978,9 @@ export default {
b2BPrice:x.b2BPrice,
b2CMemberPrice:x.b2CMemberPrice,
id:index,
dateStrS:x.startDate.substring(0,x.startDate.length-3)
dateStrS:x.startDate.substring(0,x.startDate.length-3),
tcid: x.tcid,
configIDDes: x.configIDDes
}
dateList.push(msg);
}
......@@ -991,7 +1069,7 @@ export default {
mapTypeId: google.maps.MapTypeId.ROADMAP //类型:默认的普通二维图块
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
console.log(google)
// console.log(google)
// 线条设置
// var polyOptions = {
// strokeColor: '#4a90e2', // 颜色
......
......@@ -60,7 +60,7 @@
</el-row>
<el-row :gutter="17">
<el-col :span="4" v-for='(item,index) in tehuis' :key="index" v-if='index>5'>
<div class="team-item" :style="{'height':`${itemHeight}`}" @click="goUrl('detail',item.id)">
<div class="team-item" :style="{'height':`${itemHeight}`}" @click="goUrl('detail',item.id,item)">
<img v-if="item.imgCover!=null&&item.imgCover.length" :src="`${JSON.parse(item.imgCover)[0].Url}`" />
<div class="info-box">
<div class="item-title">{{item.ltName}}</div>
......@@ -80,7 +80,7 @@
<div class="item-box">
<el-row :gutter="17">
<el-col :span="4" v-for="(item,index) in tiaoshui" :key="index">
<div class="team-item noradius" :style="{'height':`${itemHeight}`}" @click="goUrl('detail',item.id)">
<div class="team-item noradius" :style="{'height':`${itemHeight}`}" @click="goUrl('detail',item.id, item)">
<img class="notamin" v-if='item.imgCover!=null&&item.imgCover.length' :src="`${JSON.parse(item.imgCover)[0].Url}`" />
<img class="notamin" src="../../assets/img/bg_c2@3x.png" v-else />
<!-- <div class="seat" :style="{'left':`${(w-100)/2}px`,'top':`${(h-100)/2}px`}">
......@@ -140,7 +140,7 @@
<div class="item-box">
<el-row :gutter="10">
<el-col :span="6" v-for='(data,index) in item.pageData' :key="index" >
<div class="group-item" :style="{'height':`${groupHeight}px`}" @click="goUrl('detail',data.id)">
<div class="group-item" :style="{'height':`${groupHeight}px`}" @click="goUrl('detail',data.id,data)">
<div class="team-item noradius" :style="{'height':`${groupItemHeight}`}">
<img class="notamin" v-if='data.imgCover!=null&&data.imgCover.length' :src="`${JSON.parse(data.imgCover)[0].Url}`"/>
<img class="notamin" src="../../assets/img/bg_c2@3x.png" v-else />
......@@ -295,10 +295,10 @@ export default {
query
});
},
goUrl(path,id){
goUrl(path,id,obj){
// detailTwo
path = 'detailTwo'
path=`${path}/${encodeURIComponent(id)}`;
path=`${path}/${encodeURIComponent(id)}/${obj.tcid}`;
this.$router.push({ path })
},
loadModuleData(sno){
......
This diff is collapsed.
......@@ -12,9 +12,9 @@ export default {
//域名管理对象
Vue.prototype.domainManager = function() {
// var domainUrl = "http://test_reborn.oytour.com";//主域名
// var domainUrl = "http://reborn.oytour.com"; //主域名
var domainUrl = "http://reborn.oytour.com"; //主域名
// var domainUrl = "http://192.168.2.214:8082"//主域名
let domainUrl = "http://192.168.2.16:8083"; //刘东主域名
// let domainUrl = "http://192.168.2.16:8083"; //刘东主域名
if (this.isOnline()) {
if(window.location.host.indexOf('viitto.com')!=-1)
domainUrl = "http://test.viitto.com"
......@@ -27,9 +27,48 @@ export default {
//常用提交数据URL
PostUrl: domainUrl + "/api/common/post",
javaUrl: "http://192.168.2.16:9000",
LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi",
};
return obj;
},
Vue.prototype.GetLocalFile = function (cmd, msg, fileName, successCall) {
var apiurl = this.domainManager().LocalFileStreamDownLoadUrl;
var timestamp = (new Date()).valueOf();
if (!localStorage.userInfo && localStorage.userInfo != "" && this.$route.path.toLowerCase() != "/login") {
this.$router.push({
path: '/login'
})
}
var token = "";
var key = "";
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().SecretKey;
}
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`cmd=${cmd}&msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = {
"msg": msg,
"cmd": cmd,
"timestamp": timestamp,
"token": token,
"sign": md5Str
}
this.$http.post(apiurl, postData, {
responseType: 'arraybuffer'
}).then((res) => {
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel"
})
let url = URL.createObjectURL(blob);
let link = document.createElement('a');
link.href = url;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
successCall(res);
}).catch(function (res) {});
},
//消息成功提示
Vue.prototype.Success = function(msg) {
this.$message({
......
......@@ -41,7 +41,7 @@ export default new Router({
}
},
{
path: '/detailTwo/:id/',
path: '/detailTwo/:id/:tcid',
name: 'detailTwo',
component: resolve => require(['@/components/mall/detailTwo'], resolve),
meta: {
......
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