Commit 4c07b59a authored by 黄媛媛's avatar 黄媛媛
parents 150e1ce3 7ae16c1d
...@@ -173,7 +173,7 @@ export default { ...@@ -173,7 +173,7 @@ export default {
} }
</script> </script>
<style> <style>
@import "//at.alicdn.com/t/font_635492_4ra0qfyvnej.css"; @import "//at.alicdn.com/t/font_635492_qywlhd3a0cr.css";
@import "./assets/css/Semibold.css"; @import "./assets/css/Semibold.css";
@import "./assets/css/global/config.css"; @import "./assets/css/global/config.css";
@import "./assets/css/fileIcon.css"; @import "./assets/css/fileIcon.css";
......
...@@ -118,15 +118,15 @@ ...@@ -118,15 +118,15 @@
<span style="color:#FFFFFF; background-color:#000; padding: 2px 4px; border-radius: 5px;">无库存</span> <span style="color:#FFFFFF; background-color:#000; padding: 2px 4px; border-radius: 5px;">无库存</span>
</div> </div>
<template v-if="isShow"> <template v-if="isShow">
<el-table :data="dataList" style="width:100%" border v-loading='loading' height="700"> <el-table :data="dataList" style="width:100%" border v-loading='loading' :height="tableHeight">
<el-table-column fixed label="酒店名称" min-width="180" style="background:#EAEAEA"> <el-table-column fixed label="酒店名称" min-width="220" style="background:#EAEAEA">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-decoration: underline;cursor:pointer" @click="GotoHotel(scope.row.Hotel)"> <div style="text-decoration: underline;cursor:pointer" @click="GotoHotel(scope.row.Hotel)">
{{scope.row.HotelName}} {{scope.row.HotelName}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-for='(item,index) in dataList[0].DayList' :label="item.DateStr" :key='index' min-width="150"> <el-table-column v-for='(item,index) in dataList[0].DayList' :label="item.DateStr" :key='index' min-width="210">
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="scope.row.DayList[index].IsHaveStock==0"> <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 style="background-color:#000!important;width:50px;height:100%;margin:0,padding:0;color:#FFFFFF">无库存
...@@ -137,10 +137,12 @@ ...@@ -137,10 +137,12 @@
v-if="scope.row.DayList[index].HotelJourneyOrderList&&scope.row.DayList[index].HotelJourneyOrderList.length>0"> 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"> <template v-for="(childItem,childIndex) in scope.row.DayList[index].HotelJourneyOrderList">
<div :title="childItem.TCID+'【OK】'" v-if="childItem.DMCState==1||childItem.OPState==1" <div :title="childItem.TCID+'【OK】'" v-if="childItem.DMCState==1||childItem.OPState==1"
slot="reference" class="w80" slot="reference"
style="white-space:nowrap;color:green;cursor:pointer;text-decoration:underline;" style="white-space:nowrap;color:green;cursor:pointer;text-decoration:underline;display:inline-block"
@click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,childItem.TCID)"> @click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,childItem.TCID)">
{{childItem.BookGroup}} </div> {{childItem.BookGroup}}
</div>
<a style="display:inline-block;text-decoration:underline;color:red;cursor:pointer" @click="DeleteHotel(item.DateAllStr,scope.row.Hotel,childItem.TCID)">删除</a>
</template> </template>
</template> </template>
<template v-else> <template v-else>
...@@ -242,7 +244,7 @@ ...@@ -242,7 +244,7 @@
</div> </div>
</template> </template>
<script> <script>
import commonHotelWork from "../commonPage/commonHotelWork.vue";
export default { export default {
data() { data() {
return { return {
...@@ -285,11 +287,11 @@ ...@@ -285,11 +287,11 @@
companyList: [], companyList: [],
//酒店列表 //酒店列表
HotelList: [], HotelList: [],
//默认高度
tableHeight:0
}; };
}, },
components: {
commonHotelWork
},
methods: { methods: {
GotoHotel(HotelId) { GotoHotel(HotelId) {
this.$router.push({ this.$router.push({
...@@ -487,16 +489,50 @@ ...@@ -487,16 +489,50 @@
this.loading = false; this.loading = false;
}); });
}, },
com_onresize() {
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var contentsHeight = document.body.clientHeight;
var h = contentsHeight - 50 - 180 - 40;
if (h < 110) {
return;
}
//设置table的行高
this.tableHeight = h;
},
DeleteHotel(DateAllStr,Hotel,TCID)
{
var that = this;
var nMsg={
TCID:TCID,
Hotel:Hotel,
UseTime:DateAllStr
};
that.Confirm("是否要删除该酒店?", function () {
that.apipost("journeyorder_post_DeleteWorkHotelOrderService", nMsg,
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
that.Error(res.data.message);
}
},
err => {}
);
});
}
}, },
mounted() { mounted() {
this.GetHotelList(); this.GetHotelList();
this.msg.YearMonthStr = new Date().Format("yyyy-MM"); this.msg.YearMonthStr = new Date().Format("yyyy-MM");
// this.msg.YearMonthStr="2019-10";
// this.msg.HotelChooseArray=[1489];
this.getProvinceList(651, 1); this.getProvinceList(651, 1);
//this.getBranchList();
this.initSupplier(); this.initSupplier();
this.getList(); this.getList();
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
}
}, },
}; };
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<ul> <ul>
<li> <li>
<template v-if="IsOperation != 1"> <template v-if="IsOperation != 1">
<input type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)" :disabled="IsDisabled" /> <input v-if="IsEditDinner==1" type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)" :disabled="IsDisabled" />
<input type="button" class="fr normalBtn mb30" value="保存草稿" @click="saveList(0)" :disabled="IsDisabled" /> <input v-if="IsEditDinner==0" type="button" class="fr normalBtn mb30" value="保存草稿" @click="saveList(0)" :disabled="IsDisabled" />
</template> </template>
<template v-else> <template v-else>
<span style="color:red;font-size:14px;">已制单,不能在修改!</span> <span style="color:red;font-size:14px;">已制单,不能在修改!</span>
...@@ -229,6 +229,7 @@ ...@@ -229,6 +229,7 @@
export default { export default {
data() { data() {
return { return {
IsEditDinner: 0, //1有权限操作餐配
defaultSelectValue: 0, defaultSelectValue: 0,
list: [], list: [],
roomList: [], roomList: [],
...@@ -460,8 +461,19 @@ ...@@ -460,8 +461,19 @@
} }
}) })
}, },
GetAuth() {
this.apipost('dmcstatistics_get_GetGetDmcTotalTablePageAuth', {}, res => {
if (res.data.resultCode == 1) {
//this.IsDMCIsOpenHotel = res.data.data.IsDMCIsOpenHotel;
this.IsEditDinner = res.data.data.IsEditDinner;
} else {
this.$message.error(res.data.message);
}
}, err => {})
}
}, },
mounted() { mounted() {
this.GetAuth();
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.CurrentUserInfo = userInfo; this.CurrentUserInfo = userInfo;
this.TCNUM = this.$route.query.TCNUM; this.TCNUM = this.$route.query.TCNUM;
......
...@@ -526,6 +526,10 @@ ...@@ -526,6 +526,10 @@
</div> </div>
</div> </div>
<div class="TC_remarkContent"> <div class="TC_remarkContent">
<div class="clearfix TCL-redType">
<div class="TCL_remarkTitle">地接备注团号:</div>
<div class="TCL_Content"> {{item.CombinationNum}}</div>
</div>
<div class="clearfix TCL-redType"> <div class="clearfix TCL-redType">
<div class="TCL_remarkTitle">OP对外备注:</div> <div class="TCL_remarkTitle">OP对外备注:</div>
<div class="TCL_Content">{{item.OPRemark}}</div> <div class="TCL_Content">{{item.OPRemark}}</div>
......
...@@ -448,6 +448,8 @@ ...@@ -448,6 +448,8 @@
"-" + "-" +
myDate.getDate(); myDate.getDate();
this.msg.StartDate = nowDate; this.msg.StartDate = nowDate;
// this.msg.StartDate='';
// this.msg.TCNUM='NRTCA08190613A';
this.getLineList(); this.getLineList();
this.getList(); this.getList();
}, },
......
...@@ -371,8 +371,8 @@ ...@@ -371,8 +371,8 @@
parseInt(myDate.getMonth() + 1) + parseInt(myDate.getMonth() + 1) +
"-" + "-" +
myDate.getDate(); myDate.getDate();
//this.msg.StartDate = nowDate; this.msg.StartDate = nowDate;
this.msg.TCNUM="NRTMU07190702A"; //this.msg.TCNUM="NRTMU07190702A";
this.getLineList(); this.getLineList();
this.getList(); this.getList();
}, },
......
...@@ -621,9 +621,13 @@ ...@@ -621,9 +621,13 @@
</tr> </tr>
<tr> <tr>
<td>签约日期:</td> <td>签约日期:</td>
<td>{{getDate(dataList.payDate)}}</td> <td>
<span v-if="dataList.payDate">{{getDate(dataList.payDate)}}</span>
</td>
<td>签约日期:</td> <td>签约日期:</td>
<td>{{getDate(dataList.payDate)}}</td> <td>
<span v-if="dataList.payDate">{{getDate(dataList.payDate)}}</span>
</td>
</tr> </tr>
<tr> <tr>
<td>签约地点:</td> <td>签约地点:</td>
......
<style>
.HotelWorkP{
display: inline-block;
text-decoration: underline;
cursor: pointer;
}
</style>
<template> <template>
<div class="PriceHotelWorkList"> <div class="PriceHotelWorkList">
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
...@@ -37,7 +45,7 @@ ...@@ -37,7 +45,7 @@
:picker-options="pickerBeginDateAfter"></el-date-picker> :picker-options="pickerBeginDateAfter"></el-date-picker>
</span> </span>
</li> </li>
<li><span> <li style="display:none;"><span>
<em>状态</em> <em>状态</em>
<el-select v-model='msg.PriceStatus'> <el-select v-model='msg.PriceStatus'>
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option> <el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
...@@ -68,7 +76,7 @@ ...@@ -68,7 +76,7 @@
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li style="display:none;">
<span> <span>
<em>地接团号</em> <em>地接团号</em>
<el-input v-model='msg.CombinationNum'></el-input> <el-input v-model='msg.CombinationNum'></el-input>
...@@ -114,6 +122,7 @@ ...@@ -114,6 +122,7 @@
<th width="120">团号</th> <th width="120">团号</th>
<th width="80">地接团号</th> <th width="80">地接团号</th>
<th width="90">机位数</th> <th width="90">机位数</th>
<th width="90">操作人</th>
<th width="110">时间</th> <th width="110">时间</th>
<th width="120">酒店名称</th> <th width="120">酒店名称</th>
<th width="120">更换酒店</th> <th width="120">更换酒店</th>
...@@ -121,25 +130,32 @@ ...@@ -121,25 +130,32 @@
<th width="100">地接状态</th> <th width="100">地接状态</th>
<th width="150">操作</th> <th width="150">操作</th>
</tr> </tr>
<template v-for="item in DataList"> <template v-for="(item,index) in DataList">
<tbody> <tbody>
<template v-for="(subItem,subIndex) in item.HotelOrderListReports"> <template v-for="(subItem,subIndex) in item.HotelOrderListReports">
<template v-for="(childItem,childIndex) in subItem.SubList"> <template v-for="(childItem,childIndex) in subItem.SubList">
<tr> <tr>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>{{item.LtName}}</td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>{{item.TCNUM}}({{item.TCID}})</td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>{{item.DMCNum}} </td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'> <td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>
{{$t('Airticket.Air_firstClass')}}{{item.FSeat}} <div>出团公司:{{item.OutBranchName}}</div>
{{$t('Airticket.Air_businessClass')}}{{item.CSeat}} <div>{{item.LtName}}</div>
</td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>
<p class="HotelWorkP" @click="goUrlT('TravelControlList',item.TCNUM,'团控列表')">{{item.TCNUM}}({{item.TCID}})</p>
</td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>{{item.DMCNum}} </td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'
style="text-align:left; padding-left:5px;">
{{$t('Airticket.Air_firstClass')}}{{item.FSeat}} <br />
{{$t('Airticket.Air_businessClass')}}{{item.CSeat}} <br />
{{$t('Airticket.Air_EconomyClass')}}{{item.YSeat}} {{$t('Airticket.Air_EconomyClass')}}{{item.YSeat}}
</td> </td>
<td :rowspan="item.rootRowspan" v-if='subIndex==0&&childIndex==0'>{{item.OPName}} </td>
<td :rowspan="subItem.SubList.length" v-if='childIndex==0'> <td :rowspan="subItem.SubList.length" v-if='childIndex==0'>
{{childItem.JourneyDate}} {{childItem.JourneyDate}}
</td> </td>
<td> <td>
<template v-if="childItem.HotelName!=childItem.NewHotelName && childItem.NewHotelName!=''"> <template v-if="childItem.HotelName!=childItem.NewHotelName && childItem.NewHotelName!=''">
<span style="text-decoration:line-through"> {{childItem.HotelName}}</span> <span style="text-decoration:line-through;"> {{childItem.HotelName}}</span>
</template> </template>
<template v-else> <template v-else>
{{childItem.HotelName}} {{childItem.HotelName}}
...@@ -169,13 +185,16 @@ ...@@ -169,13 +185,16 @@
<span style="color:red;">地接-未操作</span> <span style="color:red;">地接-未操作</span>
</template> </template>
</td> </td>
<td> <td :rowspan="subItem.SubList.length" v-if='childIndex==0'>
<el-popover placement="right" width="540" trigger="click" v-model="subItem.isShowPop"> <el-popover placement="right" width="540" trigger="click" v-model="subItem.isShowPop">
<comCheckHotel :ref="'comCheckHotel'+subIndex+childIndex+''" :UseDate="childItem.JourneyDate"> <commonPriceHotelWork :ref="'commonPriceHotelWork_'+index+'_'+subIndex+'_'+childIndex+''"
</comCheckHotel> :DateStr="childItem.JourneyDate" :TCID="item.TCID" :DayNum="subItem.DayNum" :TCNUM="item.TCNUM"
<el-button size="small" type="danger" :data-index="'comCheckHotel'+subIndex+childIndex+''" v-on:childPriceHotel="priceHotelList">
slot="reference" style="cursor:pointer;" </commonPriceHotelWork>
@click="getChildHotel(subIndex,childIndex),subItem.isShowPop=true"> <el-button size="small" type="danger"
:data-index="'commonPriceHotelWork_'+index+'_'+subIndex+'_'+childIndex+''" slot="reference"
style="cursor:pointer;"
@click="getPriceHotel(index,subIndex,childIndex),subItem.isShowPop=true">
更换酒店 更换酒店
</el-button> </el-button>
</el-popover> </el-popover>
...@@ -184,7 +203,7 @@ ...@@ -184,7 +203,7 @@
</template> </template>
</template> </template>
<tr> <tr>
<td :colspan="10"> <td :colspan="11" style="text-align:left;padding-left:5px;">
{{item.Title}} {{item.Title}}
</td> </td>
</tr> </tr>
...@@ -197,7 +216,7 @@ ...@@ -197,7 +216,7 @@
</div> </div>
</template> </template>
<script> <script>
import comCheckHotel from "../../commonPage/comCheckHotel.vue"; import commonPriceHotelWork from "../../commonPage/commonPriceHotelWork.vue";
export default { export default {
data() { data() {
return { return {
...@@ -280,40 +299,42 @@ ...@@ -280,40 +299,42 @@
} }
}, },
components: { components: {
comCheckHotel commonPriceHotelWork
}, },
methods: { methods: {
goUrlR(path, obj, title) { //点击酒店
this.$router.push({ getPriceHotel(index, subIndex, childIndex) {
name: path, let str = `commonPriceHotelWork_${index}_${subIndex}_${childIndex}`;
query: { this.$refs[str][0].getPriceHotelCheck();
"ID": obj,
blank: 'y',
tab: title
}
})
}, },
goUrlT(path, obj, title) { //父页面方法
this.$router.push({ priceHotelList(obj) {
name: path, this.DataList.forEach(x => {
query: { x.HotelOrderListReports.forEach(y => {
"id": obj, y.isShowPop = false;
blank: 'y',
tab: title
}
}) })
});
var nMsg = {
TCID: obj.TCID,
DayNum: obj.DayNum,
HotelId: obj.ID
};
this.loading=true;
this.apipost("travel_post_SavePriceHotelService", nMsg, res => {
this.loading=false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
});
}, },
goUrl(path, obj, outItem, title) { goUrlT(path, TCNUMS, title) {
this.$router.push({ this.$router.push({
name: path, name: path,
query: { query: {
"id": obj.TCIDS, tcmun: TCNUMS,
'TCNUM': obj.TCNUMS,
'flightTotal': obj.TotalSeat,
'GuestNum': obj.CommonReport.HouseStatistics.RealityNum,
'NewCombinationNum': outItem.NewCombinationNum,
'LeaderName': obj.LeaderName,
'GuideName': obj.GuideName,
blank: 'y', blank: 'y',
tab: title tab: title
} }
...@@ -349,7 +370,6 @@ ...@@ -349,7 +370,6 @@
}); });
} }
this.DataList = sourceData; this.DataList = sourceData;
console.log("this.dataList", this.DataList);
this.$forceUpdate() this.$forceUpdate()
} else { } else {
this.Error(res.data.message) this.Error(res.data.message)
...@@ -367,20 +387,12 @@ ...@@ -367,20 +387,12 @@
} }
}); });
}, },
getChildHotel(index, subIndex) {
this.findex = index;
this.childIndex = subIndex;
let str = `comCheckHotel${index}${subIndex}`
this.$refs[str][0].getCheckHotel();
},
//获取目的地列表 //获取目的地列表
getLinePlaceList() { getLinePlaceList() {
this.msg.PlaceID = 0; this.msg.PlaceID = 0;
this.msg.LineteamId = 0; this.msg.LineteamId = 0;
let msg = { let msg = {
lineID: this.msg.LineId, lineID: 14,
} }
this.apipost('team_post_GetLinePlace', msg, res => { this.apipost('team_post_GetLinePlace', msg, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
...@@ -393,7 +405,7 @@ ...@@ -393,7 +405,7 @@
getLineTeamList() { getLineTeamList() {
this.msg.LineteamId = 0 this.msg.LineteamId = 0
let msg = { let msg = {
lineID: this.msg.LineId, lineID: 14,
placeID: this.msg.PlaceID, placeID: this.msg.PlaceID,
isTOOP: 1 isTOOP: 1
} }
...@@ -464,8 +476,8 @@ ...@@ -464,8 +476,8 @@
parseInt(myDate.getMonth() + 1) + parseInt(myDate.getMonth() + 1) +
"-" + "-" +
myDate.getDate(); myDate.getDate();
this.msg.StartGroupDate = nowDate; this.msg.StartGroupDate = nowDate;
//this.msg.StartGroupDate='2019-12-05';
let width = window.innerWidth - 50; let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 164; let height = window.innerHeight - 65 - 164;
this.boxHeight = height; this.boxHeight = height;
......
...@@ -157,7 +157,7 @@ export default { ...@@ -157,7 +157,7 @@ export default {
//跳转至详情 //跳转至详情
goToDetail(item){ goToDetail(item){
this.$router.push({ this.$router.push({
name: 'ElectronicContract', name: 'TravelContractDetail',
query: { query: {
TCID: item.tcid, TCID: item.tcid,
orderID: item.orderId, orderID: item.orderId,
......
<template>
<div class="commonPriceHotelInfo">
<table v-loading="changeLoading">
<tr>
<th width="60" style="text-align:center;">
选择
</th>
<th width="145" style="text-align:center;">
团号
</th>
<th width="140" style="text-align:center;">
地接团号
</th>
<th width="120" style="text-align:center;">
酒店
</th>
<th width="120" style="text-align:center;">
更换酒店
</th>
<th width="100" style="text-align:center;">
OP状态
</th>
<th width="100" style="text-align:center;">
地接状态
</th>
</tr>
<tr v-for="(hItem,hIndex) in MyDataList">
<td style="text-align:center;">
<el-checkbox :checked="hItem.IsChecked" @change="ChangeStatus(hItem)"></el-checkbox>
</td>
<td style="text-align:center;">
{{hItem.TCNUM}}<br />({{hItem.TCID}})
</td>
<td style="text-align:center;">
{{hItem.DMCNum}}
</td>
<td style="text-align:left;">
{{hItem.OldHotelName}}
</td>
<td style="text-align:left;">
{{hItem.NewHotelName}}
</td>
<td style="text-align:center;">
<template v-if="hItem.OPState==1">
<a style="color:green">OP-指定</a>
</template>
<template v-else-if="hItem.OPState==2">
<a style="color:red">OP-暂定</a>
</template>
</td>
<td style="text-align:center;">
<template v-if="hItem.DMCState==1">
<a style="color:green">地接-OK</a>
</template>
<template v-else-if="hItem.DMCState==2">
<a style="color:red">地接-暂定</a>
</template>
<template v-else-if="hItem.DMCState==0">
<a style="color:red">地接-未操作</a>
</template>
</td>
</tr>
<tfoot>
<tr>
<td colspan="6" style="text-align:center;">
<input type="button" class="normalBtn" value="保存" @click="SaveHotelOrder()" />
</td>
</tr>
</tfoot>
</table>
</div>
</template>
<script>
export default {
props: ["TCID", "HotelId", "DateStr"],
data() {
return {
changeLoading: false,
MyDataList: [],
};
},
methods: {
ChangeStatus(item) {
item.IsChecked = !item.IsChecked;
},
//获取可以改变的酒店列表
GetChangeHotelList() {
this.changeLoading = true;
this.MyDataList = [];
var that = this;
this.apipost("journeyorder_post_GetCanChangeHotelListService", {
UseTime: this.DateStr
},
res => {
that.changeLoading = false;
if (res.data.resultCode == 1) {
that.MyDataList = res.data.data;
} else {
that.Error(res.data.message);
}
},
err => {}
);
},
//保存酒店订单
SaveHotelOrder() {
var that = this;
this.Confirm("是否要替换选中的酒店?", function () {
var newList = [];
if (that.ChangeHotelList && that.ChangeHotelList.length > 0) {
that.ChangeHotelList.forEach(item => {
if (item.IsChecked) {
var Nitem = JSON.parse(JSON.stringify(item));
Nitem.NewHotelID = this.HotelId;
newList.push(Nitem);
}
});
}
if (newList && newList.length > 0) {
that.apipost("journeyorder_post_SaveWorkHotelOrderService", newList,
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
//that.getList();
} else {
that.Error(res.data.message);
}
},
err => {}
);
} else {
that.Info("请选择团期!");
}
});
}
},
mounted() {
},
created() {
}
};
</script>
<style>
.commonPriceHotelWork .comCheckHotel {
width: 100%;
height: 150px;
overflow: auto
}
.commonPriceHotelWork .comCk_list {
padding: 0 20px;
margin: 0 15px 5px 0;
}
.commonPriceHotelWork .cm_Inventory {
margin-left: 20px;
color: red;
display: inline-block;
}
.commonPriceHotelWork .cm_hotelTitle {
width: 100%;
text-align: center;
margin-bottom: 20px;
border-bottom: 1px solid #d1d1d1;
padding: 0 20px 10px 20px;
}
.commonPriceHotelWork .com_SaveBtn {
margin: 10px 20px 0 45%;
}
.commonPriceHotelWork .ckedList {
background-color: #E95252;
color: #fff;
}
.commonPriceHotelWork .Ck_hotelInfo{
width:100%;
height:40px;
background-color: #F6F8FB;
text-align: center;
line-height: 40px;
margin-bottom:10px;
}
</style>
<template>
<div class="commonPriceHotelWork">
<div class="Ck_hotelInfo">
<span style="color:red">{{TCNUM}}{{DateStr}}</span> 酒店库存信息
</div>
<div class="cm_hotelTitle clearfix">
<div style="float:left;">
地区:
<el-select filterable v-model="qMsg.ProvinceId" class="w120" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</div>
<div style="float:left;margin-left:10px;">
酒店名称/电话:
<el-input type="text" v-model="qMsg.Name" class="w120" @keyup.native.enter="getCheckHotel()" placeholder="酒店名称或电话"></el-input>
<input type="button" class="normalBtn" value="查询" @click="getCheckHotel()" />
</div>
</div>
<div>
<el-tabs type="border-card" v-loading="loading" v-if="IsShow" >
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode">
<div class="clearfix comCheckHotel">
<div class="comCk_list" v-for="(subItem,subIndex) in item.HotelList">
<input :id="'H'+index+'_'+subIndex" type="checkbox" v-model="subItem.isChecked" @click="getCheck(item.HotelList,subIndex)"/>
<label :for="'H'+index+'_'+subIndex" style="cursor: pointer">{{subItem.Name}}</label>
<span class="cm_Inventory">{{subItem.Inventory}}</span>
<span class="cm_Inventory">剩余:{{subItem.RemainingInventory}}</span>
<span class="cm_Inventory">价格:{{subItem.CostPrice}}</span>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div>
<input type="button" class="normalBtn com_SaveBtn" @click="sendCkedHotel()" value="保存" />
</div>
</template>
<script>
export default {
props: ["TCID", "DateStr","DayNum","TCNUM"],
data() {
return {
loading:false,
dataList: [],
ProvinceList: [],
qMsg:{
ProvinceId: 0, //选择个省份编号
Name:"",//酒店名称
},
IsShow:false,
ckedHotel:{}
};
},
methods: {
getPriceHotelCheck() {
this.loading=true;
this.IsShow=false;
this.dataList = [];
this.HotelList = [];
this.apipost('hotel_post_GetHasStockHotelList_V2', {
//1-只查询有库存的酒店
IsMoreThanZero: 1,
Country: "651",
IsAllHotel: 1,
Province: this.qMsg.ProvinceId,
Name:this.qMsg.Name,
sDate: this.DateStr
}, res => {
this.loading=false;
this.IsShow=true;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.forEach(x => {
x.HotelList.forEach(y => {
y.isChecked = false;
})
})
} else {
this.Error(res.data.message)
}
}, err => {})
},
getCheck(hotelList, index) {
hotelList.forEach((x, subIndex) => {
if (index == subIndex) {
x.isChecked = !x.isChecked;
this.ckedHotel = x;
} else {
x.isChecked = false;
}
})
this.$forceUpdate();
},
//向父组件传递选中酒店
sendCkedHotel() {
var ckHotelObj = {};
if(this.ckedHotel){
ckHotelObj.ID = this.ckedHotel.ID;
ckHotelObj.Address = this.ckedHotel.Address;
ckHotelObj.Inventory = this.ckedHotel.Inventory;
ckHotelObj.Name = this.ckedHotel.Name;
ckHotelObj.PayStyle = this.ckedHotel.PayStyle;
ckHotelObj.Tel = this.ckedHotel.Tel;
ckHotelObj.RebateRatio=this.ckedHotel.RebateRatio;
ckHotelObj.RebateCount=this.ckedHotel.RebateCount;
ckHotelObj.CostPrice=this.ckedHotel.CostPrice;
ckHotelObj.TCID=this.TCID;
ckHotelObj.DateStr=this.DateStr;
ckHotelObj.DayNum=this.DayNum;
}
this.$emit("childPriceHotel", ckHotelObj);
},
//获取日本下面的市->下拉框用
getProvinceList() {
let msg = {
Id: 651
};
this.apipost("dict_post_Destination_GetChildList", msg, res => {
if (res.data.resultCode == 1) {
this.ProvinceList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
}
},
mounted() {
this.getProvinceList();
}
};
</script>
\ No newline at end of file
...@@ -162,10 +162,10 @@ ...@@ -162,10 +162,10 @@
<th width="75">出发地</th> <th width="75">出发地</th>
<th width="80">航班时间</th> <th width="80">航班时间</th>
<th width="140">公司团号</th> <th width="140">公司团号</th>
<th width="90">同业<br/>会员价</th> <th width="90">同业<br />会员价</th>
<th width="75">线路<br />负责人</th> <th width="75">线路<br />负责人</th>
<th width="75">进出点</th> <th width="75">进出点</th>
<th width="50">订单<br/>人数</th> <th width="50">订单<br />人数</th>
<th width="100">机位总数<br />(Y/E/F/单地接)</th> <th width="100">机位总数<br />(Y/E/F/单地接)</th>
<th width="60">领队</th> <th width="60">领队</th>
<th width="60">导游</th> <th width="60">导游</th>
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
</td> </td>
<td> <td>
<div class="link"> <div class="link">
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.TCNUMS}}<br/>({{item.TCID}})</p> <p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.TCNUMS}}<br />({{item.TCID}})</p>
</div> </div>
</td> </td>
<td style="color: #47BF8C;white-space: nowrap;"> <td style="color: #47BF8C;white-space: nowrap;">
...@@ -290,8 +290,8 @@ ...@@ -290,8 +290,8 @@
<a style="text-decoration:underline;cursor:pointer;" title="点击下载旅客名单" <a style="text-decoration:underline;cursor:pointer;" title="点击下载旅客名单"
@click="DownLoadGuestList(item,outItem,index)">出境名单</a> @click="DownLoadGuestList(item,outItem,index)">出境名单</a>
<a style="text-decoration:underline;cursor:pointer;margin-top:5px;display:inline-block;" title="点击下载电话名单" <a style="text-decoration:underline;cursor:pointer;margin-top:5px;display:inline-block;"
@click="DownLoadGuestTelList(item,outItem,index)">电话名单</a> title="点击下载电话名单" @click="DownLoadGuestTelList(item,outItem,index)">电话名单</a>
</td> </td>
<td> <td>
<div class="fz16 fbold linkspan"> <div class="fz16 fbold linkspan">
...@@ -338,7 +338,7 @@ ...@@ -338,7 +338,7 @@
</div> </div>
</td> </td>
<td> <td>
<div class="fz16 fbold linkspan" @click="goUrl('bookDinnerStatisticsDetails',item,outItem,'餐厅详情')"> <div class="fz16 fbold linkspan" @click="goDinnerUrl(item,outItem)">
<span style="color: #4BCA81;" v-if="item.FoodsResult==1"></span> <span style="color: #4BCA81;" v-if="item.FoodsResult==1"></span>
<span class="colorE95252" v-else>{{item.FoodsResult=='-1'?"x":"O"}}</span> <span class="colorE95252" v-else>{{item.FoodsResult=='-1'?"x":"O"}}</span>
</div> </div>
...@@ -454,7 +454,8 @@ ...@@ -454,7 +454,8 @@
<el-button @click='openChart(item)' icon="iconfont icon-wechat" type="primary" <el-button @click='openChart(item)' icon="iconfont icon-wechat" type="primary"
style="background:#6DD875; border-color:#6DD875"></el-button> style="background:#6DD875; border-color:#6DD875"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="酒店操作" placement="top-start" v-if="item.LineId==14"> <el-tooltip class="item" effect="dark" content="酒店操作" placement="top-start"
v-if="item.LineId==14 && IsDMCIsOpenHotel==1">
<el-popover placement="bottom" width="300" trigger="click" v-model="item.isShowPop"> <el-popover placement="bottom" width="300" trigger="click" v-model="item.isShowPop">
<table class="dmcSetTable"> <table class="dmcSetTable">
<tr> <tr>
...@@ -491,39 +492,6 @@ ...@@ -491,39 +492,6 @@
style="background:green; border-color:green"></el-button> style="background:green; border-color:green"></el-button>
</el-popover> </el-popover>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content=" 领队/导游配置" placement="top-start"
v-if="item.LineId==14&&outItem.PriceCommonList.length>1" style="display:none;">
<el-popover placement="bottom" width="800" trigger="click">
<table class="dmcSetTable">
<template v-if="TeamHotelList&&TeamHotelList.length>0">
<tr>
<th>团号/时间</th>
<template v-for="(hItem,hIndex) in TeamHotelList">
<th>
{{hItem.TCNUM}}<br />({{hItem.TCID}})
</th>
</template>
</tr>
</template>
<template v-for="(hItem,hIndex) in TeamHotelList">
<template v-for="(hSubItem,hSubIndex) in hItem.dayList">
<tr>
<td>{{hSubItem.UseTime}}</td>
<td>
<template v-if="hSubItem.subList&&hSubItem.subList.length>0">
{{hSubItem.subList[0].NewHotelName}}
</template>
</td>
</tr>
</template>
</template>
</table>
<el-button @click="GetTeamHotelList(outItem.TCIDS)" slot="reference"
icon="iconfont icon-guanli2" type="primary" style="background:green; border-color:green">
</el-button>
</el-popover>
</el-tooltip>
</el-button-group> </el-button-group>
</div> </div>
</td> </td>
...@@ -579,6 +547,8 @@ ...@@ -579,6 +547,8 @@
export default { export default {
data() { data() {
return { return {
IsDMCIsOpenHotel: 0, //1-有权限开启或关闭酒店操作
IsEditDinner: 0, //1有权限操作餐配
loading: false, loading: false,
currentPage: 1, currentPage: 1,
total: 0, total: 0,
...@@ -699,6 +669,28 @@ ...@@ -699,6 +669,28 @@
commonTeamInfo commonTeamInfo
}, },
methods: { methods: {
goDinnerUrl(obj, outItem) {
// if (this.IsEditDinner == 1) {
this.$router.push({
name: 'bookDinnerStatisticsDetails',
query: {
"id": obj.TCIDS,
'TCNUM': obj.TCNUMS,
'flightTotal': obj.TotalSeat,
'GuestNum': obj.OrderGuestNum,
'NewCombinationNum': outItem.NewCombinationNum,
'LeaderName': obj.LeaderName,
'GuideName': obj.GuideName,
'IsCombine': outItem.PriceCommonList.length > 1,
'NewTCIDs': outItem.TCIDS,
blank: 'y',
tab: "餐厅详情"
}
})
// } else {
// this.Error("请联系地接部操作!");
// }
},
getLeaderTypeStr: function (clas) { getLeaderTypeStr: function (clas) {
if (clas == 1) { if (clas == 1) {
return "(同行领队)" return "(同行领队)"
...@@ -1125,12 +1117,22 @@ ...@@ -1125,12 +1117,22 @@
this.loading = false; this.loading = false;
}); });
}, },
goRoomTip() goRoomTip() {
{
this.Error("请联系组团OP提供分房表文件!"); this.Error("请联系组团OP提供分房表文件!");
},
GetAuth() {
this.apipost('dmcstatistics_get_GetGetDmcTotalTablePageAuth', {}, res => {
if (res.data.resultCode == 1) {
this.IsDMCIsOpenHotel = res.data.data.IsDMCIsOpenHotel;
this.IsEditDinner = res.data.data.IsEditDinner;
} else {
this.$message.error(res.data.message);
}
}, err => {})
} }
}, },
mounted() { mounted() {
this.GetAuth();
let myDate = new Date(); let myDate = new Date();
let nowDate = let nowDate =
myDate.getFullYear() + myDate.getFullYear() +
......
...@@ -406,7 +406,7 @@ ...@@ -406,7 +406,7 @@
{{subItem.ScenicName}} {{subItem.ScenicName}}
</td> </td>
<td> <td>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.PeopleNum}} {{peopleStrToWord(childItem.PeopleType)}}:{{childItem.UsePeopleNum}}
</td> </td>
<td> <td>
<p> <p>
......
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