Commit 9079f8f6 authored by zhengke's avatar zhengke

修改

parent 8013adc4
<style>
.HotelWorkList .has-gutter tr th,
.el-table th.is-leaf {
background-color: #EAEAEA !important;
}
.HotelWorkList .HW_hotelDialog {
width: 900px;
}
.HotelWorkList .Hw_tableOne {
width: 100%;
height: 40px;
background-color: #EAEAEA;
}
.HotelWorkList .Hw_tableOne th {
text-align: center;
}
.HotelWorkList .HotelWorkInput .el-input{
width:223px;
}
.HotelWorkList .HworkInput .el-input{
width:110px;
}
</style>
<template> <template>
<div class="HotelWorkList"> <div>
<div class="query-box HotelWorkInput" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul>
<li> <li>
<span> <span>
<em>{{$t('system.quety_area')}}</em> <em>{{$t('Operation.Op_Country')}}/{{$t('system.query_dest')}}</em>
<el-select v-model="msg.Province" filterable class="w110 HworkInput" @change="getProvinceList(msg.Province,2)" <el-select v-model="msg.PlaceID" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList()">
:placeholder="$t('hotel.hotel_province')"> <el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option :key="0" :value="0" label="请选择"></el-option> <el-option v-for="item in queryCommonData.PlaceList" :label="item.PlaceName" :value="item.PlaceID"
<el-option v-for="item in provinceList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> :key="item.LtID"></el-option>
</el-select>
<el-select v-model="msg.City" filterable class="w110 HworkInput" :placeholder="$t('hotel.hotel_city')">
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li style="display:none;"> <li>
<span><em>{{$t('admin.admin_company')}}</em> <span>
<el-select filterable v-model='msg.OutBranchId' :placeholder="$t('pub.unlimitedSel')"> <em>系列</em>
<el-option :label="$t('pub.unlimitedSel')" :value='-1'></el-option> <el-select v-model="msg.LineteamId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in companyList' :label='item.BName' :value='item.Id' :key="item.Id"> <el-option label="不限" :value='0'></el-option>
<el-option v-for="item in queryCommonData.LineTeamList" :label='item.LtName' :value='item.LtID'
:key='item.LtID'>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>星级</em> <em>团号</em>
<el-select v-model="msg.Star" :placeholder="$t('pub.pleaseSel')"> <el-input v-model='msg.TCNUM'></el-input>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option> </span>
<el-option label="3星或商务" :value='3'></el-option> </li>
<el-option label="4星" :value='4'></el-option> <li><span><em>日期</em>
<el-option label="5星" :value='5'></el-option> <el-date-picker v-model='msg.StartDate' class='w135' value-format="yyyy-MM-dd" type="date"
:picker-options="pickerBeginDateBefore"></el-date-picker>
-
<el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"
:picker-options="pickerBeginDateAfter"></el-date-picker>
</span>
</li>
<li><span>
<em>状态</em>
<el-select v-model='msg.PriceStatus'>
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="team in $tripUtils.TeamStatesList.TeamStates" :label="team.Name" :key="team.Id"
:value="team.Id" v-if="team.Id==1 || team.Id==3"></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>价格区间</em> <em>航空公司</em>
<el-select v-model="msg.PriceLevel" :placeholder="$t('pub.pleaseSel')"> <el-select v-model="msg.AirLineId" filterable :placeholder="$t('system.ph_buxian')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option> <el-option :label="$t('system.ph_buxian')" :value="0">
<el-option label="5000以下" :value='1'></el-option> </el-option>
<el-option label="5000~6000" :value='2'></el-option> <el-option v-for="item in queryCommonData.AirlineList" :key="item.AirLineId" :label="item.AlName"
<el-option label="6000~7000" :value='3'></el-option> :value="item.AirLineId"></el-option>
<el-option label="7000~8000" :value='4'></el-option>
<el-option label="8000~9000" :value='5'></el-option>
<el-option label="9000~10000" :value='6'></el-option>
<el-option label="10000以上" :value='7'></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>时间</em> <em>OP</em>
<el-date-picker v-model="msg.YearMonthStr" type="month" value-format="yyyy-MM" placeholder="选择月"> <el-select v-model="msg.CreateBy" filterable :placeholder="$t('pub.pleaseSel')">
</el-date-picker> <el-option :label="$t('pub.unlimitedSel')" :value="0">
</el-option>
<el-option v-for="item in queryCommonData.EmployeeList" :label="item.EmName" :value="item.EmployeeId"
:key="item.EmployeeId"></el-option>
</el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>供应商</em> <em>地接团号</em>
<el-select v-model="msg.Supplier" placeholder="请选择"> <el-input v-model='msg.CombinationNum'></el-input>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option> </span>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID"> </li>
<li>
<span>
<em>出团公司</em>
<el-select v-model="msg.OutBranchIds" filterable multiple class="multiple_input"
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in queryCommonData.BranchList" :label='item.BName' :value='item.Id' :key='item.Id'>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>酒店</em> <em>酒店状态</em>
<el-select v-model="msg.HotelChooseArray" :placeholder="$t('pub.pleaseSel')" class="multiple_input w300" <el-select v-model="msg.HotelStatus" :placeholder="$t('pub.pleaseSel')" filterable>
filterable multiple :multiple-limit="3"> <el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> <el-option label="全部OK" :value='100'></el-option>
<el-option label="暂定一晚" :value='1'></el-option>
<el-option label="暂定两晚" :value='2'></el-option>
<el-option label="暂定三晚" :value='3'></el-option>
<el-option label="暂定四晚" :value='4'></el-option>
<el-option label="暂定五晚" :value='5'></el-option>
<el-option label="暂定六晚" :value='6'></el-option>
<el-option label="暂定七晚以上" :value='7'></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<input type="button" class="normalBtn" value="查询" @click="getList()" /> <input type="button" class="normalBtn" value="查询" @click="getList();resetPageIndex()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotelWork()" />
</li> </li>
</ul> </ul>
</div> </div>
<div class="hotelProductManage2_tableBox" style="margin-bottom: 20px;"> <div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " class="ownScrollbarStyle"
<span style="color:#FFFFFF; background-color:green ; padding: 2px 4px; border-radius: 5px;">OK</span> :style="{height: boxHeight + 'px'}">
<span style="color:#FFFFFF; background-color:#3333CC; padding: 2px 4px; border-radius: 5px;">暂定</span> <table border="0" cellspacing="1" cellpadding="0" class="roomReservationsTalbe" v-loading='loading' style="width:100%;">
<span style="color:#FFFFFF; background-color:red; padding: 2px 4px; border-radius: 5px;">未操作</span>
<span style="color:#FFFFFF; background-color:#000; padding: 2px 4px; border-radius: 5px;">无库存</span>
</div>
<template v-if="isShow">
<el-table :data="dataList" style="width:100%" border v-loading='loading' height="700">
<el-table-column fixed label="酒店名称" min-width="180" style="background:#EAEAEA">
<template slot-scope="scope">
<div style="text-decoration: underline;cursor:pointer" @click="GotoHotel(scope.row.Hotel)">
{{scope.row.HotelName}}
</div>
</template>
</el-table-column>
<el-table-column v-for='(item,index) in dataList[0].DayList' :label="item.DateStr" :key='index' min-width="150">
<template slot-scope="scope">
<template v-if="scope.row.DayList[index].IsHaveStock==0">
<div style="background-color:#000!important;width:50px;height:100%;margin:0,padding:0;color:#FFFFFF">无库存
</div>
</template>
<template v-else>
<template
v-if="scope.row.DayList[index].HotelJourneyOrderList&&scope.row.DayList[index].HotelJourneyOrderList.length>0">
<template v-for="(childItem,childIndex) in scope.row.DayList[index].HotelJourneyOrderList">
<div :title="childItem.TCID+'【OK】'" v-if="childItem.DMCState==1||childItem.OPState==1"
slot="reference" class="w80"
style="white-space:nowrap;color:green;cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,childItem.TCID)">
{{childItem.BookGroup}} </div>
</template>
</template>
<template v-else>
<div slot="reference" class="w80" style="cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,0)">设置酒店
</div>
</template>
</template>
</template>
</el-table-column>
</el-table>
<div class="noDataNotice" v-if="dataList.length==0">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
</template>
<el-dialog custom-class='HW_hotelDialog' :title="'【'+qMsg.DateStr+'】团期酒店信息列表'" :visible.sync="outerVisible" center>
<div>
团号/地接团号:&nbsp;&nbsp;&nbsp;<el-input type="text" v-model="qMsg.TCNUM" maxlength="50" class="w200"></el-input>
<input type="button" class="normalBtn" value="查询" @click="GetChangeHotelList()" />
</div>
<table class="Hw_tableOne" style="margin-top:20px;">
<tr> <tr>
<th width="60"> <th width="120">序号</th>
选择 <th width="80">出发地</th>
</th> <th width="90">航班时间</th>
<th width="145"> <th width="145">公司团号</th>
团号 <th width="100">机位总数<br />(Y/E/F)</th>
</th> <th width="80">占床<br />不占床</th>
<th width="150"> <th width="120">酒店名称</th>
地接团号 <th width="120">更换酒店</th>
</th> <th width="100">OP状态</th>
<th width="125"> <th width="100">地接状态</th>
酒店 <th width="150">操作</th>
</th> <!-- <th width="150">房间预订数<br />单间/标准双人间/大床房/三人间/司导间</th> -->
<th width="125"> </tr>
更换酒店 <tr v-if="DataList.length==0">
</th> <td colspan="14">暂无数据</td>
<th width="80"> </tr>
OP状态 <template v-for="(outItem,outindex) in DataList">
</th> <tbody :class="{roomReservationsSplitTrCss:outindex%2!=0}">
<th width="90"> <template v-for="(item,index) in outItem.StaticsReportList">
地接状态 <template v-for="(subItem,subIndex) in item.CommonReport.HotelOrderListReport"
</th> v-if="subItem.HotelOrderList.length>0">
<th width="90"> <template v-for="(thirdItem,thirdIndex) in subItem.HotelOrderList">
操作 <tr>
</th> <td
:rowspan="outItem.rootRowspan"
v-if='index==0&&subIndex==0&&thirdIndex==0'>
{{outItem.NewCombinationNum}}
</td>
<td :rowspan="item.itemRowSpan"
v-if='subIndex==0&&thirdIndex==0'>
{{item.StartCityNames}}
</td>
<td :rowspan="item.itemRowSpan"
v-if='subIndex==0&&thirdIndex==0'>
<div class="w150">
{{item.FlightDate}}
<el-popover popper-class="roomReservations_tripDetails" width="550" trigger="click">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align:center;">
<th width="60">{{$t('Airticket.Air_segment')}}</th>
<th width="80">{{$t('system.query_flightNum')}}</th>
<th width="150">起飞时间</th>
<th width="80">到达时间</th>
<th width="100">经停城市</th>
</tr>
<tr v-for="(ds,din) in item.FlightList" :key="din" style="text-align:center;">
<td class="_d_name _color_666">
<span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
<span
v-else-if="din==item.FlightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
<span
v-else-if="din>0 && din!=item.FlightList.length-1">{{$t('Airticket.Air_transit')}}</span>
</td>
<td>
<div>{{ds.Flight_number}}</div>
<div style="margin-top:5px;">{{ds.AlName}}</div>
</td>
<td>
<div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
<div style="margin-top:5px;">{{ds.dName}}</div>
</td>
<td>
<div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
<div style="margin-top:5px;">{{ds.aName}}</div>
</td>
<td>{{ds.StopoverName}}</td>
</tr> </tr>
</table> </table>
<div style="height:400px;overflow:auto;border-bottom:1px solid #d1d1d1;border-left:1px solid #d1d1d1;" <el-button slot="reference" class="normalBtn mt5"
v-loading="changeLoading"> style='height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'>详情
<table style="width:100%;"> </el-button>
<tr v-for="(hItem,hIndex) in MyDataList"> </el-popover>
<td style="text-align:center;" width="60"> </div>
<el-checkbox :checked="hItem.IsChecked" @change="ChangeStatus(hItem)"></el-checkbox>
</td> </td>
<td style="text-align:center;" width="145"> <td :rowspan="item.itemRowSpan"
{{hItem.TCNUM}}<br />({{hItem.TCID}}) v-if='subIndex==0&&thirdIndex==0'>
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')"
style="cursor:pointer;text-decoration:underline;">
{{item.TCNUMS}}({{item.TCIDS}})
</p>
</td> </td>
<td style="text-align:center;" width="150"> <td :rowspan="item.itemRowSpan"
{{hItem.DMCNum}} v-if='subIndex==0&&thirdIndex==0'>
<p @click="goUrlT('RegistrationList',item.TCIDS,'报名清单')"
style="cursor:pointer;text-decoration:underline;">
{{item.TotalSeat}}/{{item.CommonReport.HouseStatistics.RealityYSeatNum}}/{{item.CommonReport.HouseStatistics.RealityESeatNum}}/{{item.CommonReport.HouseStatistics.RealityFSeatNum}}
</p>
</td> </td>
<td style="text-align:left;" width="125"> <td :rowspan="item.itemRowSpan"
{{hItem.OldHotelName}} v-if='subIndex==0&&thirdIndex==0'>
<p @click="goUrlT('passengerHouse',item.TCIDS,'房间分配')"
style="cursor:pointer;text-decoration:underline;">
{{item.CommonReport.HouseStatistics.NeedBed}}/{{item.CommonReport.HouseStatistics.NoNeedBed}}
</p>
</td> </td>
<td style="text-align:left;" width="125"> <td style="text-align:left;padding-left:2px;">
{{hItem.NewHotelName}} <template v-if="thirdItem.HotelName!=thirdItem.NewHotelName && thirdItem.NewHotelName!=''">
<span style="text-decoration:line-through"> {{thirdItem.HotelName}}</span>
</template>
<template v-else>
{{thirdItem.HotelName}}
</template>
</td>
<td style="text-align:left;padding-left:2px;">
<template v-if="thirdItem.HotelName!=thirdItem.NewHotelName">
<span style="color:red;">{{thirdItem.NewHotelName}}</span>
</template>
</td> </td>
<td style="text-align:center;" width="80"> <td>
<template v-if="hItem.OPState==1"> <template v-if="thirdItem.OPState==1">
<a style="color:green">OP-指定</a> <span style="color: green;">OP-指定</span>
</template> </template>
<template v-else-if="hItem.OPState==2"> <template v-else-if="thirdItem.OPState==2">
<a style="color:red">OP-暂定</a> <span style="color:red;">OP-暂定</span>
</template> </template>
</td> </td>
<td style="text-align:center;" width="90"> <td>
<template v-if="hItem.DMCState==1"> <template v-if="thirdItem.DMCState==1">
<a style="color:green">地接-OK</a> <span style="color: green;">地接-OK</span>
</template> </template>
<template v-else-if="hItem.DMCState==2"> <template v-else-if="thirdItem.DMCState==2">
<a style="color:red">地接-暂定</a> <span style="color:red;">地接-暂定</span>
</template> </template>
<template v-else-if="hItem.DMCState==0"> <template v-else-if="thirdItem.DMCState==0">
<a style="color:red">地接-未操作</a> <span style="color:red;">地接-未操作</span>
</template> </template>
</td> </td>
<td style="text-align:center;" width="90"> <td>
<a style="text-decoration:underline;color:blue;cursor:pointer;" @click="DelItem(hItem)">删除</a>
<el-popover placement="right" width="540" trigger="click" v-model="subItem.isShowPop">
<comCheckHotel :ref="'comCheckHotel'+index+subIndex+''"
:UseDate="subItem.UseTimeStr">
</comCheckHotel>
<el-button size="small" type="danger" :data-index="'comCheckHotel'+index+subIndex+''"
slot="reference" style="cursor:pointer;"
@click="getChildHotel(index,subIndex),subItem.isShowPop=true">
酒店选择
</el-button>
</el-popover>
</td> </td>
</tr> </tr>
</template>
</template>
</template>
</tbody>
</template>
</table> </table>
</div> </div>
<div style="text-align:center;margin-top:20px;"> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
<input type="button" class="normalBtn" value="保存" @click="SaveHotelOrder()" /> layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination>
<input type="button" class="normalBtn" value="关闭" @click="CloseHotel()" />
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import commonHotelWork from "../../commonPage/commonHotelWork.vue"; import comCheckHotel from "../../commonPage/comCheckHotel.vue";
export default { export default {
data() { data() {
return { return {
//查询条件 loading: false,
currentPage: 1,
total: 0,
msg: { msg: {
YearMonthStr: "", pageIndex: 1,
CountryId: 651, //只查询日本 pageSize: 5,
//酒店选择数组 SelectType: 1,
HotelChooseArray: [], StartDate: '',
Province: 0, //省份编号 EndDate: '',
City: 0, //城市编号 //酒店编号
OutBranchId: -1, //出团公司编号
//星级
Star: 0,
//价格等级
PriceLevel: 0,
//供应商
Supplier: 0,
},
qMsg: {
DateStr: "",
HotelId: 0, HotelId: 0,
TCID: 0, //日期
TCNUM: "", //团号 DateStr: "",
}, //团查询条件 //出团公司
defaultSelectValue: 0, OutBranchIds: [],
dataList: [], LineId: 14,
loading: false, PlaceID: 0,
isShow: false, LineteamId: 0,
changeLoading: false, //改变酒店loading //航空公司
MyDataList: [], //获取可变更的酒店列表 AirLineId: 0,
outerVisible: false, CreateBy: 0,
//省份列表 TCNUM: '',
provinceList: [], PriceStatus: 0,
//城市列表 CombinationNum: '',
cityList: [], HotelStatus: 0
//供应商列表 },
SupplierList: [], DataList: [], //数据列表
//公司列表 boxHeight: 0,
companyList: [], queryCommonData: {
//酒店列表 //公司数据
HotelList: [], BranchList: [],
}; //国家
PlaceList: [],
LineList: [],
LineTeamList: [],
AirlineList: [],
EmployeeList: [],
},
findex: 0,
childIndex: 0,
pickerBeginDateBefore: {
disabledDate: time => {
if (this.msg.EndDate == null) {
return false;
} else {
let endTime = new Date(this.msg.EndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartDate)
return startTime.getTime() >= time.getTime()
}
}
}
}, },
components: { components: {
commonHotelWork comCheckHotel
}, },
methods: { methods: {
GotoHotel(HotelId) { goUrlR(path, obj, title) {
this.$router.push({ this.$router.push({
path: "HotelManagement", name: path,
query: { query: {
ID: HotelId, "ID": obj,
tab: "酒店查询",
blank: 'y', blank: 'y',
tab: title
} }
}); })
}, },
ChangeStatus(item) { goUrlT(path, obj, title) {
item.IsChecked = !item.IsChecked; this.$router.push({
name: path,
query: {
"id": obj,
blank: 'y',
tab: title
}
})
}, },
CloseHotel() { goUrl(path, obj, outItem, title) {
this.outerVisible = false; this.$router.push({
this.MyDataList = []; name: path,
this.qMsg.DateStr = ""; query: {
this.qMsg.HotelId = 0; "id": obj.TCIDS,
this.qMsg.TCID = 0; 'TCNUM': obj.TCNUMS,
this.qMsg.TCNUM = ""; 'flightTotal': obj.TotalSeat,
'GuestNum': obj.CommonReport.HouseStatistics.RealityNum,
'NewCombinationNum': outItem.NewCombinationNum,
'LeaderName':obj.LeaderName,
'GuideName':obj.GuideName,
blank: 'y',
tab: title
}
})
}, },
GetClickItem(DateStr, HotelId, TCID) { handleCurrentChange(val) {
this.qMsg.DateStr = DateStr; this.msg.pageIndex = val;
this.qMsg.HotelId = HotelId; this.getList();
this.qMsg.TCID = TCID;
this.qMsg.TCNUM = "";
this.GetChangeHotelList();
}, },
//获取可以改变的酒店列表 resetPageIndex() {
GetChangeHotelList() { this.msg.pageIndex = 1;
this.changeLoading = true; this.currentPage = 1;
this.MyDataList = []; },
var that = this; getList() {
this.apipost("journeyorder_post_GetCanChangeHotelListService", this.qMsg, this.loading = true;
res => { this.apipost('dmcstatistics_post_GetUniteCombinationNumService', this.msg, res => {
that.changeLoading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
var nArray = res.data.data; this.total = res.data.data.count;
nArray.forEach(item => { var sourceData = res.data.data.pageData.data;
if (item.TCID == this.qMsg.TCID) { if (sourceData) {
item.IsChecked = true; sourceData.forEach(rootItem => {
} var rootRowspan = 0; //合团跨行
rootItem.StaticsReportList.forEach(subItem => {
var itemRowSpan = 0; //酒店跨行
subItem.CommonReport.HotelOrderListReport.forEach(thirdItem => {
thirdItem.HotelOrderList.forEach(lastItem => {
rootRowspan++;
itemRowSpan++;
}); });
that.MyDataList = nArray; thirdItem.isShowPop = false;
} else { });
that.Error(res.data.message); subItem.itemRowSpan = itemRowSpan;
} });
}, rootItem.rootRowspan = rootRowspan;
err => {}
);
},
//保存酒店订单
SaveHotelOrder() {
var that = this;
that.Confirm("是否要替换选中的酒店?", function () {
var newList = [];
if (that.MyDataList && that.MyDataList.length > 0) {
that.MyDataList.forEach(item => {
if (item.IsChecked) {
var Nitem = JSON.parse(JSON.stringify(item));
Nitem.NewHotelID = that.qMsg.HotelId;
newList.push(Nitem);
}
}); });
} }
if (newList && newList.length > 0) { this.DataList = sourceData;
that.apipost("journeyorder_post_SaveWorkHotelOrderService", newList, this.$forceUpdate()
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
that.CloseHotel();
} else { } else {
that.Error(res.data.message); this.Error(res.data.message)
} }
}, err => {})
}, },
err => {} getLineList() {
); this.apipost("line_post_GetAllList", {}, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
this.queryCommonData.PlaceList = []
this.queryCommonData.LineTeamList = []
} else { } else {
that.Info("请选择团期!"); this.Error(res.data.message);
} }
}); });
}, },
//删除酒店
DelItem(hItem) { getChildHotel(index, subIndex) {
var that = this; this.findex = index;
this.Confirm("是否删除?删除后将不能恢复!", function () { this.childIndex = subIndex;
that.apipost('dmcstatistics_post_DeleteHotelOrder', { let str = `comCheckHotel${index}${subIndex}`
ID: hItem.ID, this.$refs[str][0].getCheckHotel();
TCID: hItem.TCID },
}, res => {
//获取目的地列表
getLinePlaceList() {
this.msg.PlaceID = 0;
this.msg.LineteamId = 0;
let msg = {
lineID: this.msg.LineId,
}
this.apipost('team_post_GetLinePlace', msg, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
that.Success(res.data.message); this.queryCommonData.PlaceList = res.data.data
that.getList(); this.queryCommonData.LineTeamList = []
that.GetChangeHotelList();
} else {
that.Error(res.data.message);
} }
}, err => {}) })
});
}, },
getList() { //获取系列列表
this.loading = true; getLineTeamList() {
this.isShow = false; this.msg.LineteamId = 0
this.dataList = []; let msg = {
if (this.msg.YearMonthStr == "") { lineID: this.msg.LineId,
this.msg.YearMonthStr = new Date().Format("yyyy-MM"); placeID: this.msg.PlaceID,
isTOOP: 1
} }
this.apipost("hotel_post_GetHotelWorkListService", this.msg, this.apipost('team_post_GetList', msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineTeamList = res.data.data
}
})
},
//获取航空公司
getAirlineList() {
this.apipost(
'airline_post_GetList', {},
res => { res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.dataList = res.data.data; this.queryCommonData.AirlineList = res.data.data
this.isShow = true;
} else {
this.Error(res.data.message);
} }
}, },
err => {} err => {}
); )
}, },
getProvinceList(ID, type) { //根据当前员工所在部门获取该部门及子部门员工信息
//根据省份获取城市 getEmployeeList() {
let userInfo = this.getLocalStorage()
let msg = { let msg = {
Id: ID GroupId: userInfo.RB_Group_id,
}; BranchId: '-1',
if (type == 1) { DepartmentId: '-1',
this.msg.Province = 0; PostId: '-1',
this.msg.City = 0; IsLeave: '0'
this.provinceList = [];
this.cityList = [];
} else if (type == 2) {
this.msg.City = 0;
this.cityList = [];
} }
this.apipost( this.apipost(
"dict_post_Destination_GetChildList", 'admin_get_EmployeeGetList', {},
msg,
res => { res => {
if (type == 1) { if (res.data.resultCode == 1) {
this.provinceList = res.data.data; this.queryCommonData.EmployeeList = res.data.data
} else if (type == 2) {
this.cityList = res.data.data;
} }
}, },
err => {} err => {}
); )
}, },
// 获取供应商 //初始化公司
initSupplier() { getCompanyList() {
this.apipost("supplier_post_GetAllList", { let userInfo = this.getLocalStorage()
Type: 1 var RB_Group_id = userInfo.RB_Group_id
}, res => { let msg = {
if (res.data.resultCode === 1) {
this.SupplierList = res.data.data;
}
}, err => {});
},
getBranchList() {
this.apipost('admin_get_BranchGetList', {
RB_Group_Id: '2',
Status: 0, Status: 0,
}, res => { is_show: 0,
if (res.data.resultCode == 1) { RB_Group_Id: RB_Group_id
this.companyList = res.data.data;
} }
}, err => {})
},
//获取酒店列表
GetHotelList() {
this.apipost( this.apipost(
"hotel_post_GetHasStockHotelList", { 'admin_get_BranchGetList',
Country: 651, msg,
IsMoreThanZero: 1
},
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.HotelList = res.data.data; this.queryCommonData.BranchList = res.data.data;
} }
}, },
err => {} err => {}
); )
},
//Excel下载
DownLoadHotelWork() {
this.loading = true;
let qMsg = {
queryMsg: this.msg,
uid: this.getLocalStorage().EmployeeId
};
let fileName = "酒店工作表" + this.$commonUtils.getCurrentDate() + ".xls";
this.GetLocalFile("hotel_get_downloadHotelWork", qMsg, fileName,
res => {
this.loading = false;
});
}, },
}, },
mounted() { mounted() {
this.GetHotelList(); let myDate = new Date();
this.msg.YearMonthStr = new Date().Format("yyyy-MM"); let nowDate =
// this.msg.YearMonthStr="2019-10"; myDate.getFullYear() +
// this.msg.HotelChooseArray=[1489]; "-" +
this.getProvinceList(651, 1); parseInt(myDate.getMonth() + 1) +
//this.getBranchList(); "-" +
this.initSupplier(); myDate.getDate();
if (this.$route.query.hotelId) {
this.msg.HotelId = this.$route.query.hotelId;
}
if (this.$route.query.dateStr) {
this.msg.DateStr = this.$route.query.dateStr;
}
if (this.$route.query.hotelId || this.$route.query.dateStr) {
this.msg.StartDate = "";
} else {
this.msg.StartDate = nowDate;
}
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 164;
this.boxHeight = height;
this.offsetwidth = width;
//this.msg.CombinationNum = "HP20190713TN07A1";
this.getLinePlaceList();
this.getAirlineList();
this.getEmployeeList();
this.getCompanyList();
this.getList(); this.getList();
}, },
}; }
</script> </script>
<style> <style>
.roomReservationsSplitTrCss td {
background: #eee !important;
}
.roomReservationsTalbe {
background: #ccc;
}
.roomReservationsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.roomReservationsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.roomReservationsTalbe tr td {
font-size: 12px;
}
.roomReservationsTalbe tr td .pDateStyle {
border-bottom: 1px solid #ccc;
min-height: 24px;
line-height: 24px;
margin-top: 0;
box-sizing: content-box;
padding: 0 10px;
}
.roomReservationsTalbe tr td .pDateStyle:last-child {
border-bottom: none;
}
.roomReservationsTalbe tr td .pDateStyle>span:after {
content: '/';
}
.roomReservationsTalbe tr td .pDateStyle>span:last-child:after {
content: ''
}
.roomReservationsTalbe tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
.roomReservationsTalbe tr td .phoverStype:hover {
text-decoration: underline;
cursor: pointer;
}
.roomReservations_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.roomReservations_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.roomReservations_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.roomReservations_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.roomReservations_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.roomReservations_tripDetails table td._d_name {
background-color: #ededed;
}
.roomReservations_tripDetails table ._color_666 {
color: #666666;
}
.roomReservations_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
</style> </style>
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