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
f065da0f
Commit
f065da0f
authored
Jun 03, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加酒店产品管理
parent
938b9306
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1979 additions
and
1 deletion
+1979
-1
HotelManagement.vue
src/components/Supplier/HotelManagement.vue
+1
-1
HotelProductCalendar.vue
src/components/Supplier/HotelProductCalendar.vue
+326
-0
HotelProductManage.vue
src/components/Supplier/HotelProductManage.vue
+1652
-0
No files found.
src/components/Supplier/HotelManagement.vue
View file @
f065da0f
...
...
@@ -326,7 +326,7 @@
</div>
<div
class=
"btnList"
>
<button
@
click=
"goSubInfo('HotelInfo2',item.ID)"
class=
"hotelBtn"
>
{{
$t
(
'pub.updateMsg'
)
}}
</button>
<button
@
click=
"goUrl('HotelProductManage
2
',item)"
class=
"hotelBtn"
>
报价与库存
</button>
<button
@
click=
"goUrl('HotelProductManage
3
',item)"
class=
"hotelBtn"
>
报价与库存
</button>
</div>
</div>
</div>
...
...
src/components/Supplier/HotelProductCalendar.vue
0 → 100644
View file @
f065da0f
<
template
>
<div
class=
"hotelProductCalendar"
>
<div
class=
"hotelProductCalendar_month"
>
<div
onselectstart=
"return false;"
>
<span>
{{
calendar
.
data
.
date
&&
calendar
.
data
.
date
.
split
(
'-'
)[
0
]
}}
年
</span>
<span>
{{
calendar
.
data
.
date
&&
calendar
.
data
.
date
.
split
(
'-'
)[
1
]
}}
月
</span>
</div>
<div>
<span>
酒店库存表
</span>
</div>
<div>
<i
class=
"iconfont icon-cha"
@
click=
"calendarHide()"
></i>
</div>
</div>
<div
class=
"hotelProductCalendar_week"
>
<div>
{{
$t
(
'hotel.hotel_Monday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Tuesday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Wednesday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Thursday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Friday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Saturday'
)
}}
</div>
<div>
{{
$t
(
'hotel.hotel_Sunday'
)
}}
</div>
</div>
<div
class=
"hotelProductCalendar_day"
>
<div
v-for=
"(item, index) in calendar.data.days"
:key=
"index"
>
<div
:class=
"item.month===calendar.data.date?'nowMonth':'otherMonth'"
>
<span>
{{
item
.
date
.
getMonth
()
+
1
}}
-
{{
item
.
date
.
getDate
()
}}
</span>
</div>
<div
v-if=
"item.data&&item.month===calendar.data.date"
:class=
"stockColor(item.data.SubList[0].InventoryType)"
>
<template
v-for=
"(childItem,childIndex) in item.data.SubList"
>
<p>
<span
title=
"点击修改价格和库存信息"
>
价格:
<span
@
click=
"goUrlA('2', item,childItem.BatchNumber)"
class=
"text_underLine"
>
{{
childItem
.
CostPrice
}}
(
{{
childItem
.
CurrencyName
}}
)
</span>
</span><br/>
<span
title=
"点击跳转到总库存看板"
>
总库存:
<span
class=
"text_underLine"
@
click=
"goUrlB(item)"
>
{{
childItem
.
Inventory
}}
(间)
</span>
</span><br/>
<span
title=
"点击跳转到酒店查询"
>
剩余库存:
<span
class=
"text_underLine"
@
click=
"goUrlHotelTeam(item)"
>
{{
childItem
.
RemainingInventory
}}
(间)
</span>
</span>
</p>
</
template
>
</div>
<div
class=
"noStock"
v-if=
"!item.data&&item.month===calendar.data.date"
>
<p><span>
暂无数据
</span></p>
<p><span
@
click=
"goUrlA('1', item,1)"
>
立即新增
</span></p>
</div>
<div
class=
"hasStock"
v-if=
"item.month!==calendar.data.date"
>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div>
</div>
</div>
</div>
</template>
<
script
>
export
default
{
props
:
{
'calendar'
:
{
type
:
Object
,
default
:
function
()
{
return
{
show
:
false
,
data
:
{}
}
}
}
},
methods
:
{
stockColor
:
function
(
type
)
{
if
(
type
===
1
)
{
return
'hasStock hasStock_1'
}
else
if
(
type
===
2
)
{
return
'hasStock hasStock_2'
}
else
if
(
type
===
3
)
{
return
'hasStock hasStock_3'
}
else
if
(
type
===
4
)
{
return
'hasStock hasStock_4'
}
else
if
(
type
===
5
)
{
return
'hasStock hasStock_5'
}
},
calendarHide
:
function
()
{
this
.
calendar
.
show
=
false
this
.
calendar
.
data
=
{}
},
goUrlA
:
function
(
type
,
item
,
BatchNumber
)
{
this
.
$emit
(
'goEdit'
,
type
,
item
.
day
,
BatchNumber
)
},
goUrlHotelTeam
:
function
(
item
)
{
this
.
$router
.
push
({
name
:
'HotelsTeam'
,
query
:
{
HotelId
:
item
.
data
.
HotelId
,
StartDate
:
item
.
data
.
DayStr
,
blank
:
'y'
,
tab
:
'酒店相关团'
}
});
},
goUrlB
:
function
(
item
)
{
this
.
$router
.
push
({
name
:
'HotelTotalStock'
,
query
:
{
HotelId
:
this
.
hotelId
,
blank
:
'y'
,
tab
:
'总库存看板'
}
});
}
}
}
</
script
>
<
style
scoped
>
.hotelProductCalendar
{
width
:
100%
;
font-size
:
0px
;
box-sizing
:
border-box
;
background-color
:
#f5f5f5
;
}
.hotelProductCalendar_month
{
position
:
relative
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
text-align
:
center
;
background
:
#e95252
;
border-radius
:
4px
4px
0
0
;
}
.hotelProductCalendar_month
>
div
{
display
:
inline-block
;
height
:
50px
;
line-height
:
50px
;
vertical-align
:
top
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
1
)>
i
{
display
:
inline-block
;
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
vertical-align
:
middle
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
1
)>
input
{
display
:
inline-block
;
width
:
60px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
text-align
:
center
;
vertical-align
:
middle
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
1
)>
span
{
display
:
inline-block
;
padding
:
0
5px
;
font-size
:
18px
;
color
:
#fff
;
vertical-align
:
middle
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
2
)>
span
{
display
:
inline-block
;
padding
:
0
20px
;
font-size
:
18px
;
color
:
#fff
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
3
)
{
position
:
absolute
;
z-index
:
1
;
right
:
0px
;
top
:
0px
;
width
:
50px
;
text-align
:
center
;
}
.hotelProductCalendar_month
>
div
:nth-child
(
3
)>
i
{
font-size
:
12px
;
color
:
#ffffff
;
cursor
:
pointer
;
}
.hotelProductCalendar_week
{
width
:
100%
;
height
:
28px
;
background-color
:
#3fa783
;
}
.hotelProductCalendar_week
>
div
{
display
:
inline-block
;
width
:
14.2857%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#FFFFFF
;
}
.hotelProductCalendar_day
{
width
:
100%
;
border-left
:
1px
solid
#dddddd
;
}
.hotelProductCalendar_day
>
div
{
display
:
inline-block
;
width
:
14.2857%
;
height
:
148px
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
vertical-align
:
top
;
}
.hotelProductCalendar_day
>
div
>
div
:nth-child
(
1
)
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
}
.hotelProductCalendar_day
>
div
>
div
:nth-child
(
1
)>
span
{
font-size
:
14px
;
}
.hotelProductCalendar_day
>
div
>
.nowMonth
{
background-color
:
#CCCCCC
;
}
.hotelProductCalendar_day
>
div
>
.nowMonth
>
span
{
color
:
#000000
;
}
.hotelProductCalendar_day
>
div
:nth-child
(
7n-1
)>
.nowMonth
>
span
{
color
:
#e95252
;
}
.hotelProductCalendar_day
>
div
:nth-child
(
7n
)>
.nowMonth
>
span
{
color
:
#e95252
;
}
.hotelProductCalendar_day
>
div
>
.otherMonth
{
background-color
:
#DDDDDD
;
}
.hotelProductCalendar_day
>
div
>
.otherMonth
>
span
{
color
:
#999999
;
}
.hotelProductCalendar_day
>
div
>
.hasStock
{
width
:
100%
;
height
:
120px
;
overflow-y
:
auto
;
}
.hotelProductCalendar_day
>
div
>
.hasStock
>
p
{
width
:
100%
;
min-height
:
20px
;
padding
:
0
10px
;
line-height
:
19px
;
font-size
:
12px
;
border-bottom
:
1px
dashed
#ccc
;
}
.hotelProductCalendar_day
>
div
>
.hasStock_1
{
color
:
#FFFFFF
;
background-color
:
#ff3737
;
}
.hotelProductCalendar_day
>
div
>
.hasStock_2
{
background-color
:
#ff99cc
;
}
.hotelProductCalendar_day
>
div
>
.hasStock_3
{
background-color
:
#bcd6ee
;
}
.hotelProductCalendar_day
>
div
>
.hasStock_4
{
background-color
:
#ffffff
;
}
.hotelProductCalendar_day
>
div
>
.hasStock_5
{
background-color
:
#02F78E
;
}
.hotelProductCalendar_day
>
div
>
.noStock
{
padding
:
30px
0
0
0
;
width
:
100%
;
height
:
120px
;
}
.hotelProductCalendar_day
>
div
>
.noStock
>
p
:nth-child
(
1
)
{
width
:
100%
;
font-size
:
16px
;
color
:
#999999
;
text-align
:
center
;
}
.hotelProductCalendar_day
>
div
>
.noStock
>
p
:nth-child
(
2
)
{
margin
:
10px
0
0
0
;
width
:
100%
;
font-size
:
12px
;
color
:
#00C6FF
;
text-align
:
center
;
cursor
:
pointer
;
}
.text_underLine
{
cursor
:
pointer
;
text-decoration
:
underline
}
</
style
>
src/components/Supplier/HotelProductManage.vue
0 → 100644
View file @
f065da0f
<
template
>
<div
class=
"hotelProductManage2"
>
<div
class=
"hotelProductManage2_btnList"
>
<div
class=
"btn_check"
@
click=
"getMonths()"
>
查询
</div>
<div
class=
"btn_check"
@
click=
"goEdit('1')"
>
批量编辑
</div>
</div>
<div
class=
"hotelProductManage2_condition"
>
<div>
<em>
起始月
</em>
<el-date-picker
v-model=
"condition.month"
type=
"month"
value-format=
"yyyy-MM"
:clearable=
"false"
placeholder=
"选择月"
></el-date-picker>
</div>
</div>
<div
class=
"hotelProductManage2_tableBox"
>
<table
class=
"hotelProductManage2_table"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<tr>
<th
width=
"34%"
>
酒店名称
</th>
<th
width=
"33%"
>
剩余总库存
</th>
<th
width=
"33%"
>
库存有效期
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
{{
hotelInfo
.
HotelName
}}
</td>
<td>
{{
hotelInfo
.
TotalInventory
}}
</td>
<td>
{{
hotelInfo
.
Validity
}}
</td>
</tr>
</tbody>
</table>
</div>
<div
class=
"hotelProductManage2_tableBox"
>
<span
style=
"color:#000000;background-color: #ff3737;padding:2px 4px;border-radius:5px"
>
红日
</span>
<span
style=
"color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px"
>
旺季
</span>
<span
style=
"color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px"
>
平季
</span>
<span
style=
"color:#000000;background-color: #DDDDDD;padding:2px 4px;border-radius:5px"
>
淡季
</span>
<span
style=
"color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px"
>
特别价
</span>
</div>
<div
class=
"hotelProductManage2_calendar"
>
<div
class=
"hotelProductManage2_calendarItem"
v-for=
"(item, index) in days"
:key=
"index"
>
<div
class=
"calendarItem_month"
title=
"点击查看详情"
@
click=
"calendarShow(item, index)"
>
{{
item
.
date
}}
</div>
<div
class=
"hotelproductCkbox"
>
<el-checkbox
v-model=
"item.isCked"
@
change=
"changeHotelStatus(item,index)"
>
全选
</el-checkbox>
</div>
<div
class=
"calendarItem_week"
>
<div>
周一
</div>
<div>
周二
</div>
<div>
周三
</div>
<div>
周四
</div>
<div>
周五
</div>
<div>
周六
</div>
<div>
周日
</div>
</div>
<div
class=
"calendarItem_day"
>
<div
v-for=
"(subItem, index2) in item.days"
:key=
"index2"
:class=
"subItem.month===item.date?'nowMonth':'otherMonth'"
>
<div
:class=
"stockColor(item,subItem)"
:style=
"subItem.month===item.date&&msg2.DateList.indexOf(subItem.day)!==-1?'border-color: green':''"
@
click=
"calendarDayOn(item, subItem)"
>
{{
subItem
.
date
.
getDate
()
}}
<br
/>
<div
class=
"detailInfo"
v-if=
"subItem.data&&subItem.data.SubList && subItem.data.SubList[0]"
>
<div
class=
"triangle_border_up"
></div>
<div
class=
"popContent"
>
<template
v-if=
"subItem.data&&subItem.data.SubList && subItem.data.SubList[0]"
>
<div
class=
"popList"
>
<table
style=
"margin-left:3px;padding-top:2px;"
>
<tr>
<th
width=
"50"
>
批次
</th>
<th
width=
"50"
>
价格
</th>
<th
width=
"50"
>
库存
</th>
<th
width=
"50"
>
剩余库存
</th>
</tr>
<tr
v-for=
"(childItem,childIndex) in subItem.data.SubList"
>
<td>
{{
childItem
.
BatchNumber
}}
</td>
<td>
{{
childItem
.
CostPrice
}}
</td>
<td>
{{
childItem
.
Inventory
}}
</td>
<td>
{{
childItem
.
RemainingInventory
}}
</td>
</tr>
</table>
<input
type=
"button"
class=
"hollowFixedBtn Htupbtn"
value=
"修改"
@
click=
"goEdit('2', subItem.day,subItem.data.SubList[0].BatchNumber)"
/>
</div>
</
template
>
</div>
</div>
<
template
v-if=
"subItem.data&&subItem.data.SubList && subItem.data.SubList[0]"
>
<span
v-if=
"subItem.data.SubList.length>1"
>
{{
subItem
.
data
.
SubList
.
length
}}
</span>
</
template
>
</div>
</div>
</div>
</div>
<div
class=
"hotelProductManage2_calendarBox"
v-show=
"calendar.show"
>
<HotelProductCalendar
ref=
"hotelProductCalendar"
:calendar=
"calendar"
@
goEdit=
"goEdit"
></HotelProductCalendar>
</div>
</div>
<!-- 页面编辑 -->
<div
class=
"hotelProductManage2_edit2"
>
<div
class=
"hotelProductManage2_edit2_header"
>
<div>
报价管理
</div>
<div>
<input
type=
"button"
value=
"批量删除"
@
click=
"delete2Reset()"
class=
"hollowbtn"
/>
<input
type=
"button"
value=
"重置"
@
click=
"edit2Reset()"
class=
"hollowFixedBtn"
/>
<input
type=
"button"
value=
"保存"
@
click=
"edit2Save()"
class=
"normalBtn"
/>
</div>
</div>
<el-form
:model=
"msg2"
:rules=
"rules2"
:inline=
"true"
label-width=
"130px"
ref=
"hotelProductForm2"
class=
"hotelProductManage2_edit2_form"
>
<el-row>
<el-col
:span=
"24"
class=
"HotelProductEdit_date"
>
<el-form-item
label=
"已选日期"
prop=
"DateList"
>
<el-tag
v-for=
"(item, key) in msg2.DateList"
:key=
"key"
type=
"info"
style=
"margin: 0 5px 0 0;"
closable
@
close=
"calendarDayOff(item)"
>
{{item}}
</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"库存类型"
prop=
"InventoryType"
>
<el-select
v-model=
"msg2.InventoryType"
placeholder=
"请选择"
>
<el-option
label=
"红日"
value=
"1"
></el-option>
<el-option
label=
"旺季"
value=
"2"
></el-option>
<el-option
label=
"平季"
value=
"3"
></el-option>
<el-option
label=
"淡季"
value=
"4"
></el-option>
<el-option
label=
"特别价"
value=
"5"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"库存"
prop=
"Inventory"
>
<el-input-number
v-model=
"msg2.Inventory"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"批次"
>
<el-select
v-model=
"msg2.BatchNumber"
placeholder=
"请选择"
>
<el-option
label=
"第一批"
:value=
"1"
></el-option>
<el-option
label=
"第二批"
:value=
"2"
></el-option>
<!-- <el-option label="第三批" :value="3"></el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"提前还房天数"
>
<el-input-number
v-model=
"msg2.BeforeDay"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkInteger(msg2,'BeforeDay')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"免间数"
>
<el-input-number
v-model=
"msg2.FreeRoomNum"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg2,'FreeRoomNum')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col
<el-col
:span="6"
>
<el-form-item
label=
"标准间成本价"
>
<el-input-number
v-model=
"msg2.CostPrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg2,'CostPrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"散客价"
>
<el-input-number
v-model=
"msg2.SanKePrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg2,'SanKePrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"税金"
>
<el-input-number
v-model=
"msg2.TaxesPrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg2,'TaxesPrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"大床间成本价"
prop=
"BidroomPrice"
>
<el-input-number
v-model=
"msg2.BidroomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"单人间成本价"
prop=
"SingleroomPrice"
>
<el-input-number
v-model=
"msg2.SingleroomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"小孩不占床成本价"
prop=
"ChildNotBedPrice"
>
<el-input-number
v-model=
"msg2.ChildNotBedPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"加床成本价"
prop=
"AddBedPrice"
>
<el-input-number
v-model=
"msg2.AddBedPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"司机房成本价"
prop=
"DriverRoomPrice"
>
<el-input-number
v-model=
"msg2.DriverRoomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"导游房成本价"
prop=
"GuideRoomPrice"
>
<el-input-number
v-model=
"msg2.GuideRoomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"成本币种"
prop=
"CurrencyId"
>
<el-select
v-model=
"msg2.CurrencyId"
placeholder=
"请选择"
style=
"width:100px;"
@
change=
"currency2Change"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in allCurrencyList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"汇率"
prop=
"CurrentRate"
>
<el-input
v-model=
"msg2.CurrentRate"
placeholder=
"汇率"
style=
"width:80px;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"周末加价"
prop=
"WeekendAddPrice"
>
<el-input-number
v-model=
"msg2.WeekendAddPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"内部加价"
prop=
"InteriorAddPrice"
>
<el-input-number
v-model=
"msg2.InteriorAddPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"B2B加价"
prop=
"B2BPrice"
>
<el-input-number
v-model=
"msg2.B2BPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"B2C加价"
prop=
"B2CPrice"
>
<el-input-number
v-model=
"msg2.B2CPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"供应商"
prop=
"Supplier"
>
<el-select
v-model=
"msg2.Supplier"
placeholder=
"请选择"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"18"
>
<el-form-item
label=
"备注"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"msg2.Remark"
:rows=
"1"
placeholder=
"请输入备注内容"
style=
"width: 600px;"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 弹出编辑 -->
<div
class=
"hotelProductManage2_edit"
v-show=
"editShow"
>
<div
class=
"hotelProductManage2_edit_header"
>
<div>
报价管理
</div>
<div>
<div
@
click=
"editCanel()"
>
取消
</div>
<div
@
click=
"editSave()"
>
保存
</div>
</div>
</div>
<el-form
:model=
"msg"
:rules=
"rules"
:inline=
"true"
label-width=
"130px"
ref=
"hotelProductForm"
class=
"hotelProductManage2_edit_form"
>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"日期选择方式"
prop=
"DayType"
>
<el-select
v-model=
"msg.DayType"
placeholder=
"请选择"
@
change=
"dayTypeChange"
>
<el-option
label=
"按年"
value=
"1"
></el-option>
<el-option
label=
"按月"
value=
"2"
></el-option>
<el-option
label=
"按周"
value=
"3"
></el-option>
<el-option
label=
"自定义"
value=
"4"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
class=
"HotelProductEdit_date"
>
<div
v-show=
"msg.DayType==='1'||msg.DayType==='3'"
>
<el-form-item
label=
"年"
prop=
"Year"
>
<el-date-picker
v-model=
"msg.Year"
type=
"year"
value-format=
"yyyy"
placeholder=
"选择年"
></el-date-picker>
</el-form-item>
</div>
<div
v-show=
"msg.DayType==='2'"
>
<el-form-item
label=
"月"
prop=
"Month"
>
<el-date-picker
v-model=
"msg.Month"
type=
"month"
value-format=
"yyyy-MM"
placeholder=
"选择月"
>
</el-date-picker>
</el-form-item>
</div>
<div
v-show=
"msg.DayType==='3'"
>
<el-form-item
label=
"月"
label-width=
"30px"
prop=
"Month"
>
<el-select
v-model=
"msg.Month"
placeholder=
"请选择月"
>
<el-option
label=
"一月"
value=
"01"
></el-option>
<el-option
label=
"二月"
value=
"02"
></el-option>
<el-option
label=
"三月"
value=
"03"
></el-option>
<el-option
label=
"四月"
value=
"04"
></el-option>
<el-option
label=
"五月"
value=
"05"
></el-option>
<el-option
label=
"六月"
value=
"06"
></el-option>
<el-option
label=
"七月"
value=
"07"
></el-option>
<el-option
label=
"八月"
value=
"08"
></el-option>
<el-option
label=
"九月"
value=
"09"
></el-option>
<el-option
label=
"十月"
value=
"10"
></el-option>
<el-option
label=
"十一月"
value=
"11"
></el-option>
<el-option
label=
"十二月"
value=
"12"
></el-option>
</el-select>
</el-form-item>
</div>
<div
v-show=
"msg.DayType==='3'"
>
<el-form-item
label=
"周"
label-width=
"30px"
prop=
"Week"
>
<el-select
v-model=
"msg.Week"
placeholder=
"请选择周"
>
<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=
"3"
></el-option>
<el-option
label=
"星期四"
value=
"4"
></el-option>
<el-option
label=
"星期五"
value=
"5"
></el-option>
<el-option
label=
"星期六"
value=
"6"
></el-option>
</el-select>
</el-form-item>
</div>
<div
v-show=
"msg.DayType==='4'"
>
<el-form-item
label=
"自定义"
prop=
"StartDate"
>
<el-date-picker
v-model=
"msg.StartDate"
type=
"date"
placeholder=
"选择开始时间"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<em>
-
</em>
<el-form-item
label=
""
prop=
"EndDate"
>
<el-date-picker
v-model=
"msg.EndDate"
type=
"date"
placeholder=
"选择结束时间"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"库存类型"
prop=
"InventoryType"
>
<el-select
v-model=
"msg.InventoryType"
placeholder=
"请选择"
>
<el-option
label=
"红日"
value=
"1"
></el-option>
<el-option
label=
"旺季"
value=
"2"
></el-option>
<el-option
label=
"平季"
value=
"3"
></el-option>
<el-option
label=
"淡季"
value=
"4"
></el-option>
<el-option
label=
"特别价"
value=
"5"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"库存"
prop=
"Inventory"
>
<el-input-number
v-model=
"msg.Inventory"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"批次"
>
<el-select
v-model=
"msg.BatchNumber"
placeholder=
"请选择"
>
<el-option
label=
"第一批"
:value=
"1"
></el-option>
<el-option
label=
"第二批"
:value=
"2"
></el-option>
<!-- <el-option label="第三批" :value="3"></el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"提前还房天数"
>
<el-input-number
v-model=
"msg.BeforeDay"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkInteger(msg,'BeforeDay')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"免间数"
>
<el-input-number
v-model=
"msg.FreeRoomNum"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg,'FreeRoomNum')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"标准间成本价"
>
<el-input-number
v-model=
"msg.CostPrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg,'CostPrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"散客价"
>
<el-input-number
v-model=
"msg.SanKePrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg,'SanKePrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"税金"
>
<el-input-number
v-model=
"msg.TaxesPrice"
:precision=
"2"
:min=
"0"
@
keyup
.
native=
"checkPrice(msg,'TaxesPrice')"
maxlength=
"10"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"大床间成本价"
prop=
"BidroomPrice"
>
<el-input-number
v-model=
"msg.BidroomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"单人间成本价"
prop=
"SingleroomPrice"
>
<el-input-number
v-model=
"msg.SingleroomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"小孩不占床成本价"
prop=
"ChildNotBedPrice"
>
<el-input-number
v-model=
"msg.ChildNotBedPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"加床成本价"
prop=
"AddBedPrice"
>
<el-input-number
v-model=
"msg.AddBedPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"司机房成本价"
prop=
"DriverRoomPrice"
>
<el-input-number
v-model=
"msg.DriverRoomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"导游房成本价"
prop=
"GuideRoomPrice"
>
<el-input-number
v-model=
"msg.GuideRoomPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"成本币种"
prop=
"CurrencyId"
>
<el-select
v-model=
"msg.CurrencyId"
placeholder=
"请选择"
style=
"width:100px;"
@
change=
"currencyChange"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in allCurrencyList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"汇率"
prop=
"CurrentRate"
>
<el-input
v-model=
"msg.CurrentRate"
placeholder=
"汇率"
style=
"width:80px;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"周末加价"
prop=
"WeekendAddPrice"
>
<el-input-number
v-model=
"msg.WeekendAddPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"内部加价"
prop=
"InteriorAddPrice"
>
<el-input-number
v-model=
"msg.InteriorAddPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"B2B加价"
prop=
"B2BPrice"
>
<el-input-number
v-model=
"msg.B2BPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"B2C加价"
prop=
"B2CPrice"
>
<el-input-number
v-model=
"msg.B2CPrice"
:precision=
"2"
:min=
"0"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row
style=
"padding: 20px 0 0 0;border-top: 1px dashed #ccc;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"供应商"
prop=
"Supplier"
>
<el-select
v-model=
"msg.Supplier"
placeholder=
"请选择"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"18"
>
<el-form-item
label=
"备注"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"msg.Remark"
:rows=
"1"
placeholder=
"请输入备注内容"
style=
"width: 600px;"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<
script
>
import
HotelProductCalendar
from
'./HotelProductCalendar.vue'
;
export
default
{
components
:
{
HotelProductCalendar
},
data
()
{
var
emptyJudge
=
(
rule
,
value
,
callback
)
=>
{
let
regPos
=
/^
\d
+
(\.\d
+
)?
$/
;
if
(
!
regPos
.
test
(
value
))
{
this
.
$message
.
error
(
rule
.
message
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
var
arrJudge
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
.
length
===
0
)
{
this
.
$message
.
error
(
rule
.
message
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
var
dateJudge
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
msg
.
Year
===
null
)
{
this
.
msg
.
Year
=
''
}
if
(
this
.
msg
.
Month
===
null
)
{
this
.
msg
.
Month
=
''
}
if
(
this
.
msg
.
DayType
===
'1'
)
{
if
(
this
.
msg
.
Year
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'Year'
)
{
this
.
$message
.
error
(
'请选择年'
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
else
if
(
this
.
msg
.
DayType
===
'2'
)
{
if
(
this
.
msg
.
Month
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'Month'
)
{
this
.
$message
.
error
(
'请选择月'
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
else
if
(
this
.
msg
.
DayType
===
'3'
)
{
if
(
this
.
msg
.
Year
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'Year'
)
{
this
.
$message
.
error
(
'请选择年'
)
callback
(
new
Error
())
}
else
if
(
this
.
msg
.
Week
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'Week'
)
{
this
.
$message
.
error
(
'请选择周'
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
else
if
(
this
.
msg
.
DayType
===
'4'
)
{
if
(
this
.
msg
.
StartDate
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'StartDate'
)
{
this
.
$message
.
error
(
'请选择开始时间'
)
callback
(
new
Error
())
}
else
if
(
this
.
msg
.
EndDate
.
toString
().
trim
()
===
''
&&
rule
.
field
===
'EndDate'
)
{
this
.
$message
.
error
(
'请选择结束时间'
)
callback
(
new
Error
())
}
else
{
callback
()
}
}
}
return
{
hotelId
:
'0'
,
condition
:
{
month
:
''
},
hotelInfo
:
{
HotelName
:
''
,
TotalInventory
:
''
,
Validity
:
''
},
days
:
[],
calendar
:
{
num
:
0
,
show
:
false
,
data
:
{}
},
editShow
:
false
,
msg
:
{
Hotel
:
'0'
,
Supplier
:
30
,
Inventory
:
'0'
,
B2BPrice
:
'0'
,
B2CPrice
:
'0'
,
Remark
:
''
,
CostPrice
:
'0'
,
CurrencyId
:
''
,
CurrentRate
:
''
,
StartDate
:
''
,
EndDate
:
''
,
InventoryType
:
''
,
BidroomPrice
:
'0'
,
SingleroomPrice
:
'0'
,
ChildNotBedPrice
:
'0'
,
AddBedPrice
:
'0'
,
DriverRoomPrice
:
'0'
,
WeekendAddPrice
:
'0'
,
InteriorAddPrice
:
'0'
,
GuideRoomPrice
:
'0'
,
DayType
:
'4'
,
Year
:
''
,
Month
:
''
,
Week
:
''
,
DateList
:
[],
SanKePrice
:
0
,
//散客价
BatchNumber
:
1
,
//批次号
TaxesPrice
:
0
,
//税金
BeforeDay
:
0
,
//提前还房天数
FreeRoomNum
:
0
,
//免间数
},
msg2
:
{
Hotel
:
'0'
,
Supplier
:
30
,
Inventory
:
'0'
,
B2BPrice
:
'0'
,
B2CPrice
:
'0'
,
Remark
:
''
,
CostPrice
:
'0'
,
CurrencyId
:
''
,
CurrentRate
:
''
,
StartDate
:
''
,
EndDate
:
''
,
InventoryType
:
''
,
BidroomPrice
:
'0'
,
SingleroomPrice
:
'0'
,
ChildNotBedPrice
:
'0'
,
AddBedPrice
:
'0'
,
DriverRoomPrice
:
'0'
,
WeekendAddPrice
:
'0'
,
InteriorAddPrice
:
'0'
,
GuideRoomPrice
:
'0'
,
DayType
:
'5'
,
Year
:
''
,
Month
:
''
,
Week
:
''
,
DateList
:
[],
SanKePrice
:
0
,
//散客价
BatchNumber
:
1
,
//批次号
TaxesPrice
:
0
,
//税金
BeforeDay
:
0
,
//提前还房天数
FreeRoomNum
:
0
,
//免间数
},
rules
:
{
InventoryType
:
{
validator
:
emptyJudge
,
message
:
'请选择库存类型'
,
trigger
:
'blur'
},
DayType
:
{
validator
:
emptyJudge
,
message
:
'请选择日期选择方式'
,
trigger
:
'blur'
},
Year
:
{
validator
:
dateJudge
,
message
:
'请选择年'
,
trigger
:
'blur'
},
Month
:
{
validator
:
dateJudge
,
message
:
'请选择月'
,
trigger
:
'blur'
},
Week
:
{
validator
:
dateJudge
,
message
:
'请选择周'
,
trigger
:
'blur'
},
StartDate
:
{
validator
:
dateJudge
,
message
:
'请选择开始时间'
,
trigger
:
'blur'
},
EndDate
:
{
validator
:
dateJudge
,
message
:
'请选择结束时间'
,
trigger
:
'blur'
},
Inventory
:
{
validator
:
emptyJudge
,
message
:
'请输入库存'
,
trigger
:
'blur'
},
CostPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入标准间成本价'
,
trigger
:
'blur'
},
BidroomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入大床间成本价:'
,
trigger
:
'blur'
},
SingleroomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入单人间成本价'
,
trigger
:
'blur'
},
ChildNotBedPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入小孩不占床成本价'
,
trigger
:
'blur'
},
AddBedPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入加床成本价'
,
trigger
:
'blur'
},
DriverRoomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入司机房成本价'
,
trigger
:
'blur'
},
GuideRoomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入导游房成本价'
,
trigger
:
'blur'
},
CurrencyId
:
{
validator
:
emptyJudge
,
message
:
'请选择成本币种'
,
trigger
:
'blur'
},
CurrentRate
:
{
validator
:
emptyJudge
,
message
:
'请输入汇率'
,
trigger
:
'blur'
},
WeekendAddPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入周末加价'
,
trigger
:
'blur'
},
InteriorAddPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入内部加价'
,
trigger
:
'blur'
},
B2BPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入B2B加价'
,
trigger
:
'blur'
},
B2CPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入B2C加价'
,
trigger
:
'blur'
},
},
rules2
:
{
InventoryType
:
{
validator
:
emptyJudge
,
message
:
'请选择库存类型'
,
trigger
:
'blur'
},
DateList
:
{
validator
:
arrJudge
,
message
:
'请选择日期'
,
trigger
:
'blur'
},
Inventory
:
{
validator
:
emptyJudge
,
message
:
'请输入库存'
,
trigger
:
'blur'
},
CostPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入标准间成本价'
,
trigger
:
'blur'
},
BidroomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入大床间成本价:'
,
trigger
:
'blur'
},
SingleroomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入单人间成本价'
,
trigger
:
'blur'
},
ChildNotBedPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入小孩不占床成本价'
,
trigger
:
'blur'
},
AddBedPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入加床成本价'
,
trigger
:
'blur'
},
DriverRoomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入司机房成本价'
,
trigger
:
'blur'
},
GuideRoomPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入导游房成本价'
,
trigger
:
'blur'
},
CurrencyId
:
{
validator
:
emptyJudge
,
message
:
'请选择成本币种'
,
trigger
:
'blur'
},
CurrentRate
:
{
validator
:
emptyJudge
,
message
:
'请输入汇率'
,
trigger
:
'blur'
},
WeekendAddPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入周末加价'
,
trigger
:
'blur'
},
InteriorAddPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入内部加价'
,
trigger
:
'blur'
},
B2BPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入B2B加价'
,
trigger
:
'blur'
},
B2CPrice
:
{
validator
:
emptyJudge
,
message
:
'请输入B2C加价'
,
trigger
:
'blur'
},
},
allCurrencyList
:
[],
//供应商数组
SupplierList
:
[]
}
},
methods
:
{
//库存类型
stockColor
:
function
(
item
,
item2
,
childItem
)
{
if
(
item
.
date
===
item2
.
month
&&
item2
.
hasOwnProperty
(
'data'
))
{
let
type
=
item2
.
data
.
SubList
[
0
].
InventoryType
;
if
(
type
===
1
)
{
return
'hasStock_1'
;
}
else
if
(
type
===
2
)
{
return
'hasStock_2'
;
}
else
if
(
type
===
3
)
{
return
'hasStock_3'
;
}
else
if
(
type
===
4
)
{
return
'hasStock_4'
;
}
else
if
(
type
===
5
)
{
return
'hasStock_5'
;
}
}
else
{
return
;
}
},
//日历点击事件
calendarDayOn
:
function
(
item
,
item2
)
{
if
(
item
.
date
===
item2
.
month
)
{
let
dayIndex
=
this
.
msg2
.
DateList
.
indexOf
(
item2
.
day
)
if
(
dayIndex
===
-
1
)
{
this
.
msg2
.
DateList
.
push
(
item2
.
day
)
this
.
msg2
.
DateList
.
sort
()
}
else
{
this
.
msg2
.
DateList
.
splice
(
dayIndex
,
1
)
}
}
},
calendarDayOff
:
function
(
item
)
{
let
dayIndex
=
this
.
msg2
.
DateList
.
indexOf
(
item
)
this
.
msg2
.
DateList
.
splice
(
dayIndex
,
1
)
},
getData
:
function
(
date
,
key
)
{
this
.
ApiPost2
(
'hotelreport_get_GetHotelPriceMonthStatistics'
,
{
HotelId
:
this
.
hotelId
,
Year
:
date
.
split
(
'-'
)[
0
],
Month
:
date
.
split
(
'-'
)[
1
]
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
json
=
res
.
data
.
data
;
this
.
hotelInfo
.
HotelName
=
json
.
HotelName
;
this
.
hotelInfo
.
TotalInventory
=
json
.
TotalInventory
;
this
.
hotelInfo
.
Validity
=
json
.
Validity
;
for
(
let
i
=
0
;
i
<
this
.
days
[
key
].
days
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
json
.
list
.
length
;
j
++
)
{
if
(
this
.
days
[
key
].
days
[
i
].
day
===
json
.
list
[
j
].
DayStr
)
{
this
.
days
[
key
].
days
[
i
][
'data'
]
=
json
.
list
[
j
]
}
}
}
if
(
key
===
this
.
calendar
.
num
)
{
this
.
$set
(
this
.
calendar
,
'data'
,
this
.
days
[
this
.
calendar
.
num
])
}
this
.
$forceUpdate
();
}
})
},
getCalendarDays
:
function
(
date
,
key
)
{
let
month
=
new
Date
(
date
).
Format
(
'yyyy-MM'
)
let
dayList
=
this
.
$calendarUtils
.
createCalendar
(
date
).
DayArray
;
let
days
=
[];
for
(
let
i
=
0
;
i
<
dayList
.
length
;
i
++
)
{
let
month
=
dayList
[
i
].
day
.
Format
(
'yyyy-MM'
);
let
day
=
dayList
[
i
].
day
.
Format
(
'yyyy-MM-dd'
);
days
.
push
({
date
:
dayList
[
i
].
day
,
month
:
month
,
day
:
day
});
};
this
.
days
[
key
]
=
{
date
:
month
,
days
:
days
,
isCked
:
false
};
this
.
getData
(
date
,
key
);
},
getMonths
:
function
()
{
let
month
=
this
.
condition
.
month
+
'-1'
for
(
let
i
=
0
;
i
<
4
;
i
++
)
{
if
(
i
!==
0
)
{
let
newDate
=
new
Date
(
month
).
setDate
(
32
);
month
=
new
Date
(
newDate
).
Format
(
'yyyy-MM'
)
+
'-1'
;
}
this
.
getCalendarDays
(
month
,
i
);
}
},
calendarShow
:
function
(
item
,
index
)
{
this
.
calendar
.
num
=
index
;
this
.
calendar
.
data
=
item
;
this
.
calendar
.
show
=
true
;
},
// 获取详情
getDetail
:
function
(
date
,
BatchNumber
)
{
this
.
ApiPost2
(
'dict_post_HotelOffer_GetHotelPriceInfo'
,
{
HotelId
:
this
.
msg
.
Hotel
,
Time
:
date
,
BatchNumber
:
BatchNumber
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
data
=
res
.
data
.
data
;
this
.
msg
.
Supplier
=
data
.
Supplier
===
0
?
30
:
data
.
Supplier
this
.
msg
.
Inventory
=
data
.
Inventory
this
.
msg
.
B2BPrice
=
data
.
B2BPrice
this
.
msg
.
B2CPrice
=
data
.
B2CPrice
this
.
msg
.
Remark
=
data
.
Remark
this
.
msg
.
CostPrice
=
data
.
CostPrice
this
.
msg
.
CurrencyId
=
data
.
CurrencyId
this
.
msg
.
CurrentRate
=
data
.
CurrentRate
this
.
msg
.
StartDate
=
data
.
Date
this
.
msg
.
EndDate
=
data
.
Date
this
.
msg
.
InventoryType
=
data
.
InventoryType
.
toString
()
this
.
msg
.
BidroomPrice
=
data
.
BidroomPrice
this
.
msg
.
SingleroomPrice
=
data
.
SingleroomPrice
this
.
msg
.
ChildNotBedPrice
=
data
.
ChildNotBedPrice
this
.
msg
.
AddBedPrice
=
data
.
AddBedPrice
this
.
msg
.
DriverRoomPrice
=
data
.
DriverRoomPrice
this
.
msg
.
WeekendAddPrice
=
data
.
WeekendAddPrice
this
.
msg
.
InteriorAddPrice
=
data
.
InteriorAddPrice
this
.
msg
.
GuideRoomPrice
=
data
.
GuideRoomPrice
;
this
.
msg
.
SanKePrice
=
data
.
SanKePrice
;
this
.
msg
.
BatchNumber
=
data
.
BatchNumber
;
this
.
msg
.
TaxesPrice
=
data
.
TaxesPrice
;
this
.
msg
.
BeforeDay
=
data
.
BeforeDay
;
this
.
msg
.
FreeRoomNum
=
data
.
FreeRoomNum
;
}
})
},
// 日期类型切换
dayTypeChange
:
function
(
val
)
{
this
.
msg
.
Year
=
''
this
.
msg
.
Month
=
''
this
.
msg
.
Week
=
''
this
.
msg
.
StartDate
=
''
this
.
msg
.
EndDate
=
''
},
//获取所有币种
getAllCurrency
()
{
this
.
ApiPost2
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
allCurrencyList
=
res
.
data
.
data
;
}
},
err
=>
{});
},
// 币种切换
currencyChange
:
function
(
val
)
{
this
.
msg
.
CurrentRate
=
0
for
(
let
i
=
0
;
i
<
this
.
allCurrencyList
.
length
;
i
++
)
{
if
(
val
===
this
.
allCurrencyList
[
i
].
ID
)
{
this
.
msg
.
CurrentRate
=
this
.
allCurrencyList
[
i
].
Rate
;
}
}
},
// 币种切换
currency2Change
:
function
(
val
)
{
this
.
msg2
.
CurrentRate
=
0
for
(
let
i
=
0
;
i
<
this
.
allCurrencyList
.
length
;
i
++
)
{
if
(
val
===
this
.
allCurrencyList
[
i
].
ID
)
{
this
.
msg2
.
CurrentRate
=
this
.
allCurrencyList
[
i
].
Rate
;
}
}
},
// 获取供应商
initSupplier
()
{
this
.
ApiPost2
(
"supplier_post_GetAllList"
,
{
Type
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
SupplierList
=
res
.
data
.
data
;
}
},
err
=>
{});
},
// 打开编辑窗口
goEdit
:
function
(
type
,
date
,
BatchNumber
)
{
let
nowDate
=
new
Date
().
Format
(
'yyyy-MM-dd'
);
this
.
msg
.
StartDate
=
date
===
undefined
?
nowDate
:
date
;
this
.
msg
.
EndDate
=
date
===
undefined
?
nowDate
:
date
;
if
(
type
===
'2'
&&
date
)
{
this
.
getDetail
(
date
,
BatchNumber
);
}
this
.
editShow
=
true
;
},
// 取消按钮
editCanel
:
function
()
{
this
.
editShow
=
false
;
this
.
$refs
[
'hotelProductForm'
].
resetFields
();
this
.
msg
.
CostPrice
=
0
;
this
.
msg
.
SanKePrice
=
0
;
},
// 保存按钮
editSave
:
function
()
{
this
.
$refs
[
'hotelProductForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
ApiPost2
(
'dict_post_HotelOffer_SetNewHotelPrice'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
'编辑成功'
)
this
.
getMonths
()
this
.
editShow
=
false
this
.
$refs
[
'hotelProductForm'
].
resetFields
();
this
.
msg
.
CostPrice
=
0
;
this
.
msg
.
SanKePrice
=
0
;
this
.
msg
.
BatchNumber
=
1
;
this
.
msg
.
TaxesPrice
=
0
;
this
.
msg
.
BeforeDay
=
0
;
this
.
msg
.
FreeRoomNum
=
0
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
})
}
else
{
return
false
;
}
});
},
// 页面编辑重置
edit2Reset
:
function
()
{
this
.
$refs
[
'hotelProductForm2'
].
resetFields
();
this
.
msg2
.
CostPrice
=
0
;
this
.
msg2
.
SanKePrice
=
0
;
this
.
msg2
.
BatchNumber
=
1
;
this
.
msg2
.
TaxesPrice
=
0
;
this
.
msg2
.
BeforeDay
=
0
;
this
.
msg2
.
FreeRoomNum
=
0
;
},
//批量删除
delete2Reset
:
function
()
{
var
that
=
this
;
this
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
ApiPost2
(
'dict_post_HotelOffer_RemoveNewHotelPrice'
,
that
.
msg2
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
)
that
.
getMonths
();
that
.
$refs
[
'hotelProductForm2'
].
resetFields
();
that
.
msg2
.
CostPrice
=
0
;
that
.
msg2
.
SanKePrice
=
0
;
that
.
msg2
.
BatchNumber
=
1
;
that
.
msg2
.
TaxesPrice
=
0
;
that
.
msg2
.
BeforeDay
=
0
;
that
.
msg2
.
FreeRoomNum
=
0
;
}
else
{
that
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{})
});
},
// 页面编辑保存
edit2Save
:
function
()
{
this
.
$refs
[
'hotelProductForm2'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
ApiPost2
(
'dict_post_HotelOffer_SetNewHotelPrice'
,
this
.
msg2
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
'编辑成功'
)
this
.
getMonths
();
this
.
$refs
[
'hotelProductForm2'
].
resetFields
();
this
.
msg2
.
CostPrice
=
0
;
this
.
msg2
.
SanKePrice
=
0
;
this
.
msg2
.
BatchNumber
=
1
;
this
.
msg2
.
TaxesPrice
=
0
;
this
.
msg2
.
BeforeDay
=
0
;
this
.
msg2
.
FreeRoomNum
=
0
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
})
}
else
{
return
false
;
}
});
},
//增加全选
changeHotelStatus
(
item
,
index
)
{
if
(
item
.
isCked
)
{
item
.
days
.
forEach
(
x
=>
{
if
(
x
.
month
==
item
.
date
)
{
if
(
this
.
msg2
.
DateList
.
indexOf
(
x
.
day
)
==
-
1
)
{
this
.
msg2
.
DateList
.
push
(
x
.
day
);
}
}
})
}
else
{
item
.
days
.
forEach
(
x
=>
{
this
.
msg2
.
DateList
.
forEach
((
y
,
index
)
=>
{
if
(
x
.
day
==
y
)
{
this
.
msg2
.
DateList
.
splice
(
index
,
1
)
}
})
})
}
}
},
created
:
function
()
{
this
.
hotelId
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
this
.
msg
.
Hotel
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
this
.
msg2
.
Hotel
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
this
.
condition
.
month
=
new
Date
().
Format
(
'yyyy-MM'
);
let
nowDate
=
new
Date
().
Format
(
'yyyy-MM-dd'
);
this
.
msg
.
DayType
=
'4'
;
this
.
msg
.
StartDate
=
nowDate
;
this
.
msg
.
EndDate
=
nowDate
;
},
mounted
:
function
()
{
this
.
getMonths
();
this
.
getAllCurrency
();
this
.
initSupplier
();
}
}
</
script
>
<
style
>
.hotelProductManage2
{
padding
:
20px
0
;
}
.hotelproductCkbox
{
width
:
10%
;
height
:
30px
;
float
:
right
;
margin
:
5px
20px
0
0
;
}
.hotelProductManage2
>
.hotelProductManage2_btnList
{
position
:
fixed
;
top
:
36px
;
right
:
20px
;
text-align
:
right
;
margin
:
20px
0
0
0
;
}
.hotelProductManage2_btnList
>
.btn_check
{
display
:
inline-block
;
margin
:
0
0
0
10px
;
padding
:
0
15px
;
height
:
30px
;
line-height
:
28px
;
font-size
:
14px
;
color
:
#E95252
;
background
:
#fff
;
border
:
1px
solid
#E95252
;
border-radius
:
15px
;
cursor
:
pointer
;
}
.hotelProductManage2_condition
{
padding
:
0
0
0
0
;
text-align
:
right
;
}
.hotelProductManage2_condition
>
div
{
display
:
inline-block
;
text-align
:
left
;
}
.hotelProductManage2_condition
>
div
>
em
{
margin
:
0
5px
0
0
;
font-size
:
14px
;
color
:
#666666
;
}
.hotelProductManage2_tableBox
{
padding
:
20px
0
;
}
.hotelProductManage2_table
{
width
:
100%
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
}
.hotelProductManage2_table
tr
{
background
:
#fff
;
}
.hotelProductManage2_table
tr
th
{
background
:
#e6e6e6
;
height
:
40px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.hotelProductManage2_table
tr
td
{
height
:
40px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.hotelProductManage2_calendar
{
position
:
relative
;
padding
:
20px
0
;
width
:
100%
;
border-top
:
1px
solid
#E5E5E5
;
border-bottom
:
1px
solid
#E5E5E5
;
}
.hotelProductManage2_calendarBox
{
position
:
absolute
;
z-index
:
2
;
left
:
0px
;
top
:
0px
;
padding
:
20px
0
;
width
:
100%
;
}
.hotelProductManage2_calendarItem
{
display
:
inline-block
;
margin
:
0
5px
;
width
:
24%
;
/* width:438px; */
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
border-radius
:
4px
;
font-size
:
0px
;
}
.hotelProductManage2_calendarItem
:hover
{
box-shadow
:
0px
0px
5px
5px
#E5E5E5
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_month
{
width
:
50%
;
height
:
30px
;
float
:
left
;
margin-left
:
110px
;
line-height
:
30px
;
text-align
:
center
;
font-size
:
14px
;
cursor
:
pointer
;
text-decoration
:
underline
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_week
{
display
:
flex
;
justify-content
:
space-around
;
padding
:
10px
0
;
width
:
100%
;
height
:
36px
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_week
>
div
{
display
:
inline-block
;
width
:
14.2%
;
height
:
16px
;
line-height
:
16px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#999999
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
{
display
:
flex
;
justify-content
:
space-around
;
flex-wrap
:
wrap
;
padding-bottom
:
20px
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
{
display
:
inline-block
;
padding
:
15px
0
;
width
:
14.2%
;
position
:
relative
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
div
{
margin
:
auto
;
width
:
30px
;
height
:
30px
;
text-align
:
center
;
line-height
:
26px
;
font-size
:
14px
;
border
:
2px
solid
transparent
;
border-radius
:
50%
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
.nowMonth
>
div
{
color
:
#000000
;
cursor
:
pointer
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
.otherMonth
>
div
{
color
:
gainsboro
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
.hasStock_1
{
background-color
:
#ff6363
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
.hasStock_2
{
background-color
:
#ff99cc
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
.hasStock_3
{
background-color
:
#bcd6ee
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
.hasStock_4
{
background-color
:
#DDDDDD
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
div
>
.hasStock_5
{
background-color
:
#02F78E
;
}
/* 页面编辑 */
.hotelProductManage2_edit2
{
margin
:
20px
0
0
0
;
padding
:
10px
10px
0
;
width
:
100%
;
border-radius
:
4px
;
border
:
1px
solid
#E5E5E5
;
background-color
:
#FFFFFF
;
overflow
:
auto
;
}
.hotelProductManage2_edit2
>
.hotelProductManage2_edit2_header
{
position
:
relative
;
width
:
100%
;
height
:
30px
;
}
.hotelProductManage2_edit2_header
>
div
:nth-child
(
1
)
{
display
:
inline-block
;
padding
:
0
20px
;
width
:
200px
;
height
:
30px
;
line-height
:
30px
;
font-size
:
16px
;
border-left
:
3px
solid
#E95252
;
}
.hotelProductManage2_edit2_header
>
div
:nth-child
(
2
)
{
position
:
absolute
;
top
:
0px
;
right
:
0px
;
height
:
30px
;
}
.hotelProductManage2_edit2_header
>
div
:nth-child
(
2
)>
div
:nth-child
(
1
)
{
display
:
inline-block
;
margin
:
0
5px
;
padding
:
0
15px
;
height
:
30px
;
line-height
:
28px
;
font-size
:
14px
;
color
:
#E95252
;
background
:
#fff
;
border
:
1px
solid
#E95252
;
border-radius
:
15px
;
vertical-align
:
top
;
cursor
:
pointer
;
}
.hotelProductManage2_edit2_header
>
div
:nth-child
(
2
)>
div
:nth-child
(
2
)
{
display
:
inline-block
;
padding
:
0
15px
;
height
:
30px
;
line-height
:
28px
;
font-size
:
14px
;
color
:
#fff
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
border-radius
:
15px
;
vertical-align
:
top
;
cursor
:
pointer
;
}
.hotelProductManage2_edit2
>
.hotelProductManage2_edit2_form
{
padding
:
10px
0
;
}
.hotelProductManage2_edit2_form
.el-input
{
width
:
160px
;
}
.hotelProductManage2_edit2_form
.el-input-number
{
width
:
160px
;
}
.hotelProductManage2_edit2_form
.el-input__inner
{
width
:
160px
;
}
.hotelProductManage2_edit2_form
.el-textarea__inner
{
resize
:
none
;
}
.hotelProductManage2_edit2_form
.HotelProductEdit_date
.el-form-item__content
{
width
:
1000px
;
min-height
:
9px
;
}
/* 弹出编辑 */
.hotelProductManage2_edit
{
position
:
fixed
;
z-index
:
50
;
bottom
:
0
;
left
:
50px
;
padding
:
10px
10px
0
;
min-width
:
1316px
;
/* height: 640px; */
border-top
:
3px
solid
#38425d
;
background-color
:
#FFFFFF
;
overflow
:
auto
;
}
.hotelProductManage2_edit
>
.hotelProductManage2_edit_header
{
position
:
relative
;
width
:
100%
;
height
:
30px
;
}
.hotelProductManage2_edit_header
>
div
:nth-child
(
1
)
{
display
:
inline-block
;
padding
:
0
20px
;
width
:
200px
;
height
:
30px
;
line-height
:
30px
;
font-size
:
16px
;
border-left
:
3px
solid
#E95252
;
}
.hotelProductManage2_edit_header
>
div
:nth-child
(
2
)
{
position
:
absolute
;
top
:
0px
;
right
:
0px
;
height
:
30px
;
}
.hotelProductManage2_edit_header
>
div
:nth-child
(
2
)>
div
:nth-child
(
1
)
{
display
:
inline-block
;
margin
:
0
5px
;
padding
:
0
15px
;
height
:
30px
;
line-height
:
28px
;
font-size
:
14px
;
color
:
#E95252
;
background
:
#fff
;
border
:
1px
solid
#E95252
;
border-radius
:
15px
;
vertical-align
:
top
;
cursor
:
pointer
;
}
.hotelProductManage2_edit_header
>
div
:nth-child
(
2
)>
div
:nth-child
(
2
)
{
display
:
inline-block
;
padding
:
0
15px
;
height
:
30px
;
line-height
:
28px
;
font-size
:
14px
;
color
:
#fff
;
background
:
#E95252
;
border
:
1px
solid
#E95252
;
border-radius
:
15px
;
vertical-align
:
top
;
cursor
:
pointer
;
}
.hotelProductManage2_edit
>
.hotelProductManage2_edit_form
{
padding
:
10px
0
;
}
.hotelProductManage2_edit_form
.el-input
{
width
:
180px
;
}
.hotelProductManage2_edit_form
.el-input__inner
{
width
:
180px
;
}
.hotelProductManage2_edit_form
.el-textarea__inner
{
resize
:
none
;
}
.hotelProductManage2_edit_form
.HotelProductEdit_date
>
div
{
display
:
inline-block
;
vertical-align
:
middle
;
}
.hotelProductManage2_edit_form
.HotelProductEdit_date
>
div
>
em
{
display
:
inline-block
;
margin
:
7px
10px
0
0
;
padding
:
0
0
0
0
;
}
.hotelProductManage2
.RabateDiv
{
margin-left
:
25px
;
}
.hotelProductManage2
.RebateCount
{
height
:
34px
;
border-radius
:
17px
;
float
:
left
;
}
.hotelProductManage2
.reOne
,
.hotelProductManage2
.reTwo
,
.hotelProductManage2.dayNum
{
position
:
relative
;
}
.hotelProductManage2
.leftPnum
{
float
:
left
;
background-color
:
#f5f7fa
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
border-right
:
1px
solid
#cccccc
;
position
:
absolute
;
left
:
1px
;
top
:
1px
;
font-size
:
14px
;
padding
:
0
10px
;
color
:
#606266
;
}
.hotelProductManage2
.toolInput
{
height
:
42px
;
padding-left
:
5px
;
border
:
none
;
}
.hotelProductManage2
.inpuOne
{
width
:
225px
;
padding-left
:
120px
;
border
:
1px
solid
#d1d1d1
;
border-right
:
none
;
}
.hotelProductManage2
.inpuTwo
{
width
:
166px
;
padding
:
0
45px
0
77px
;
border
:
1px
solid
#d1d1d1
;
}
.hotelProductManage2
.fanNum
{
float
:
left
;
background-color
:
#f5f7fa
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
border-right
:
1px
solid
#cccccc
;
position
:
absolute
;
left
:
1px
;
top
:
1px
;
padding
:
0
10px
;
color
:
#606266
;
font-size
:
14px
;
}
.popList
{
font-size
:
12px
;
line-height
:
15px
;
text-align
:
left
;
}
.hotelProductManage2_calendarItem
>
.calendarItem_day
>
.nowMonth
:hover
.detailInfo
{
display
:
block
;
}
.hotelProductManage2
.detailInfo
{
display
:
none
;
position
:
absolute
;
left
:
-70px
;
top
:
50px
;
z-index
:
999
;
}
.hotelProductManage2
.triangle_border_up
{
width
:
0
;
height
:
0
;
border-width
:
0
103px
30px
;
border-style
:
solid
;
opacity
:
0.75
;
border-color
:
transparent
transparent
rgba
(
233
,
82
,
82
,
1
);
/*透明 透明 灰*/
}
.hotelProductManage2
.detailInfo
.popContent
{
width
:
205px
;
min-height
:
80px
;
background-color
:
#e95252
;
text-align
:
left
;
color
:
#fff
;
font-size
:
12px
;
margin-top
:
-2px
;
overflow
:
auto
;
padding-bottom
:
10px
;
}
.hotelProductManage2
.popList
label
:first-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
0
0
10px
;
text-align
:
left
;
}
.hotelProductManage2
.popList
label
:last-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
10px
0
0
;
text-align
:
right
;
}
.hotelProductManage2
.Htupbtn
{
padding
:
0
10px
;
height
:
25px
;
margin
:
10px
0
0
75px
;
}
</
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