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
bb6be056
Commit
bb6be056
authored
Mar 29, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
酒店分宿修改
parent
cb917f4d
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
324 additions
and
264 deletions
+324
-264
roomReservations.vue
src/components/Hotel/roomReservations.vue
+55
-43
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+269
-221
No files found.
src/components/Hotel/roomReservations.vue
View file @
bb6be056
...
...
@@ -31,7 +31,7 @@
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsTalbe"
v-loading=
'loading'
>
<tr>
<th
width=
"w
5
0"
>
序号
</th>
<th
width=
"w
10
0"
>
序号
</th>
<th
width=
"120"
>
出发地
</th>
<th
width=
"120"
>
航班时间
</th>
<th
width=
"80"
>
公司团号
</th>
...
...
@@ -40,6 +40,7 @@
<th
width=
"80"
>
实际用房数
</th>
<th></th>
<th
v-for=
'item in thLengthTitle'
>
{{
item
}}
</th>
<th></th>
<th>
备注
</th>
<th>
操作
</th>
</tr>
...
...
@@ -50,8 +51,8 @@
<template
v-for=
"(item,index) in outItem.StaticsReportList"
>
<tr>
<td
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
style=
"max-width: 100px; min-width: 50px;
"
>
{{
outindex
+
1
}}
</div>
<div
v-if=
'outItem.StaticsReportList.length>0'
class=
"w1
0
0"
>
{{
outItem
.
NewCombinationNum
}}
</div>
<div
style=
"max-width: 100px; min-width: 50px;
margin:auto;
"
>
{{
outindex
+
1
}}
</div>
<div
v-if=
'outItem.StaticsReportList.length>0'
class=
"w1
5
0"
>
{{
outItem
.
NewCombinationNum
}}
</div>
</td>
<td>
<div
class=
"w80"
>
...
...
@@ -59,7 +60,7 @@
</div>
</td>
<td>
<div
class=
"w
8
0"
>
<div
class=
"w
15
0"
>
{{
item
.
FlightDate
}}
<el-popover
popper-class=
"roomReservations_tripDetails"
width=
"550"
trigger=
"click"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
...
...
@@ -132,37 +133,39 @@
</p>
</div>
</td>
<td
v-for=
"(x,ii) in item.CommonReport.HotelList"
style=
"vertical-align: top;"
>
<div
class=
"w150"
v-if=
'ii
<item
.
CommonReport
.
valueLength
'
>
<p
class=
"pDateStyle"
>
{{
x
.
CheckInDateStr
}}
</p>
<p
@
click=
"goUrlR('HotelManagement',x.HotelId,'酒店管理')"
<td
style=
"vertical-align: top;"
>
<div
:style=
"
{width:150*item.CommonReport.newHotel.length+'px'}">
<div
class=
"w150"
v-for=
"childItem in item.CommonReport.newHotel"
style=
"float:left;border-right:1px solid #d1d1d1;"
>
<p
class=
"pDateStyle"
>
{{
childItem
.
CheckInDateStr
}}
</p>
<p
@
click=
"goUrlR('HotelManagement',childItem.HotelId,'酒店管理')"
class=
"pDateStyle phoverStype ownScrollbarStyle"
style=
"height: 50px!important; overflow:auto;"
>
<span
v-if=
'x.HotelOrderState==0'
class=
"colorE95252"
>
(待定)
</span>
{{
x
.
NewHotelName
}}
<span
v-if=
'childItem.HotelOrderState==0'
class=
"colorE95252"
>
(待定)
</span>
{{
childItem
.
NewHotelName
}}
</p>
<p
class=
"pDateStyle"
>
{{
item
.
CommonReport
.
HouseStatistics
.
RealityRoomNum
}}
</p>
<p
class=
"pDateStyle"
>
<span
v-for=
"q in x
.OrderDetailsList"
>
{{
q
.
HouseTypeCount
}}
</span>
<span
v-for=
"q in childItem
.OrderDetailsList"
>
{{
q
.
HouseTypeCount
}}
</span>
</p>
<p
class=
"pDateStyle"
>
<span
v-for=
"x in item.CommonReport.HouseStatistics.HouseTypeList"
>
{{
x
.
HouseTypeCount
}}
</span>
<span
v-if=
"item.CommonReport.HouseStatistics.HouseTypeList.length==0"
>
暂无订房
</span>
</p>
</div>
</div>
</td>
<td>
<div
class=
"w200"
>
{{
item
.
Remarks
}}
</div>
</td>
<td>
<div
class=
"w80 link"
>
<div
class=
"w80 link"
style=
"margin:auto;"
>
<p
@
click=
"goUrl('roomReservationsDetails',item,outItem,'订房详情')"
>
详情
</p>
</div>
</td>
</tr>
<tr>
<td
:colspan=
"
colspanTotal
"
style=
"text-align: left!important;padding-left: 20px;"
>
<td
:colspan=
"
item.colNum
"
style=
"text-align: left!important;padding-left: 20px;"
>
<div
class=
"link"
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
Titles
}}
</p>
<div
v-show=
"outItem.StaticsReportList[0].DMCRemark!=''"
class=
"colorE95252"
>
...
...
@@ -251,7 +254,7 @@
}
})
},
goUrl
(
path
,
obj
,
outItem
,
title
)
{
goUrl
(
path
,
obj
,
outItem
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
...
...
@@ -278,8 +281,8 @@
this
.
apipost
(
'dmcstatistics_post_GetUniteCombinationNumService'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
this
.
total
=
res
.
data
.
data
.
count
this
.
list
=
res
.
data
.
data
.
pageData
.
data
this
.
total
=
res
.
data
.
data
.
count
;
this
.
list
=
res
.
data
.
data
.
pageData
.
data
;
this
.
thLengthArr
=
[]
this
.
thLengthTitle
=
[]
this
.
colspanTotal
=
res
.
data
.
data
.
pageData
.
columnsCount
+
9
...
...
@@ -288,19 +291,32 @@
}
this
.
list
.
forEach
(
outItem
=>
{
outItem
.
StaticsReportList
.
forEach
(
item
=>
{
item
.
CommonReport
[
'valueLength'
]
=
item
.
CommonReport
.
Hotel
Lis
t
.
length
if
(
item
.
CommonReport
.
Hotel
Lis
t
.
length
<
res
.
data
.
data
.
pageData
.
columnsCount
)
{
let
_cha
=
res
.
data
.
data
.
pageData
.
columnsCount
-
item
.
CommonReport
.
Hotel
Lis
t
.
length
item
.
CommonReport
[
'valueLength'
]
=
item
.
CommonReport
.
Hotel
OrderListRepor
t
.
length
if
(
item
.
CommonReport
.
Hotel
OrderListRepor
t
.
length
<
res
.
data
.
data
.
pageData
.
columnsCount
)
{
let
_cha
=
res
.
data
.
data
.
pageData
.
columnsCount
-
item
.
CommonReport
.
Hotel
OrderListRepor
t
.
length
let
_chaArr
=
new
Array
()
for
(
let
i
=
0
;
i
<
_cha
;
i
++
)
{
_chaArr
.
push
({
'HotelName'
:
''
})
}
item
.
CommonReport
.
Hotel
List
=
item
.
CommonReport
.
HotelLis
t
.
concat
(
_chaArr
)
item
.
CommonReport
.
Hotel
OrderListReport
=
item
.
CommonReport
.
HotelOrderListRepor
t
.
concat
(
_chaArr
)
}
})
})
this
.
list
.
forEach
(
x
=>
{
x
.
StaticsReportList
.
forEach
(
y
=>
{
y
.
CommonReport
.
newHotel
=
[];
y
.
CommonReport
.
HotelOrderListReport
.
forEach
(
z
=>
{
z
.
HotelOrderList
.
forEach
(
q
=>
{
y
.
CommonReport
.
newHotel
.
push
(
q
);
})
})
y
.
colNum
=
9
+
y
.
CommonReport
.
newHotel
.
length
;
})
})
console
.
log
(
"this.list2"
,
this
.
list
);
}
else
{
this
.
loading
=
false
this
.
$message
.
error
(
res
.
data
.
message
)
...
...
@@ -317,26 +333,22 @@
"-"
+
myDate
.
getDate
();
if
(
this
.
$route
.
query
.
hotelId
)
{
this
.
msg
.
HotelId
=
this
.
$route
.
query
.
hotelId
;
if
(
this
.
$route
.
query
.
hotelId
)
{
this
.
msg
.
HotelId
=
this
.
$route
.
query
.
hotelId
;
}
if
(
this
.
$route
.
query
.
dateStr
)
{
this
.
msg
.
DateStr
=
this
.
$route
.
query
.
dateStr
;
if
(
this
.
$route
.
query
.
dateStr
)
{
this
.
msg
.
DateStr
=
this
.
$route
.
query
.
dateStr
;
}
if
(
this
.
$route
.
query
.
hotelId
||
this
.
$route
.
query
.
dateStr
)
{
if
(
this
.
$route
.
query
.
hotelId
||
this
.
$route
.
query
.
dateStr
)
{
this
.
msg
.
StartDate
=
""
;
}
else
{
}
else
{
this
.
msg
.
StartDate
=
nowDate
;
}
this
.
getList
()
this
.
getLineTeamList
()
},
}
</
script
>
<
style
>
...
...
src/components/Hotel/roomReservationsDetails.vue
View file @
bb6be056
...
...
@@ -11,13 +11,12 @@
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsDetailsTalbe"
>
<tr>
<th
class=
"fz14"
colspan=
"
10
"
>
团队信息
</th>
<th
class=
"fz14"
colspan=
"1
3
"
>
地接操作信息
</th>
<th
class=
"fz14"
colspan=
"
8
"
>
团队信息
</th>
<th
class=
"fz14"
colspan=
"1
5
"
>
地接操作信息
</th>
</tr>
<tr>
<th
width=
"1
20"
>
公司团号
</th>
<th
width=
"1
00"
>
入住时间
</th>
<th
width=
"200"
>
酒店名称
</th>
<th
width=
"80"
>
入住时间
</th>
<th
width=
"120"
>
机位总数/(Y/E/F)
</th>
<th
width=
"120"
>
占床/不占床
</th>
<th
width=
"80"
>
实际用房数
</th>
...
...
@@ -26,6 +25,7 @@
<th
width=
"80"
>
房间人数
</th>
<th
width=
"200"
>
修改酒店
</th>
<th
width=
"150"
>
房间预定数
</th>
<th
width=
"150"
>
预定人数
</th>
<th
width=
"120"
>
尚差房间数
</th>
<th
width=
"80"
>
单价/每人
</th>
<th
width=
"80"
>
免减人数
</th>
...
...
@@ -39,104 +39,94 @@
<th
width=
"80"
>
备注
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in list"
>
<td
:rowspan=
"list.length"
v-if=
"index==0"
>
<div
class=
"w120"
>
<p
class=
"link"
@
click=
"goUrlT('productQuery',TCNUM,'产品查询')"
>
{{
TCNUM
}}
</p>
<el-button
@
click=
'openChart()'
v-if=
"CreateByAccount!=''"
type=
"primary"
style=
"background:#6DD875; border-color:#6DD875;padding:4px;margin-top:10px;"
>
联系OP
</el-button>
</div>
<template
v-for=
"(item,index) in list"
>
<tr
v-for=
"(subItem,subIndex) in item.HotelOrderList"
>
<td
:rowspan=
"item.HotelOrderList.length"
v-if=
"subIndex==0"
>
<div
class=
"w100"
>
{{
item
.
UseTimeStr
}}
</div>
</td>
<td>
<div
class=
"w200 padding10"
>
<p
class=
"link"
style=
"word-break: normal;"
:class=
"
{'Hotel_red':i
tem.HotelChangeState==3}"
@click="goUrlR('HotelManagement',item.HotelId,'酒店管理')">
{{
i
tem
.
HotelName
}}
</p>
<p
class=
"link"
style=
"word-break: normal;"
:class=
"
{'Hotel_red':subI
tem.HotelChangeState==3}"
@click="goUrlR('HotelManagement',subItem.HotelId,'酒店管理')">
{{
subI
tem
.
HotelName
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
CheckInDateStr
}}
</div>
</td>
<td>
<div
class=
"w120"
>
<p
class=
"link"
@
click=
"goUrlT('RegistrationList',item.TCID,'报名清单')"
>
{{
flightTotal
}}
/
{{
item
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
item
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
i
tem
.
HouseStatistics
.
RealityFSeatNum
}}
{{
flightTotal
}}
/
{{
subItem
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
subItem
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
subI
tem
.
HouseStatistics
.
RealityFSeatNum
}}
</p>
</div>
</td>
<td>
<div
class=
"w120"
>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',item.TCIDS,'房间分配')"
>
{{
item
.
HouseStatistics
.
NeedBed
}}
/
{{
i
tem
.
HouseStatistics
.
NoNeedBed
}}
</p>
{{
subItem
.
HouseStatistics
.
NeedBed
}}
/
{{
subI
tem
.
HouseStatistics
.
NoNeedBed
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
{{
i
tem
.
HouseStatistics
.
RealityRoomNum
}}
</div>
<div
class=
"w80"
>
{{
subI
tem
.
HouseStatistics
.
RealityRoomNum
}}
</div>
</td>
<td>
<div
class=
"w150"
>
<p
class=
"pHouseStyle"
v-for=
"o in i
tem.HouseStatistics.HouseTypeList"
>
<p
class=
"pHouseStyle"
v-for=
"o in subI
tem.HouseStatistics.HouseTypeList"
>
{{
o
.
HouseTypeName
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in i
tem.HouseStatistics.HouseTypeList"
>
<p
class=
"pHouseStyle"
v-for=
"o in subI
tem.HouseStatistics.HouseTypeList"
>
{{
o
.
HouseTypeCount
}}
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in i
tem.HouseStatistics.HouseTypeList"
>
<p
class=
"pHouseStyle"
v-for=
"o in subI
tem.HouseStatistics.HouseTypeList"
>
{{
o
.
HouseGuestNum
}}
</p>
</div>
</td>
<td>
<div
class=
"w150"
>
<el-select
class=
'w120 sel'
v-model=
'i
tem.NewHotelId'
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
visible-change=
'getHotelList(item)'
@
change=
'sendValue(i
tem)'
>
<el-option
v-for=
'itemHotel in i
tem.hotelList'
:label=
'itemHotel.Name'
:value=
'itemHotel.ID'
<el-select
class=
'w120 sel'
v-model=
'subI
tem.NewHotelId'
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
visible-change=
'getHotelList(subItem)'
@
change=
'sendValue(subI
tem)'
>
<el-option
v-for=
'itemHotel in subI
tem.hotelList'
:label=
'itemHotel.Name'
:value=
'itemHotel.ID'
:key=
'itemHotel.ID'
>
<span
style=
"float: left"
>
{{
itemHotel
.
Name
}}
</span>
<span
style=
"float: right; color:red; font-size: 13px"
>
{{
itemHotel
.
Inventory
}}
</span>
</el-option>
</el-select>
</div>
<el-upload
:http-request=
"uploadFileBtn"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<el-button
size=
"small"
type=
"danger"
icon=
"el-icon-upload2"
>
<!--
<i
class=
"el-icon-plus avatar-uploader-icon"
@
click=
"ClickItem=item"
></i>
-->
<div
class=
"el-upload__text"
@
click=
"ClickItem=item"
>
点击上传
</div>
</el-button>
</el-upload>
<div
class=
"RoomfileList"
v-for=
"(subItem,subIndex) in item.ContractUrlArray"
v-if=
"item.ContractUrlArray!=null && item.ContractUrlArray.length>0"
>
<p
title=
"点击下载"
@
click=
"downLoadPZ(subItem)"
style=
"cursor: pointer;"
>
{{
'附件'
+
(
index
+
1
)
}}
</p>
<span>
<i
class=
"iconfont icon-close"
@
click=
"deleteFile(item,subIndex)"
></i>
</span>
</div>
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in i
tem.OrderDetailsList"
>
<p
class=
"pHouseStyle"
v-for=
"o in subI
tem.OrderDetailsList"
>
<el-input
class=
'w50 tcenter'
@
keyup
.
native=
"checkInteger(o,'HouseTypeCount')"
v-model=
'o.HouseTypeCount'
></el-input>
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.OrderDetailsList"
>
<el-input
class=
'w50 tcenter'
@
keyup
.
native=
"checkInteger(o,'BookNum')"
@
input=
"calculationPrice(subItem)"
v-model=
'o.BookNum'
></el-input>
</p>
</div>
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
:class=
"
{colorRed:o.HouseTypeCount-i
tem.HouseStatistics.HouseTypeList[index].HouseTypeCount
<0
}"
v-for=
"(o,index) in i
tem.OrderDetailsList"
>
{{
o
.
HouseTypeCount
-
i
tem
.
HouseStatistics
.
HouseTypeList
[
index
].
HouseTypeCount
}}
:class=
"
{colorRed:o.HouseTypeCount-subI
tem.HouseStatistics.HouseTypeList[index].HouseTypeCount
<0
}"
v-for=
"(o,index) in subI
tem.OrderDetailsList"
>
{{
o
.
HouseTypeCount
-
subI
tem
.
HouseStatistics
.
HouseTypeList
[
index
].
HouseTypeCount
}}
</p>
</div>
</td>
<td>
<div
class=
"w120"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in item.OrderDetailsList"
@
input=
"calculationPrice(i
tem)"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subI
tem)"
>
<el-input
@
keyup
.
native=
"checkInteger(o,'UnitPrice')"
class=
'w80 tcenter'
v-model=
'o.UnitPrice'
>
</el-input>
</p>
...
...
@@ -144,7 +134,7 @@
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in item.OrderDetailsList"
@
input=
"calculationPrice(i
tem)"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subI
tem)"
>
<el-input
class=
'w50'
@
keyup
.
native=
"checkInteger(o,'HotelDiscount')"
v-model=
'o.HotelDiscount'
>
</el-input>
</p>
...
...
@@ -152,8 +142,8 @@
</td>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in i
tem.OrderDetailsList"
>
{{
o
.
UnitPrice
*
(
o
.
HouseGuest
Num
-
o
.
HotelDiscount
)
}}
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subI
tem.OrderDetailsList"
>
{{
o
.
UnitPrice
*
(
o
.
Book
Num
-
o
.
HotelDiscount
)
}}
</p>
</div>
...
...
@@ -161,7 +151,8 @@
<td>
<!--返佣-->
<div
class=
"w80"
>
<p
class=
"pHouseStyle link"
v-for=
"(o,index) in item.OrderDetailsList"
@
input=
"calculationPrice(item)"
>
<p
class=
"pHouseStyle link"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subItem)"
>
<span
class=
"spanlink"
v-if=
'o.IsRebateRatio==0'
@
click=
"goUrl('HotelInfo',o,'酒店管理')"
>
设置
</span>
<span
v-if=
'o.IsRebateRatio!=0'
>
{{
o
.
RebateRatio
}}
</span>
</p>
...
...
@@ -169,45 +160,58 @@
</td>
<td>
<div
class=
"w120"
>
{{
i
tem
.
TotalPrice
}}
{{
subI
tem
.
TotalPrice
}}
</div>
</td>
<td>
<div
class=
"w120"
>
<el-select
class=
'w100 sel'
v-model=
'i
tem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
'请选择'
value=
'0'
></el-option>
<el-option
label=
'现付'
value=
'1'
></el-option>
<el-option
label=
'签单'
value=
'2'
></el-option>
<el-option
label=
'实物抵扣'
value=
'5'
></el-option>
<el-option
label=
'预付'
value=
'4'
></el-option>
<el-select
class=
'w100 sel'
v-model=
'subI
tem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
'请选择'
:
value=
'0'
></el-option>
<el-option
label=
'现付'
:
value=
'1'
></el-option>
<el-option
label=
'签单'
:
value=
'2'
></el-option>
<el-option
label=
'实物抵扣'
:
value=
'5'
></el-option>
<el-option
label=
'预付'
:
value=
'4'
></el-option>
</el-select>
</div>
</td>
<td>
<div
class=
"w120"
>
{{
i
tem
.
Tel
}}
</div>
<div
class=
"w120"
>
{{
subI
tem
.
Tel
}}
</div>
</td>
<td>
<div
class=
"w200 padding10"
>
{{
i
tem
.
Address
}}
</div>
<div
class=
"w200 padding10"
>
{{
subI
tem
.
Address
}}
</div>
</td>
<td>
<div
class=
"w150"
>
<el-input
class=
'w120'
v-model=
'i
tem.ReserveNo'
></el-input>
<el-input
class=
'w120'
v-model=
'subI
tem.ReserveNo'
></el-input>
</div>
</td>
<td>
<div
class=
"w150"
>
<el-input
type=
'textarea'
class=
'w120'
v-model=
'i
tem.Remarks'
></el-input>
<el-input
type=
'textarea'
class=
'w120'
v-model=
'subI
tem.Remarks'
></el-input>
</div>
</td>
<td>
<input
type=
"button"
class=
"roomBtn"
value=
"保存"
@
click=
"SaveSingle(item)"
/>
<div
class=
"w200"
>
<el-button-group>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"保存"
placement=
"top-start"
>
<el-button
icon=
"iconfont icon-shoufukuan"
@
click=
"SaveSingle(subItem)"
type=
"primary"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"添加"
placement=
"top-start"
>
<el-button
@
click=
'AddHotel(item,subIndex)'
icon=
"iconfont icon-tianjia"
type=
"primary"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"subIndex>0"
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-shanchu"
@
click=
'DeleteHotel(item,subIndex)'
>
</el-button>
</el-tooltip>
</el-button-group>
</div>
</td>
</tr>
</
template
>
</table>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
...
...
@@ -230,15 +234,43 @@
}
},
methods
:
{
//添加酒店
AddHotel
(
item
,
subIndex
)
{
var
subItem
=
JSON
.
parse
(
JSON
.
stringify
(
item
.
HotelOrderList
[
subIndex
]));
item
.
HotelOrderList
.
push
(
subItem
);
},
//删除酒店
DeleteHotel
(
item
,
subIndex
)
{
var
that
=
this
;
this
.
Confirm
(
"是否删除?删除后将不能恢复"
,
function
()
{
var
subItem
=
item
.
HotelOrderList
[
subIndex
];
if
(
subItem
.
OrderID
>
0
)
{
that
.
apipost
(
'dmcstatistics_post_DeleteHotelOrder'
,
{
ID
:
subItem
.
OrderID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
item
.
HotelOrderList
.
splice
(
subIndex
,
1
);
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
}
else
{
item
.
HotelOrderList
.
splice
(
subIndex
,
1
);
}
});
},
//联系op
downLoadPZ
:
function
(
src
)
{
let
dom
=
document
.
querySelector
(
"#blankLink"
)
dom
.
href
=
src
dom
.
href
=
src
dom
.
click
()
},
//删除
deleteFile
(
item
,
index
)
{
item
.
ContractUrlArray
.
splice
(
index
,
1
);
deleteFile
(
item
,
index
)
{
item
.
ContractUrlArray
.
splice
(
index
,
1
);
var
str
=
""
;
item
.
ContractUrlArray
.
forEach
(
subItem
=>
{
str
+=
subItem
+
","
;
...
...
@@ -288,24 +320,23 @@
NewCombinationNum
:
this
.
$route
.
query
.
NewCombinationNum
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
list
=
res
.
data
.
data
.
HotelList
;
this
.
list
=
res
.
data
.
data
.
HotelOrderListReport
;
console
.
log
(
"this.list"
,
this
.
list
);
this
.
CreateBy
=
res
.
data
.
data
.
CreateBy
;
this
.
CreateByPhoto
=
res
.
data
.
data
.
CreateByPhoto
;
this
.
CreateByAccount
=
res
.
data
.
data
.
CreateByAccount
;
if
(
this
.
list
!=
null
&&
this
.
list
.
length
>
0
)
{
this
.
list
.
forEach
(
item
=>
{
this
.
calculationPrice
(
item
);
item
.
hotelList
.
push
({
Name
:
item
.
NewHotelName
,
ID
:
item
.
NewHotelId
})
item
.
ContractUrlArray
=
[];
if
(
item
.
ContractUrl
&&
item
.
ContractUrl
!=
''
)
{
item
.
ContractUrlArray
=
item
.
ContractUrl
.
split
(
','
);
}
item
.
PayStyle
=
item
.
PayStyle
.
toString
()
item
.
OrderDetailsList
.
forEach
((
x
,
index1
)
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
hotelList
.
push
({
Name
:
subItem
.
NewHotelName
,
ID
:
subItem
.
NewHotelId
});
this
.
calculationPrice
(
subItem
);
subItem
.
OrderDetailsList
.
forEach
((
x
,
index1
)
=>
{
if
(
x
.
HouseTypeCount
<=
0
)
{
x
.
HouseTypeCount
=
item
.
HouseStatistics
.
HouseTypeList
[
index1
].
HouseTypeCount
.
toString
();
x
.
HouseTypeCount
=
subItem
.
HouseStatistics
.
HouseTypeList
[
index1
].
HouseTypeCount
.
toString
();
}
else
{
x
.
HouseTypeCount
=
x
.
HouseTypeCount
.
toString
();
}
...
...
@@ -313,10 +344,12 @@
x
.
UnitPrice
=
x
.
UnitPrice
.
toString
();
x
.
HotelDiscount
=
x
.
HotelDiscount
.
toString
();
})
if
(
item
.
ReserveNo
==
''
||
i
tem
.
ReserveNo
==
null
)
{
i
tem
.
ReserveNo
=
this
.
$route
.
query
.
NewCombinationNum
;
if
(
subItem
.
ReserveNo
==
''
||
subI
tem
.
ReserveNo
==
null
)
{
subI
tem
.
ReserveNo
=
this
.
$route
.
query
.
NewCombinationNum
;
}
})
});
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
...
...
@@ -325,7 +358,7 @@
calculationPrice
(
obj
)
{
let
totalPrice
=
0
;
obj
.
OrderDetailsList
.
forEach
(
item
=>
{
totalPrice
+=
item
.
UnitPrice
*
(
item
.
HouseGuest
Num
-
item
.
HotelDiscount
)
*
(
1
-
item
.
RebateRatio
/
100
);
totalPrice
+=
item
.
UnitPrice
*
(
item
.
Book
Num
-
item
.
HotelDiscount
)
*
(
1
-
item
.
RebateRatio
/
100
);
})
obj
.
TotalPrice
=
totalPrice
.
toFixed
(
2
);
this
.
$forceUpdate
();
...
...
@@ -334,7 +367,7 @@
this
.
apipost
(
'hotel_post_GetLineHotelList'
,
{
IsGetPic
:
0
,
IsGetRemark
:
0
,
QCity
:
obj
.
QCity
//
QCity: obj.QCity
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
obj
.
hotelList
=
res
.
data
.
data
;
...
...
@@ -357,20 +390,29 @@
saveList
(
type
)
{
if
(
type
==
0
)
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderState
=
0
;
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
0
;
});
})
}
if
(
type
==
1
)
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderState
=
1
;
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
1
;
});
})
}
this
.
list
.
forEach
(
x
=>
{
x
.
OrderDetailsList
.
forEach
(
y
=>
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
OrderDetailsList
.
forEach
(
y
=>
{
y
.
HouseTypeCount
=
parseInt
(
y
.
HouseTypeCount
);
y
.
UnitPrice
=
parseInt
(
y
.
UnitPrice
);
y
.
HotelDiscount
=
parseInt
(
y
.
HotelDiscount
);
if
(
y
.
BookNum
==
""
)
{
y
.
BookNum
=
0
;
}
})
});
})
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
list
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -387,6 +429,7 @@
this
.
apipost
(
'dmcstatistics_post_SetNewHotelOrder'
,
item
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -424,29 +467,34 @@
</
script
>
<
style
>
.RoomfileList
{
width
:
100%
;
height
:
20px
;
.RoomfileList
{
width
:
100%
;
height
:
20px
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
}
.RoomfileList
p
{
.RoomfileList
p
{
display
:
inline-block
;
}
.RoomfileList
i
:hover
{
color
:
#E95252
;
.RoomfileList
i
:hover
{
color
:
#E95252
;
}
.roomReservationsDetailsTalbe
.el-button--small
{
padding
:
0
20px
0
10px
;
margin-top
:
10px
;
height
:
28px
;
height
:
28px
;
line-height
:
10px
;
}
.roomReservationsDetailsTalbe
.el-button--small
i
{
.roomReservationsDetailsTalbe
.el-button--small
i
{
float
:
left
;
margin-top
:
9px
;
margin-top
:
9px
;
}
.roomReservationsDetailsTalbe
.roomBtn
{
color
:
#fff
;
padding
:
0
10px
!important
;
...
...
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