Commit 4694969f authored by liudong1993's avatar liudong1993
parents 37c7aacd ad921805
......@@ -159,7 +159,7 @@ html, body{
height: 0px;
border-bottom: 2px dashed red;
left: 0;
top: 1538px;
top: 1337px;
right: 0;
}
.UpgradedVersion2Line span{
......@@ -273,7 +273,7 @@ html, body{
bottom: 0;
}
.travelDaysTitlle{
margin-top: 47px;
/* margin-top: 47px; */
}
.travelDaysTitlle-left {
width: 173px;
......@@ -438,7 +438,7 @@ html, body{
}
.travelDaysdetails-tsText{
width: 100%;
padding: 25px 38px;
padding: 15px;
border-radius: 18px;
-webkit-border-radius: 18px;
-moz-border-radius: 18px;
......@@ -494,6 +494,9 @@ html, body{
}
.travelDaysdetails-text.right0{
margin-right: 0;
}
.travelDaysdetails-text0-r>p:first-child{
text-indent: 101px;
}
.travelDaysdetails-text1{
/* font-size: 16px !important; */
......@@ -712,6 +715,9 @@ html, body{
.lineHeight38{
line-height: 38px;
}
.MT15{
margin-top: 15px;
}
.MT19{
margin-top: 19px;
}
......
......@@ -2144,6 +2144,7 @@
<span class="RL-redType RL-remarkCon" v-if="item.guestList.length > 0">
<span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName }}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">({{ $t("salesModule.Zhao") }})</span>
&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">({{ $t("salesModule.NoPhoto") }} {{ item.photoNum
......
......@@ -2336,13 +2336,20 @@
IsLookOrder ||
isUpdateOrder)
">
<span v-for="childItem in item.guestList" style="color: blue">{{childItem.userName}}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span><span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-for="childItem in item.guestList" style="color: blue">
{{childItem.userName}}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span
v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">(照片一人 {{ item.photoNum }}份)</span>
</span>
<p v-if="item.cancelGuestList && item.cancelGuestList.length > 0">
<span class="">取消名单:</span>
<span class="RL-redType RL-remarkCon">
<span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex+150000">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
<span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+150000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span style="display: block">房间信息<span v-if="item.oneSex > 0"
......@@ -2885,13 +2892,21 @@
IsLookOrder ||
isUpdateOrder)
">
<span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName}}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span><span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-for="childItem in item.guestList" style="color: blue">
{{ childItem.userName}}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>
</span>
<span v-if="item.photoNum > 0">(照片一人 {{ item.photoNum }}份)</span>
</span>
<p v-if="item.cancelGuestList && item.cancelGuestList.length > 0">
<span class="">取消名单:</span>
<span class="RL-redType RL-remarkCon">
<span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex+260000">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
<span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+260000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span style="display: block">房间信息<span v-if="item.oneSex > 0"
......
......@@ -394,6 +394,8 @@
<div style="display: flex;justify-content: end;margin-bottom: 10px;">
<p><span class="groupTourOrderByTuan_ico"><i
style="background-color:#3FC4FF"></i><span>{{$t('fnc.yidadan')}}</span></span>
<span class="groupTourOrderByTuan_ico"><i
style="background-color: rgb(0, 255, 0)"></i><span>{{$t('fnc.ptcnyshenhe')}}</span></span>
<span class="groupTourOrderByTuan_ico"><i
style="background-color:#F1416C"></i><span>{{$t('fnc.yhcnyshenhe')}}</span></span>
<span class="groupTourOrderByTuan_ico"><i
......
......@@ -607,6 +607,11 @@
<span class="fz15 fbold">{{ moneyFormat(scope.row.income) }}</span>
</template>
</el-table-column>
<el-table-column label="在途金额" style="background:#EAEAEA">
<template slot-scope="scope">
<span class="fz15 fbold">{{ moneyFormat(scope.row.platformMoney) }}</span>
</template>
</el-table-column>
<el-table-column label="成本" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{ moneyFormat(scope.row.costMoney) }}</span>
......
......@@ -143,6 +143,12 @@
</table>
</li>
<li>
<input v-if="!isShowAirticketOut" type="button" class="normalBtn" value="开票" @click="openAirticket" />
<el-select v-if="isShowAirticketOut" size="small" v-model="checkOutMsg.TicketOutType" placeholder="请选择开票类型">
<el-option label="团队票" :value="1"></el-option>
<el-option label="散客票" :value="2"></el-option>
</el-select>
<input v-if="isShowAirticketOut" type="button" class="normalBtn" value="保存开票信息" @click="setAirticketGuest" />
<input type="button" class="normalBtn" value="导出报表" @click="getFlightInfo(0),getCombinTeam()" />
<el-tooltip class="item" effect="dark" content="包含机票信息" placement="bottom">
<input type="button" class="normalBtn" value="导出旅客&航班" @click="getFlightInfo(1),getCombinTeam()" />
......@@ -164,6 +170,10 @@
v-model="checkedshuijin" /></th>
<th v-if="isShowGuoji">升舱 <input type="checkbox" @change="checkAllbox(checkedsc,'shengcang')"
v-model="checkedsc" /></th>
<th v-if="isShowAirticketOut">
出票 <input type="checkbox" @change="checkAllbox(checkAirticketOut,'checkAirticketOut')"
v-model="checkAirticketOut" />
</th>
<th>旅客姓名</th>
<th>身份证</th>
<th>英文姓</th>
......@@ -175,6 +185,7 @@
<th>证件有效期</th>
<th>客人联系方式</th>
<th>签证状态</th>
<th>出票状态</th>
</tr>
<tr v-for="(item,index) in QueryMsg.dataList" :class="{'redTr':item.VisaState==1}" :key="index+10000">
<td v-if="isShowGuoji">
......@@ -192,6 +203,9 @@
<td v-if="isShowGuoji">
<input v-model="item.shengcang" type="checkbox" />
</td>
<td v-if="isShowAirticketOut">
<input type="checkbox" v-model="item.checkAirticketOut" />
</td>
<td>{{item.GuestName}}</td>
<td>{{item.IdCard}}</td>
<td>{{item.ESurName}}</td>
......@@ -203,6 +217,17 @@
<td>{{item.PassportExpiry}}</td>
<td>{{item.NaMobilePhoneme}}</td>
<td>{{item.VisaState==1?"拒签":"正常"}}</td>
<td>
<template v-if="item.TicketOutType==0">
<span style="color:red">{{item.TicketOutTypeStr}}</span>
</template>
<template v-if="item.TicketOutType==1">
<span style="color:green">{{item.TicketOutTypeStr}}</span>
</template>
<template v-if="item.TicketOutType==2">
<span style="color:blue">{{item.TicketOutTypeStr}}</span>
</template>
</td>
</tr>
</table>
<div class="noData" v-show="QueryMsg.noData">
......@@ -354,10 +379,45 @@
checkedshuijin: false,
checkedsc: false,
isShowSelect: 0,
checkModule: 0
checkModule: 0,
isShowAirticketOut: false, //是否线下开票
checkAirticketOut: false,
//提交开票类型
checkOutMsg: {
TicketOutType: 1,
GuestIds: ""
}
};
},
methods: {
openAirticket() {
this.isShowAirticketOut = true;
},
//设置旅客的出票类型
setAirticketGuest() {
var tempIds = "";
if (this.QueryMsg.dataList && this.QueryMsg.dataList.length > 0) {
this.QueryMsg.dataList.forEach(item => {
if (item.checkAirticketOut) {
tempIds += "," + item.Id;
}
})
}
this.checkOutMsg.GuestIds = tempIds;
this.apipost("travel_get_SetAirticketGuest", this.checkOutMsg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
this.isShowAirticketOut = false;
this.checkOutMsg.GuestIds = "";
this.checkOutMsg.TicketOutType = 1;
this.checkAirticketOut = false;
} else {
this.Error(res.data.message);
}
})
},
//获取数据
getList() {
this.QueryMsg.loading = true;
......@@ -376,6 +436,7 @@
} else {
item.Sex = "女";
}
item.checkAirticketOut = false;
});
if (this.isShowGuoji) {
this.QueryMsg.dataList.forEach(x => {
......@@ -402,7 +463,7 @@
} else {
this.Error(res.data.message);
}
}, err => {});
});
this.outerVisible = true;
},
//获取联运团信息
......@@ -475,7 +536,7 @@
Type: this.checkModule,
TemplateType: this.TemplateType
};
var fileName = this.$route.query.flightdate //this.QueryMsg.nowDate;
var fileName = this.$route.query.flightdate;
var TempfileName = ""
this.QueryMsg.TeamInfoData.forEach(item => {
if (TempfileName.length > 0) {
......@@ -495,9 +556,6 @@
fileName = fileName + ".xls";
this.GetLocalFile("travel_get_GetAirTicketGuestExport", msg, fileName);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
......@@ -564,7 +622,7 @@
name: 'ChoiceAddFinancialDocuments',
query: {
"Type": 2,
"portTypeId":1,
"portTypeId": 1,
"path": "",
'blank': 'y',
'orderObj': JSON.stringify(orderObj)
......@@ -583,7 +641,8 @@
x[y] = false
})
}
}
},
},
mounted() {
this.QueryMsg.AirTicketId = this.$route.query.id;
......
......@@ -1878,7 +1878,6 @@
<el-button v-else type="primary" icon="iconfont icon-xiazai2" style="margin-left:0;"
@click="DownLoad(3,item.TripItinerary)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="散卖" placement="top-start">
<el-button type="primary" icon="iconfont icon-maichu" @click="sanSale(item)"></el-button>
</el-tooltip>
......
......@@ -2095,13 +2095,18 @@
<span class="RL-remarkTitle" v-if="item.GuestList.length > 0">{{ $t("salesModule.MD") }}:</span>
<p class="RL-redType RL-remarkCon" v-if="item.GuestList.length > 0">
<span style="color: blue !important" v-for="(childItem,childIndex) in item.GuestList" :key="childIndex"
@click="goToPassenger(childItem, 2)">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.VisaType==1?'(个签)':''}}</span></span>
@click="goToPassenger(childItem, 2)">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.VisaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.TicketOutTypeStr}}
</span>
</span>
</p>
<p v-if="item.CancelGuestList.length > 0">
<span class="">{{ $t("salesModule.CancelOrder") }}:</span>
<span class="RL-redType RL-remarkCon">
<span v-for="(childItem,childIndex) in item.CancelGuestList"
:key="childIndex">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.VisaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
:key="childIndex">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.VisaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span>{{ $t("salesModule.RoomInfo") }}:{{
......@@ -2136,6 +2141,7 @@
</td>
<td colspan="3">
<div>
<!-- {{item.OrderGuestFlightList}} -->
<template v-if="item.OrderGuestFlightList&&item.OrderGuestFlightList.length>0">
<template v-for="(uItem,uIndex) in item.OrderGuestFlightList">
<div :key="uIndex+20000">
......@@ -2627,13 +2633,21 @@
<td colspan="15" class="RL_Order">
<span class="RL-remarkTitle" v-if="childItem.GuestList.length > 0">{{ $t("salesModule.MD") }}:</span>
<span class="RL-redType RL-remarkCon" v-if="childItem.GuestList.length > 0">
<span style="color: blue !important" v-for="fourthItem in childItem.GuestList"
@click="goToPassenger2(msg.TCID, fourthItem.OrderId, 2)">{{ fourthItem.userName }}<span style="color:#f56c6c">{{fourthItem.VisaType==1?'(个签)':''}}</span></span>
<template v-for="(fourthItem,fourthIndex) in childItem.GuestList">
<span style="color: blue !important" :key="fourthIndex"
@click="goToPassenger2(msg.TCID, fourthItem.OrderId, 2)">{{ fourthItem.userName }}
<span style="color:#f56c6c">{{fourthItem.VisaType==1?'(个签)':''}}
</span>
<span style="color:#f56c6c">{{fourthItem.TicketOutTypeStr}}
</span>
</span>
</template>
</span>
<p v-if="childItem.CancelGuestList.length > 0">
<span class="">{{ $t("salesModule.CancelOrder") }}:</span>
<span class="RL-redType RL-remarkCon">
<span v-for="subItem in childItem.CancelGuestList">{{ subItem.userName }}<span style="color:#f56c6c">{{subItem.VisaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
<span v-for="subItem in childItem.CancelGuestList">{{ subItem.userName }}<span
style="color:#f56c6c">{{subItem.VisaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span style="display: block">
......@@ -6006,7 +6020,7 @@
"sellorder_get_GetOrderListByTCID",
msg,
(res) => {
console.log("RegistrationList_sellorder_get_GetOrderListByTCID",res.data);
console.log("RegistrationList_sellorder_get_GetOrderListByTCID", res.data);
this.loading = false;
if (res.data.resultCode == 1) {
this.OrderDataList = res.data.data;
......
......@@ -125,6 +125,13 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="备注">
<el-input type="textarea" v-model="postMsg.Notes"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item>
......@@ -154,6 +161,7 @@
BackDate: "", //回程日期
GoFlightNum: "", //去程航班
BackFlightNum: "", //回程航班
Notes: "", //备注
},
orderUnionList: [], //订单联运信息
orderGuestList: [], //订单旅客信息
......
......@@ -613,7 +613,7 @@
NewCombinationNum: this.NewCombinationNum
};
this.loading = true;
var fileName = "领队交接表" + "" + ".xls";
var fileName = "领队交接表" + this.NewCombinationNum+"("+tcids+")" + ".xls";
this.GetLocalFile("dmc_get_DownLoadLeaderHander", msg, fileName, res => {
this.loading = false;
});
......
......@@ -337,7 +337,7 @@
</td>
<td>
<div class="fz16 fbold linkspan"
@click="goUrl([131,14, 90].includes(item.LineId) ? 'roomReservationsDetails' : 'roomReservationsDetailsNew',item,outItem,'订房详情')">
@click="goUrl([131,14, 90,118].includes(item.LineId) ? 'roomReservationsDetails' : 'roomReservationsDetailsNew',item,outItem,'订房详情')">
<span style="color: #4BCA81;" v-if="item.HotelResult==1"></span>
<span class="colorE95252" v-else>{{item.HotelResult=='-1'?"x":"O"}}</span>
</div>
......
......@@ -142,7 +142,7 @@
:placeholder="$t('sm.tuanduibiaoti')"></el-input>
</el-form-item>
</div>
<div :class="{'showOther':TeamType==3}" style="display:none;">
<div :class="{'showOther':TeamType==3}" >
<el-form-item :label="$t('Operation.Op_bentuanMaidian')">
<el-input v-model="PostConfig.ProductRecommend" type="textarea" :autosize="{minRows: 3, maxRows: 3 }"
resize="none" :placeholder="$t('Operation.Op_bentuanMaidian')" maxlength="2000"></el-input>
......
......@@ -81,25 +81,28 @@
<TravelNotice :class="{'showOther':TeamType==3}" ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice"
:subArray="NoticeParameters" :NoticeData="NoticeData" v-bind:PostConfig="PostConfig"
v-bind:AllCityList="AllCityList" v-bind:CountryID="PostConfig.CountryID"></TravelNotice>
<div id="fiveAnchor">
<!--常规团-->
<TravelPrice v-show="PostConfig.TeamType==0" @saveMsg="SaveData(1)" ref="TravelPrice" id="fiveAnchor"
@headCallBack="getPrice" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
:CurrentUserInfo="CurrentUserInfo" :IsDirect="PostConfig.IsDirect"></TravelPrice>
<TravelPrice v-show="PostConfig.TeamType==0" @saveMsg="SaveData(1)" ref="TravelPrice" @headCallBack="getPrice"
:priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" :CurrentUserInfo="CurrentUserInfo"
:IsDirect="PostConfig.IsDirect"></TravelPrice>
<!--小包团-->
<TravelPrice2 v-show="PostConfig.TeamType==1" @saveMsg="SaveData(1)" ref="TravelPrice" id="fiveAnchor"
@headCallBack="getPrice" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
:CurrentUserInfo="CurrentUserInfo" :IsDirect="PostConfig.IsDirect">
<TravelPrice2 v-show="PostConfig.TeamType==1" @saveMsg="SaveData(1)" ref="TravelPrice" @headCallBack="getPrice"
:priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" :CurrentUserInfo="CurrentUserInfo"
:IsDirect="PostConfig.IsDirect">
</TravelPrice2>
<!--当地游-->
<TravelPrice3 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip"
v-if="PostConfig.TeamType==2" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
<TravelPrice3 v-show="PostConfig.TeamType==2" @saveMsg="SaveData(1)" ref="TravelPrice" @headCallBack="getPrice"
:priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" :CurrentUserInfo="CurrentUserInfo"
:TeamType="PostConfig.TeamType"></TravelPrice3>
<!--地接团-->
<TravelPrice4 @saveMsg="SaveData(1)" ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice"
:PostDaysTrip="PostDaysTrip" v-if="PostConfig.TeamType==3" :priceList="PriceList" :PostConfig="PostConfig"
:modifyTcid="modifyTcid" :TeamType="PostConfig.TeamType"></TravelPrice4>
<TravelPrice4 v-show="PostConfig.TeamType==3" @saveMsg="SaveData(1)" ref="TravelPrice" @headCallBack="getPrice"
:priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" :CurrentUserInfo="CurrentUserInfo"
:TeamType="PostConfig.TeamType"></TravelPrice4>
</div>
<div class="btnFixedDiv" v-if="IsShowBtn">
<div class="toTop" @click="backTop">
......@@ -418,8 +421,8 @@
basicData.TeamType = this.PostConfig.TeamType;
basicData.TripMapList = this.PostConfig.TripMapList;
basicData.TripCountryList=this.PostConfig.TripCountryList;
basicData.TripCityList=this.PostConfig.TripCityList;
basicData.TripCountryList = this.PostConfig.TripCountryList;
basicData.TripCityList = this.PostConfig.TripCityList;
basicData.StartCityId = 0;
basicData.ReturnArriveCityId = 0;
if (this.PostDaysTrip) {
......
......@@ -461,7 +461,7 @@
</el-checkbox>
<template v-if="CurrentUserInfo.RB_Group_id==2">
<input type="button" class="normalBtn" :value="$t('op.HotelUse')" @click="outerVisible=true"
v-if="(PostConfig.LineId==14 || PostConfig.LineId==131|| PostConfig.LineId==90||PostConfig.LineId==168) " />
v-if="(PostConfig.LineId==14 || PostConfig.LineId==131|| PostConfig.LineId==90||PostConfig.LineId==168||PostConfig.LineId==118) " />
</template>
<template v-else>
<input type="button" class="normalBtn" :value="$t('op.HotelUse')" @click="outerVisible=true"
......
......@@ -438,9 +438,14 @@
<el-checkbox v-model="priceData.IsBookTeam" :true-label="CheckedVaule" v-if="PostConfig.LineId==14"
style="display:none;" :false-label="UnCheckedVaule">{{$t('op.OrderTeam')}}
</el-checkbox>
<input type="button" style="display:none;" class="normalBtn" :value="$t('op.HotelUse')"
@click="outerVisible=true"
v-if="PostConfig.LineId==14 && priceData.PriceHotelList&&priceData.PriceHotelList.length>0" />
<template v-if="CurrentUserInfo.RB_Group_id==2">
<input type="button" class="normalBtn" :value="$t('op.HotelUse')" @click="outerVisible=true"
v-if="(PostConfig.LineId==14 || PostConfig.LineId==131|| PostConfig.LineId==90||PostConfig.LineId==168||PostConfig.LineId==118) " />
</template>
<template v-else>
<input type="button" class="normalBtn" :value="$t('op.HotelUse')" @click="outerVisible=true"
v-if="IsDirect==1 && priceData.PriceHotelList&&priceData.PriceHotelList.length>0" />
</template>
</div>
<el-form-item prop="B2BMemberPrice">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
......@@ -828,42 +833,102 @@
</div>
<el-dialog custom-class='Tp_hotelDialog' title="酒店使用情况" :visible.sync="outerVisible" center>
<table class="TphotelTable" border="0" cellspacing='1' v-if="priceData.TCID>0">
<tr v-if="priceData.PriceHotelList" v-for="item in priceData.PriceHotelList">
<td style="background-color:#E6E6E6;color:#333;" width="120">
{{item.UseDay}}&nbsp;({{getDayByDate(item.UseDay)}})</td>
<td>
<div class="tp_divList" v-for="(subItem,index) in item.SubList">
<div>
{{index+1}}.{{subItem.HotelName}}&nbsp;&nbsp;<span
style="color:#E95252;">{{$t('hotel.hotel_Inventory')}}:{{subItem.RemainingInventory}}</span>&nbsp;&nbsp;
<el-checkbox v-model="item.CheckList[index].CheckStatus"
@change="changeHotelStatus(item,index),changeHotelList()"></el-checkbox>
</div>
</div>
<tr>
<th width="100">{{$t('sm.Date')}}</th>
<th width="150">{{$t('hotel.hotel')}}</th>
<th width="240">{{$t('op.jdqk')}}</th>
<th width="100">{{$t('salesModule.UseRoomTime')}}</th>
<th width="100">{{$t('salesModule.ChangeHotel')}}</th>
<th width="120">{{$t('system.table_operation')}}</th>
</tr>
<template v-for="(subItem,subIndex) in priceData.PriceHotelList">
<tr v-for="(childItem,childIndex) in subItem.SubList">
<td style="background-color:#E6E6E6;color:#333;" v-if="childIndex==0" :rowspan="subItem.SubList.length">
{{subItem.UseDay}}&nbsp;({{getDayByDate(subItem.UseDay)}})</td>
<td style="text-align:left;padding-left:3px;">
{{childItem.HotelName}}
</td>
<td style="text-align:left;padding-left:3px;">
<span v-if="childItem.UseCount>0 && subItem.SubList.length==1">
<template v-if="childItem.OPState==1&&childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
<a style="color:green">{{$t('salesModule.OPZD')}}</a>
</template>
<template
v-else-if="childItem.OPState==2&&childItem.DMCState==0&&childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
<a style="color:red">{{$t('salesModule.OPZD')}}</a>
</template>
<template v-else>
<template v-if="childItem.DMCState==1&&childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
<a style="color:green">{{$t('salesModule.DJOK')}}</a>
</template>
<template v-if="childItem.DMCState==2&&childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
<a style="color:red">{{$t('salesModule.DJZK')}}</a>
</template>
<template v-if="childItem.DMCState==0&&childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
<a style="color:red">{{$t('salesModule.DJWCZ')}}</a>
</template>
</template>
<span style="color:green">{{$t('op.btsy')}}:{{childItem.UseCount}}
{{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}}</span>
</span>
<span style="color:#E95252;" v-if="childItem.HotelName!='温馨的家'&&childItem.HotelName!='机场附近酒店'">
【{{$t('hotel.hotel_remainList')}}:{{childItem.RemainingInventory}}】
</span>
</td>
<td>
<el-select class="w180" v-model="item.NewHotelId" @visible-change="getHotelList(item,$event)"
<template v-if="childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)">
{{childItem.CreateDateStr}}</template>
</td>
<td v-if="childIndex==0" :rowspan="subItem.SubList.length">
<el-select class="w180" v-model="subItem.NewHotelId" @visible-change="getHotelList(subItem,$event)"
@change="changeHotelList()" filterable>
<el-option :key="0" :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for="subItem in item.HotelList" :key="subItem.ID" :label="subItem.Name" :value="subItem.ID">
<span style="float: left">{{subItem.Name}}</span>
<span style="float: right; color:red; font-size: 13px">{{ subItem.Inventory }}</span>
<el-option v-for="hotelItem in subItem.HotelList" :key="hotelItem.ID" :label="hotelItem.Name"
:value="hotelItem.ID">
<span style="float:left">{{hotelItem.Name}}</span>
<span
style="float:right;color:red;font-size:13px">{{$t('hotel.hotel_remainList')}}:{{hotelItem.Inventory}}/{{$t('Operation.Op_price')}}:{{hotelItem.CostPrice}}{{hotelItem.PriceTaxTypeStr}}
</span>
</el-option>
</el-select>
</td>
<td>
<span v-if="childItem.UseCount>0 && subItem.SubList.length==1">
<span style="color:red;white-space:nowrap;cursor:pointer;"
@click="DeleteStock(subItem)">{{$t('system.ph_shanchu')}}</span>
</span>
<span>
<el-popover width="700" trigger="click" popper-class="DMC_HotelPop">
<commonPHInfo :name='"comPriceHotelInfo"+subIndex+childIndex'
:ref='"comPriceHotelInfo"+subIndex+childIndex'></commonPHInfo>
<span slot="reference" class="price" style="cursor:pointer;text-decoration:underline;"
@click="GetHotelUsePriceList(childItem.HotelId,subItem.UseDay,subIndex,childIndex)">{{$t('op.kcqk')}}</span>
</el-popover>
</span>
</td>
</tr>
</template>
</table>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="saveHoteluseDetail()"
:class="{'disClick':!isSaved}">{{btnText}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="PostConfig.IsUpdateHotel=1,saveHoteluseDetail(1)"
v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)" :class="{'disClick':!isSaved}">{{btnText}}</button>
&nbsp;
<button class="normalBtn" type="primary" @click="PostConfig.IsUpdateHotel=2;saveHoteluseDetail(2)"
v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class="{'disClick':!isSaved}">{{btnTongBu}}</button> &nbsp;
<button class="hollowFixedBtn" :class="{'disClick':!isSaved}"
@click="cancelHotelUseDetail()">{{$t('pub.cancelBtn')}}</button>
<template v-if="priceData.IsOpenHotel&&priceData.IsOpenHotel==1">
<br />
<span style="color:red;font-weight:bold;">{{$t('op.DJyiguanbi')}}.</span>
</template>
</div>
</el-dialog>
</div>
</template>
<script>
import TravelPriceFlightList from "../TravelGroupControl/TravelPriceFlightList.vue";
import commonPHlInfo from "../../commonPage/commonPriceHotelInfo.vue";
export default {
props: ["priceList", "PostConfig", "modifyTcid", "CurrentUserInfo", "IsDirect"],
data() {
......@@ -878,6 +943,7 @@
UnCheckedVaule: 2, //没选中
isSaved: true,
btnText: '保存',
btnTongBu: '同步酒店',
//日期数组
days: [],
dateString: "2016-01-02",
......@@ -1652,14 +1718,22 @@
}
},
//保存酒店使用情况
saveHoteluseDetail() {
saveHoteluseDetail(type) {
var that = this;
this.Confirm("是否确定提交选中的酒店?", function () {
var str = "是否确定提交选中的酒店?";
if (type == 2) {
str = "是否同步行程酒店到地接?";
}
this.Confirm(str, function () {
if (that.isSaved) {
that.isSaved = false;
that.$emit("saveMsg");
}
that.btnText = '保存中...'
if (type == 2) {
that.btnTongBu = "同步酒店...";
} else {
that.btnText = '保存...';
}
});
},
//取消
......@@ -1771,7 +1845,8 @@
},
},
components: {
TravelPriceFlightList: TravelPriceFlightList
TravelPriceFlightList: TravelPriceFlightList,
commonPHInfo: commonPHlInfo,
}
};
......
......@@ -110,6 +110,7 @@
homeBg3: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg3.jpg",
homeBg1: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg1.jpg",
homeBgOz1: "https://imgfile.oytour.com/Static/NewTripFeature/homebgoz.jpg", //欧洲线默认图
homeBgNy:"https://imgfile.oytour.com/Static/NewTripFeature/homebgny.jpg", //南亚线默认图
homeBg2: "http://imgfile.oytour.com/Static/NewTripFeature/homeBg2.jpg",
dinner1: "http://imgfile.oytour.com/Static/NewTripFeature/dinner1.jpg",
dinner2: "http://imgfile.oytour.com/Static/NewTripFeature/dinner2.jpg",
......@@ -304,6 +305,13 @@
newObj.SubName = '‹印象欧洲› 欧洲旅行家';
newObj.MainDesc =
"坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您体验欧洲的四季之美,印象欧洲不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻认知!我们的用心,您一定会看的见!选择印象欧洲,会是你前往欧洲最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅游”不是舟车劳顿的代名词~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的欧洲产品,相信印象之旅是你最棒的选择!最后并祝各位有个愉快的旅游假期!"
} else if (this.FeatureData && this.FeatureData.LineShortName && this.FeatureData.LineShortName.indexOf('南亚') >
-1) {
imgObj.url = this.homeBgNy;
newObj.MainName = "南亚旅行专家";
newObj.SubName = '『印象兰卡』斯里兰卡品质游代名词';
newObj.MainDesc =
"坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您领略“宝石王国”的绚丽美景!出海观鲸、看大象、历史遗迹、高跷立钓、海上小火车,感受斯里兰卡独有的人文景观......印象兰卡不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻体认!我们的用心,您一定会看的见!选择印象兰卡,会是你前往兰卡最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅遊”不是舟車勞頓的代名詞~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的兰卡产品,相信印象之旅对是你最棒的选择!最后并祝各位有个舒心愉快的旅程!"
} else {
newObj.MainName = "日本旅行专家";
newObj.SubName = "『印象日本』日本豪华游代名词";
......
......@@ -2,19 +2,20 @@
<div class="tripmap-form marginT20" v-if="PostConfig" v-loading="pageLoading">
<div class="tripmap-Search">
<div style="display: flex;align-items: start; justify-content: space-between;">
<div style="display: flex;flex-wrap: wrap; flex-grow: 1;">
<el-select class="w100" size="mini" placeholder="选择国家" v-model="chooseCountry"
<div style="">
<el-select style="width:300px;" placeholder="选择国家" v-model="chooseCountry"
@change="chagneCountry(),SearchCity()" filterable multiple="">
<el-option v-for="(item, i) in SourceCountryList" :label="item.Name" :value="item.ID" :key="i">
</el-option>
</el-select>
<el-select style="min-width: 300px;max-width: 600px;margin-left: 5px;margin-right: 5px;" size="mini"
placeholder="选择城市" v-model="chooseCity" multiple filterable @change="changeCity()">
<el-select style="width:500px;margin-left: 5px;margin-right: 5px;" placeholder="选择城市" v-model="chooseCity"
multiple filterable @change="changeCity()">
<el-option v-for="(item, i) in SourceCityList" :label="item.Name" :value="item.ID" :key="i">
</el-option>
</el-select>
</div>
<div class="row-aic" style="flex-shrink: 0;">
<el-button type="primary" key="BtnReLoading" @click="getMapData">重新加载</el-button>
<el-button type="danger" key="BtnClose" @click="CloseMapBox">关闭</el-button>
<el-button type="primary" key="BtnCreateImg" :loading="saveLoading" @click="saveLoading=true">{{btnStr}}
</el-button>
......@@ -179,7 +180,6 @@
this.getMapData();
});
},
//获取地图数据
async getMapData() {
await this.assemblingMapData();
......@@ -485,11 +485,17 @@
if (x.MId != 651 && x.MId != 891) {
that.ClearSource("mapLayer-" + x.MId, 1)
that.ClearSource("mapLayerId-" + x.MId, 1)
var tempColor = "";
if (i == 0) {
tempColor = x.ColorStr
} else {
tempColor = this.getRandomColor();
}
this.map && this.map.setPaintProperty("world-layer-" + x.MId, "fill-color", [
"match",
["get", "NAME_ZH"],
x.name,
x.ColorStr, // 选定的国家颜色
tempColor, // 选定的国家颜色
["rgba", 0, 122, 255, 0]
]);
} else {
......
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