Commit 4ddcb840 authored by 吴春's avatar 吴春

道旅酒店信息

parent c49493e8
......@@ -185,9 +185,13 @@
overflow: auto;
}
.el-date-editor .el-range-input{
width:70px;
width:80px;
}
.el-range-separator{width:20px !important}
.el-range-editor.el-input__inner{
padding:3px 0px !important;
}
.el-range-editor--small .el-range-separator{margin-right:12px !important;}
.el-range-separator{width:20px !important;}
.el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner{
width:202px;
}
......@@ -274,6 +278,24 @@
.text-orange {
color: #ff9800 !important;
}
.el-image {
position: relative;
display: inline-block;
overflow: hidden;
}
.Img-absolute {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(23, 23, 23, .5);
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
</style>
<template>
<div class="q-py-lg">
......@@ -285,9 +307,6 @@
{{ DidaHotelDetails.Name_CN }}
</div>
</div>
<!-- <div class="text-weight-bold fz20 ellipsis desktop-only">
{{DidaHotelDetails.Name_CN }}
</div> -->
<div v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].LowestPrice">
<span
class="text-orange text-weight-bold fz18 q-pl-lg" >
......@@ -299,9 +318,10 @@
<div class="q-ml-md">
<el-rate
v-model="DidaHotelDetails.StarRating"
size="2em"
color="#ff9800"
v-model="startNum"
size="3em"
disabled
color="orange"
readonly
/>
</div>
......@@ -321,6 +341,66 @@
<span class="col fz14 text-weight-bold text-blick">{{ DidaHotelDetails.Telephone }}</span>
</div>
</div>
<div class="bg-white column" style="max-width: 1366px; min-width: 375px;overflow: hidden!important; margin: auto;width:1300px;padding-top:24px;" >
<div class="row q-px-lg q-mb-lg row justify-between" style="width:100%;">
<div style="width:60%;position: relative;" class="row">
<div style="position: relative;" class="row">
<template v-if="DidaHotelImg&&DidaHotelImg.length==2">
<div style="width:50%;height:100%;" class="row" >
<div class="row rounded-borders relative-position" style="margin-right: 0.5%; overflow: hidden;height:50%:">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]" :preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
<div style="width:50%;height:100%;" class="row">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;height:50%: overflow: hidden;">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]"
:preview-src-list="DidaHotelImg" fit="cover">
</el-image>
</div>
</div>
</template>
<template v-else>
<div :style="DidaHotelImg.length==1?' width:100%;':' width:60%;'" class="row">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;position: relative; overflow: hidden;" v-if="DidaHotelImg&&DidaHotelImg.length>0" >
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[0]" :preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
<div style="width:40%;" class="row" v-if="DidaHotelImg&&DidaHotelImg.length>2">
<div class="row rounded-borders relative-position" style="margin-right: 0.5%;margin-bottom:1%;position: relative; overflow: hidden;">
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[1]" :preview-src-list="DidaHotelImg">
</el-image>
</div>
<div class="row rounded-borders relative-position" style="margin-right: 0.5%; position: relative;overflow: hidden;">
<div class="Img-absolute">
<div class="Img-absolute-box ">
<div class="fz20 text-weight-bold" style="color:white;"><span style="margin-right:5px;">+</span><span>{{DidaHotelImg.length-3}}</span></div>
</div>
</div>
<el-image style="width: 100%; height: 100%;" :src="DidaHotelImg[2]" :preview-src-list="DidaHotelImg">
</el-image>
</div>
</div>
</template>
</div>
</div>
<!-- 地图 -->
<div style="width:40%;">
<div :style="{height:'100%',width:'100%'}" id="mapContainer" class="rounded-borders"></div>
</div>
<!-- 地图 -->
</div>
</div>
<div class="rounded-borders bg-white row items-center q-pb-md" style="margin-top:20px;width: 1300px;">
......@@ -334,7 +414,7 @@
type="daterange"
value-format="yyyy-MM-dd"
:picker-options="beforeCheck"
range-separator=""
range-separator="-"
start-placeholder="入住时间"
end-placeholder="退房时间">
</el-date-picker>
......@@ -426,11 +506,11 @@
</el-button>
</el-popover>
</el-col>
<el-col :span="4" :gutter="35" style="margin-left:-4%;margin-top:7px;">
<el-col :span="4" :gutter="35" style="margin-top:7px;">
<div style="color:red;">超过13岁视为成人处理</div>
</el-col>
<el-col :span="2" :gutter="35" style="margin-left:-4%;margin-top:7px;float:right;">
<el-button type="primary" size="small" plain @click="getDiDaPriceSearchList()">检索</el-button>
<el-button type="primary" size="small" plain @click="getDiDaPriceSearchList()" :loading="loading">检索</el-button>
</el-col>
</el-row>
</el-form>
......@@ -442,9 +522,9 @@
<!-- 价格信息循环开始 -->
<!-- {{DidaHotelRoomDetails }} {{DidaHotelRoomDetails.HotelList}} {{DidaHotelRoomDetails.HotelList.length}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList}} {{DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length}} -->
<template v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length>0 ">
<div class="q-my-md q-px-lg" style="width:100%;" v-for="(item, index) in DidaHotelRoomDetails.HotelList[0].GroupRatePlanList" v-loading="loading">
<template v-if="DidaHotelRoomDetails&&DidaHotelRoomDetails.HotelList&&DidaHotelRoomDetails.HotelList.length>0&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList&&DidaHotelRoomDetails.HotelList[0].GroupRatePlanList.length>0 " >
<div v-loading="loading">
<div class="q-my-md q-px-lg" style="width:100%;" v-for="(item, index) in DidaHotelRoomDetails.HotelList[0].GroupRatePlanList" >
<div class="q-card row q-mb-md ">
<div class="col q-pa-sm q-pr-lg col-3 row no-wrap justify-between" style="border-right: 1px solid rgb(238, 238, 238);width:25%;height:auto;">
<div class="col-6" style="height: 100px;">
......@@ -471,8 +551,7 @@
<div class="col-2 text-grey-6" style="line-height: 30px;height: 30px;padding-top: 30px;height: auto; width: 18%;" v-if="subItem.PriceList && subItem.PriceList != null">
<div class="q-card row q-mb-md" style="box-shadow: none"
v-for="(itemPrice, indexPrice) in subItem.PriceList"
:key="indexPrice"
v-loading="loading">
:key="indexPrice">
<div class="text-right text-green "> {{ getformatDateStr(itemPrice.StayDate) }} 报价:{{
itemPrice.Price
}}</div>
......@@ -482,8 +561,7 @@
<div class="q-card row q-mb-md" style="box-shadow: none;line-height: 30px;height: 30px;padding-top: 30px" v-for="(
itemCancella, index1
) in subItem.RatePlanCancellationPolicyList"
:key="index1"
v-loading="loading">
:key="index1">
<div class="column q-pl-md q-pr-md">
<span class="text-right text-grey-6 q-pt-md">{{ getformatDateStr(itemCancella.FromDate) }}起取消({{subItem.Currency }}):-{{ itemCancella.Amount }}</span>
<span></span>
......@@ -526,6 +604,10 @@
</div>
</div>
</div>
</template>
<template v-else>
<div class="q-my-md q-px-lg" style="text-align:center;">暂无数据</div>
</template>
<!-- 价格循环结束 -->
......@@ -539,6 +621,7 @@
export default {
data() {
return {
startNum:0,
isShow: "",
EmployeeId: 0,
RB_Group_Id:'',
......@@ -559,6 +642,7 @@ export default {
ScatMeaList: [] , //散客房间餐型
HotelMealTypes:[],//餐食类型
DidaHotelDetails:{},
DidaHotelImg:[],
DidaHotelRoomDetails:{},
msg: {
hotelId:0,
......@@ -671,7 +755,10 @@ export default {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelDetails = res.data.data
console.log("this.DidaHotelDetails",this.DidaHotelDetails);
this.initMap(this.DidaHotelDetails.Longitude, this.DidaHotelDetails.Latitude, this.DidaHotelDetails.Name_CN)
if(this.DidaHotelDetails.StarRating){
this.startNum=parseFloat(this.DidaHotelDetails.StarRating);
}
}
}, null)
},
......@@ -689,7 +776,6 @@ export default {
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelRoomDetails = res.data.data
console.log("this.DidaHotelRoomDetails",this.DidaHotelRoomDetails);
}
}, null)
},
......@@ -723,7 +809,20 @@ export default {
}
return roomtypeName;
},
//获取酒店图片信息
getDiDaHotelImgList() {
this.apipost('dmc_post_GetDiDaHotelImgList', this.hotelMsg, res=>{
this.loading = false
if (res.data.resultCode == 1) {
this.DidaHotelImg=[];
res.data.data.forEach((item,index) => {
this.DidaHotelImg.push(item.ImageUrl);
});
// this.DidaHotelImg = res.data.data;
console.log("DidaHotelImg", res.data.data );
}
}, null)
},
//日期格式化
getformatDateStr(value) {
var dt = new Date(value);
......@@ -743,6 +842,39 @@ export default {
this.isShow = index;
}
},
initMap(lng, lat, name) {
if (this.map) {
this.map.clearOverlays()
}
var that = this;
this.map = new BMap.Map("mapContainer", {
enableMapClick: false,
minZoom: 3,
maxZoom: 50,
}) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框
var point = new BMap.Point(lng, lat);
this.map.centerAndZoom(new BMap.Point(lng, lat), 15)
this.map.enableScrollWheelZoom(false)
var marker = new BMap.Marker(point); //标记点
var label = new BMap.Label(name, {
offset: new BMap.Size(0, 28)
}); //标签
label.setStyle({
color: "#FFF",
fontSize: "10px",
height: "24px",
lineHeight: "20px",
padding: "2px 5px",
border: "1px solid rgba(230, 0, 0, 0.7)",
background: "rgba(230, 0, 0, 0.7)",
fontWeight: "bold",
transform: 'translateX(-50%)',
fontFamily: "微软雅黑"
})
marker.setLabel(label)
this.map.addOverlay(marker);
},
},
created(){
let userInfo = this.getLocalStorage();
......@@ -774,6 +906,7 @@ export default {
this.getdidaMealType();
this.getdidaBedType();
this.getDiDaPriceSearchList();
this.getDiDaHotelImgList();
this.getDidaHotelDetails();
}
......
......@@ -336,9 +336,8 @@
.items-end {
align-items: flex-end;
}
.el-card__body,
.el-main {
padding: 0px !important;
/deep/ .el-card__body, .el-main {
padding: 10px !important;
}
.d-pr8 {
padding-right: 8px;
......@@ -388,6 +387,7 @@
class="bg-white q-py-lg8 column q-mb-md"
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"
>
<template v-if="sureMsg&&sureMsg.BookingID&&sureMsg.BookingID.length>0">
<div class="row q-px-lg q-py-lg8 row justify-between">
<div
class="row no-wrap items-center q-mt-xs q-pt-sm text-red text-weight-bold"
......@@ -411,7 +411,7 @@
</div>
</div>
<div style="display: flex;">
<div style="display: flex;" >
<div
v-if="
roomRateDetails.RatePlanList &&
......@@ -448,14 +448,6 @@
</span>
</div>
</div>
<div
v-else
class="col q-pa-lg text-center"
style="width:50%;display: flex;"
>
暂无数据
</div>
<div class="col row items-end q-pl-lg" style="width:50%;display: flex;">
<div class="column">
<div class="text-green-6 fz20 text-weight-bold q-pb-sm q-mb-md">
......@@ -491,6 +483,8 @@
</div>
</div>
</div>
</template>
<template v-else><div style="text-align:center;">暂无数据</div></template>
</div>
<div
......@@ -514,11 +508,9 @@
roomRateDetails.RatePlanList &&
roomRateDetails.RatePlanList.length > 0
"
v-for="(item, index) in roomRateDetails.RatePlanList"
:key="index"
v-loading="loading"
>
{{ getRoomType(item.BedType) }}
{{ getRoomType(roomRateDetails.RatePlanList[0].BedType) }}
</span>
</div>
<div class="q-pt-xs col q-px-lg q-mb-md">
......@@ -630,7 +622,7 @@
<el-card
flatv
:key="sindex"
class="q-px-sm q-pt-sm q-pb-md8 d-pr8"
class=" d-pr8 card__body"
v-for="(subItem, sindex) in item.PriceList"
>
<span class="text-grey-9">
......@@ -677,10 +669,10 @@
<div class="row q-px-lg q-py-lg8 row justify-between" style="width: 100%; display: block;">
<el-form label-position="left" label-width="80px" class="iis_info_box clearfix"
ref="sureMsg" :rules="rules" :model="sureMsg">
ref="sureMsg" :rules="rules" :model="sureMsg" >
<el-row>
<el-col :gutter="35" style="width:26%;">
<el-form-item label="预订人" prop="guestLastName">
<el-form-item label="预订人" prop="guestLastName" >
<el-input v-model="sureMsg.guestLastName" placeholder="姓(英文)"></el-input>
</el-form-item>
......@@ -715,17 +707,22 @@
</el-col>
</el-row>
<template v-if="sureMsg.GuestList && sureMsg.GuestList.length > 0" v-for="(item, subIndex) in sureMsg.GuestList" >
<div v-if="item.GuestInfo && item.GuestInfo.length > 0" v-for="(itemguest, numberOfAdultsIndex) in item.GuestInfo" :key="numberOfAdultsIndex">
<el-row>
<el-col :gutter="35" style="width:26%;">
<el-form-item :label='numberOfAdultsIndex==0?"房间"+(subIndex + 1):"" ' prop="LastName">
<el-form-item label-width="0px" v-if="sureMsg.GuestList && sureMsg.GuestList.length > 0">
<template v-for="(item, subIndex) in sureMsg.GuestList" >
<div v-for="(itemguest, numberOfAdultsIndex) in item.GuestInfo" :key="subIndex">
<el-row style="margin-bottom:22px">
<el-col :gutter="35" style="width:26%;margin-right:24px;">
<el-form-item :label="numberOfAdultsIndex==0?'房间'+(subIndex + 1):''"
:prop="`GuestList[${subIndex}].GuestInfo[${numberOfAdultsIndex}].LastName`"
:rules="rules.LastName" :style="numberOfAdultsIndex>0?'margin-left: 80px;':''">
<el-input v-model="itemguest.LastName" placeholder="姓(英文)"></el-input>
</el-form-item>
</el-col>
<el-col :gutter="35" style="width:25%;margin-right:24px;">
<el-form-item label="" prop="FirstName">
<el-form-item label="" :prop="`GuestList[${subIndex}].GuestInfo[${numberOfAdultsIndex}].FirstName`"
:rules="rules.FirstName" >
<el-input v-model="itemguest.FirstName" placeholder="名(英文)"></el-input>
</el-form-item>
</el-col>
......@@ -738,17 +735,20 @@
</el-row>
</div>
</template>
</el-form-item>
<el-row>
<el-col :gutter="35">
<div class="row col-12 text-red q-mb-md">
<div
v-if="
<div class="row col-12 text-red q-mb-md" v-if="
roomRateDetails.CancellationPolicyList &&
roomRateDetails.CancellationPolicyList.length > 0
"
">
<div
v-for="(item, index) in roomRateDetails.CancellationPolicyList"
:key="index"
>
......@@ -766,7 +766,7 @@
class="col row q-mb-md"
style="max-width: 1366px; min-width: 375px; margin: auto;width:1300px"
>
<el-button type="primary" style="width:100%;" @click="submitForm('sureMsg')">下单</el-button>
<el-button type="primary" :disabled="submDisabled" style="width:100%;" @click="submitForm('sureMsg')" :loading="submLoading">下单</el-button>
</div>
</div>
......@@ -804,6 +804,7 @@ export default {
numberOfAdults: 0,
numberOfChildren: 0,
submLoading: false,
submDisabled:false,
loading: false,
dateRange: "", //当前日期
dateRange2: "", //当前日期
......@@ -811,6 +812,11 @@ export default {
DanWei: "",
HotelRoomTypes: [], //散客房间类型
dataList: {},
GuestInfo:{
LastName: '',
FirstName: '',
Age: '',
},
//确认MSG参数
sureMsg: {
EmployeeIdStr: "",
......@@ -896,17 +902,16 @@ export default {
message: "请输入电话",
trigger: "blur",
}],
// LastName: [{
// required: true,
// message: "请输入姓(英文)",
// trigger: "blur",
// }],
// FirstName: [{
// required: true,
// message: "请输入名(英文)",
// trigger: "blur",
// }],
LastName: [{
required: true,
message: "请输入姓(英文)",
trigger: "blur",
}],
FirstName: [{
required: true,
message: "请输入名(英文)",
trigger: "blur",
}],
},
......@@ -924,8 +929,12 @@ export default {
this.sureMsg.CheckInDate = this.params.CheckInDate;
this.sureMsg.EmployeeIdStr =this.getLocalStorage().EmployeeId+"";
this.sureMsg.totalRoomCount = this.params.searchroomGroup.length;
this.sureMsg.RoomCount = this.params.searchroomGroup.length;
this.sureMsg.CheckOutDate = this.params.CheckOutDate;
if(this.roomRateDetails&&this.roomRateDetails.RatePlanList&&this.roomRateDetails.RatePlanList.length>0){
this.sureMsg.roomType = this.roomRateDetails.RatePlanList[0].BedType;
}
//判断选择的人数与入住人数
let Count1 = 0;
this.sureMsg.GuestList.forEach(item => {
......@@ -960,7 +969,6 @@ export default {
}
})
},
//通过日期得到周几
getWeek() {
let CheckInDate = new Date(this.params.CheckInDate).getDay();
......@@ -1026,9 +1034,8 @@ export default {
this.sureMsg.checkInTime = res.data.data.PriceDetails.CheckInDate;
this.sureMsg.HotelName = this.roomRateDetails.HotelName;
this.sureMsg.TotalPrice = this.roomRateDetails.TotalPrice;
this.sureMsg.RoomCount = this.roomRateDetails.RatePlanList[0].RoomOccupancy.RoomNum;
this.DanWei =
res.data.data.PriceDetails.HotelList[0].RatePlanList[0].Currency;
this.sureMsg.RoomCount = this.$route.query.room;
this.DanWei = res.data.data.PriceDetails.HotelList[0].RatePlanList[0].Currency;
if (
Object.prototype.toString.call(this.dataList.HotelList) ==
"[object Object]"
......@@ -1040,6 +1047,12 @@ export default {
this.TotalChildCount = 0;
let rateGrouoLen = 0;
}
if(this.roomRateDetails&&this.roomRateDetails.RatePlanList&&this.roomRateDetails.RatePlanList.length>0){
this.submDisabled=false;
}
else{
this.submDisabled=true;
}
},
null
);
......@@ -1128,6 +1141,9 @@ export default {
if (this.$route.query.Address) {
this.Address = this.$route.query.Address;
}
if (this.$route.query.room) {
this.params.RoomCount = this.$route.query.room;
}
if (this.params.searchroomGroup && this.params.searchroomGroup != null) {
this.sureMsg.GuestList = [];
......@@ -1151,6 +1167,7 @@ export default {
GuestInfo: guestInfoList
};
this.sureMsg.GuestList.push(obj);
console.log(" this.sureMsg.GuestList", this.sureMsg.GuestList);
});
}
},
......
......@@ -171,7 +171,7 @@
<li>
<li v-if="ActionMenuCode.indexOf('ThirdHotelOrder')!=-1">
<span>
<em>{{$t('sm.company')}}</em>
<el-select v-model="msg.RB_Branch_Id" :placeholder="$t('rule.company')" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0">
......@@ -184,7 +184,7 @@
</el-select>
</span>
</li>
<li>
<li v-if="ActionMenuCode.indexOf('ThirdHotelOrder')!=-1">
<span>
<em>{{$t('admin.admin_Department')}}</em>
<el-select v-model="msg.RB_Department_Id" :placeholder="$t('rule.qxzbmen')" @change="employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0">
......@@ -197,7 +197,7 @@
</el-select>
</span>
</li>
<li>
<li v-if="ActionMenuCode.indexOf('ThirdHotelOrder')!=-1">
<span>
<em>{{$t('active.cl_addPp')}}</em>
<el-select filterable v-model='msg.CreateBy'>
......@@ -494,6 +494,8 @@
export default {
data() {
return {
//当前登录用户功能权限
ActionMenuCode: "",
msg: {
pageIndex:1,
pageSize:10,
......@@ -746,6 +748,7 @@ export default {
getList() {
//获取现有线路列表
this.loading = true;
console.log(" this.msg", this.msg);
this.apipost(
"sellorder_post_GetAllJapanHotelOrderList",
this.msg,
......@@ -902,9 +905,16 @@ export default {
this.msg.HotelName=this.$route.query.teamTCID;
}
let userInfo=this.getLocalStorage();
this.ActionMenuCode = userInfo.ActionMenuCode;
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团
this.getDepartmentMsg.RB_Branch_Id=userInfo.RB_Branch_id; //公司
this.EmployeeId=userInfo.EmployeeId //员工
if(this.ActionMenuCode.indexOf('ThirdHotelOrder')==-1){
console.log("我没有权限",this.ActionMenuCode);
this.msg.CreateBy=userInfo.EmployeeId;
this.msg.RB_Branch_Id=userInfo.RB_Branch_id;
this.msg.RB_Department_Id=userInfo.RB_Department_Id;
}
this.getCompanyList()
this.getThirdOrderSourceEnumEnumList();
this.getDepartment()
......
......@@ -474,7 +474,7 @@ export default {
getdidaBedType() {
this.apipost(
"dmc_post_GetDidaBedTypeBaseInfo",
this.hotelMsg,
{},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
......
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