Commit 0b386570 authored by 黄奎's avatar 黄奎

页面修改

parent f999f618
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<!--小包团--> <!--小包团-->
<TravelPrice2 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip" <TravelPrice2 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip"
v-if="TeamType==1" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" v-if="TeamType==1" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
:TeamType="TeamType"></TravelPrice2> :TeamType="TeamType" :CurrentUserInfo="CurrentUserInfo" :IsDirect="PostConfig.IsDirect"></TravelPrice2>
<!--一日游--> <!--一日游-->
<TravelPrice3 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip" <TravelPrice3 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip"
v-if="TeamType==2" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" v-if="TeamType==2" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
background-color: #f5f7fa; background-color: #f5f7fa;
color: #909399; color: #909399;
font-size: 14px; font-size: 14px;
margin: 4px -11px 0 10px; margin: 3px -11px 0 10px;
} }
.TravelPrice .days .checked1 { .TravelPrice .days .checked1 {
...@@ -172,16 +172,8 @@ ...@@ -172,16 +172,8 @@
margin-top: 3px; margin-top: 3px;
} }
.TPSetInfo .multiple_input.multiple_input2 {
height: 34px !important;
}
.TPSetInfo .multiple_input.multiple_input2 .el-input__inner {
height: 34px !important;
}
.SimulateDrop-box { .SimulateDrop-box {
width: 190px; width: 288px;
min-height: 34px; min-height: 34px;
position: relative; position: relative;
padding: 5px 21px 5px 6px; padding: 5px 21px 5px 6px;
...@@ -190,31 +182,43 @@ ...@@ -190,31 +182,43 @@
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
} }
._TravelPriceDetails table { ._TravelPricePopover .jiDiv {
width: 750px;
max-height: 400px;
overflow: auto;
}
._TravelPricePopover .ScenicDiv {
width: 450px;
max-height: 400px;
overflow: auto;
}
._TravelPricePopover table {
padding: 10px 0 0 20px; padding: 10px 0 0 20px;
background-color: #ededed; background-color: #ededed;
border-collapse: collapse; border-collapse: collapse;
border: 1px solid #d2d2d2; border: 1px solid #d2d2d2;
font-size: 12px; font-size: 12px;
margin: 0 20px 5px 0; margin: 0 20px 5px 0;
min-width: 800px; width: 100%;
} }
._TravelPriceDetails table ._color_666 { ._TravelPricePopover table ._color_666 {
background-color: #ededed; background-color: #ededed;
color: #666666; color: #666666;
padding: 5px; padding: 5px;
} }
._TravelPriceDetails table td { ._TravelPricePopover table td {
background-color: #ffffff; background-color: #ffffff;
padding: 9px 30px; padding: 9px 0;
color: #333333; color: #333333;
text-align: center; text-align: center;
border: 1px solid #d2d2d2; border: 1px solid #d2d2d2;
} }
._TravelPriceDetails table td._d_name { ._TravelPricePopover table td._d_name {
background-color: #ededed; background-color: #ededed;
} }
...@@ -228,7 +232,7 @@ ...@@ -228,7 +232,7 @@
.SD_flight { .SD_flight {
display: inline-block; display: inline-block;
height: 24px; height: 24px;
margin-bottom: 3px; margin: 0 3px 3px 0;
padding: 0 8px; padding: 0 8px;
line-height: 22px; line-height: 22px;
background-color: #f0f2f5; background-color: #f0f2f5;
...@@ -259,46 +263,92 @@ ...@@ -259,46 +263,92 @@
width: 280px; width: 280px;
} }
.dijiebaojia { .TP_Airticktid {
margin-bottom: 15px; text-decoration: underline;
padding-top: 15px; cursor: pointer;
color: #409eff;
}
.TP_noneed {
position: relative;
top: 10px;
margin: 20px 0 30px 11px;
}
.Tp_hotelDialog {
width: 900px;
} }
.dijiebaojia table { .TphotelTable {
width: 100%;
margin: auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse; border-collapse: collapse;
width: 390px; background-color: #fff;
border-color: #dcdfe6; border: 1px solid #d1d1d1;
} }
.dijiebaojia table tr td { .TphotelTable th {
padding: 8px 15px; background: #E6E6E6;
color: #000; padding: 8px 0;
color: #333;
border: 1px solid #d1d1d1;
font-weight: bold;
} }
.dijiebaojia table tr td._price { .TphotelTable tr td {
/*color: red;*/ background-color: #fff;
/* padding:8px 0; */
border: 1px solid #d1d1d1;
} }
.dijiebaojia_table_btn { .Tp_btn {
background-color: #e95252; color: #fff;
font-size: 12px; height: 25px;
color: white; background: #E95252;
padding: 3px 5px; border: 1px solid #E95252;
border-radius: 4px;
cursor: pointer; cursor: pointer;
border-radius: 15px;
margin-left: 10px;
} }
.dijiebaojia_table_btn_hide { .tp_divList {
margin-left: 10px; width: 100%;
min-height: 30px;
border-bottom: 1px dashed #ccc;
} }
._yes_click { .tp_divList div {
background-color: #e95252 !important; text-align: left;
color: white; padding: 0 20px;
margin-top: 5px;
} }
.TpricehasTicket { .tp_divList:last-child {
color: #47BF8C !important; border: 0;
}
.disClick {
background-color: #d1d1d1;
color: #fff;
border: 1px solid #d1d1d1;
cursor: default;
}
.disClick:hover {
background-color: #d1d1d1 !important;
cursor: default !important;
box-shadow: none !important;
}
.lessPriceRule {
font-size: 14px;
margin-left: 40px;
text-decoration: underline;
cursor: pointer;
} }
</style> </style>
...@@ -346,19 +396,13 @@ ...@@ -346,19 +396,13 @@
</ul> </ul>
<!-- 日期 --> <!-- 日期 -->
<ul class="days"> <ul class="days">
<li class="liList" v-for="(dayobject,index) in days" :key="dayobject.subCode" <li class="liList" v-for="(dayobject,index) in days" :key="dayobject.subCode">
:class="{'TpricehasTicket':dayobject.Tip}" :title="dayobject.Tip?'当天有机票':''"> <span v-if="dayobject.checkState==$calendarUtils.checkState.noChecked"
<template v-if="dayobject.click"> class="other-month">{{dayobject.day.getDate()}}</span>
<span v-if="dayobject.checkState==$calendarUtils.checkState.checked" class="checked1" <span v-if="dayobject.checkState==$calendarUtils.checkState.checked" class="checked1"
@click="clickedDay(dayobject)">{{dayobject.day.getDate()}} @click="clickedDay(dayobject)">{{dayobject.day.getDate()}}</span>
</span>
<span v-else-if="dayobject.checkState==$calendarUtils.checkState.hasValue" <span v-else-if="dayobject.checkState==$calendarUtils.checkState.hasValue"
@click="clickedDay(dayobject)">{{dayobject.day.getDate()}} @click="clickedDay(dayobject)">{{dayobject.day.getDate()}}</span>
</span>
</template>
<template v-else>
<span class="other-month">{{dayobject.day.getDate()}}</span>
</template>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -393,47 +437,51 @@ ...@@ -393,47 +437,51 @@
</div> </div>
<div> <div>
<div class="TPSetInfo clearfix"> <div class="TPSetInfo clearfix">
<el-form label-width="10px" style="border-collapse:collapse;"> <el-form label-width="10px">
<div class="dijiebaojia clearfix" style="display:none;">
<p class="TPbaseSet" style="width: 140px;">{{$t('sm.dijiebaojia')}}</p>
<table border="1" bordercolor="#dcdfe6" class="fl" v-if="dijiebaojiaShow&&queryPriceList.length>0"
v-loading="queryPriceListLoading">
<template v-for="item in queryPriceList">
<template v-for="son in item.PricesList">
<tr v-if="son.OfferType===1">
<td rowspan="4">{{$t('tips.di')}}{{item.DayNum}}{{$t('hotel.hotel_day')}}</td>
<td>{{$t('sm.tuanqishezhi')}}{{$t('hotel.hotel')}}</td>
<td class="_price">{{son.OfferPrice?son.OfferPrice:"暂无报价"}}</td>
</tr>
<tr v-else>
<td v-if="son.OfferType===2">{{$t('MarketingActi.car')}}</td>
<td v-if="son.OfferType===3">{{$t('scen.sc_piao')}}</td>
<td v-if="son.OfferType===4">{{$t('commonPickUp.Pick_resName')}}</td>
<td class="_price">{{son.OfferPrice?son.OfferPrice:"暂无报价"}}</td>
</tr>
</template>
</template>
<tr>
<td>{{$t('active.cl_jipiao')}}</td>
<td colspan="2" align="center"></td>
</tr>
<tr>
<td>{{$t('fnc.a_heji')}}</td>
<td colspan="2" align="center">{{OfferTotalMoney}}</td>
</tr>
</table>
<p class="fl dijiebaojia_table_btn" v-if="!dijiebaojiaShow&&queryPriceList.length>0"
@click="dijiebaojiaShow=true">{{$t('sm.xianshidijie')}}</p>
<p class="fl dijiebaojia_table_btn dijiebaojia_table_btn_hide"
v-if="dijiebaojiaShow&&queryPriceList.length>0" @click="dijiebaojiaShow=false">
{{$t('sm.yuincangdijie')}}</p>
</div>
<div class="clearfix"> <div class="clearfix">
<div class="leftSetInfo"> <div class="leftSetInfo">
<span class="TPbaseSet">{{$t('sm.basebaojia')}}</span> <span class="TPbaseSet">{{$t('sm.basebaojia')}}</span>
<span class="TPsecondTitle">{{$t('Operation.Op_standard')}}</span> <span class="TPsecondTitle">{{$t('Operation.Op_standard')}}</span>
</div> </div>
<div class="TPright"> <div class="TPright">
<div class="TP_noneed">
<el-checkbox v-model="priceData.IsSupportChildren" :true-label="CheckedVaule"
:false-label="UnCheckedVaule">{{$t('op.SupportChild')}}
</el-checkbox>
<el-checkbox style="display:none;" v-model="priceData.IsBookTeam" :true-label="CheckedVaule"
v-if="PostConfig.LineId==14" :false-label="UnCheckedVaule">{{$t('op.OrderTeam')}}
</el-checkbox>
<el-checkbox v-model="priceData.IsLessPrice" :true-label="CheckedVaule"
:false-label="UnCheckedLessPrice">{{$t('op.CanLessPrice')}}
</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) " />
</template>
<!-- <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) && priceData.PriceHotelList&&priceData.PriceHotelList.length>0" />
</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>
<div style="margin:0 0 20px 10px;height:34px;">
<div style="display:inline-block;height:34px;line-height:34px;">
<el-checkbox v-model="priceData.IsUseCompanyBus" :true-label="CheckedVaule"
:false-label="UnCheckedLessPrice" label="公司车辆">
</el-checkbox>
</div>
<template v-if="priceData.IsUseCompanyBus==1">
<el-select v-model="priceData.BusPriceId">
<el-option v-for="item in busPriceList" :key="item.Id" :label="item.BusNumber" :value="item.Id">
<span style="float: left">{{ item.AreaTypeName }} ({{item.BusTypeStr}})</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.BusNumber }}</span>
</el-option>
</el-select>
</template>
</div>
<el-form-item prop="B2BMemberPrice"> <el-form-item prop="B2BMemberPrice">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.B2BMemberPrice" @keyup.native="checkPrice(priceData,'B2BMemberPrice')"> v-model="priceData.B2BMemberPrice" @keyup.native="checkPrice(priceData,'B2BMemberPrice')">
...@@ -467,9 +515,16 @@ ...@@ -467,9 +515,16 @@
<el-form-item> <el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.SingleDMCPrice" @keyup.native="checkPrice(priceData,'SingleDMCPrice')"> v-model="priceData.SingleDMCPrice" @keyup.native="checkPrice(priceData,'SingleDMCPrice')">
<template slot="prepend">{{$t('sm.dandijie')}}</template> <template slot="prepend">{{$t('salesModule.SingleJ')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" v-model="priceData.TipAmount"
@keyup.native="checkPrice(priceData,'TipAmount')">
<template slot="prepend">{{$t('op.RTXF')}}</template>
</el-input>
</el-form-item>
</div> </div>
</div> </div>
<div class="clearfix"> <div class="clearfix">
...@@ -522,7 +577,7 @@ ...@@ -522,7 +577,7 @@
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
<div class="clearfix" style="display:none;"> <div class="clearfix">
<div class="leftSetInfo"> <div class="leftSetInfo">
<span class="TPbaseSet"></span> <span class="TPbaseSet"></span>
<span class="TPsecondTitle"></span> <span class="TPsecondTitle"></span>
...@@ -545,7 +600,8 @@ ...@@ -545,7 +600,8 @@
<div class="TPright"> <div class="TPright">
<el-form-item prop="ChildNoNeedPrice"> <el-form-item prop="ChildNoNeedPrice">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.ChildNoNeedPrice" @keyup.native="checkInteger(priceData,'ChildNoNeedPrice')"> v-model="priceData.ChildNoNeedPrice"
@keyup.native="checkInteger(priceData,'ChildNoNeedPrice',true)">
<template slot="prepend">{{$t('Operation.Op_childNobed')}}</template> <template slot="prepend">{{$t('Operation.Op_childNobed')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -562,7 +618,7 @@ ...@@ -562,7 +618,7 @@
<template slot="prepend">{{$t('sm.tonghangfanyong')}}</template> <template slot="prepend">{{$t('sm.tonghangfanyong')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item style="display:none;"> <el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.DiscountPrice" @keyup.native="checkPrice(priceData,'DiscountPrice')"> v-model="priceData.DiscountPrice" @keyup.native="checkPrice(priceData,'DiscountPrice')">
<template slot="prepend">{{$t('sm.zaoniaoyouhui')}}</template> <template slot="prepend">{{$t('sm.zaoniaoyouhui')}}</template>
...@@ -573,29 +629,32 @@ ...@@ -573,29 +629,32 @@
<div class="clearfix"> <div class="clearfix">
<div class="leftSetInfo"> <div class="leftSetInfo">
<span class="TPbaseSet">{{$t('leader.leader_Set')}}</span> <span class="TPbaseSet">{{$t('leader.leader_Set')}}</span>
<span class="TPsecondTitle" style="margin-right: 10px">{{$t('sm.jipiaobangding')}}</span> <span class="TPsecondTitle"></span>
<el-select class="w180" v-model="priceData.AirTicketId">
<el-option v-for="(item,index) in queryFlightAirListData" :key="index"
:label="item.AlCode+'-'+item.FlightDate+'-'+item.PNR" :value="item.AirLineTicketId"></el-option>
</el-select>
</div> </div>
<div class="TPright clearfix"> <div class="TPright clearfix">
<el-form-item prop="ClearOrderHour" v-if="TeamType==1"> <el-form-item prop="ClearOrderHour">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.ClearOrderHour" @keyup.native="checkInteger(priceData,'ClearOrderHour')" v-model="priceData.ClearOrderHour" @keyup.native="checkInteger(priceData,'ClearOrderHour')"
@blur="checkInteger(priceData,'ClearOrderHour')"> @blur="checkInteger(priceData,'ClearOrderHour')">
<template slot="prepend">{{$t('sm.zidongqingwei')}}</template> <template slot="prepend">{{$t('sm.zidongqingwei')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<span class="TP_Sendprepend" v-if="TeamType==1">{{$t('sm.songqianshijian')}}</span> <el-form-item>
<el-form-item prop="SendVisaTime" style="margin-top:1px;" v-if="TeamType==1"> <el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat"
v-model="priceData.SaleClearOrderHour"
@keyup.native="checkInteger(priceData,'SaleClearOrderHour')"
@blur="checkInteger(priceData,'SaleClearOrderHour')">
<template slot="prepend">{{$t('salesModule.XSQW')}}</template>
</el-input>
</el-form-item>
<span class="TP_Sendprepend">{{$t('sm.songqianshijian')}}</span>
<el-form-item prop="SendVisaTime">
<el-date-picker clearable class="w150" v-model="priceData.SendVisaTime" type="date" <el-date-picker clearable class="w150" v-model="priceData.SendVisaTime" type="date"
value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"></el-date-picker> value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item prop="OutBranchId" style="margin-top:1px;"> <el-form-item prop="OutBranchId" style="margin-top:1px;">
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('scen.sc_cp')}}</span> <span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('scen.sc_cp')}}</span>
<el-select class="w180" v-model="priceData.OutBranchId" :disabled="TeamType==1" <el-select class="w180" v-model="priceData.OutBranchId" @change="getstandardCurrencyName">
@change="getstandardCurrencyName">
<el-option :label="$t('pub.unlimitedSel')" :value="SelectOtherDefault"></el-option> <el-option :label="$t('pub.unlimitedSel')" :value="SelectOtherDefault"></el-option>
<el-option v-for="item in companyList" :key="item.id" :label="item.bName" :value="item.id"> <el-option v-for="item in companyList" :key="item.id" :label="item.bName" :value="item.id">
</el-option> </el-option>
...@@ -613,64 +672,55 @@ ...@@ -613,64 +672,55 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item style="margin-top:1px;" v-if="TeamType==1"> <el-form-item style="margin-top:1px;">
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('visa.v_salecompany')}}</span> <span class="TP_Sendprepend" style="margin:3px -1px 0 0">供应商</span>
<el-select class="w180 multiple_input" :class="{'SaleBranchList':priceData.SaleBranchIdArray==''}" <el-select class="w180" v-model="priceData.SupplierId">
v-model="priceData.SaleBranchIdArray" multiple> <el-option :label="$t('pub.unlimitedSel')" :value="SelectDefaultValue"></el-option>
<el-option v-for="item in companyList" :key="item.id" :label="item.bName" :value="item.id"> <el-option v-for="item in SupplierList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item style="margin-top:1px;" v-else>
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('visa.v_salecompany')}}</span>
<el-select class="w180 multiple_input multiple_input2"
:class="{'SaleBranchList':priceData.SaleBranchIdArray==''}" :disabled="TeamType==1"
v-model="priceData.SaleBranchIdArray" multiple>
<el-option v-for="item in companyList" :key="item.id" :label="item.bName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
<div class="TPright clearfix"> <div class="TPright clearfix">
<el-form-item prop="YSeat" v-if="TeamType==1"> <el-form-item prop="YSeat">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190" v-model="priceData.YSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w190" v-model="priceData.YSeat"
@keyup.native="checkInteger(priceData,'YSeat')"> @keyup.native="checkInteger(priceData,'YSeat')">
<template slot="prepend">{{$t('sm.jingjicangsp')}}</template> <template slot="prepend">{{$t('sm.jingjicangsp')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="CSeat" v-if="TeamType==1"> <el-form-item prop="CSeat">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190" v-model="priceData.CSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w260" v-model="priceData.CSeat"
@keyup.native="checkInteger(priceData,'CSeat')"> @keyup.native="checkInteger(priceData,'CSeat')">
<template slot="prepend">{{$t('sm.cangwuzp')}}</template> <template slot="prepend">{{$t('sm.cangwuzp')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="FSeat" v-if="TeamType==1"> <el-form-item prop="FSeat">
<el-input :placeholder="$t('pub.pleaseImport')" class="w260" v-model="priceData.FSeat" <el-input :placeholder="$t('pub.pleaseImport')" class="w290" v-model="priceData.FSeat"
@keyup.native="checkInteger(priceData,'FSeat')"> @keyup.native="checkInteger(priceData,'FSeat')">
<template slot="prepend">{{$t('sm.toudengxp')}}</template> <template slot="prepend">{{$t('sm.toudengxp')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input class="w290" v-model="priceData.Inventory" :disabled="TeamType==1"> <el-input :placeholder="$t('pub.pleaseImport')" class="w190" v-model="priceData.Inventory">
<template slot="prepend">{{$t('sm.zdctrs')}}</template> <template slot="prepend">{{$t('sm.zdctrs')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item style="margin-top:1px;"> <el-form-item>
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('sm.xiaoshouzt')}}</span> <el-input :placeholder="$t('pub.pleaseImport')" class="w260" v-model="priceData.LeaderNum">
<el-select class="w180" v-model="priceData.TCSaleState">
<el-option v-for="item in TeamList" :key="item.Id" :label="item.name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="TeamType==1">
<el-input :placeholder="$t('pub.pleaseImport')" class="w290" v-model="priceData.LeaderNum">
<template slot="prepend">{{$t('sm.Leadernum')}}</template> <template slot="prepend">{{$t('sm.Leadernum')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item>
<el-input :placeholder="$t('op.CanSallTicketNum')" class="w290" v-model="priceData.CanSellTicketNum"
maxlength="2" @keyup.native="checkInteger(priceData,'CanSellTicketNum')"
@change="CheckSellTicketNum(priceData)">
<template slot="prepend">{{$t('op.CanSallTicketNum')}}</template>
</el-input>
</el-form-item>
</div> </div>
<div class="TPright clearfix"> <div class="TPright clearfix">
<el-form-item prop="GatherTime"> <el-form-item prop="GatherTime">
<el-input :placeholder="$t('pub.pleaseImport')" class="w190 ComSeat" v-model="priceData.GatherTime"> <el-input :placeholder="$t('pub.pleaseImport')" class="w290 ComSeat" v-model="priceData.GatherTime">
<template slot="prepend">{{$t('sm.jiheshijian')}}</template> <template slot="prepend">{{$t('sm.jiheshijian')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -680,8 +730,154 @@ ...@@ -680,8 +730,154 @@
<template slot="prepend">{{$t('sm.jihedidian')}}</template> <template slot="prepend">{{$t('sm.jihedidian')}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item style="margin-top:1px;">
<el-input :placeholder="$t('pub.pleaseImport')" class="w260"
v-model="priceData.AirportService">
<template slot="prepend">{{$t('op.AirSupplier')}}</template>
</el-input>
</el-form-item>
<el-form-item prop="EmergencyContact">
<el-input :placeholder="$t('pub.pleaseImport')" class="w260"
v-model="priceData.EmergencyContact">
<template slot="prepend">紧急联系人</template>
</el-input>
</el-form-item>
<el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w260 ComSeat" v-model="priceData.GatherTag">
<template slot="prepend">{{$t('op.JHbiaoshi')}}</template>
</el-input>
</el-form-item>
</div>
<div class="clearfix">
<div class="leftSetInfo">
<span class="TPbaseSet"></span>
<span class="TPsecondTitle">{{$t('salesModule.ScenicRefund')}}</span>
</div>
<div class="TPright clearfix">
<el-popover popper-class="_TravelPricePopover" trigger="click">
<div>
<div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="_color_666">{{$t('fnc.xuanze')}}</td>
<td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td>
</tr>
<tr v-for="item in priceData.ScenicBackList">
<td>
<el-checkbox :checked="item.IsChecked" @change="getScenic(item)"></el-checkbox>
</td>
<td>
{{item.Name}}
</td>
<td>
<el-input class="w80" @keyup.native="checkPrice(item,'RefundMoney')"
v-model="item.RefundMoney"></el-input>
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="subItem in ScenicList">{{subItem.Name}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i>
</div>
</el-popover>
<el-form-item>
<span class="TP_Sendprepend" style="margin-left:0;width:120px;">{{$t('sm.xiaoshouzt')}}</span>
<el-select class="w180" v-model="priceData.TCSaleState">
<el-option v-for="item in TeamList" :key="item.Id" :label="item.name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</div>
</div>
<div class="clearfix">
<div class="leftSetInfo">
<span class="TPbaseSet"></span>
<span class="TPsecondTitle">{{$t('sm.jipiaobangding')}}</span>
</div> </div>
<div class="TPright clearfix"> <div class="TPright clearfix">
<el-popover popper-class="_TravelPricePopover" trigger="click">
<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 in selectFilghtList">
<td>
<el-checkbox v-model="fitem.IsSelected===true" @change="getSelect(fitem)"></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="getFlightBindNum(fitem)" v-model="fitem.BindNum"></el-input>
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="item in FinfoList">{{item.name}} {{item.date}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i>
</div>
</el-popover>
<el-form-item style="margin-top:1px;">
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">{{$t('visa.v_salecompany')}}</span>
<el-select class="w350 multiple_input" :class="{'SaleBranchList':priceData.SaleBranchIdArray==''}"
v-model="priceData.SaleBranchIdArray" multiple @change="ChangeSaleBranch(priceData)">
<el-option v-for="item in companyList" :key="item.id" :label="item.bName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</div>
</div>
<div class="clearfix">
<div class="TPright clearfix">
<el-form-item prop="OutBranchId" style="margin-top:1px;">
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">团队类型</span>
<el-select class="w180" v-model="priceData.PriceTeamType">
<template v-for="item in TeamListArr">
<!--去掉小包团2023-04-19-->
<el-option v-if="item.Id!=4" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</template>
</el-select>
</el-form-item>
<el-form-item style="margin-top:1px;"> <el-form-item style="margin-top:1px;">
<span class="TP_Sendprepend" style="margin:3px -1px 0 0">报价单地址</span> <span class="TP_Sendprepend" style="margin:3px -1px 0 0">报价单地址</span>
<el-upload class="upload-demo" style="display:inline-block;position:relative;top:-1px;left:3px;" <el-upload class="upload-demo" style="display:inline-block;position:relative;top:-1px;left:3px;"
...@@ -692,6 +888,9 @@ ...@@ -692,6 +888,9 @@
v-if="priceData.PriceOfferUrl" target="_blank">预览</a> v-if="priceData.PriceOfferUrl" target="_blank">预览</a>
</el-form-item> </el-form-item>
</div> </div>
</div>
<div class="clearfix"> <div class="clearfix">
<div class="leftSetInfo"> <div class="leftSetInfo">
<span class="TPbaseSet" style="width:62px;"></span> <span class="TPbaseSet" style="width:62px;"></span>
...@@ -740,20 +939,15 @@ ...@@ -740,20 +939,15 @@
<span class="TCswitch"> <span class="TCswitch">
<el-switch v-model="priceData.IsB2C" :active-value="inActive" :inactive-value="notInActive"> <el-switch v-model="priceData.IsB2C" :active-value="inActive" :inactive-value="notInActive">
</el-switch> </el-switch>
<div class="TC-config">{{$t('sm.cpjhtuiB2bzzd')}}</div> <div class="TC-config">{{$t('op.TuisongB2c')}}</div>
</span> </span>
</div> </div>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
<div class="TPright" style="float:left;"> <div class="TPright">
<span>{{$t('sm.tuanqibq')}}</span> <span v-if="priceData.IsLessPrice==1" @click="getLessPriceInfo(),lessPriceVisible=true"
<span> class="lessPriceRule">{{$t('op.sjgz')}}</span>
<el-checkbox-group v-model="priceData.PriceTagIds">
<el-checkbox v-for="team in teamTips" :label="team.ID" :key="team.Content">{{team.Content}}
</el-checkbox>
</el-checkbox-group>
</span>
</div> </div>
</div> </div>
</el-form> </el-form>
...@@ -761,22 +955,168 @@ ...@@ -761,22 +955,168 @@
<div class="TPNotice">{{$t('sm.ysbjchajiacl')}}</div> <div class="TPNotice">{{$t('sm.ysbjchajiacl')}}</div>
</div> </div>
</div> </div>
<template v-if="CurrentUserInfo.UseFlightType==0">
<TravelPriceFlightList @headCallBack="setDisDirectFlight" ref="TravelFlightList" :priceData="priceData" <TravelPriceFlightList @headCallBack="setDisDirectFlight" ref="TravelFlightList" :priceData="priceData"
:AirTicketId="priceData.AirTicketId" :selectFilghtList="selectFilghtList"></TravelPriceFlightList> :AirTicketId="priceData.AirTicketId" :DeleteAirticketIds="priceData.DeleteAirticketIds"
:selectFilghtList="selectFilghtList"></TravelPriceFlightList>
</template>
<template v-else>
<TravelPriceFlightListSelf @headCallBack="setDisDirectFlight" ref="TravelFlightList" :priceData="priceData"
:AirTicketId="priceData.AirTicketId" :DeleteAirticketIds="priceData.DeleteAirticketIds"
:selectFilghtList="selectFilghtList"></TravelPriceFlightListSelf>
</template>
</div> </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>
<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>
<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="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="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>
<el-dialog custom-class='Tp_hotelDialog' title="少价规则" :visible.sync="lessPriceVisible" center>
<table class="TphotelTable" border="0" cellspacing='1' v-if="lessPriceData.length>0">
<tr>
<th>{{$t('op.syr')}}</th>
<th>{{$t('op.bmzg')}}</th>
<th>{{$t('op.fgszjl')}}</th>
</tr>
<tr v-for="item in lessPriceData">
<td>
<span v-if="item.LessMoney!=null"
style="margin-right:30px;">{{item.LessMoney}}{{$t('hotel.hotel_yuan')}}</span><span
v-if="item.LessPercent!=null">{{item.LessPercent}}%</span>
</td>
<td>
<span v-if="item.DeptLessMoney!=null"
style="margin-right:30px;">{{item.DeptLessMoney}}{{$t('hotel.hotel_yuan')}}</span><span
v-if="item.DeptLessPercent!=null">{{item.DeptLessPercent}}%</span>
</td>
<td>
<span v-if="item.FilialeLessMoney!=null"
style="margin-right:30px;">{{item.FilialeLessMoney}}{{$t('hotel.hotel_yuan')}}</span><span
v-if="item.FilialeLessPercent!=null">{{item.FilialeLessPercent}}%</span>
</td>
</tr>
</table>
<div class="noData" v-else>
{{$t('system.content_noData')}}
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="lessPriceVisible=false">{{$t('pub.cancelBtn')}}</button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import commonPHlInfo from "../../commonPage/commonPriceHotelInfo.vue";
import TravelPriceFlightList from "../TravelGroupControl/TravelPriceFlightList.vue"; import TravelPriceFlightList from "../TravelGroupControl/TravelPriceFlightList.vue";
import TravelPriceFlightList_Self from "../TravelGroupControl/TravelPriceFlightList_Self.vue";
export default { export default {
props: ["priceList", "priceIsDirect", "OfferList", "PostConfig", "modifyTcid", "PostDaysTrip", "TeamType"], props: ["priceList", "priceIsDirect", "OfferList", "PostConfig", "modifyTcid", "TeamType", "CurrentUserInfo",
"IsDirect"
],
data() { data() {
return { return {
outerVisible: false,
currentDay: 1, currentDay: 1,
currentMonth: 1, currentMonth: 1,
currentYear: 1970, currentYear: 1970,
uploadList: [], uploadList: [],
CheckedVaule: 1, //选中值
UnCheckedVaule: 2, //没选中
UnCheckedLessPrice: 0, //不少价
isSaved: true,
btnText: '保存',
btnTongBu: '同步酒店',
//日期数组 //日期数组
days: [], days: [],
dateString: "2016-01-02", dateString: "2016-01-02",
...@@ -803,10 +1143,14 @@ ...@@ -803,10 +1143,14 @@
}, },
], ],
returnPriceList: this.priceList, returnPriceList: this.priceList,
//酒店列表
HotelList: [],
companyList: [], companyList: [],
offerList: [], offerList: [],
selectFilghtList: [], selectFilghtList: [],
FinfoList: [], FinfoList: [],
//选中景点
ScenicList: [],
//下拉框默认值 //下拉框默认值
SelectDefaultValue: 0, SelectDefaultValue: 0,
SelectOtherDefault: -1, SelectOtherDefault: -1,
...@@ -814,50 +1158,93 @@ ...@@ -814,50 +1158,93 @@
rules: { rules: {
Inventory: [{ Inventory: [{
required: true, required: true,
message: this.$t('sm.qtxshoucirks'), message: "请填写首次入库数",
trigger: "change" trigger: "change"
}], }],
ClearOrderHour: [{ ClearOrderHour: [{
required: true, required: true,
message: this.$t('sm.qtxzdqw'), message: "请填写自动清位",
trigger: "change" trigger: "change"
}], }],
SendVisaTime: [{ SendVisaTime: [{
required: true, required: true,
message: this.$t('sm.qxzsqshijain'), message: "请选择送签时间",
trigger: "change" trigger: "change"
}] }]
}, },
TeamList: [{ TeamList: [{
Id: 1, Id: 1,
name: this.$t('sm.yibantuan') name: "一般团"
}, },
{ {
Id: 2, Id: 2,
name: this.$t('sm.cuxiaotuan') name: "促销团"
}, },
{ {
Id: 3, Id: 3,
name: this.$t('sm.zhutuituan') name: "主推团"
} }
], ],
currentPriceIndex: 0, //当前团期索引位置 currentPriceIndex: 0, //当前团期索引位置
showPriceList: [], showPriceList: [],
priceShowCount: 6, //团期展示条数 priceShowCount: 6, //团期展示条数
userID: null, QFlightDateStart: '', //航班查询开始日期
dijiebaojiaShow: false, QFlightDateEnd: '', //航班查询结束日期
queryPriceListLoading: true, pickerBeginDateBefore: {
queryPriceList: [], disabledDate: time => {
OfferTotalMoney: 0, let endTime = new Date(this.QFlightDateEnd);
queryFlightAirListData: [], return endTime.getTime() < time.getTime();
queryFlightAirDateList: [], }
getSelectdata: '', },
//团期标签 pickerBeginDateAfter: {
teamTips: [], disabledDate: time => {
standardCurrencyName: '' let startTime = new Date(this.QFlightDateStart);
return startTime.getTime() >= time.getTime();
}
},
//少价规则
lessPriceVisible: false,
lessPriceData: [],
SupplierList: [], //供应商列表
TeamListArr: [],
busPriceList: [], //车辆列表
standardCurrencyName: '',
}; };
}, },
methods: { methods: {
//获取团期供应商列表
getTravelSupplier() {
this.apipost(
"supplier_get_GetTravelSupplierList", {},
res => {
if (res.data.resultCode == 1) {
this.SupplierList = res.data.data;
} else {
this.$message({
type: "error",
message: res.data.message
});
}
},
err => {}
);
},
//销售公司改变方法
ChangeSaleBranch(item) {
var str = "";
if (item.SaleBranchIdArray && item.SaleBranchIdArray.length > 0) {
item.SaleBranchIdArray.forEach(subItem => {
str += subItem + ",";
});
str = str.substring(0, str.lastIndexOf(','));
}
item.SaleBranchId = str;
},
//调用子组件方法
GetHotelUsePriceList(HotelId, UseDay, index, hotelSubIndex) {
let str = `comPriceHotelInfo${index}${hotelSubIndex}`;
this.$refs[str][0].getHotelPriceList(HotelId, UseDay);
},
//点击折叠 //点击折叠
fold() { fold() {
if (this.isFold == "") { if (this.isFold == "") {
...@@ -883,6 +1270,7 @@ ...@@ -883,6 +1270,7 @@
var objItem = ""; var objItem = "";
if (this.returnPriceList.length > 0) { if (this.returnPriceList.length > 0) {
objItem = JSON.parse(JSON.stringify(this.returnPriceList[0])); objItem = JSON.parse(JSON.stringify(this.returnPriceList[0]));
objItem.OPRemark = "";
objItem.AirTicketId = 0; objItem.AirTicketId = 0;
objItem.AirticketBindList = []; objItem.AirticketBindList = [];
objItem.Checked = false; objItem.Checked = false;
...@@ -891,6 +1279,8 @@ ...@@ -891,6 +1279,8 @@
objItem.PriceFlight = JSON.parse( objItem.PriceFlight = JSON.parse(
JSON.stringify(this.PostConfig.FlightList) JSON.stringify(this.PostConfig.FlightList)
); );
//自定义航班列表
objItem.SelfPriceFlight = [];
} else { } else {
objItem = { objItem = {
TCID: 0, TCID: 0,
...@@ -906,7 +1296,7 @@ ...@@ -906,7 +1296,7 @@
ChildNoNeedPrice: 0, ChildNoNeedPrice: 0,
ConfigId: 0, ConfigId: 0,
DiscountPrice: 0, DiscountPrice: 0,
IsSupportChildren: 0, IsSupportChildren: 1,
OfferId: 0, OfferId: 0,
OldManChargePrice: 0, OldManChargePrice: 0,
OtherPrice: 0, OtherPrice: 0,
...@@ -924,10 +1314,10 @@ ...@@ -924,10 +1314,10 @@
GatherTime: "", GatherTime: "",
GatherAddress: "", GatherAddress: "",
AdImage: "", AdImage: "",
YSeat: 2, YSeat: 0,
CSeat: 0, CSeat: 0,
FSeat: 0, FSeat: 0,
Inventory: 2, Inventory: 0,
StartDate: this.chooseDay, StartDate: this.chooseDay,
ClearOrderHour: "", ClearOrderHour: "",
SendVisaTime: "", SendVisaTime: "",
...@@ -938,167 +1328,61 @@ ...@@ -938,167 +1328,61 @@
//op备注 //op备注
OPRemark: "", OPRemark: "",
//销售状态 //销售状态
TCSaleState: 0, TCSaleState: 1,
LeaderNum: 0, LeaderNum: 0,
IsOrder: 0, IsOrder: 0,
IsB2B: 0, IsB2B: 0,
IsB2C: 0, IsB2C: 0,
IsSubstitution: 1, IsSubstitution: 1,
AirticketBindList: [], AirticketBindList: [],
LowNum: 2,
TeamType: 1,
//选中团期标签
PriceTagIds: [],
PriceFlight: JSON.parse( PriceFlight: JSON.parse(
JSON.stringify(this.PostConfig.FlightList) JSON.stringify(this.PostConfig.FlightList)
), ),
//自定义航班列表
SelfPriceFlight: [],
//删除的绑定的航班编号
DeleteAirticketIds: "",
GatherTag: "", //集合标识
AirportService: "", //机场服务
//可销售机票数量
CanSellTicketNum: 2,
//是否订团,0-不订,1需要订
IsBookTeam: 0,
//少价,0-不少价,1少价
IsLessPrice: 1,
//是否重新生成行程数据
IsNew: false,
//选中的酒店数组
ChooseHotelArray: [],
//销售清位时间
SaleClearOrderHour: 0,
//可退景点下拉列表
ScenicBackList: [],
TipAmount: 0, //人头小费金额
//非中国大陆护照报价 //非中国大陆护照报价
ForeignPassportPrice: 0, ForeignPassportPrice: 0,
UseFlightType: this.CurrentUserInfo.UseFlightType,
SupplierId: 0, //供应商编号 SupplierId: 0, //供应商编号
PriceOfferUrl: "", PriceTeamType: 1, //团队类型
PriceOfferUrl: '', //报价单地址
PriceOfferName: "", //报价单名称
IsUseCompanyBus: 0, //是否使用公司车辆
BusPriceId: 0, //公司车辆编号
EmergencyContact: "", //紧急联系人
}; };
} }
this.queryFlightAirListData.forEach(subItem => {
if (subItem.FlightDate == objItem.StartDate) {
objItem.AirTicketId = subItem.AirLineTicketId
}
});
this.returnPriceList.push(objItem); this.returnPriceList.push(objItem);
this.initDatePickerCheched(); this.initDatePickerCheched();
this.returnPriceList.sort( this.returnPriceList.sort(
this.$commonUtils.createComprisonFunction("StartDate") this.$commonUtils.createComprisonFunction("StartDate")
); );
this.getDateInfo(objItem); this.getDateInfo(objItem);
this.queryPriceOffer();
break; break;
} }
}, },
// 获取地接报价
queryPriceOffer(time) {
if (this.PostDaysTrip === "") return;
this.queryPriceListLoading = true;
let queryPriceList = {
LowNum: 2,
DayNum: 0,
HotelList: [],
TrafficList: [],
ScenicList: [],
DinnerList: [],
PriceList: []
};
queryPriceList.DayNum = this.PostDaysTrip.DayNum;
// 酒店
this.PostDaysTrip.HotelList.forEach(x => {
let msg = {
HotelId: x.HotelId,
DayNum: x.DayNum
};
queryPriceList.HotelList.push(msg);
});
// 交通
this.PostDaysTrip.TrafficList.forEach(x => {
let msg = {
DayNum: x.DayNum,
};
queryPriceList.TrafficList.push(msg);
});
// 景点
this.PostDaysTrip.ScenicList.forEach(x => {
let msg = {
CouponsId: x.CouponsId,
DayNum: x.DayNum
};
queryPriceList.ScenicList.push(msg);
});
// 餐厅
this.PostDaysTrip.DinnerList.forEach(x => {
let msg = {
DinnerId: x.DinnerId,
DayNum: x.DayNum
};
queryPriceList.DinnerList.push(msg);
});
// 时间
queryPriceList.PriceList.push({
StartDate: time ? time : this.chooseDay
});
this.apipost('travel_get_GetTeamGroupLocalOfferList', queryPriceList, res => {
if (res.data.resultCode === 1) {
let data = res.data.data;
this.queryPriceList = data.objList;
this.OfferTotalMoney = data.TotalMoney;
}
this.queryPriceListLoading = false;
}, null)
},
// 获取飞机票1
queryFlightAir() {
let TrafficList = this.PostDaysTrip;
let msg = {
FstartcityId: 0,
FendcityId: 0,
EstartcityId: 0,
EendcityId: 0,
};
if (TrafficList.TrafficList != null && TrafficList.TrafficList.length >= 2) {
if (TrafficList.TrafficList[0].SubTraffic[0].ArrivalCityId === 0) return;
if (TrafficList.TrafficList[0].SubTraffic[0].StartCityId === 0) return;
msg.FstartcityId = TrafficList.TrafficList[0].SubTraffic[0].StartCityId;
msg.FendcityId = TrafficList.TrafficList[0].SubTraffic[0].ArrivalCityId;
if (TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic.length >= 2) {
let list = TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic[TrafficList.TrafficList[
TrafficList.TrafficList.length - 1].SubTraffic.length - 1];
if (list.ArrivalCityId === 0) return;
if (list.StartCityId === 0) return;
msg.EstartcityId = list.StartCityId;
msg.EendcityId = list.ArrivalCityId;
} else {
if (TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic[0].ArrivalCityId === 0) return;
if (TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic[0].StartCityId === 0) return;
msg.EstartcityId = TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic[0].StartCityId;
msg.EendcityId = TrafficList.TrafficList[TrafficList.TrafficList.length - 1].SubTraffic[0].ArrivalCityId;
}
this.queryFlightAirList(msg);
}
},
// 获取飞机票2
queryFlightAirList(msg) {
this.apipost("AirTicket_get_GetTicketList", msg, res => {
if (res.data.resultCode === 1) {
this.queryFlightAirListData = res.data.data;
this.queryFlightAirListData.forEach(x => {
this.queryFlightAirDateList.push({
day: x.FlightDate
})
});
this.initCalendarEdit();
}
}, null)
},
// 拿到航班信息初始化日历
initCalendarEdit() {
for (let i in this.queryFlightAirDateList) {
for (let k in this.days) {
this.days[k].click = true;
if (this.queryFlightAirDateList[i].day == new Date(this.days[k].day).Format("yyyy-MM-dd")) {
this.days[k].Tip = true;
//HK 2020-02-03注释
//this.days[k].click = true;
}
}
}
//this.$forceUpdate();
},
//单团期修改重置日历选中 //单团期修改重置日历选中
initDatePickerCheched() { initDatePickerCheched() {
// if (this.modifyTcid > 0 && this.returnPriceList.length > 0) {
// let oneDay = this.returnPriceList[0];
// this.days.forEach(x => {
// if (this.getDayStr(x.day) != oneDay.StartDate) {
// x.checkState = this.$calendarUtils.checkState.hasValue;
// }
// });
// }
}, },
RemovePrice(dateStr) { RemovePrice(dateStr) {
var array = []; var array = [];
...@@ -1122,11 +1406,9 @@ ...@@ -1122,11 +1406,9 @@
var dayobject = {}; var dayobject = {};
dayobject.day = d; dayobject.day = d;
dayobject.checkState = this.$calendarUtils.checkState.hasValue; dayobject.checkState = this.$calendarUtils.checkState.hasValue;
dayobject.click = false;
this.days.push(dayobject); this.days.push(dayobject);
} }
this.initDate(); this.initDate();
this.initCalendarEdit();
}, },
//初始化数据状态 //初始化数据状态
initDate() { initDate() {
...@@ -1161,15 +1443,78 @@ ...@@ -1161,15 +1443,78 @@
this.$calendarUtils.formatDate(d.getFullYear(), d.getMonth() + 1, 1) this.$calendarUtils.formatDate(d.getFullYear(), d.getMonth() + 1, 1)
); );
}, },
initFlightData() {
this.selectFilghtList = [];
this.FinfoList = [];
if (this.priceData.AirticketBindList.length > 0) {
this.QFlightDateStart = this.priceData.AirticketBindList[0].FlightDate;
this.QFlightDateEnd = this.priceData.AirticketBindList[this.priceData.AirticketBindList.length - 1]
.FlightDate;
this.getSelectFilght();
} else {
this.QFlightDateStart = this.daysCalculate(this.priceData.StartDate, -1);
this.QFlightDateEnd = this.daysCalculate(this.priceData.StartDate, 1);
this.getSelectFilght();
}
},
//日期计算
daysCalculate(date, addDay) {
var date = new Date(date); //获取当前时间
date.setDate(date.getDate() + addDay);
return date.Format("yyyy-MM-dd");
},
getSelectFilght() {
let createBy = this.priceData.CreateBy;
if (createBy == undefined || createBy == 0) {
let userInfo = this.getLocalStorage();
createBy = userInfo.EmployeeId;
}
let msg = {
QFlightDateStart: this.QFlightDateStart,
QFlightDateEnd: this.QFlightDateEnd,
CreateBy: createBy,
AirTicketId: this.priceData.AirTicketId,
TCID: this.priceData.TCID
};
compareDay(day) { let that = this;
var _string = this.getDayStr(day); this.apipost(
if (_string == this.chooseDay) { "TravelAirTicket_Get_GetSelfPurchaseList",
return true; msg,
res => {
if (res.data.resultCode == 1) {
let resultFilghtList = res.data.data;
that.selectFilghtList = [];
resultFilghtList.forEach(x => {
that.selectFilghtList.push(x);
});
//通过返回数据初始化下拉选中
that.FinfoList = [];
if (that.priceData.AirticketBindList != null) {
that.priceData.AirticketBindList.forEach(x => {
that.selectFilghtList.forEach(y => {
if (x.PurchaseId == y.Id && x.BindNum > 0) {
y.IsSelected = true;
y.BindNum = x.BindNum;
that.FinfoList.push({
name: y.AlName,
date: y.FlightDate
});
}
});
});
}
that.$forceUpdate();
} else { } else {
return false; this.$message({
type: "error",
message: res.data.message
});
} }
}, },
err => {}
);
},
validateForm() { validateForm() {
//表单验证 //表单验证
let flag = true; let flag = true;
...@@ -1178,7 +1523,7 @@ ...@@ -1178,7 +1523,7 @@
this.returnPriceList == undefined || this.returnPriceList == undefined ||
this.returnPriceList.length === 0 this.returnPriceList.length === 0
) { ) {
this.Error(this.$t('sm.qxztuanqi')); this.Error("请选择团期");
flag = false; flag = false;
} }
if (flag) { if (flag) {
...@@ -1233,14 +1578,24 @@ ...@@ -1233,14 +1578,24 @@
return _string; return _string;
}, },
setDisDirectFlight(obj) { setDisDirectFlight(obj) {
if (this.CurrentUserInfo.UseFlightType == 0) {
if (obj.priceFlight && obj.priceFlight.length > 0) {
this.priceData.PriceFlight = JSON.parse(JSON.stringify(obj.priceFlight)); this.priceData.PriceFlight = JSON.parse(JSON.stringify(obj.priceFlight));
}
} else {
if (obj.priceFlight && obj.priceFlight.length > 0) {
this.priceData.SelfPriceFlight = JSON.parse(JSON.stringify(obj.priceFlight));
}
}
if (obj.DeleteAirticketIdArray && obj.DeleteAirticketIdArray.length > 0) {
this.priceData.DeleteAirticketIds = obj.DeleteAirticketIdArray.join(','); this.priceData.DeleteAirticketIds = obj.DeleteAirticketIdArray.join(',');
}
}, },
//删除标签 //删除标签
delDateList(item) { delDateList(item) {
var StartDateStr = item.StartDate; var StartDateStr = item.StartDate;
var that = this; var that = this;
that.Confirm(this.$t('sm.sfdeletenothf'), function () { that.Confirm("是否删除?删除后不能恢复!", function () {
if (item.TCID > 0) { if (item.TCID > 0) {
that.apipost( that.apipost(
"travel_post_RemoveTravelPrice", { "travel_post_RemoveTravelPrice", {
...@@ -1260,17 +1615,6 @@ ...@@ -1260,17 +1615,6 @@
} }
}); });
}, },
uploadFileBtn(file) { //上传
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => {
this.priceData.PriceOfferUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.priceData.PriceOfferName = x.data.SourceFileName;
this.Success(this.$t('tips.scchenggong'))
});
},
//删除团期 //删除团期
deletePrice(StartDateStr) { deletePrice(StartDateStr) {
this.days.forEach(dayItem => { this.days.forEach(dayItem => {
...@@ -1302,7 +1646,7 @@ ...@@ -1302,7 +1646,7 @@
}); });
item.Checked = true; item.Checked = true;
this.priceData = item; this.priceData = item;
this.queryPriceOffer(item.StartDate); this.initFlightData();
}, },
//左移动获取展示的团期 //左移动获取展示的团期
priceLeftMove() { priceLeftMove() {
...@@ -1361,51 +1705,321 @@ ...@@ -1361,51 +1705,321 @@
this.standardCurrencyName = '' this.standardCurrencyName = ''
} }
}, },
//出团公司
getCompanyList() { getCompanyList() {
//出团公司
this.apipost( this.apipost(
"sellorder_post_GetBranchList", {}, "sellorder_post_GetBranchList", {},
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.companyList = res.data.data; this.companyList = res.data.data;
this.getstandardCurrencyName() this.getstandardCurrencyName()
this.$forceUpdate()
} }
}, },
err => {} err => {}
); );
}, },
//获取所有小包团 //选中航班选择框
getAllTeamTips() { getSelect(item) {
if (this.PostConfig.LineId == 14 && item.DayNum != this.PostConfig.DayNum) {
this.Error("团期行程天数和机票的行程天数不一致!请重新选择!");
return;
}
item.IsSelected = !item.IsSelected;
this.FinfoList = [];
this.selectFilghtList.forEach(x => {
if (x.IsSelected) {
this.FinfoList.push({
name: x.AlName,
date: x.FlightDate
});
var isExsit = false;
this.priceData.AirticketBindList.forEach(y => {
if (x.Id == y.PurchaseId) {
isExsit = true;
y.BindNum = x.BindNum;
}
});
if (!isExsit) {
this.priceData.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 < this.priceData.AirticketBindList.length; i++) {
if (
this.priceData.AirticketBindList[i].PurchaseId === x.Id &&
flag
) {
flag = false;
this.priceData.AirticketBindList.splice(i, 1);
}
}
}
});
this.priceData.AirticketBindList.sort(
this.$commonUtils.createComprisonFunction("FlightDate")
);
},
//改变输入框的值
getFlightBindNum(fitem) {
var TotalSeat =
parseInt(this.priceData.YSeat) +
parseInt(this.priceData.CSeat) +
parseInt(this.priceData.FSeat);
if (Number(fitem.TicketNum) - Number(fitem.OtherTeamUseNum) < Number(fitem.BindNum)) {
fitem.BindNum = 0;
this.Error("最多只能绑定" + (Number(fitem.TicketNum) - Number(fitem.OtherTeamUseNum)) + "个机位");
}
this.selectFilghtList.forEach((x, index) => {
if (x.IsSelected) {
this.priceData.AirticketBindList.forEach(y => {
if (x.Id == y.PurchaseId) {
y.BindNum = x.BindNum;
}
});
}
});
},
//选中景点选择框
getScenic(item) {
item.IsChecked = !item.IsChecked;
this.initScenic();
},
//初始化景点
initScenic() {
this.ScenicList = [];
this.priceData.ScenicBackList.forEach(x => {
if (x.IsChecked) {
this.ScenicList.push(x);
}
})
},
goUrl(path, id) {
this.$router.push({
name: path,
query: {
"id": id,
blank: 'y',
tab: '票务管理'
}
})
},
//检查机位数是否超过设置的可销售数量
CheckSellTicketNum(item) {
var totalNum = 0;
if (item.YSeat && item.YSeat != '') {
totalNum += Number(item.YSeat);
}
if (item.CSeat && item.CSeat != '') {
totalNum += Number(item.CSeat);
}
if (item.FSeat && item.FSeat != '') {
totalNum += Number(item.FSeat);
}
var canSellNum = 0;
if (item.CanSellTicketNum && item.CanSellTicketNum != '') {
canSellNum = Number(item.CanSellTicketNum);
}
if (totalNum < canSellNum) {
this.Info("可销售机票数量不能超过本团机位数!")
item.CanSellTicketNum = 0;
}
},
//每一天只能选择一个酒店
changeHotelStatus(item, index) {
item.CheckList.forEach((subItem, subIndex) => {
if (subIndex != index) {
subItem.CheckStatus = false;
}
});
},
//获取选择的酒店
changeHotelList() {
this.priceData.ChooseHotelArray = [];
if (this.priceData.PriceHotelList != null && this.priceData.PriceHotelList.length > 0) {
this.priceData.PriceHotelList.forEach(x => {
var obj = {
HotelId: 0,
DayNum: 0
}
if (x.NewHotelId > 0) {
obj.HotelId = x.NewHotelId;
obj.DayNum = x.DayNum;
this.priceData.ChooseHotelArray.push(obj);
} else {
x.CheckList.forEach((y, index) => {
if (y.CheckStatus) {
obj.HotelId = x.SubList[index].HotelId;
obj.DayNum = x.SubList[index].DayNum
this.priceData.ChooseHotelArray.push(obj);
}
})
}
});
if (this.priceData.ChooseHotelArray != null && this.priceData.ChooseHotelArray.length > 0) {
this.priceData.IsNew = true;
}
}
},
//保存酒店使用情况
saveHoteluseDetail(type) {
var that = this;
var str = "是否确定提交选中的酒店?";
if (type == 2) {
str = "是否同步行程酒店到地接?";
}
this.Confirm(str, function () {
if (that.isSaved) {
that.isSaved = false;
that.$emit("saveMsg");
}
if (type == 2) {
that.btnTongBu = "同步酒店...";
} else {
that.btnText = '保存...';
}
});
},
//取消
cancelHotelUseDetail() {
this.priceData.IsNew = false;
if (this.priceData.PriceHotelList != null && this.priceData.PriceHotelList.length > 0) {
this.priceData.PriceHotelList.forEach(x => {
x.NewHotelId = 0;
});
}
this.outerVisible = false;
},
//关闭弹窗方法
closeHotelDialog() {
this.outerVisible = false;
},
//保存完成初始化
initStatus() {
this.isSaved = true;
this.btnText = '保存';
this.btnTongBu = "同步酒店";
},
//获取酒店信息
getHotelList(item, event) {
if (event) {
var msg = {
Country: 651,
sDate: item.UseDay,
IsMoreThanZero: 1
};
this.apipost(
"hotel_post_GetHasStockHotelListExt", msg,
res => {
if (res.data.resultCode == 1) {
item.HotelList = res.data.data;
}
},
err => {}
);
}
},
//获取少价信息
getLessPriceInfo() {
let msg = { let msg = {
name: 'theme', RB_Branch_id: this.priceData.OutBranchId,
code: '1' LineID: this.PostConfig.LineId,
LineTeamId: this.PostConfig.LineteamId
} }
this.apipost("travel_get_GetTravelPriceTag", msg, res => { this.apipost("sell_get_GetNewTCIDLessprice", msg, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.teamTips = res.data.data; this.lessPriceData = res.data.data;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {});
}, },
err => {}
);
}, },
created() { //删除占用的酒店库存信息
if (this.TeamType == 1) { DeleteStock(item) {
let userInfo = this.getLocalStorage(); var that = this;
this.priceData.OutBranchId = userInfo.RB_Branch_id; this.Confirm("是否此酒店库存信息?", function () {
this.userID = userInfo.EmployeeId; let delMsg = {
this.priceData.SaleBranchIdArray.push(userInfo.RB_Branch_id); hotelId: item.SubList[0].HotelId,
TCID: item.TCID,
useTime: item.SubList[0].JourneyDate
};
that.apipost("hoteluse_post_DeleteHotelUse", delMsg, res => {
if (res.data.resultCode == 1) {
that.Success("操作成功!");
item.SubList[0].UseCount = 0;
} else {
that.Error(res.data.message);
}
},
err => {}
);
});
},
//根据日期返回星期几
getDayByDate(dateString) {
if (dateString) {
var date;
var dateArray = dateString.split("-");
date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);
return "日一二三四五六".charAt(date.getDay());
}
},
//获取团队类型
getTeamList() {
this.apipost("travel_get_GetTravelPriceTeamTypeList", {}, res => {
if (res.data.resultCode == 1) {
this.TeamListArr = res.data.data;
// 屏蔽单项服务
this.TeamListArr.splice(-1)
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
uploadFileBtn(file) { //上传
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => {
this.priceData.PriceOfferUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.priceData.PriceOfferName = x.data.SourceFileName;
this.Success(this.$t('tips.scchenggong'))
});
},
//获取车辆列表
getBusList() {
this.apipost("bus_get_GetBusTypePriceList", {
IsHaveBusNum: 1
}, res => {
if (res.data.resultCode == 1) {
this.busPriceList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
} }
}, },
mounted() { mounted() {
var dateObj = this.$calendarUtils.getCurrentDate(); var dateObj = this.$calendarUtils.getCurrentDate();
this.currentYear = dateObj.CurrentYear; this.currentYear = dateObj.CurrentYear;
this.currentMonth = dateObj.CurrentMonth; this.currentMonth = dateObj.CurrentMonth;
this.queryFlightAir();
this.initCalendar(); this.initCalendar();
this.getCompanyList(); this.getCompanyList();
this.getAllTeamTips(); this.getTravelSupplier();
this.getTeamList();
this.getBusList();
}, },
watch: { watch: {
priceList: { priceList: {
...@@ -1432,6 +2046,8 @@ ...@@ -1432,6 +2046,8 @@
this.priceData = this.returnPriceList[index]; this.priceData = this.returnPriceList[index];
x["Checked"] = true; x["Checked"] = true;
this.chooseDay = this.priceData.StartDate; this.chooseDay = this.priceData.StartDate;
this.initFlightData();
this.initScenic();
} else { } else {
x["Checked"] = false; x["Checked"] = false;
} }
...@@ -1441,15 +2057,11 @@ ...@@ -1441,15 +2057,11 @@
}, },
deep: true deep: true
}, },
priceData: {
handler: function (val, oldVal) {},
deep: true
},
returnPriceList: { returnPriceList: {
//深度监听,可监听到对象、数组的变化 //深度监听,可监听到对象、数组的变化
handler: function (val, oldVal) { handler: function (val, oldVal) {
this.initShowPriceList(); this.initShowPriceList();
this.$emit("headCallBack", this.returnPriceList, this.priceData.OutGroupTyp); this.$emit("headCallBack", this.returnPriceList, this.priceData.OutGroupType);
}, },
deep: true deep: true
}, },
...@@ -1468,21 +2080,12 @@ ...@@ -1468,21 +2080,12 @@
this.initCalendar(); this.initCalendar();
}, },
deep: true deep: true
},
//监听行程数据变化
PostDaysTrip: {
handler: function (val, oldVal) {
// 行程天数
if (oldVal === "")
return;
this.queryPriceOffer();
this.queryFlightAir();
},
deep: true
} }
}, },
components: { components: {
TravelPriceFlightList: TravelPriceFlightList TravelPriceFlightList: TravelPriceFlightList,
commonPHInfo: commonPHlInfo,
TravelPriceFlightListSelf: TravelPriceFlightList_Self,
} }
}; };
......
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