Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
03b6feab
Commit
03b6feab
authored
Mar 07, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
酒店查询修改
parent
ad2a02ef
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
99 deletions
+128
-99
HotelQueryList.vue
src/components/Hotel/singleProduct/HotelQueryList.vue
+51
-30
hotelDetails.vue
...omponents/Hotel/singleProduct/components/hotelDetails.vue
+14
-8
hotelTableList.vue
...ponents/Hotel/singleProduct/components/hotelTableList.vue
+63
-61
No files found.
src/components/Hotel/singleProduct/HotelQueryList.vue
View file @
03b6feab
...
@@ -5,12 +5,12 @@
...
@@ -5,12 +5,12 @@
<li>
<li>
<span>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"get
ProvinceList(msg.Province,2
)"
<el-select
v-model=
"msg.Province"
filterable
@
change=
"get
CityList(msg.Province
)"
:placeholder=
"$t('hotel.hotel_province')"
>
:placeholder=
"$t('hotel.hotel_province')"
clearable
@
clear=
"msg.Province=0,msg.City=0"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
<el-option
v-for=
"item in provinceList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
<el-option
v-for=
"item in provinceList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-select>
<el-select
v-model=
"msg.City"
filterable
:placeholder=
"$t('hotel.hotel_city')"
>
<el-select
v-model=
"msg.City"
filterable
:placeholder=
"$t('hotel.hotel_city')"
clearable
@
clear=
"msg.City=0"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
<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-option
v-for=
"item in cityList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-select>
...
@@ -159,7 +159,7 @@
...
@@ -159,7 +159,7 @@
StartDate
:
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)),
StartDate
:
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)),
EndDate
:
this
.
getBeforeDate
(
-
30
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))),
EndDate
:
this
.
getBeforeDate
(
-
30
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))),
//只查询日本
//只查询日本
Country
:
"
651
"
,
Country
:
"
0
"
,
Province
:
0
,
Province
:
0
,
City
:
0
,
City
:
0
,
OutBranchId
:
-
1
,
OutBranchId
:
-
1
,
...
@@ -249,7 +249,8 @@
...
@@ -249,7 +249,8 @@
}
}
},
},
HOTEL_memorandum
:
false
,
HOTEL_memorandum
:
false
,
crmOrderObj
:
null
crmOrderObj
:
null
,
userinfo
:
{}
};
};
},
},
watch
:
{
watch
:
{
...
@@ -318,6 +319,7 @@
...
@@ -318,6 +319,7 @@
},
},
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
dataList
=
[];
if
(
this
.
msg
.
StartDate
==
null
)
{
if
(
this
.
msg
.
StartDate
==
null
)
{
this
.
msg
.
StartDate
=
this
.
getBeforeDate
(
-
20
,
new
Date
().
Format
(
"yyyy-MM-dd"
));
this
.
msg
.
StartDate
=
this
.
getBeforeDate
(
-
20
,
new
Date
().
Format
(
"yyyy-MM-dd"
));
}
}
...
@@ -340,11 +342,15 @@
...
@@ -340,11 +342,15 @@
},
},
//获取酒店列表
//获取酒店列表
GetHotelList
()
{
GetHotelList
()
{
this
.
apipost
(
var
postMsg
=
{
"hotel_post_GetHasStockHotelList"
,
{
QCountry
:
"0"
,
QCountry
:
"651"
,
IsMoreThanZero
:
1
IsMoreThanZero
:
1
},
}
if
(
this
.
userinfo
&&
this
.
userinfo
.
RB_Group_id
==
2
)
{
postMsg
.
QCountry
=
"651"
;
}
this
.
apipost
(
"hotel_post_GetHasStockHotelList"
,
postMsg
,
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelList
=
res
.
data
.
data
;
this
.
HotelList
=
res
.
data
.
data
;
...
@@ -357,31 +363,36 @@
...
@@ -357,31 +363,36 @@
this
.
msg
.
pageIndex
=
val
;
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
this
.
getList
();
},
},
get
ProvinceList
(
ID
,
type
)
{
get
CityList
(
ID
)
{
//根据省份获取城市
//根据省份获取城市
let
msg
=
{
let
msg
=
{
Id
:
ID
Id
:
ID
};
};
if
(
type
==
1
)
{
this
.
msg
.
Province
=
0
;
this
.
msg
.
City
=
0
;
this
.
provinceList
=
[];
this
.
cityList
=
[];
}
else
if
(
type
==
2
)
{
this
.
msg
.
City
=
0
;
this
.
cityList
=
[];
this
.
cityList
=
[];
}
this
.
apipost
(
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
"dict_post_Destination_GetChildList"
,
msg
,
msg
,
res
=>
{
res
=>
{
if
(
type
==
1
)
{
this
.
provinceList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
this
.
cityList
=
res
.
data
.
data
;
this
.
cityList
=
res
.
data
.
data
;
},
);
},
getProvinceList
(
countryId
)
{
//根据省份获取城市
this
.
provinceList
=
[];
let
msg
=
{
CodeLevel
:
2
,
ParentID
:
0
};
if
(
countryId
&&
countryId
>
0
)
{
msg
.
ParentID
=
countryId
;
}
}
this
.
apipost
(
"dict_get_Destination_GetCityExtList"
,
msg
,
res
=>
{
this
.
provinceList
=
res
.
data
.
data
;
},
},
err
=>
{}
);
);
},
},
//Excel下载
//Excel下载
...
@@ -398,6 +409,9 @@
...
@@ -398,6 +409,9 @@
});
});
},
},
},
},
created
()
{
this
.
userinfo
=
this
.
getLocalStorage
();
},
mounted
()
{
mounted
()
{
// crm自动登陆传过来的参数
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
...
@@ -405,12 +419,19 @@
...
@@ -405,12 +419,19 @@
}
}
this
.
HotelLength
=
localStorage
.
getItem
(
"HotelLength"
)
?
localStorage
.
getItem
(
"HotelLength"
)
:
0
this
.
HotelLength
=
localStorage
.
getItem
(
"HotelLength"
)
?
localStorage
.
getItem
(
"HotelLength"
)
:
0
let
userinfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
userinfo
.
ActionMenuCode
;
let
ActionMenuCode
=
this
.
userinfo
.
ActionMenuCode
;
if
(
ActionMenuCode
.
indexOf
(
"HOTEL_memorandum"
)
!=
-
1
)
{
if
(
ActionMenuCode
.
indexOf
(
"HOTEL_memorandum"
)
!=
-
1
)
{
this
.
HOTEL_memorandum
=
true
;
this
.
HOTEL_memorandum
=
true
;
}
}
this
.
getProvinceList
(
"651"
,
1
);
if
(
this
.
userinfo
&&
this
.
userinfo
.
RB_Group_id
==
2
)
{
this
.
getProvinceList
(
651
,
1
);
this
.
msg
.
Country
=
"651"
;
}
else
{
this
.
getProvinceList
(
0
,
1
);
this
.
msg
.
Country
=
"0"
;
}
this
.
getList
();
this
.
getList
();
this
.
com_onresize
();
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
window
.
onresize
=
()
=>
{
...
...
src/components/Hotel/singleProduct/components/hotelDetails.vue
View file @
03b6feab
...
@@ -202,17 +202,23 @@
...
@@ -202,17 +202,23 @@
let
temp
=
r
.
data
.
data
let
temp
=
r
.
data
.
data
temp
.
isDinner
=
temp
.
UseDinnerType
&&
temp
.
UseDinnerType
!=
''
temp
.
isDinner
=
temp
.
UseDinnerType
&&
temp
.
UseDinnerType
!=
''
if
(
temp
.
isDinner
)
{
if
(
temp
.
isDinner
)
{
if
(
this
.
dinners
&&
this
.
dinners
.
length
>
0
)
{
temp
.
Dinners
=
this
.
dinners
.
filter
((
x
)
=>
{
temp
.
Dinners
=
this
.
dinners
.
filter
((
x
)
=>
{
return
temp
.
UseDinnerType
.
split
(
','
).
indexOf
(
x
.
Id
.
toString
())
!=
-
1
return
temp
.
UseDinnerType
.
split
(
','
).
indexOf
(
x
.
Id
.
toString
())
!=
-
1
})
})
}
}
}
temp
.
HotelTypeInfo
=
this
.
hotelTyps
.
find
((
x
)
=>
x
.
Id
==
temp
.
HotelType
)
temp
.
HotelTypeInfo
=
this
.
hotelTyps
.
find
((
x
)
=>
x
.
Id
==
temp
.
HotelType
)
let
tempService
=
JSON
.
parse
(
temp
.
FacilityServices
)[
0
]
?
JSON
.
parse
(
temp
.
FacilityServices
)[
0
]
:
{}
let
tempService
=
JSON
.
parse
(
temp
.
FacilityServices
)[
0
]
?
JSON
.
parse
(
temp
.
FacilityServices
)[
0
]
:
{}
if
(
tempService
&&
tempService
.
list
&&
tempService
.
list
.
length
>
0
)
{
temp
.
CheckHotelService
=
tempService
.
list
.
filter
((
x
)
=>
tempService
.
checked
.
indexOf
(
x
.
ID
)
!=
-
1
)
temp
.
CheckHotelService
=
tempService
.
list
.
filter
((
x
)
=>
tempService
.
checked
.
indexOf
(
x
.
ID
)
!=
-
1
)
this
.
h
=
temp
}
this
.
h
=
temp
;
if
(
this
.
h
&&
this
.
h
.
List
&&
this
.
h
.
List
.
length
>
0
)
{
this
.
h
.
List
.
forEach
((
x
)
=>
{
this
.
h
.
List
.
forEach
((
x
)
=>
{
this
.
images
.
push
(
`http://imgfile.oytour.com
${
x
.
Path
}
`
)
this
.
images
.
push
(
`http://imgfile.oytour.com
${
x
.
Path
}
`
)
})
})
}
this
.
initMap
(
this
.
h
.
Lng
,
this
.
h
.
Lat
,
this
.
h
.
Name
)
this
.
initMap
(
this
.
h
.
Lng
,
this
.
h
.
Lat
,
this
.
h
.
Name
)
}
else
{
}
else
{
this
.
Error
(
r
.
data
.
message
);
this
.
Error
(
r
.
data
.
message
);
...
...
src/components/Hotel/singleProduct/components/hotelTableList.vue
View file @
03b6feab
<
template
>
<
template
>
<div>
<div>
<el-table
:data=
"dataList"
<el-table
:data=
"dataList"
style=
"width:100%"
border
ref=
"mytable"
key=
"HotelId"
:height=
"tableHeight"
>
style=
"width:100%"
border
ref=
"mytable"
key=
"HotelId"
:height=
"tableHeight"
>
<el-table-column
fixed
label=
"酒店名称"
min-width=
"180"
>
<el-table-column
fixed
label=
"酒店名称"
min-width=
"180"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<div
style=
"text-decoration: underline;cursor:pointer"
@
click=
"showHotelDetailHandler(scope.row.HotelId)"
>
<div
style=
"text-decoration: underline;cursor:pointer"
@
click=
"showHotelDetailHandler(scope.row.HotelId)"
>
...
@@ -18,6 +16,7 @@
...
@@ -18,6 +16,7 @@
<div
class=
"Hotel_kong"
>
超定
</div>
<div
class=
"Hotel_kong"
>
超定
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<
template
v-if=
"dataList&&dataList.length>0"
>
<el-table-column
v-for=
'(item,index) in dataList[0].subList'
:label=
"getDateList(item.DateStr)"
:key=
'index'
<el-table-column
v-for=
'(item,index) in dataList[0].subList'
:label=
"getDateList(item.DateStr)"
:key=
'index'
min-width=
"120"
>
min-width=
"120"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -27,16 +26,13 @@
...
@@ -27,16 +26,13 @@
<template
v-for=
"childItem in scope.row.subList[index].PriceList"
>
<template
v-for=
"childItem in scope.row.subList[index].PriceList"
>
<div
:class=
"getClass(1,childItem.InventoryType)"
<div
:class=
"getClass(1,childItem.InventoryType)"
:style=
"
{width:(100/scope.row.subList[index].PriceList.length)+'%'}" class="CostPriceHover">
:style=
"
{width:(100/scope.row.subList[index].PriceList.length)+'%'}" class="CostPriceHover">
<el-popover
<el-popover
placement=
"bottom"
width=
"300"
trigger=
"hover"
>
placement=
"bottom"
<SamplePriceList
v-if=
"
width=
"300"
trigger=
"hover"
>
<SamplePriceList
v-if=
"
scope.row.subList[index].PriceList[0].BidroomPrice>0||
scope.row.subList[index].PriceList[0].BidroomPrice>0||
scope.row.subList[index].PriceList[0].SingleroomPrice>0||
scope.row.subList[index].PriceList[0].SingleroomPrice>0||
scope.row.subList[index].PriceList[0].AddBedPrice>0||
scope.row.subList[index].PriceList[0].AddBedPrice>0||
scope.row.subList[index].PriceList[0].GuideRoomPrice>0"
:price=
"scope.row.subList[index]"
></SamplePriceList>
scope.row.subList[index].PriceList[0].GuideRoomPrice>0"
:price=
"scope.row.subList[index]"
>
</SamplePriceList>
<div
v-else
style=
"text-align: center;width: 100%;"
>
没有其他房型报价
</div>
<div
v-else
style=
"text-align: center;width: 100%;"
>
没有其他房型报价
</div>
<span
slot=
"reference"
class=
"CostPriceHover"
>
{{
childItem
.
CostPrice
}}
</span>
<span
slot=
"reference"
class=
"CostPriceHover"
>
{{
childItem
.
CostPrice
}}
</span>
</el-popover>
</el-popover>
...
@@ -62,6 +58,7 @@
...
@@ -62,6 +58,7 @@
</div>
</div>
</template>
</template>
</el-table-column>
</el-table-column>
</template>
</el-table>
</el-table>
<!-- 酒店详情信息 -->
<!-- 酒店详情信息 -->
...
@@ -74,8 +71,11 @@
...
@@ -74,8 +71,11 @@
import
SamplePriceList
from
'./SamplePriceList'
import
SamplePriceList
from
'./SamplePriceList'
import
hotelDetails
from
'./hotelDetails'
import
hotelDetails
from
'./hotelDetails'
export
default
{
export
default
{
components
:
{
SamplePriceList
,
hotelDetails
},
components
:
{
props
:[
'list'
,
'tableHeight'
],
SamplePriceList
,
hotelDetails
},
props
:
[
'list'
,
'tableHeight'
],
data
()
{
data
()
{
return
{
return
{
showHotelDetails
:
false
,
showHotelDetails
:
false
,
...
@@ -84,15 +84,15 @@
...
@@ -84,15 +84,15 @@
};
};
},
},
watch
:
{
watch
:
{
list
:{
list
:
{
handler
(
val
,
oldVal
){
handler
(
val
,
oldVal
)
{
this
.
dataList
=
val
this
.
dataList
=
val
let
_this
=
this
let
_this
=
this
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
_this
.
$refs
.
mytable
.
doLayout
();
_this
.
$refs
.
mytable
.
doLayout
();
})
})
},
200
)
},
200
)
},
},
deep
:
true
,
deep
:
true
,
immediate
:
true
,
immediate
:
true
,
...
@@ -100,17 +100,17 @@
...
@@ -100,17 +100,17 @@
},
},
methods
:
{
methods
:
{
// 酒店信息详情
// 酒店信息详情
showHotelDetailHandler
(
hotelId
){
showHotelDetailHandler
(
hotelId
)
{
this
.
HotelDetailId
=
hotelId
this
.
HotelDetailId
=
hotelId
this
.
showHotelDetails
=
true
this
.
showHotelDetails
=
true
},
},
// 取消
// 取消
close
(){
close
()
{
this
.
showHotelDetails
=
false
this
.
showHotelDetails
=
false
},
},
// 加入购物车
// 加入购物车
showOrderSubmitHandler
(
row
,
index
,
type
)
{
showOrderSubmitHandler
(
row
,
index
,
type
)
{
this
.
$emit
(
'showOrderSubmitHandler'
,
row
,
index
,
type
)
this
.
$emit
(
'showOrderSubmitHandler'
,
row
,
index
,
type
)
},
},
//格式化返回显示日期
//格式化返回显示日期
getDateList
(
dateStr
)
{
getDateList
(
dateStr
)
{
...
@@ -192,9 +192,11 @@
...
@@ -192,9 +192,11 @@
.classTe
{
.classTe
{
background-color
:
rgb
(
2
,
247
,
142
);
background-color
:
rgb
(
2
,
247
,
142
);
}
}
.hotelQueryListclass6
{
.hotelQueryListclass6
{
background-color
:
#808000
;
background-color
:
#808000
;
}
}
.HouseTypeList
{
.HouseTypeList
{
background
:
#ccc
;
background
:
#ccc
;
width
:
100%
;
width
:
100%
;
...
@@ -290,12 +292,12 @@
...
@@ -290,12 +292,12 @@
.HotelQueryList
.el-table
td
{
.HotelQueryList
.el-table
td
{
padding
:
0
;
padding
:
0
;
}
}
.CostPriceHover
{
height
:
100%
;
.CostPriceHover
{
float
:
left
;
height
:
100%
;
width
:
100%
;
float
:
left
;
width
:
100%
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
</
style
>
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment