Commit 595da6dc authored by 沈良进's avatar 沈良进

页面修改

parent 3d07f47d
......@@ -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;
......@@ -366,6 +426,7 @@
this.msg,
res => {
this.QueryMsg.loading = false;
console.log("res", res.data);
if (res.data.resultCode == 1) {
this.msg.total = res.data.data.count;
this.QueryMsg.dataList = res.data.data.pageData;
......@@ -376,6 +437,7 @@
} else {
item.Sex = "女";
}
item.checkAirticketOut = false;
});
if (this.isShowGuoji) {
this.QueryMsg.dataList.forEach(x => {
......@@ -402,7 +464,7 @@
} else {
this.Error(res.data.message);
}
}, err => {});
});
this.outerVisible = true;
},
//获取联运团信息
......@@ -475,7 +537,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 +557,6 @@
fileName = fileName + ".xls";
this.GetLocalFile("travel_get_GetAirTicketGuestExport", msg, fileName);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
......@@ -564,7 +623,7 @@
name: 'ChoiceAddFinancialDocuments',
query: {
"Type": 2,
"portTypeId":1,
"portTypeId": 1,
"path": "",
'blank': 'y',
'orderObj': JSON.stringify(orderObj)
......@@ -583,7 +642,8 @@
x[y] = false
})
}
}
},
},
mounted() {
this.QueryMsg.AirTicketId = this.$route.query.id;
......
......@@ -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.TicketOutTypeStr==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;
......
......@@ -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>
......
......@@ -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,
}
};
......
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