Commit e941bf4d authored by 黄奎's avatar 黄奎

PAK新增线路和机票绑定

parent 3e749f85
......@@ -258,7 +258,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<el-form-item :label="$t('sm.chufadi')">
<el-input v-model="editForm.StartAddress" class="input-with-select">
<el-select v-model="editForm.ChooseAddress" slot="prepend" @change="changeAddress" style="width:100px;">
......@@ -269,7 +269,7 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<el-form-item :label="$t('scen.sc_cp')">
<el-select v-model="editForm.OutBranchId">
<el-option v-for="item in BranchList" :key="item.Id" :label="item.BName" :value="item.Id">
......@@ -277,6 +277,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('system.table_ssLine')">
<el-select v-model="editForm.LineId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display:none;">
<el-col :span="24">
......@@ -433,70 +442,6 @@
</ul>
</el-col>
</el-row>
<!--真实采购机票-->
<el-row v-if="isVirtuallyFlight==1" style="display:none;">
<el-col :span="24">
<el-form-item :label="$t('sm.jipiaobangding')" style="padding-top:10px;">
<el-input :placeholder="$t('objFill.v101.bandinjipxx')" v-model="TicketMsg" disabled>
<template slot="append">
<el-popover popper-class="_TravelPricePopover">
<div>
<div style="margin-bottom:20px;">
{{$t('hotel.hotel_StartDate')}}
<el-date-picker class="w150" type="date" v-model="QFlightDateStart"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
{{$t('hotel.hotel_EndDate')}}
<el-date-picker class="w150" type="date" v-model="QFlightDateEnd"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
<button class="normalBtn" @click.stop="getSelectFilght()">{{$t('pub.searchBtn')}}</button>
</div>
<div class="jiDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="_color_666">{{$t('fnc.xuanze')}}</td>
<td class="_color_666">{{$t('fnc.jpbianhao')}}/{{$t('op.Tickets')}}</td>
<td class="_color_666">
{{$t('system.query_flightNum')}}/{{$t('system.query_airCompanyName')}}/{{$t('Airticket.Air_segment')}}
</td>
<td class="_color_666">{{$t('adm.adm_time')}}</td>
<td class="_color_666">PNR</td>
<td class="_color_666">{{$t('visa.v_xcdays')}}</td>
<td class="_color_666">{{$t('op.TicketNum')}}/{{$t('hotel.table_UseAmount')}}</td>
<td class="_color_666">{{$t('op.BindTicket')}}</td>
</tr>
<tr v-for="(fitem,fIndex) in selectFilghtList" :key="fIndex+300000">
<td>
<el-checkbox v-model="fitem.IsSelected" @change="getSelect(fitem,1)"></el-checkbox>
</td>
<td>
{{fitem.AirticketId}}/{{fitem.TicketByName}}
</td>
<td>
<span class="TP_Airticktid"
@click="goUrl('TicketManager',fitem.AirticketId)">{{fitem.FlightNumber}}</span> /
{{fitem.AlName}} / {{fitem.DepartureName}}-{{fitem.ArrivalCityName}}
</td>
<td>{{fitem.FlightDate}} {{fitem.Departure_time}}</td>
<td>{{fitem.PNR}}</td>
<td>{{fitem.DayNum}}</td>
<td>{{fitem.TicketNum}} / {{fitem.UseAmount}}</td>
<td>
<el-input class="w69" :placeholder="$t('salesModule.AirNum')"
@keyup.native="getSelect(fitem,2)" v-model="fitem.BindNum"></el-input>
</td>
</tr>
</table>
</div>
</div>
<el-button slot="reference">{{$t('objFill.v101.xuanzhejip')}}</el-button>
</el-popover>
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('salesModule.FlighInfo')">
......@@ -614,6 +559,69 @@
</el-form-item>
</el-col> -->
</el-row>
<!--真实采购机票-->
<el-row>
<el-col :span="16">
<el-form-item :label="$t('sm.jipiaobangding')" style="padding-top:10px;">
<el-input :placeholder="$t('objFill.v101.bandinjipxx')" v-model="TicketMsg" disabled>
<template slot="append">
<el-popover>
<div>
<div style="margin-bottom:20px;">
{{$t('hotel.hotel_StartDate')}}
<el-date-picker class="w150" type="date" v-model="QFlightDateStart"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
{{$t('hotel.hotel_EndDate')}}
<el-date-picker class="w150" type="date" v-model="QFlightDateEnd"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
<button class="normalBtn" @click.stop="getSelectFilght()">{{$t('pub.searchBtn')}}</button>
</div>
<div class="jiDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="_color_666" style="width:50px;">{{$t('fnc.xuanze')}}</td>
<td class="_color_666" style="width:100px;">{{$t('fnc.jpbianhao')}}/{{$t('op.Tickets')}}
</td>
<td class="_color_666" style="width:220px;">
{{$t('system.query_flightNum')}}/{{$t('system.query_airCompanyName')}}/{{$t('Airticket.Air_segment')}}
</td>
<td class="_color_666" style="width:120px;">
{{$t('op.TicketNum')}}/{{$t('hotel.table_UseAmount')}}</td>
<td class="_color_666" style="width:80px;">{{$t('op.BindTicket')}}</td>
</tr>
<tr v-for="(fitem,fIndex) in selectFilghtList" :key="fIndex+300000">
<td style="text-align:center;">
<el-checkbox v-model="fitem.IsSelected" @change="getSelect(fitem,1)"></el-checkbox>
</td>
<td style="text-align:center;">
{{fitem.AirticketId}}/{{fitem.TicketByName}}
</td>
<td>
<span>{{fitem.FlightNumber}}</span> / {{fitem.AlName}} /
{{fitem.DepartureName}}-{{fitem.ArrivalCityName}}
<br />
{{fitem.FlightDate}} {{fitem.Departure_time}}
</td>
<td style="text-align:center;">{{fitem.TicketNum}}/{{fitem.UseAmount}}</td>
<td>
<el-input class="w50" :placeholder="$t('salesModule.AirNum')"
@keyup.native="getSelect(fitem,2)" v-model="fitem.BindNum"></el-input>
</td>
</tr>
</table>
</div>
</div>
<el-button slot="reference">{{$t('objFill.v101.xuanzhejip')}}</el-button>
</el-popover>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<span class="subTitle">{{$t('Operation.Op_PriceInfo')}}</span>
......@@ -700,7 +708,6 @@
<span class="ImpressionTicketing-title">PAK{{$t('hotel.hotel_commission')}}</span>
<span @click="addRule()" class="el-icon-circle-plus-outline itc-outline"></span>
</div>
<div class="ImpressionTicketing-msgbox" v-for="(item,index) in editForm.RakeBackList" :key="index">
<div>
<el-form-item
......@@ -750,7 +757,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('pub.pubRemark')">
......@@ -893,6 +899,8 @@
B2BShowPrice: 0, //同业价
SelfFlightList: [], //自定义录入航班
OutBranchId: 1252,
LineId: 0, //线路Id
AirticketBindList: [], //机票绑定
},
RakeBackObj: {
MinGuest: null,
......@@ -940,7 +948,7 @@
return startTime.getTime() >= time.getTime();
}
},
selectFilghtList: [], //航班列表
selectFilghtList: [], //可绑定航班列表
TicketMsg: "", //机票显示
StartAddressArray: [{
Name: "Jakarta"
......@@ -955,12 +963,13 @@
Name: "Surabaya"
}
],
BranchList: [],
BranchList: [], //出团公司列表
LineList: [], //线路列表
};
},
created() {
this.userInfo = this.getLocalStorage();
//this.initAirlines();
this.getLineList();
this.getCompanyList();
},
mounted() {
......@@ -969,6 +978,19 @@
}
},
methods: {
//获取线路列表
getLineList() {
this.apipost(
"line_post_GetList", {
LineDirection: 2
},
res => {
if (res.data.resultCode == 1) {
this.LineList = res.data.data;
}
}
);
},
//初始化公司
getCompanyList() {
let userInfo = this.getLocalStorage();
......@@ -1004,17 +1026,16 @@
//查询航班列表
getSelectFilght() {
let fqMsg = {
QFlightDateStart: "",
QFlightDateEnd: "",
QFlightDateStart: this.QFlightDateStart,
QFlightDateEnd: this.QFlightDateEnd,
CreateBy: this.userInfo.EmployeeId,
AirTicketId: 0,
TCID: 0
TCID: this.editForm.TCID,
LineId: this.editForm.LineId,
QAirTicketId: 0,
};
if (this.editForm.TicketId && this.editForm.TicketId > 0) {
fqMsg.AirTicketId = this.editForm.TicketId;
} else {
fqMsg.QFlightDateStart = this.QFlightDateStart;
fqMsg.QFlightDateEnd = this.QFlightDateEnd;
}
let that = this;
this.apipost(
......@@ -1022,18 +1043,26 @@
fqMsg,
res => {
if (res.data.resultCode == 1) {
let resultFilghtList = res.data.data;
that.selectFilghtList = [];
resultFilghtList.forEach(x => {
that.selectFilghtList.push(x);
});
that.selectFilghtList.forEach(y => {
if (y.AirticketId == that.editForm.TicketId) {
let resultFilghtList = res.data.data;
//通过返回数据初始化下拉选中
var FinfoList = [];
if (that.editForm.AirticketBindList && that.editForm.AirticketBindList.length > 0) {
that.editForm.AirticketBindList.forEach(x => {
resultFilghtList.forEach(y => {
if (x.PurchaseId == y.Id) {
y.IsSelected = true;
y.BindNum = that.editForm.TicketNum;
that.TicketMsg = y.AlName + "/" + y.FlightDate;
y.BindNum = x.BindNum;
var checkName = y.AlName + '/' + y.FlightDate;
FinfoList.push(checkName);
}
});
});
}
if (FinfoList && FinfoList.length > 0) {
this.TicketMsg = FinfoList.join(',');
}
that.selectFilghtList = resultFilghtList;
//通过返回数据初始化下拉选中
that.$forceUpdate();
} else {
......@@ -1049,22 +1078,51 @@
//选中航班选择框
getSelect(item, type) {
var that = this;
if (type == 1) {
item.IsSelected = !item.IsSelected;
}
that.TicketMsg = ""
var FinfoList = [];
this.selectFilghtList.forEach(x => {
if (x.IsSelected) {
that.TicketMsg = x.AlName + "/" + x.FlightDate;
that.editForm.TicketId = x.AirticketId;
that.editForm.TicketNum = x.BindNum;
that.editForm.PurchaseId = x.Id;
var checkName = x.AlName + '/' + x.FlightDate;
FinfoList.push(checkName);
var isExsit = false;
that.editForm.AirticketBindList.forEach(y => {
if (x.Id == y.PurchaseId) {
isExsit = true;
y.BindNum = x.BindNum;
}
});
if (!isExsit) {
that.editForm.AirticketBindList.push({
AirTicketId: x.AirticketId,
BindNum: x.BindNum,
ID: 0,
PurchaseId: x.Id,
FlightDate: x.FlightDate
});
}
} else {
var flag = true;
for (var i = 0; i < that.editForm.AirticketBindList.length; i++) {
if (
that.editForm.AirticketBindList[i].PurchaseId === x.Id && flag
) {
flag = false;
that.editForm.AirticketBindList.splice(i, 1);
}
}
}
});
if (FinfoList && FinfoList.length > 0) {
that.TicketMsg = FinfoList.join(',');
}
that.editForm.AirticketBindList.sort(
that.$commonUtils.createComprisonFunction("FlightDate")
);
},
//添加自定义航班
addSelfFlight() {
var seleFObj = {
FlightType:1,//1-去程,2-回程
FlightType: 1, //1-去程,2-回程
AlName: "", //航空公司名称
AIATA: "", //到达机场三码
ArrivalCityName: "", //到达城市名称
......@@ -1142,9 +1200,14 @@
if (res.data.resultCode == 1) {
var tempObj = res.data.data;
this.editForm = tempObj;
//判断是否是虚拟航班
if (tempObj.TicketId > 0) {
this.isVirtuallyFlight = 1;
if (this.editForm.AirticketBindList.length > 0) {
this.QFlightDateStart = this.editForm.AirticketBindList[0].FlightDate;
this.QFlightDateEnd = this.editForm.AirticketBindList[this.editForm.AirticketBindList.length - 1]
.FlightDate;
this.getSelectFilght();
} else {
this.QFlightDateStart = this.daysCalculate(this.editForm.StartDate, -1);
this.QFlightDateEnd = this.daysCalculate(this.editForm.StartDate, 1);
this.getSelectFilght();
}
if (tempObj.TravelTeamFlightList && tempObj.TravelTeamFlightList.length > 0) {
......@@ -1158,6 +1221,12 @@
}
}
);
},
//日期计算
daysCalculate(date, addDay) {
var date = new Date(date); //获取当前时间
date.setDate(date.getDate() + addDay);
return date.Format("yyyy-MM-dd");
},
//初始化航空公司下拉
initAirlines() {
......
......@@ -597,10 +597,11 @@
<div class="mb title"><i class="iconfont icon-biaoti1"></i><span>{{$t('objFill.v101.baojixinx')}}</span>
</div>
<div class="mb"><span>{{item.Title}}</span></div>
<div class="mb"><span>{{item.LineName}}</span></div>
<div class="bold"><span
class="item-title">{{$t('hotel.hotel_StarDate')}}</span><span>{{item.StartDate}}</span></div>
<div class="bold"><span
class="item-title">{{$t('visa.v_teaminfo')}}:</span><span>{{item.TCNUM}}({{item.TCID}})</span>
class="item-title">{{$t('visa.v_teaminfo')}}</span><span>{{item.TCNUM}}({{item.TCID}})</span>
</div>
<div class="mb"><span
class="item-title">{{$t('scen.sc_cp')}}</span><span>{{ item.OutBranchName }}</span>
......@@ -611,11 +612,6 @@
<div class="p20">
<div class="mb title"><i class="iconfont icon-hangban1"></i><span>{{$t('salesModule.FlighInfo')}}</span>
</div>
<!-- <div class="mb" v-for="(subItem,subIndex) in item.TravelTeamFlightList" :key="subIndex+1000">
<div> {{subItem.Flight_number}}
{{subItem.DepartureAirPortName}} {{subItem.Departure_time}} {{subItem.ArrivalAirPortName}}
{{subItem.Arrival_time}}</div>
</div> -->
<el-popover width="900" trigger="click" popper-class="TC_tripDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align:center;">
......@@ -674,19 +670,6 @@
</span>
</div>
</template>
<!-- <template v-else>
<div v-for="subItem in item.TravelTeamFlightList" slot="reference" :key="subItem.subCode"
class="TCL-flighInfoList">
<span class="travelnowrap">
<span class="TCL-FlightNumber">{{subItem.Flight_number}}</span>
{{subItem.aName}} {{subItem.Departure_time}}
-
{{subItem.dName}} {{subItem.Arrival_time}}
<span v-if="subItem.FlightState==1" class="TCL-greenType">【OK】</span>
<span v-else class="TCL-redType">【{{$t('visa.v_zanding')}}】</span>
</span>
</div>
</template> -->
</div>
</el-popover>
</div>
......@@ -713,12 +696,6 @@
</div>
<div class="el-col w_20">
<div class="p20">
<!-- <div class="mb title"><i class="iconfont icon-jiage"></i><span>{{$t('Operation.Op_PriceInfo')}}</span></div> -->
<!-- <div class="mb"><span>{{$t('objFill.v101.zhongxinjia')}}: {{item.B2BMemberPrice}}</span></div>
<div class="mb"><span>小孩占床: {{item.ChildNeedPrice}}&nbsp;不占床: {{item.ChildNoNeedPrice}}</span></div>
<div class="mb"><span>婴儿: {{item.BabyPrice}}&nbsp; 婴儿附加费: {{item.BabyChargePrice}}</span></div>
<div class="mb"><span>老人附加费: {{item.OldManChargePrice}} &nbsp;签证: {{item.VisaPrice}}</span></div> -->
<div>
<p>
<i class="iconfont icon-jiage"></i>{{ $t("Operation.Op_PriceInfo") }}
......
......@@ -82,17 +82,16 @@
<div class="TC-MyList">
<div class="query-box">
<ul>
<!-- <li>
<li>
<span>
<em>{{$t('system.table_ssLine')}}</em>
<el-select class="w150" v-model="queryMsg.LineId" filterable :placeholder="$t('pub.pleaseSel')"
@change="resetQuery">
<el-select v-model="queryMsg.LineId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in queryDataObj.LineList" :label="item.LineName" :value="item.LineID"
:key="item.LineID"></el-option>
</el-select>
</span>
</li> -->
</li>
<li>
<span>
<em>{{$t('objFill.v101.yewuminc')}}</em>
......@@ -116,27 +115,7 @@
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder clearable></el-date-picker>
</span>
</li>
<!-- <li>
<span>
<em>{{$t('system.query_airCompanyName')}}</em>
<el-input maxlength="50" v-model="queryMsg.QAirlineCompany" class="permiss-input w150" clearable
@keyup.native.enter="resetQuery" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>{{$t('system.query_flightNum')}}</em>
<el-input maxlength="50" v-model="queryMsg.QFlightNum" class="permiss-input w150" clearable
@keyup.native.enter="resetQuery" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li> -->
<!-- <li>
<span>
<em>{{$t('objFill.v101.hezuohuoban')}}:</em>
<el-input maxlength="50" v-model="queryMsg.QCustomerName" class="permiss-input w150" clearable
@keyup.native.enter="resetQuery" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li> -->
<li>
<span>
<em>{{$t('sm.chufadi')}}</em>
......@@ -145,8 +124,8 @@
</span>
</li>
<li>
<button class="hollowFixedBtn" @click="editTeam(null)">{{$t('pub.addBtn')}}</button>
<button class="hollowFixedBtn" @click="resetQuery">{{$t('pub.searchBtn')}}</button>
<button class="hollowFixedBtn" @click="editTeam(null)">{{$t('pub.addBtn')}}</button>
</li>
</ul>
</div>
......@@ -163,6 +142,7 @@
<div class="mb title"><i
class="iconfont icon-biaoti1"></i><span>{{$t('objFill.v101.baojixinx')}}</span></div>
<div class="mb"><span>{{item.GTeamName}}</span></div>
<div class="mb"><span>{{item.LineName}}</span></div>
<div class="mb"><span
class="item-title">{{$t('hotel.hotel_StarDate')}}</span><span>{{item.StartDate}}</span></div>
<div class="mb"><span
......@@ -258,18 +238,65 @@
<font>{{$t("visa.v_houbu")}}:{{item.WatingNum}}</font>
</span>
</div>
<div class="mb bold"><span class="item-title">{{$t('Airticket.Air_businessClass')}}:</span><span>
{{item.CSeat}} <span
class="item-title ml">{{$t('hotel.hotel_remainList')}}:</span>{{item.SurplusCSeatNum}}</span>
</div>
<div class="mb bold"><span class="item-title">{{$t('Airticket.Air_firstClass')}}:</span><span>
{{item.FSeat}} <span
class="item-title ml">{{$t('hotel.hotel_remainList')}}:</span>{{item.SurplusFSeatNum}}</span>
</div>
<div class="mb bold"><span class="item-title">{{$t('leader.leader_registraNum')}}:</span><span>
{{item.OrderGuestNum}} </span></div>
<div class="mb bold"><span class="item-title">{{$t('ground.lddaoyou')}}:</span><span>
{{item.LeaderNum}} </span></div>
<div class="mb bold" v-if="item.BindNum > 0 && item.TicketList&&item.TicketList.length>0"><span
class="item-title">{{$t('Operation.Op_bindNum')}}:</span><span>
<el-popover width="550" trigger="click">
<table width="100%" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="90" style="text-align: center">
{{ $t("Operation.Op_bindNum") }}
</th>
<th width="90" style="text-align: center">
{{ $t("op.TicketNum") }}
</th>
<th width="80" style="text-align: center">
{{ $t('Airticket.Air_TicketType') }}
</th>
<th width="80" style="text-align: center">
{{ $t('Airticket.Air_TicketDeadLine') }}
</th>
<th width="100" style="text-align: center">
{{ $t("op.Tickets") }}
</th>
</tr>
<tbody v-for="(subItem, subIndex) in item.TicketList" :key="subIndex">
<tr>
<td style="text-align: center">{{ subItem.BindNum }}</td>
<td style="text-align: center">{{ subItem.TicketNum }}</td>
<td style="text-align: center">
<template v-if="subItem.TravelTicketType==1">
{{$t('objFill.v101.tuanpiao')}}
</template>
<template v-else-if="subItem.TravelTicketType==2">
{{$t('objFill.v101.shanpiao')}}
</template>
<template v-else-if="subItem.TravelTicketType==3">
{{$t('objFill.v101.lspiao')}}
</template>
</td>
<td style="text-align: center">{{ subItem.TicketDeadline }}</td>
<td style="text-align: center">
{{ subItem.TicketCreateByName }}
</td>
</tr>
<tr>
<td colspan="6" style="text-align:left;">
对OP备注: {{subItem.TicketOpRemark}}
</td>
</tr>
</tbody>
</table>
<span slot="reference" :title="$t('objFill.dianjickxq')" class="price"
style="cursor: pointer; color: red; text-decoration: underline"> {{ item.BindNum }}</span>
</el-popover>
</span></div>
</div>
</div>
<div class="el-col w_20">
......@@ -583,6 +610,7 @@
QCustomerName: "", //合作伙伴名称
StartAddress: "", //出发地
TCNUM: "", //团队编号
LineId: 0,
},
queryDataObj: {
LineList: [], //线路列表
......
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