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
ba7fb8c1
Commit
ba7fb8c1
authored
Jul 11, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
酒店查询优化
parent
dbb46eb1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
284 additions
and
280 deletions
+284
-280
roomQuery.vue
src/components/Hotel/roomQuery.vue
+95
-75
roomReservations.vue
src/components/Hotel/roomReservations.vue
+189
-205
No files found.
src/components/Hotel/roomQuery.vue
View file @
ba7fb8c1
...
@@ -119,66 +119,104 @@
...
@@ -119,66 +119,104 @@
<div
style=
"font-size:12px;padding:2px 4px 3px 4px; color:red"
>
注意事项:每次导出数据最好不要超过一个月。
</div>
<div
style=
"font-size:12px;padding:2px 4px 3px 4px; color:red"
>
注意事项:每次导出数据最好不要超过一个月。
</div>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomQueryTalbe"
v-loading=
'loading'
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomQueryTalbe"
v-loading=
'loading'
>
<tr>
<tr>
<th
width=
"
w10
0"
>
序号
</th>
<th
width=
"
12
0"
>
序号
</th>
<th
width=
"1
2
0"
>
出发地
</th>
<th
width=
"1
0
0"
>
出发地
</th>
<th
width=
"80"
>
公司团号
</th>
<th
width=
"80"
>
公司团号
</th>
<th
width=
"150"
>
航班
</th>
<th
width=
"100"
>
系列
</th>
<th
width=
"100"
>
系列
</th>
<th
width=
"120"
>
机位总数
<br
/>
(Y/E/F)
</th>
<th
width=
"80"
>
机位总数
<br
/>
(Y/E/F)
</th>
<th>
使用时间
&
酒店情况
</th>
<th
width=
"100"
>
使用时间
</th>
<th
width=
"120"
>
酒店名称
</th>
<th
width=
"120"
>
更换酒店
</th>
<th
width=
"100"
>
OP状态
</th>
<th
width=
"100"
>
地接状态
</th>
</tr>
</tr>
<tr
v-if=
"dataList.length==0"
>
<tr
v-if=
"dataList.length==0"
>
<td
colspan=
"10"
>
暂无数据
</td>
<td
colspan=
"10"
>
暂无数据
</td>
</tr>
</tr>
<tbody
v-for=
"(outItem,outindex) in dataList"
:class=
"
{roomQuerySplitTrCss:outindex%2!=0}">
<template
v-for=
"(outItem,outindex) in dataList"
>
<template
v-for=
"(item,index) in outItem.StaticsReportList"
>
<tbody
:class=
"
{roomQuerySplitTrCss:outindex%2!=0}">
<tr>
<template
v-for=
"(item,index) in outItem.PriceCommonList"
>
<td
:rowspan=
"outItem.StaticsReportList.length"
v-if=
'index==0'
>
<template
v-for=
"(subItem,subIndex) in item.PriceHotelResult"
>
<div
style=
"max-width: 100px; min-width: 50px;margin:auto;"
>
{{
outindex
+
1
}}
</div>
<template
v-for=
"(thirdItem,thirdIndex) in subItem.SubList"
>
<div
v-if=
'outItem.StaticsReportList.length>0'
class=
"w150"
>
{{
outItem
.
NewCombinationNum
}}
</div>
<tr>
</td>
<td
:rowspan=
"outItem.PriceCommonList.length*item.PriceHotelResult.length*subItem.SubList.length"
<td>
v-if=
'index==0&&subIndex==0&&thirdIndex==0'
>
<div
class=
"w80"
>
{{
outItem
.
NewCombinationNum
}}
{{
item
.
StartCityNames
}}
</td>
</div>
<td
:rowspan=
"item.PriceHotelResult.length*subItem.SubList.length"
</td>
v-if=
'subIndex==0&&thirdIndex==0'
>
<td>
{{
item
.
StartCityName
}}
<div
class=
"w120 link"
>
</td>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
TCNUMS
}}
</p>
<td
:rowspan=
"item.PriceHotelResult.length*subItem.SubList.length"
</div>
v-if=
'subIndex==0&&thirdIndex==0'
>
</td>
<div
class=
"w120 link"
>
<td>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
TCNUMS
}}
</p>
<div
class=
"w120 link"
>
</div>
{{
item
.
LineteamIdNames
}}
</td>
</div>
<td
:rowspan=
"item.PriceHotelResult.length*subItem.SubList.length"
</td>
v-if=
'subIndex==0&&thirdIndex==0'
style=
"white-space:nowrap;"
>
<td>
<template
v-for=
"(fItem,fIndex) in item.FlightList"
>
<div
class=
"w120 link"
>
<span
style=
"height:25px; line-height:25px;"
>
<p
@
click=
"goUrlT('RegistrationList',item.TCIDS,'报名清单')"
>
<a
style=
"color: #ff0066;font-weight: bold;"
>
{{
fItem
.
Flight_number
}}
</a>
{{
item
.
TotalSeat
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityFSeatNum
}}
{{
fItem
.
FlightDateStr
}}
</p>
{{
fItem
.
Departure_time
}}
{{
fItem
.
dName
}}
{{
fItem
.
TicketArrivalTime
}}
{{
fItem
.
aName
}}
</div>
</span><br/>
</td>
</
template
>
<td
style=
"vertical-align: top;"
>
</td>
<div
:style=
"
{width:150*item.CommonReport.newHotel.length+'px'}">
<td
:rowspan=
"item.PriceHotelResult.length*subItem.SubList.length"
<div
class=
"w150"
v-for=
"childItem in item.CommonReport.newHotel"
v-if=
'subIndex==0&&thirdIndex==0'
>
style=
"float:left;border-right:1px solid #d1d1d1;"
>
{{item.LineteamName}}
<p
class=
"pDateStyle"
>
{{
childItem
.
CheckInDateStr
}}
</p>
</td>
<p
@
click=
"goUrlR('HotelManagement',childItem.HotelId,'酒店管理')"
<td
:rowspan=
"item.PriceHotelResult.length*subItem.SubList.length"
class=
"pDateStyle phoverStype ownScrollbarStyle"
style=
"height: 50px!important; overflow:auto;"
>
v-if=
'subIndex==0&&thirdIndex==0'
>
{{
childItem
.
NewHotelName
}}
<div
class=
"w120 link"
>
<span
class=
"colorE95252"
>
<p
@
click=
"goUrlT('RegistrationList',item.TCIDS,'报名清单')"
>
<template
v-if=
"childItem.OPState==1"
>
[OP-指定]
</
template
>
{{item.TotalSeat}}/{{item.YSeatNum}}/{{item.ESeatNum}}/{{item.FSeatNum}}
<
template
v-else-if=
"childItem.OPState==2&&childItem.DMCState==0"
>
[OP-暂定]
</
template
>
</p>
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"[地接-OK]"
:(
childItem
.
DMCState
==
0
?
"[地接-未操作]"
:
"[地接-暂定]"
)
}}
</div>
</
template
>
</td>
</span>
<td
:rowspan=
"subItem.SubList.length"
v-if=
'thirdIndex==0'
>
</p>
{{subItem.UseDay}}
</div>
</td>
</div>
<td
style=
"text-align:left;padding-left:2px;"
>
</td>
<
template
v-if=
"thirdItem.HotelName!=thirdItem.NewHotelName && thirdItem.NewHotelName!=''"
>
</tr>
<span
style=
"text-decoration:line-through"
>
{{
thirdItem
.
HotelName
}}
</span>
</template>
</
template
>
</tbody>
<
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>
<
template
v-if=
"thirdItem.OPState==1"
>
<span
style=
"color: green;"
>
OP-指定
</span>
</
template
>
<
template
v-else-if=
"thirdItem.OPState==2"
>
<span
style=
"color:red;"
>
OP-暂定
</span>
</
template
>
</td>
<td>
<
template
v-if=
"thirdItem.DMCState==1"
>
<span
style=
"color: green;"
>
地接-OK
</span>
</
template
>
<
template
v-else-if=
"thirdItem.DMCState==2"
>
<span
style=
"color:red;"
>
地接-暂定
</span>
</
template
>
<
template
v-else-if=
"thirdItem.DMCState==0"
>
<span
style=
"color:red;"
>
地接-未操作
</span>
</
template
>
</td>
</tr>
</template>
</template>
</template>
</tbody>
</template>
</table>
</table>
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
...
@@ -194,7 +232,7 @@
...
@@ -194,7 +232,7 @@
total
:
0
,
total
:
0
,
msg
:
{
msg
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
8
,
pageSize
:
5
,
SelectType
:
1
,
SelectType
:
1
,
StartDate
:
''
,
StartDate
:
''
,
EndDate
:
''
,
EndDate
:
''
,
...
@@ -319,29 +357,11 @@
...
@@ -319,29 +357,11 @@
},
},
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_
post_GetUniteCombinationNumService
'
,
this
.
msg
,
res
=>
{
this
.
apipost
(
'dmcstatistics_
get_GetDmcHotelPageList
'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
dataList
=
res
.
data
.
data
.
pageData
.
data
;
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
thLengthTitle
=
[];
for
(
let
i
=
1
;
i
<=
res
.
data
.
data
.
pageData
.
columnsCount
;
i
++
)
{
this
.
thLengthTitle
.
push
(
'第'
+
i
+
'晚'
)
}
this
.
dataList
.
forEach
(
x
=>
{
x
.
StaticsReportList
.
forEach
(
y
=>
{
y
.
CommonReport
.
newHotel
=
[];
if
(
y
.
CommonReport
.
HotelOrderListReport
!=
null
&&
y
.
CommonReport
.
HotelOrderListReport
.
length
>
0
)
{
y
.
CommonReport
.
HotelOrderListReport
.
forEach
(
z
=>
{
z
.
HotelOrderList
.
forEach
(
q
=>
{
y
.
CommonReport
.
newHotel
.
push
(
q
);
})
})
}
y
.
colNum
=
9
+
y
.
CommonReport
.
newHotel
.
length
;
});
})
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
...
...
src/components/Hotel/roomReservations.vue
View file @
ba7fb8c1
...
@@ -3,22 +3,22 @@
...
@@ -3,22 +3,22 @@
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<ul>
<li>
<li>
<span>
<span>
<em>
{{
$t
(
'Operation.Op_Country'
)
}}
/
{{
$t
(
'system.query_dest'
)
}}
</em>
<em>
{{
$t
(
'Operation.Op_Country'
)
}}
/
{{
$t
(
'system.query_dest'
)
}}
</em>
<el-select
v-model=
"msg.PlaceID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
<el-select
v-model=
"msg.PlaceID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in queryCommonData.PlaceList"
:label=
"item.PlaceName"
:value=
"item.PlaceID"
<el-option
v-for=
"item in queryCommonData.PlaceList"
:label=
"item.PlaceName"
:value=
"item.PlaceID"
:key=
"item.LtID"
></el-option>
:key=
"item.LtID"
></el-option>
</el-select>
</el-select>
</span>
</span>
</li>
</li>
<li>
<li>
<span>
<span>
<em>
系列
</em>
<em>
系列
</em>
<el-select
v-model=
"msg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
v-model=
"msg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
'0'
></el-option>
<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
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>
...
@@ -30,17 +30,20 @@
...
@@ -30,17 +30,20 @@
</span>
</span>
</li>
</li>
<li><span><em>
日期
</em>
<li><span><em>
日期
</em>
<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.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>
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"pickerBeginDateAfter"
></el-date-picker>
</span>
</span>
</li>
</li>
<li><span>
<li><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>
<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-option
v-for=
"team in $tripUtils.TeamStatesList.TeamStates"
:label=
"team.Name"
:key=
"team.Id"
</el-select>
:value=
"team.Id"
v-if=
"team.Id==1 || team.Id==3"
></el-option>
</el-select>
</span>
</span>
</li>
</li>
<li>
<li>
...
@@ -49,21 +52,21 @@
...
@@ -49,21 +52,21 @@
<el-select
v-model=
"msg.AirLineId"
filterable
:placeholder=
"$t('system.ph_buxian')"
>
<el-select
v-model=
"msg.AirLineId"
filterable
:placeholder=
"$t('system.ph_buxian')"
>
<el-option
:label=
"$t('system.ph_buxian')"
:value=
"0"
>
<el-option
:label=
"$t('system.ph_buxian')"
:value=
"0"
>
</el-option>
</el-option>
<el-option
v-for=
"item in queryCommonData.AirlineList"
:key=
"item.AirLineId"
<el-option
v-for=
"item in queryCommonData.AirlineList"
:key=
"item.AirLineId"
:label=
"item.AlName"
:
label=
"item.AlName"
:
value=
"item.AirLineId"
></el-option>
:value=
"item.AirLineId"
></el-option>
</el-select>
</el-select>
</span>
</span>
</li>
</li>
<li>
<li>
<span>
<span>
<em>
OP
</em>
<em>
OP
</em>
<el-select
v-model=
"msg.CreateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
v-model=
"msg.CreateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
>
</el-option>
</el-option>
<el-option
v-for=
"item in queryCommonData.EmployeeList"
:label=
"item.EmName
"
<el-option
v-for=
"item in queryCommonData.EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId
"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
:key=
"item.EmployeeId"
></el-option>
</el-select>
</el-select>
</span>
</span>
</li>
</li>
<li>
<li>
<span>
<span>
...
@@ -74,7 +77,8 @@
...
@@ -74,7 +77,8 @@
<li>
<li>
<span>
<span>
<em>
出团公司
</em>
<em>
出团公司
</em>
<el-select
v-model=
"msg.OutBranchIds"
filterable
multiple
class=
"multiple_input"
:placeholder=
"$t('pub.pleaseSel')"
>
<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
v-for=
"item in queryCommonData.BranchList"
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-option>
</el-select>
</el-select>
...
@@ -101,157 +105,161 @@
...
@@ -101,157 +105,161 @@
</li>
</li>
</ul>
</ul>
</div>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
:style=
"
{height: boxHeight + 'px'}">
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
:style=
"
{height: boxHeight + 'px'}">
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsTalbe"
v-loading=
'loading'
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsTalbe"
v-loading=
'loading'
>
<tr>
<tr>
<th
width=
"
w10
0"
>
序号
</th>
<th
width=
"
12
0"
>
序号
</th>
<th
width=
"
12
0"
>
出发地
</th>
<th
width=
"
8
0"
>
出发地
</th>
<th
width=
"
12
0"
>
航班时间
</th>
<th
width=
"
9
0"
>
航班时间
</th>
<th
width=
"
80
"
>
公司团号
</th>
<th
width=
"
145
"
>
公司团号
</th>
<th
width=
"1
20"
>
机位总数/
(Y/E/F)
</th>
<th
width=
"1
00"
>
机位总数
<br/>
(Y/E/F)
</th>
<th
width=
"
120"
>
占床/
不占床
</th>
<th
width=
"
80"
>
占床
<br
/>
不占床
</th>
<th
width=
"80"
>
实际用房数
</th>
<th
width=
"80"
>
实际用房数
</th>
<th>
操作
</th>
<th
width=
"100"
>
操作
</th>
<th></th>
<th
width=
"110"
>
时间
</th>
<th></th>
<th
width=
"120"
>
酒店名称
</th>
<th>
备注
</th>
<th
width=
"120"
>
更换酒店
</th>
<th
width=
"100"
>
OP状态
</th>
<th
width=
"100"
>
地接状态
</th>
<th
width=
"150"
>
房间预订数
<br
/>
单间/标准双人间/大床房/三人间/司导间
</th>
</tr>
</tr>
<tr
v-if=
"list.length==0"
>
<tr
v-if=
"list.length==0"
>
<td
colspan=
"1
1
"
>
暂无数据
</td>
<td
colspan=
"1
4
"
>
暂无数据
</td>
</tr>
</tr>
<t
body
v-for=
"(outItem,outindex) in list"
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}
">
<t
emplate
v-for=
"(outItem,outindex) in list
"
>
<t
emplate
v-for=
"(item,index) in outItem.StaticsReportList
"
>
<t
body
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}
">
<t
r
>
<t
emplate
v-for=
"(item,index) in outItem.StaticsReportList"
>
<t
d
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<t
emplate
v-for=
"(subItem,subIndex) in item.CommonReport.HotelOrderListReport"
<div
style=
"max-width: 100px; min-width: 50px;margin:auto;"
>
{{
outindex
+
1
}}
</div
>
v-if=
"subItem.HotelOrderList.length>0"
>
<
div
v-if=
'outItem.StaticsReportList.length>0'
class=
"w150"
>
{{
outItem
.
NewCombinationNum
}}
</div
>
<
template
v-for=
"(thirdItem,thirdIndex) in subItem.HotelOrderList"
>
</td
>
<tr
>
<td>
<td
<div
class=
"w80"
>
:rowspan=
"outItem.StaticsReportList.length*item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
{{
item
.
StartCityNames
}}
v-if=
'index==0&&subIndex==0&&thirdIndex==0'
>
</div>
{{
outItem
.
NewCombinationNum
}}
</td>
</td>
<td>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
<div
class=
"w150"
>
v-if=
'subIndex==0&&thirdIndex==0'
>
{{
item
.
FlightDate
}}
{{
item
.
StartCityNames
}}
<el-popover
popper-class=
"roomReservations_tripDetails"
width=
"550"
trigger=
"click"
>
</td
>
<t
able
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<t
d
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
<tr
class=
"_color_666"
style=
"text-align:center;"
>
v-if=
'subIndex==0&&thirdIndex==0'
>
<th
width=
"60"
>
{{
$t
(
'Airticket.Air_segment'
)
}}
</th
>
<div
class=
"w150"
>
<th
width=
"80"
>
{{
$t
(
'system.query_flightNum'
)
}}
</th>
{{
item
.
FlightDate
}}
<
th
width=
"150"
>
起飞时间
</th
>
<
el-popover
popper-class=
"roomReservations_tripDetails"
width=
"550"
trigger=
"click"
>
<th
width=
"80"
>
到达时间
</th
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<th
width=
"100"
>
经停城市
</th
>
<tr
class=
"_color_666"
style=
"text-align:center;"
>
</tr
>
<th
width=
"60"
>
{{
$t
(
'Airticket.Air_segment'
)
}}
</th
>
<tr
v-for=
"(ds,din) in item.FlightList"
:key=
"din"
style=
"text-align:center;"
>
<th
width=
"80"
>
{{
$t
(
'system.query_flightNum'
)
}}
</th
>
<td
class=
"_d_name _color_666"
>
<th
width=
"150"
>
起飞时间
</th
>
<span
v-if=
"din==0"
>
{{
$t
(
'Airticket.Air_go'
)
}}
</span
>
<th
width=
"80"
>
到达时间
</th
>
<span
v-else-if=
"din==item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_returnTrip'
)
}}
</span
>
<th
width=
"100"
>
经停城市
</th
>
<span
</tr>
v-else-if=
"din>0 && din!=item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_transit'
)
}}
</span
>
<tr
v-for=
"(ds,din) in item.FlightList"
:key=
"din"
style=
"text-align:center;"
>
</td
>
<td
class=
"_d_name _color_666"
>
<td
>
<span
v-if=
"din==0"
>
{{
$t
(
'Airticket.Air_go'
)
}}
</span
>
<div>
{{
ds
.
Flight_number
}}
</div>
<span
<div
style=
"margin-top:5px;"
>
{{
ds
.
AlName
}}
</div
>
v-else-if=
"din==item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_returnTrip'
)
}}
</span
>
</td>
<span
<td
>
v-else-if=
"din>0 && din!=item.FlightList.length-1"
>
{{
$t
(
'Airticket.Air_transit'
)
}}
</span
>
<div>
{{
ds
.
FlightDate
}}
{{
ds
.
Departure_time
}}
</div
>
</td
>
<div
style=
"margin-top:5px;"
>
{{
ds
.
dName
}}
</div
>
<td
>
</td
>
<div>
{{
ds
.
Flight_number
}}
</div
>
<td
>
<div
style=
"margin-top:5px;"
>
{{
ds
.
AlName
}}
</div
>
<div>
{{
ds
.
FlightArrivalTime
}}
{{
ds
.
Arrival_time
}}
</div
>
</td
>
<div
style=
"margin-top:5px;"
>
{{
ds
.
aName
}}
</div
>
<td
>
</td
>
<div>
{{
ds
.
FlightDate
}}
{{
ds
.
Departure_time
}}
</div
>
<td>
{{
ds
.
StopoverName
}}
</td
>
<div
style=
"margin-top:5px;"
>
{{
ds
.
dName
}}
</div
>
</tr
>
</td
>
</table
>
<td
>
<el-button
slot=
"reference"
class=
"normalBtn mt5"
<div>
{{
ds
.
FlightArrivalTime
}}
{{
ds
.
Arrival_time
}}
</div>
style=
'height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'
>
详情
</el-button
>
<div
style=
"margin-top:5px;"
>
{{
ds
.
aName
}}
</div
>
</el-popover
>
</td
>
</div
>
<td>
{{
ds
.
StopoverName
}}
</td
>
</td
>
</tr
>
<td
>
</table
>
<div
class=
"w120 link"
>
<el-button
slot=
"reference"
class=
"normalBtn mt5"
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
TCNUMS
}}
</p>
style=
'height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'
>
详情
</div
>
</el-button
>
</td
>
</el-popover
>
<td
>
</div
>
<div
class=
"w120 link"
>
</td
>
<p
@
click=
"goUrlT('RegistrationList',item.TCIDS,'报名清单')"
>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
{{
item
.
TotalSeat
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityFSeatNum
}}
v-if=
'subIndex==0&&thirdIndex==0'
>
</p
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
style=
"cursor:pointer;text-decoration:underline;"
>
</div>
{{
item
.
TCNUMS
}}
(
{{
item
.
TCIDS
}}
)
</td
>
</p
>
<
td>
</
td>
<div
class=
"w80 link"
>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
<p
@
click=
"goUrlT('passengerHouse',item.TCIDS,'房间分配')"
>
v-if=
'subIndex==0&&thirdIndex==0'
>
{{
item
.
CommonReport
.
HouseStatistics
.
NeedBed
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
NoNeedBed
}}
</p
>
<p
@
click=
"goUrlT('RegistrationList',item.TCIDS,'报名清单')"
style=
"cursor:pointer;text-decoration:underline;"
>
</div>
{{
item
.
TotalSeat
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
RealityFSeatNum
}}
</td
>
</p
>
<
td>
</
td>
<div
class=
"w80"
>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
{{
item
.
CommonReport
.
HouseStatistics
.
RealityRoomNum
}}
v-if=
'subIndex==0&&thirdIndex==0'
>
</div
>
<p
@
click=
"goUrlT('passengerHouse',item.TCIDS,'房间分配')"
style=
"cursor:pointer;text-decoration:underline;"
>
</td>
{{
item
.
CommonReport
.
HouseStatistics
.
NeedBed
}}
/
{{
item
.
CommonReport
.
HouseStatistics
.
NoNeedBed
}}
<td
>
</p
>
<div
class=
"w80 link"
style=
"margin:auto;"
>
</td
>
<p
@
click=
"goUrl('roomReservationsDetails',item,outItem,'订房详情')"
>
详情
</p>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
</div
>
v-if=
'subIndex==0&&thirdIndex==0'
>
</td>
{{
item
.
CommonReport
.
HouseStatistics
.
RealityRoomNum
}}
<td
style=
"vertical-align: top;"
>
</td
>
<div
class=
"w260"
>
<td
:rowspan=
"item.CommonReport.HotelOrderListReport.length*subItem.HotelOrderList.length"
<p
class=
"pDateStyle"
>
时间
</p
>
v-if=
'subIndex==0&&thirdIndex==0'
>
<p
class=
"pDateStyle"
style=
"height: 50px!important; line-height: 50px;"
>
酒店名称
</p>
<p
@
click=
"goUrl('roomReservationsDetails',item,outItem,'订房详情')"
style=
"cursor:pointer;text-decoration:underline;"
>
详情
</p>
<p
class=
"pDateStyle"
>
用房数
</p
>
</td
>
<p
class=
"pDateStyle"
>
房间预定数
</p
>
<td
:rowspan=
"subItem.HotelOrderList.length"
v-if=
'thirdIndex==0'
>
<p
class=
"pDateStyle"
>
{{
subItem
.
UseTimeStr
}}
<
span
v-show=
"item.CommonReport.HouseStatistics.HouseTypeList.length==0"
>
房型
</span
>
<
/td
>
<
span
v-for=
"x in item.CommonReport.HouseStatistics.HouseTypeList"
>
{{
x
.
HouseTypeName
}}
</span
>
<
td
style=
"text-align:left;padding-left:2px;"
>
</p
>
<template
v-if=
"thirdItem.HotelName!=thirdItem.NewHotelName && thirdItem.NewHotelName!=''"
>
</div
>
<span
style=
"text-decoration:line-through"
>
{{
thirdItem
.
HotelName
}}
</span
>
</td
>
</
template
>
<td
style=
"vertical-align: top;"
>
<
template
v-else
>
<div
:style=
"
{width:150*item.CommonReport.newHotel.length+'px'}">
{{
thirdItem
.
HotelName
}}
<div
class=
"w150"
v-for=
"childItem in item.CommonReport.newHotel"
</
template
>
style=
"float:left;border-right:1px solid #d1d1d1;"
>
</td
>
<
p
class=
"pDateStyle"
>
{{
childItem
.
CheckInDateStr
}}
</p
>
<
td
style=
"text-align:left;padding-left:2px;"
>
<p
@
click=
"goUrlR('HotelManagement',childItem.HotelId,'酒店管理')"
<
template
v-if=
"thirdItem.HotelName!=thirdItem.NewHotelName"
>
class=
"pDateStyle phoverStype ownScrollbarStyle"
style=
"height: 50px!important; overflow:auto;"
>
<span
style=
"color:red;"
>
{{
thirdItem
.
NewHotelName
}}
</span
>
<
span
class=
"colorE95252"
>
<
/
template
>
<template
v-if=
"childItem.OPState==1"
>
[OP选房-OK]
</
template
>
</td
>
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"[地接-OK]"
:(
childItem
.
DMCState
==
0
?
"[未操作]"
:
"[暂定]"
)
}}
<td>
</
template
>
<
template
v-if=
"thirdItem.OPState==1"
>
</span>
{{childItem.NewHotelName}}
<span
style=
"color: green;"
>
OP-指定
</span>
</p
>
</
template
>
<p
class=
"pDateStyle"
>
{{item.CommonReport.HouseStatistics.RealityRoomNum}}
</p
>
<
template
v-else-if=
"thirdItem.OPState==2"
>
<p
class=
"pDateStyle"
>
<span
style=
"color:red;"
>
OP-暂定
</span
>
<
span
v-for=
"q in childItem.OrderDetailsList"
>
{{q.HouseTypeCount}}
</span
>
<
/
template
>
</
p
>
</
td
>
<
p
class=
"pDateStyle"
>
<
td
>
<
span
v-for=
"x in item.CommonReport.HouseStatistics.HouseTypeList"
>
{{x.HouseTypeCount}}
</span
>
<
template
v-if=
"thirdItem.DMCState==1"
>
<span
v-if=
"item.CommonReport.HouseStatistics.HouseTypeList.length==0"
>
暂无订房
</span>
<span
style=
"color: green;"
>
地接-OK
</span>
</p
>
</
template
>
</div
>
<
template
v-else-if=
"thirdItem.DMCState==2"
>
</div
>
<span
style=
"color:red;"
>
地接-暂定
</span
>
</td
>
</
template
>
<
template
v-else-if=
"thirdItem.DMCState==0"
>
<td
>
<span
style=
"color:red;"
>
地接-未操作
</span
>
<div
class=
"w200"
>
</
template
>
{{item.Remarks}}
</td>
</div
>
<td
>
</td
>
<span
v-for=
"(lastItem,lastIndex) in thirdItem.OrderDetailsList"
>
</tr>
{{lastItem.HouseTypeCount}}
<tr
>
<
template
v-if=
"lastIndex!=thirdItem.OrderDetailsList.length-1"
>
<td
:colspan=
"item.colNum"
style=
"text-align: left!important;padding-left: 20px;"
>
/
<div
class=
"link"
>
</
template
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{item.Titles}}
</p
>
</span
>
<div
v-show=
"outItem.StaticsReportList[0].DMCRemark!=''"
class=
"colorE95252"
>
地接备注:{{outItem.StaticsReportList[0].DMCRemark}}
</div
>
</td
>
<
div
v-show=
"item.CommonReport.Complain_Extend.Id>0"
class=
"colorE95252"
>
供应商投诉:{{item.CommonReport.Complain_Extend.ComplainContent}}
</div
>
<
/tr
>
</
div
>
</
template
>
</t
d
>
</t
emplate
>
</t
r
>
</t
emplate
>
</t
emplate
>
</t
body
>
</t
body
>
</t
emplate
>
</table>
</table>
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
...
@@ -281,26 +289,26 @@
...
@@ -281,26 +289,26 @@
PlaceID
:
0
,
PlaceID
:
0
,
LineteamId
:
0
,
LineteamId
:
0
,
//航空公司
//航空公司
AirLineId
:
0
,
AirLineId
:
0
,
CreateBy
:
0
,
CreateBy
:
0
,
TCNUM
:
''
,
TCNUM
:
''
,
PriceStatus
:
0
,
PriceStatus
:
0
,
CombinationNum
:
''
,
CombinationNum
:
''
,
HotelStatus
:
0
HotelStatus
:
0
},
},
thLengthTitle
:
[],
thLengthTitle
:
[],
list
:
[],
list
:
[],
colspanTotal
:
0
,
colspanTotal
:
0
,
boxHeight
:
0
,
boxHeight
:
0
,
queryCommonData
:{
queryCommonData
:
{
//公司数据
//公司数据
BranchList
:
[],
BranchList
:
[],
//国家
//国家
PlaceList
:
[],
PlaceList
:
[],
LineList
:
[],
LineList
:
[],
LineTeamList
:
[],
LineTeamList
:
[],
AirlineList
:[],
AirlineList
:
[],
EmployeeList
:[],
EmployeeList
:
[],
},
},
pickerBeginDateBefore
:
{
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
disabledDate
:
time
=>
{
...
@@ -364,36 +372,14 @@
...
@@ -364,36 +372,14 @@
this
.
currentPage
=
1
;
this
.
currentPage
=
1
;
},
},
getList
()
{
getList
()
{
this
.
loading
=
true
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_post_GetUniteCombinationNumService'
,
this
.
msg
,
res
=>
{
this
.
apipost
(
'dmcstatistics_post_GetUniteCombinationNumService'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
this
.
total
=
res
.
data
.
data
.
count
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
list
=
res
.
data
.
data
.
pageData
.
data
;
this
.
list
=
res
.
data
.
data
.
pageData
.
data
;
this
.
thLengthArr
=
[]
this
.
thLengthTitle
=
[]
this
.
colspanTotal
=
res
.
data
.
data
.
pageData
.
columnsCount
+
9
for
(
let
i
=
1
;
i
<=
res
.
data
.
data
.
pageData
.
columnsCount
;
i
++
)
{
this
.
thLengthTitle
.
push
(
'第'
+
i
+
'晚'
)
}
this
.
list
.
forEach
(
x
=>
{
x
.
StaticsReportList
.
forEach
(
y
=>
{
y
.
CommonReport
.
newHotel
=
[];
if
(
y
.
CommonReport
.
HotelOrderListReport
!=
null
&&
y
.
CommonReport
.
HotelOrderListReport
.
length
>
0
)
{
y
.
CommonReport
.
HotelOrderListReport
.
forEach
(
z
=>
{
z
.
HotelOrderList
.
forEach
(
q
=>
{
y
.
CommonReport
.
newHotel
.
push
(
q
);
})
})
}
y
.
colNum
=
9
+
y
.
CommonReport
.
newHotel
.
length
;
})
})
this
.
$forceUpdate
()
this
.
$forceUpdate
()
}
else
{
}
else
{
this
.
loading
=
false
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
},
err
=>
{})
},
err
=>
{})
...
@@ -404,7 +390,6 @@
...
@@ -404,7 +390,6 @@
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
this
.
queryCommonData
.
PlaceList
=
[]
this
.
queryCommonData
.
PlaceList
=
[]
this
.
queryCommonData
.
LineTeamList
=
[]
this
.
queryCommonData
.
LineTeamList
=
[]
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
...
@@ -522,7 +507,6 @@
...
@@ -522,7 +507,6 @@
this
.
getList
();
this
.
getList
();
},
},
}
}
</
script
>
</
script
>
<
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