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
160234dc
Commit
160234dc
authored
Aug 02, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增景点统计下载
parent
dd39e46e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
382 additions
and
545 deletions
+382
-545
scenicSpotSalesBoard.vue
src/components/scenicSpot/scenicSpotSalesBoard.vue
+382
-545
No files found.
src/components/scenicSpot/scenicSpotSalesBoard.vue
View file @
160234dc
<
style
>
.hotelKb
.hotel_box
{
display
:
flex
;
flex-wrap
:
wrap
;
position
:
relative
;
padding
:
20px
;
/* min-height: 500px; */
}
.hotelKb
.hotel_item
{
width
:
120px
;
height
:
120px
;
border-radius
:
4px
;
margin
:
10px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
.hotelKb
.hotel_item
img
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
}
.hotelKb
.hotel_item_info
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
0.5
);
}
.hotelKb
.el-input__icon
{
line-height
:
34px
;
}
.hotelKb
.hotel_item_info_name
{
font-size
:
12px
;
padding
:
13px
14px
;
color
:
white
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.hotelKb
.icon-xiaoliangyuce
{
color
:
#ffffff
;
opacity
:
0.65
;
font-size
:
16px
;
padding-right
:
10px
;
}
.hotelKb
.RemainingInventory
{
font-size
:
28px
;
color
:
white
;
}
.hotelKb
.hotel_item_info_chuang
{
position
:
absolute
;
bottom
:
10px
;
width
:
100%
;
text-align
:
right
;
padding-right
:
14px
;
}
.hotelKb
.hotel_item_info_warning
{
background-color
:
#e95252
;
}
.hotelKb
.time
.el-input--prefix
.el-input__inner
{
padding-left
:
30px
;
}
.hotelKb
.query-box
li
label
{
display
:
inline-block
;
min-width
:
80px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
20px
0
0
;
}
/* 日期样式开始 */
.hotelKb
#calendar
{
width
:
639px
;
height
:
345px
;
margin
:
0
auto
;
box-shadow
:
0
2px
2px
0
rgba
(
0
,
0
,
0
,
0.14
),
0
3px
1px
-2px
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
5px
0
rgba
(
0
,
0
,
0
,
0.12
);
}
.hotelKb
.month
ul
{
margin
:
0
;
padding
:
0
;
justify-content
:
space-between
;
}
.hotelKb
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.hotelKb
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.hotelKb
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.hotelKb
.monthminus
{
position
:
absolute
;
left
:
15px
;
top
:
13px
;
}
.hotelKb
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
13px
;
}
.hotelKb
.month
ul
li
:first-child
{
margin-left
:
180px
;
}
.hotelKb
.month
ul
li
{
font-size
:
12px
;
position
:
relative
;
text-transform
:
uppercase
;
float
:
left
;
letter-spacing
:
3px
;
}
.hotelKb
.month
ul
li
>
input
{
padding-left
:
10px
;
text-align
:
center
;
margin
:
20px
10px
20px
;
}
.hotelKb
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#13b0ae
;
display
:
flex
;
width
:
645px
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.hotelKb
.weekdays
li
{
display
:
inline-block
;
width
:
13.6%
;
text-align
:
center
;
}
.hotelKb
.days
{
/* width: 500px; */
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
/* display: flex; */
flex-wrap
:
wrap
;
justify-content
:
space-around
;
}
.hotelKb
.days
li
{
list-style-type
:
none
;
width
:
91px
;
height
:
70px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
cursor
:
pointer
;
float
:
left
;
font-size
:
1rem
;
color
:
#000
;
border-right
:
1px
solid
#dddddd
;
border-bottom
:
1px
solid
#dddddd
;
}
.hotelKb
.month
ul
li
>
input
{
padding-left
:
10px
;
text-align
:
center
;
margin
:
20px
10px
20px
;
}
.hotelKb
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
margin-top
:
20px
;
border
:
1px
solid
#dcdfe6
;
}
.hotelKb
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.hotelKb
.addCompany
{
width
:
700px
;
}
.hotelKb
.ckStyle
{
position
:
absolute
;
display
:
inline-block
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
bottom
:
0
;
right
:
0
;
background-color
:
#777777
;
color
:
#fff
;
}
.hotelKb
.el-dialog--center
.el-dialog__body
{
padding-top
:
0
;
}
.HB_Inventor
{
display
:
block
;
text-align
:
left
;
padding-left
:
3px
;
}
.HB_Inventor
>
span
{
display
:
block
;
font-size
:
12px
;
height
:
14px
;
margin-bottom
:
3px
;
}
.hotelKb
.Used_room
{
color
:
#13b0ae
;
}
/* 日期样式结束*/
/* 日期样式开始 */
.scenicSpotSalesBoard
.month
ul
{
border-radius
:
4px
4px
0
0
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
background
:
#e95252
;
margin
:
0
;
padding
:
0
;
text-align
:
center
;
}
.scenicSpotSalesBoard
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.scenicSpotSalesBoard
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.scenicSpotSalesBoard
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.scenicSpotSalesBoard
.monthminus
{
position
:
absolute
;
left
:
0px
;
top
:
15px
;
}
.scenicSpotSalesBoard
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
15px
;
}
.scenicSpotSalesBoard
.month
ul
li
{
font-size
:
18px
;
color
:
#fff
;
position
:
relative
;
display
:
inline-block
;
letter-spacing
:
3px
;
}
.scenicSpotSalesBoard
.month
ul
li
i
{
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
}
.scenicSpotSalesBoard
.month
ul
li
>
input
{
text-align
:
center
;
}
.scenicSpotSalesBoard
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#3fa783
;
display
:
flex
;
width
:
100%
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.scenicSpotSalesBoard
.weekdays
li
{
display
:
inline-block
;
width
:
14.2857%
;
text-align
:
center
;
}
.scenicSpotSalesBoard
.days
{
width
:
100%
;
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
flex-wrap
:
wrap
;
box-sizing
:
border-box
;
justify-content
:
space-around
;
}
.scenicSpotSalesBoard
.days
>
li
{
list-style-type
:
none
;
width
:
14.2857%
;
height
:
140px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
float
:
left
;
color
:
#000
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
}
.scenicSpotSalesBoard
.days
li
>
div
{
height
:
112px
;
width
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.scenicSpotSalesBoard
.days
li
>
div
>
p
{
border-bottom
:
1px
dashed
#ccc
;
height
:
28px
;
line-height
:
28px
;
width
:
100%
;
text-indent
:
10px
;
}
.scenicSpotSalesBoard
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
}
.scenicSpotSalesBoard
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.scenicSpotSalesBoard
.ckStyle
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
font-weight
:
bold
;
background
:
#ccc
;
color
:
#000
;
}
.scenicSpotSalesBoard
.ckStyleOther
{
background
:
#dddddd
!important
;
font-weight
:
normal
!important
;
color
:
#999
;
}
.scenicSpotSalesBoard
.Owe_Room
{
color
:
#e95252
;
}
.scenicSpotSalesBoard
.Used_room
{
color
:
#13b0ae
;
}
.scenicSpotSalesBoard
.otherMoth
{
background
:
#f2f2f2
;
}
.scenicSpotSalesBoard
.title
{
height
:
14px
;
line-height
:
14px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
10px
;
margin
:
20px
0
;
}
.scenicSpotSalesBoard
.hasStock_1
{
color
:
#FFFFFF
;
background-color
:
#ff3737
;
}
.scenicSpotSalesBoard
.hasStock_2
{
background-color
:
#ff99cc
;
}
.scenicSpotSalesBoard
.hasStock_3
{
background-color
:
#bcd6ee
;
}
.scenicSpotSalesBoard
.hasStock_4
{
background-color
:
#ffffff
;
}
/* 日期样式结束*/
</
style
>
<
template
>
<div
class=
"flexOne
hotelKb
"
>
<div
class=
"query-box"
>
<div
class=
"flexOne
scenicSpotSalesBoard
"
>
<div
class=
"query-box
Plan_Query
"
>
<ul>
<li>
<label
class=
""
>
{{
$t
(
'system.quety_area'
)
}}
</label>
<el-select
v-model=
"msg.Country"
clearable
filterable
@
change=
"getProvinceList(msg.Country,1)"
:placeholder=
"$t('system.table_country')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
''
></el-option>
<el-option
v-for=
'item in countryList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"getProvinceList(msg.Province,2)"
:placeholder=
"$t('hotel.hotel_province')"
>
<el-option
v-for=
'item in provinceList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<el-select
v-model=
"msg.City"
filterable
@
change=
"getProvinceList(msg.City,3)"
:placeholder=
"$t('hotel.hotel_city')"
>
<el-option
v-for=
'item in cityList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<el-select
v-model=
"msg.District"
filterable
:placeholder=
"$t('hotel.hotel_area')"
>
<el-option
v-for=
'item in district'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<span>
<em>
景点
</em>
<el-select
v-model=
"msg.CouponsId"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"defaultSelectValue"
></el-option>
<el-option
v-for=
"item in ScenicList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li
class=
'time'
>
<div
class=
"block"
>
<label
class=
"demonstration"
>
{{
$t
(
'pub.yearMonth'
)
}}
</label>
<el-date-picker
v-model=
"nowYearMonth"
type=
"month"
:clearable=
false
:editable=
false
placeholder=
"选择年月"
format=
"yyyy-MM"
value-format=
"yyyy-MM"
@
change=
"getMonthYear"
>
</el-date-picker>
</div>
<li
style=
"margin-right:50px;"
>
<button
class=
"normalBtn"
type=
"button"
@
click=
"GetHoltelInventory()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"DownLoadDinnerSalesBoard()"
>
下载
</button>
</li>
<li
class=
'time'
>
<div
class=
"block"
>
<label
class=
"demonstration"
>
预约方式
</label>
<el-select
v-model=
"msg.AppointmentStyle"
filterable
:placeholder=
"$t('hotel.hotel_area')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'msg.SelectDefaultValue'
></el-option>
<el-option
label=
"预约"
:value=
'1'
>
</el-option>
</el-select>
</div>
</ul>
</div>
<div
class=
"title"
style=
"display:none;"
>
门票统计 共
<span
class=
"Owe_Room"
></span>
</div>
<div
class=
"month"
>
<ul>
<li>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"currentYear-=1,getDateString(),initCalendar(dateString)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
年
<i
class=
"el-icon-caret-right monthadd"
@
click=
"currentYear+=1,getDateString(),initCalendar(dateString)"
></i>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"getList()"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('hotel.hotel_dataReport')"
@
click=
"goData('HotelDataStatistics')"
/>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"pickPre(currentYear,currentMonth)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
月
<i
class=
"el-icon-caret-right monthadd"
@
click=
"pickNext(currentYear,currentMonth)"
></i>
</li>
</ul>
</div>
<div
class=
"hotel_box"
v-loading=
"msg.loading"
>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
<div
class=
"hotel_item"
v-for=
"item in DataList"
@
click=
"GetRestaurantInventory(item.CouponsId),DiningName=item.DiningName"
:key=
"item.subCode"
>
<img
:src=
"item.PicPath"
>
<div
class=
"hotel_item_info"
:class=
"item.warning? 'hotel_item_info_warning':''"
>
<p
class=
"hotel_item_info_name"
>
{{
item
.
CouponsName
}}
</p>
<p
class=
"hotel_item_info_chuang"
><span
class=
'iconfont icon-xiaoliangyuce'
></span><span
class=
'RemainingInventory'
>
{{
item
.
UseAccount
}}
</span></p>
<ul
class=
"weekdays"
>
<li>
{{
$t
(
'hotel.hotel_Monday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Tuesday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Wednesday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Thursday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Friday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Saturday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Sunday'
)
}}
</li>
</ul>
<ul
class=
"days clearfix"
v-loading=
"msg.loading"
>
<li
v-for=
"(dayItem,index) in days"
:key=
"dayItem.index"
>
<p
class=
"ckStyle"
:class=
"
{ckStyleOther:dayItem.day.getMonth()+1 != currentMonth}">
{{
dayItem
.
day
.
getDate
()
}}
</p>
<div>
<p
v-for=
"item in dayItem.dayValue"
>
<span
class=
"text_underLine"
>
{{
item
.
TicketName
}}
(
{{
item
.
TicketNum
}}
)
</span>
</p>
</div>
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
>
</el-pagination>
<el-dialog
custom-class=
'addCompany'
title=
"日期"
:visible
.
sync=
"outerVisible"
center
>
<div
class=
"priceDate"
id=
"DayAll"
>
<div
class=
"month"
>
<ul>
<li>
<i
class=
"arrow monthminus"
@
click=
"currentYear-=1,getDateString(),initCalendar(dateString)"
>
❮
</i>
<input
type=
"text"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
/>
年
<i
class=
"arrow monthadd"
@
click=
"currentYear+=1,getDateString(),initCalendar(dateString)"
>
❯
</i>
</li>
<li>
<i
class=
"arrow monthminus"
@
click=
"pickPre(currentYear,currentMonth)"
>
❮
</i>
<input
type=
"text"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
/>
月
<i
class=
"arrow monthadd"
@
click=
"pickNext(currentYear,currentMonth)"
>
❯
</i>
</li>
</ul>
</div>
<!-- 星期 -->
<ul
class=
"weekdays"
>
<li>
{{
$t
(
'hotel.hotel_Monday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Tuesday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Wednesday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Thursday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Friday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Saturday'
)
}}
</li>
<li>
{{
$t
(
'hotel.hotel_Sunday'
)
}}
</li>
</ul>
<!-- 日期 -->
<ul
class=
"days clearfix"
>
<li
@
click=
"goUrl(dayobject)"
v-for=
"(dayobject,index) in days"
:key=
"dayobject.subCode"
>
<span
v-if=
"dayobject.day.getMonth()+1 != currentMonth"
class=
"other-month"
>
{{
dayobject
.
day
.
getDate
()
}}
</span>
<span
class=
"ckStyle"
v-else
>
{{
dayobject
.
day
.
getDate
()
}}
</span>
<span
class=
"HB_Inventor"
>
<span>
使用:
<span
class=
"Used_room"
>
{{
dayobject
.
UseAccount
}}
</span></span>
</span>
</li>
</ul>
</div>
</el-dialog>
</li>
</ul>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
30
,
Country
:
""
,
Province
:
""
,
City
:
""
,
District
:
""
,
Year
:
new
Date
().
Format
(
"yyyy"
),
Month
:
new
Date
().
Format
(
"MM"
),
total
:
0
,
currentPage
:
1
,
loading
:
true
,
//下拉框默认值
SelectDefaultValue
:
-
1
,
//预约方式
AppointmentStyle
:
-
1
export
default
{
data
()
{
return
{
msg
:
{
Year
:
0
,
Month
:
0
,
CouponsId
:
0
,
loading
:
false
},
//餐厅列表
ScenicList
:
[],
defaultSelectValue
:
0
,
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
//每天的门票库存
DayData
:
[],
};
},
methods
:
{
stockColor
:
function
(
type
)
{
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'
}
},
//格式化日期
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
this
.
GetHoltelInventory
();
},
nowYearMonth
:
new
Date
(),
DataList
:
[],
countryList
:
""
,
provinceList
:
""
,
cityList
:
""
,
district
:
""
,
noData
:
false
,
outerVisible
:
false
,
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
//每天的酒店库存
DayData
:
[],
CouponsId
:
0
,
DiningName
:
""
};
},
methods
:
{
getList
()
{
this
.
msg
.
loading
=
true
;
this
.
apipost
(
"ticketcouponsprice_get_ScenicSaleBoard"
,
this
.
msg
,
res
=>
{
this
.
msg
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
.
pageData
;
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
tempData
.
forEach
(
x
=>
{
if
(
x
.
UseAccount
<
15
)
{
x
.
warning
=
true
;
initCalendar
:
function
(
cur
)
{
var
newDays
=
this
.
$calendarUtils
.
createCalendar
(
cur
);
this
.
currentDay
=
newDays
.
CurrentDay
;
this
.
currentYear
=
newDays
.
CurrentYear
;
this
.
currentMonth
=
newDays
.
CurrentMonth
;
this
.
currentWeek
=
newDays
.
CurrentWeek
;
this
.
days
.
length
=
0
;
var
dateArray
=
newDays
.
DayArray
;
for
(
var
i
=
0
;
i
<
dateArray
.
length
;
i
++
)
{
var
d
=
dateArray
[
i
].
day
;
var
dayobject
=
{};
dayobject
.
day
=
d
;
this
.
days
.
push
(
dayobject
);
}
},
//点击左箭头切换年月
pickPre
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
0
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击右箭头切换年月
pickNext
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
35
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击获取酒店库存数据
GetHoltelInventory
()
{
this
.
msg
.
loading
=
true
;
var
that
=
this
;
this
.
msg
.
Year
=
this
.
currentYear
;
this
.
msg
.
Month
=
this
.
currentMonth
;
this
.
DayData
=
[];
this
.
apipost
(
"ticketcouponsorder_post_GetScenicMonthStatistics"
,
this
.
msg
,
res
=>
{
this
.
msg
.
loading
=
false
;
this
.
DayData
=
res
.
data
.
data
;
this
.
days
.
forEach
(
dayItem
=>
{
let
d
=
dayItem
.
day
;
let
myDate
=
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
d
.
getDate
()
);
dayItem
.
dayValue
=
[];
for
(
var
j
=
0
;
j
<
this
.
DayData
.
length
;
j
++
)
{
if
(
this
.
DayData
[
j
].
Day
==
myDate
)
{
dayItem
.
dayValue
=
this
.
DayData
[
j
].
SubList
;
}
}
});
this
.
DataList
=
tempData
;
this
.
noData
=
!
this
.
msg
.
total
>
0
;
}
},
err
=>
{}
);
},
getProvinceList
(
ID
,
type
)
{
//根据省份获取城市
let
msg
=
{
Id
:
ID
};
if
(
type
==
1
)
{
this
.
msg
.
Province
=
""
;
this
.
msg
.
City
=
""
;
this
.
msg
.
District
=
""
;
this
.
provinceList
=
[];
this
.
cityList
=
[];
}
else
if
(
type
==
2
)
{
this
.
msg
.
City
=
""
;
this
.
msg
.
District
=
""
;
this
.
cityList
=
[];
}
else
if
(
type
==
3
)
{
this
.
msg
.
District
=
""
;
}
if
(
this
.
msg
.
Country
!==
""
)
{
this
.
$forceUpdate
();
},
err
=>
{}
);
},
//获取酒店列表
GetScenicList
()
{
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
msg
,
"ticketcoupons_post_GetList"
,
{
QCountry
:
651
},
res
=>
{
if
(
type
==
1
)
{
this
.
provinceList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
this
.
cityList
=
res
.
data
.
data
;
}
else
if
(
type
==
3
)
{
this
.
district
=
res
.
data
.
data
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ScenicList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
}
},
//获取国家
getCountryList
()
{
this
.
apipost
(
"dict_post_Destination_GetCountry"
,
{},
res
=>
{
this
.
countryList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
//查询初始化页码
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
currentPage
=
1
;
},
//翻页功能按钮
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getMonthYear
()
{
let
newMonthYear
=
this
.
nowYearMonth
.
split
(
"-"
);
let
nums
=
[];
for
(
var
i
=
0
;
i
<
newMonthYear
.
length
;
i
++
)
{
nums
.
push
(
parseInt
(
newMonthYear
[
i
]));
}
this
.
msg
.
Year
=
nums
[
0
].
toString
();
this
.
msg
.
Month
=
nums
[
1
].
toString
();
},
goData
(
path
)
{
this
.
$router
.
push
({
path
:
path
});
},
//跳转订单
goUrl
(
dayItem
)
{
this
.
$router
.
push
({
path
:
"scenicSpotInfo"
,
query
:
{
id
:
dayItem
.
CouponsId
,
date
:
dayItem
.
UseTime
,
blank
:
'y'
,
tab
:
'景点详情'
},
//下载餐厅统计
DownLoadDinnerSalesBoard
()
{
if
(
this
.
msg
.
CouponsId
<=
0
)
{
this
.
Info
(
"请选择景点!"
);
return
;
}
});
},
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
this
.
checkDays
();
},
initCalendar
:
function
(
cur
)
{
var
newDays
=
this
.
$calendarUtils
.
createCalendar
(
cur
);
this
.
currentDay
=
newDays
.
CurrentDay
;
this
.
currentYear
=
newDays
.
CurrentYear
;
this
.
currentMonth
=
newDays
.
CurrentMonth
;
this
.
currentWeek
=
newDays
.
CurrentWeek
;
this
.
days
.
length
=
0
;
var
dateArray
=
newDays
.
DayArray
;
for
(
var
i
=
0
;
i
<
dateArray
.
length
;
i
++
)
{
var
d
=
dateArray
[
i
].
day
;
var
dayobject
=
{};
dayobject
.
day
=
d
;
this
.
days
.
push
(
dayobject
);
this
.
msg
.
loading
=
true
;
let
fileName
=
"门票下载"
+
this
.
$commonUtils
.
getCurrentDate
()
+
".xls"
;
this
.
GetLocalFile
(
"ticketcouponsorder_post_DownLoadScenicMonthStatistics"
,
this
.
msg
,
fileName
,
res
=>
{
this
.
msg
.
loading
=
false
;
});
}
},
//点击左箭头切换年月
pickPre
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
0
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
checkDays
();
},
//点击右箭头切换年月
pickNext
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
35
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
checkDays
();
},
//点击获取餐厅库存数据
GetRestaurantInventory
(
CouponsId
)
{
this
.
outerVisible
=
true
;
this
.
CouponsId
=
CouponsId
;
this
.
apipost
(
"ticketcouponsprice_get_GetScenicStatistics"
,
{
CouponsId
:
this
.
CouponsId
,
Year
:
this
.
currentYear
,
Month
:
this
.
currentMonth
},
res
=>
{
this
.
DayData
=
res
.
data
.
data
;
this
.
checkDays
();
},
err
=>
{}
);
},
checkDays
()
{
this
.
days
.
forEach
(
dayItem
=>
{
var
d
=
dayItem
.
day
;
var
myDate
=
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
d
.
getDate
()
);
for
(
var
j
=
0
;
j
<
this
.
DayData
.
length
;
j
++
)
{
if
(
this
.
DayData
[
j
].
UseTime
==
myDate
)
{
//已用
dayItem
.
UseAccount
=
this
.
DayData
[
j
].
UseAccount
;
//使用时间
dayItem
.
UseTime
=
this
.
DayData
[
j
].
UseTime
;
//餐厅编号
dayItem
.
CouponsId
=
this
.
DayData
[
j
].
CouponsId
;
}
}
});
this
.
$forceUpdate
();
}
},
mounted
()
{
this
.
getList
();
this
.
getCountryList
();
this
.
initCalendar
();
},
watch
:
{
outerVisible
:
function
toggle
()
{
if
(
!
this
.
outerVisible
)
{
var
myDate
=
new
Date
();
this
.
currentYear
=
myDate
.
getFullYear
();
//获取完整的年份(4位,1970-????)
this
.
currentMonth
=
myDate
.
getMonth
()
+
1
;
//获取当前月份(0-11,0代表1月)
this
.
initCalendar
();
}
mounted
()
{
//初始化日历
let
myDate
=
new
Date
();
this
.
currentYear
=
myDate
.
getFullYear
();
this
.
currentMonth
=
myDate
.
getMonth
()
+
1
;
this
.
msg
.
Year
=
this
.
currentYear
;
this
.
msg
.
Month
=
this
.
currentDay
;
this
.
GetScenicList
();
this
.
initCalendar
();
this
.
GetHoltelInventory
();
}
}
};
}
;
</
script
>
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