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
7b0a8d01
Commit
7b0a8d01
authored
May 21, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
c54811c3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
788 additions
and
732 deletions
+788
-732
GnHotelManagement.vue
src/components/Hotel/GnHotelManagement.vue
+2
-15
HotelPrice.vue
src/components/Hotel/HotelPrice.vue
+786
-717
No files found.
src/components/Hotel/GnHotelManagement.vue
View file @
7b0a8d01
...
...
@@ -511,26 +511,13 @@
path
:
path
,
query
:
{
id
:
item
.
ID
,
Country
:
item
.
Country
,
IsSelfBook
:
item
.
IsSelfBook
,
blank
:
'y'
,
tab
:
'报价详情'
}
});
},
//调整到房型列表
goproduct
(
path
,
item
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
item
.
ID
,
Country
:
item
.
Country
,
IsSelfBook
:
item
.
IsSelfBook
,
blank
:
'y'
,
tab
:
'房型列表'
}
});
},
goSubInfo
(
path
,
id
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
msg
);
this
.
$router
.
push
({
...
...
src/components/Hotel/HotelPrice.vue
View file @
7b0a8d01
<
style
>
.priceUpdate
.resource-content
{
min-width
:
1200px
;
margin-top
:
30px
;
font-size
:
12px
;
}
.priceUpdate
.resource-content
>
div
{
display
:
inline-block
;
}
.priceUpdate
.resource-baseinfo
{
float
:
left
;
height
:
auto
;
width
:
550px
;
margin-left
:
30px
;
}
.priceUpdate
.resource-imginfo
{
float
:
left
;
width
:
550px
;
margin-top
:
60px
;
}
.priceUpdate
.resource-imginfo
>
div
{
margin-bottom
:
20px
;
}
.priceUpdate
.resource-lititle
{
display
:
block
;
border-left
:
4px
solid
#e95252
;
padding-left
:
10px
;
}
.priceUpdate
.resource-baseinfo
span
{
display
:
inline-block
;
}
.priceUpdate
.resource-baseinfo
>
div
{
margin-bottom
:
20px
;
}
.clearfix
:after
{
content
:
"\0020"
;
display
:
block
;
height
:
0
;
clear
:
both
;
}
.priceUpdate
.priceDate
{
width
:
500px
;
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
}
.priceUpdate
.noticeInfo
div
{
margin-bottom
:
10px
;
margin
:
0
120px
10px
80px
;
}
.priceUpdate
.subPrice
{
margin
:
0
20px
0
70px
;
}
.priceUpdate
.inventory-div
>
div
{
float
:
left
;
margin
:
10px
30px
30px
0
;
}
.priceUpdate
.inventoryCommon
{
display
:
inline-block
;
width
:
10px
;
height
:
10px
;
border-radius
:
50%
;
}
.priceUpdate
.inOne
{
background-color
:
#e95252
;
}
.priceUpdate
.inTwo
{
background-color
:
#f58f0c
;
}
.priceUpdate
.inThree
{
background-color
:
#1bc594
;
}
.priceUpdate
.inFour
{
background-color
:
#1b63c5
;
}
.priceUpdate
.price-manage
{
margin
:
20px
0
25px
0
;
}
.priceUpdate
.day
{
width
:
1000px
;
margin
:
0
auto
;
position
:
relative
;
overflow
:
hidden
;
}
.priceUpdate
.yearSelect
,
.monthSelect
{
float
:
left
;
width
:
168px
;
height
:
30px
;
}
.priceUpdate
.priceDate
td
.checked
>
label
{
border-color
:
red
;
line-height
:
28px
;
box-sizing
:
border-box
;
border-radius
:
15px
;
}
.priceUpdate
.triangle_border_up
{
width
:
0
;
height
:
0
;
border-width
:
0
123px
30px
;
border-style
:
solid
;
opacity
:
0.75
;
border-color
:
transparent
transparent
rgba
(
233
,
82
,
82
,
1
);
/*透明 透明 灰*/
}
.priceUpdate
#calendar
{
width
:
500px
;
height
:
400px
;
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
);
}
.priceUpdate
.month
ul
{
margin
:
0
;
padding
:
0
;
display
:
flex
;
justify-content
:
space-between
;
}
.priceUpdate
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.priceUpdate
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.priceUpdate
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.priceUpdate
.monthminus
{
position
:
absolute
;
left
:
15px
;
top
:
15px
;
}
.priceUpdate
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
16px
;
}
.priceUpdate
.month
ul
li
{
font-size
:
12px
;
position
:
relative
;
text-transform
:
uppercase
;
float
:
left
;
letter-spacing
:
3px
;
}
.priceUpdate
.month
ul
li
>
input
{
padding-left
:
10px
;
text-align
:
center
;
margin
:
20px
10px
20px
;
}
.priceUpdate
.weekdays
{
margin
:
0
;
padding
:
10px
0
;
background-color
:
#f9f9f9
;
display
:
flex
;
flex-wrap
:
wrap
;
color
:
#999999
;
justify-content
:
space-around
;
}
.priceUpdate
.weekdays
li
{
display
:
inline-block
;
width
:
13.6%
;
text-align
:
center
;
}
.priceUpdate
.days
{
width
:
500px
;
padding
:
0
;
margin
:
0
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-around
;
}
.priceUpdate
.days
li
{
list-style-type
:
none
;
display
:
inline-block
;
width
:
14.2%
;
text-align
:
center
;
position
:
relative
;
padding-bottom
:
15px
;
padding-top
:
10px
;
font-size
:
1rem
;
color
:
#000
;
}
.priceUpdate
.spanCheck
{
cursor
:
pointer
;
}
.priceUpdate
.days
li
.active
{
padding
:
6px
10px
;
border-radius
:
50%
;
background
:
#00b8ec
;
color
:
#fff
;
}
.priceUpdate
.days
li
span
{
display
:
inline-block
;
width
:
30px
;
height
:
30px
;
border
:
1px
solid
#fff
;
border-radius
:
17px
;
line-height
:
30px
;
}
.priceUpdate
.days
li
.other-month
{
display
:
inline-block
;
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
color
:
gainsboro
;
}
.priceUpdate
.checked
span
{
border-color
:
green
!important
;
}
.priceUpdate
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
margin-top
:
20px
;
border
:
1px
solid
#dcdfe6
;
}
.priceUpdate
.detailInfo
{
display
:
none
;
position
:
absolute
;
left
:
-85px
;
top
:
50px
;
z-index
:
999
;
}
.priceUpdate
.priceUpdate
{
min-width
:
1200px
;
}
.priceUpdate
.popContent
{
width
:
245px
;
height
:
145px
;
background-color
:
#e95252
;
text-align
:
left
;
color
:
#fff
;
font-size
:
12px
;
}
.priceUpdate
.popContent
div
{
width
:
100%
;
}
.priceUpdate
.popList
label
:first-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
0
0
10px
;
text-align
:
left
;
}
.priceUpdate
.popList
label
:last-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
10px
0
0
;
text-align
:
right
;
}
.priceUpdate
.class-a
{
background-color
:
#e95252
;
color
:
#fff
;
}
.priceUpdate
.class-b
{
background-color
:
#f58f0c
;
color
:
#fff
;
}
.priceUpdate
.class-c
{
background-color
:
#1bc594
;
color
:
#fff
;
}
.priceUpdate
.class-d
{
background-color
:
#1b63c5
;
color
:
#fff
;
}
.packagePrice
.class-e
{
background-color
:
#e95252
;
color
:
#fff
;
}
.priceUpdate
.delButton
{
position
:
relative
;
top
:
-50px
;
background-color
:
#1bc594
;
color
:
#fff
;
}
.priceUpdate
.el-form-item
{
display
:
inline-block
;
}
.priceUpdate
.el-form-item__label
{
width
:
80px
;
}
.priceUpdate
.resDiv
{
width
:
700px
;
}
.priceUpdate
.el-textarea__inner
{
resize
:
none
;
font-family
:
"微软雅黑"
;
}
.priceUpdate
input
::-webkit-outer-spin-button
,
.priceUpdate
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
!important
;
margin
:
0
;
}
.priceUpdate
.el-form-item__error
{
left
:
80px
;
}
.priceUpdate
.s
{
display
:
block
!important
;
}
.priceUpdate
.el-form-item__content
{
width
:
315px
;
}
.priceUpdate
.RemarkDiv
.el-form-item__content
{
width
:
400px
;
}
.priceUpdate
.ckAll
{
margin
:
25px
20px
0
0
;
}
.priceUpdate
.ckStyle
{
cursor
:
pointer
;
}
.HS_supplier
{
margin
:
10px
0
10px
10px
;
}
.priceUpdate
.resource-content
{
min-width
:
1200px
;
margin-top
:
30px
;
font-size
:
12px
;
}
.priceUpdate
.resource-content
>
div
{
display
:
inline-block
;
}
.priceUpdate
.resource-baseinfo
{
float
:
left
;
height
:
auto
;
width
:
550px
;
margin-left
:
30px
;
}
.priceUpdate
.resource-imginfo
{
float
:
left
;
width
:
550px
;
margin-top
:
60px
;
}
.priceUpdate
.resource-imginfo
>
div
{
margin-bottom
:
20px
;
}
.priceUpdate
.resource-lititle
{
display
:
block
;
border-left
:
4px
solid
#e95252
;
padding-left
:
10px
;
}
.priceUpdate
.resource-baseinfo
span
{
display
:
inline-block
;
}
.priceUpdate
.resource-baseinfo
>
div
{
margin-bottom
:
20px
;
}
.clearfix
:after
{
content
:
"\0020"
;
display
:
block
;
height
:
0
;
clear
:
both
;
}
.priceUpdate
.priceDate
{
width
:
500px
;
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
}
.priceUpdate
.noticeInfo
div
{
margin-bottom
:
10px
;
margin
:
0
120px
10px
80px
;
}
.priceUpdate
.subPrice
{
margin
:
0
20px
0
70px
;
}
.priceUpdate
.inventory-div
>
div
{
float
:
left
;
margin
:
10px
30px
30px
0
;
}
.priceUpdate
.inventoryCommon
{
display
:
inline-block
;
width
:
10px
;
height
:
10px
;
border-radius
:
50%
;
}
.priceUpdate
.inOne
{
background-color
:
#e95252
;
}
.priceUpdate
.inTwo
{
background-color
:
#f58f0c
;
}
.priceUpdate
.inThree
{
background-color
:
#1bc594
;
}
.priceUpdate
.inFour
{
background-color
:
#1b63c5
;
}
.priceUpdate
.price-manage
{
margin
:
20px
0
25px
0
;
}
.priceUpdate
.day
{
width
:
1000px
;
margin
:
0
auto
;
position
:
relative
;
overflow
:
hidden
;
}
.priceUpdate
.yearSelect
,
.monthSelect
{
float
:
left
;
width
:
168px
;
height
:
30px
;
}
.priceUpdate
.priceDate
td
.checked
>
label
{
border-color
:
red
;
line-height
:
28px
;
box-sizing
:
border-box
;
border-radius
:
15px
;
}
.priceUpdate
.triangle_border_up
{
width
:
0
;
height
:
0
;
border-width
:
0
123px
30px
;
border-style
:
solid
;
opacity
:
0.75
;
border-color
:
transparent
transparent
rgba
(
233
,
82
,
82
,
1
);
/*透明 透明 灰*/
}
.priceUpdate
#calendar
{
width
:
500px
;
height
:
400px
;
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
);
}
.priceUpdate
.month
ul
{
margin
:
0
;
padding
:
0
;
display
:
flex
;
justify-content
:
space-between
;
}
.priceUpdate
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.priceUpdate
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.priceUpdate
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.priceUpdate
.monthminus
{
position
:
absolute
;
left
:
15px
;
top
:
15px
;
}
.priceUpdate
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
16px
;
}
.priceUpdate
.month
ul
li
{
font-size
:
12px
;
position
:
relative
;
text-transform
:
uppercase
;
float
:
left
;
letter-spacing
:
3px
;
}
.priceUpdate
.month
ul
li
>
input
{
padding-left
:
10px
;
text-align
:
center
;
margin
:
20px
10px
20px
;
}
.priceUpdate
.weekdays
{
margin
:
0
;
padding
:
10px
0
;
background-color
:
#f9f9f9
;
display
:
flex
;
flex-wrap
:
wrap
;
color
:
#999999
;
justify-content
:
space-around
;
}
.priceUpdate
.weekdays
li
{
display
:
inline-block
;
width
:
13.6%
;
text-align
:
center
;
}
.priceUpdate
.days
{
width
:
500px
;
padding
:
0
;
margin
:
0
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-around
;
}
.priceUpdate
.days
li
{
list-style-type
:
none
;
display
:
inline-block
;
width
:
14.2%
;
text-align
:
center
;
position
:
relative
;
padding-bottom
:
15px
;
padding-top
:
10px
;
font-size
:
1rem
;
color
:
#000
;
}
.priceUpdate
.spanCheck
{
cursor
:
pointer
;
}
.priceUpdate
.days
li
.active
{
padding
:
6px
10px
;
border-radius
:
50%
;
background
:
#00b8ec
;
color
:
#fff
;
}
.priceUpdate
.days
li
span
{
display
:
inline-block
;
width
:
30px
;
height
:
30px
;
border
:
1px
solid
#fff
;
border-radius
:
17px
;
line-height
:
30px
;
}
.priceUpdate
.days
li
.other-month
{
display
:
inline-block
;
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
color
:
gainsboro
;
}
.priceUpdate
.checked
span
{
border-color
:
green
!important
;
}
.priceUpdate
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
margin-top
:
20px
;
border
:
1px
solid
#dcdfe6
;
}
.priceUpdate
.detailInfo
{
display
:
none
;
position
:
absolute
;
left
:
-85px
;
top
:
50px
;
z-index
:
999
;
}
.priceUpdate
.priceUpdate
{
min-width
:
1200px
;
}
.priceUpdate
.popContent
{
width
:
245px
;
height
:
145px
;
background-color
:
#e95252
;
text-align
:
left
;
color
:
#fff
;
font-size
:
12px
;
}
.priceUpdate
.popContent
div
{
width
:
100%
;
}
.priceUpdate
.popList
label
:first-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
0
0
10px
;
text-align
:
left
;
}
.priceUpdate
.popList
label
:last-child
{
display
:
inline-block
;
width
:
40%
;
margin
:
10px
10px
0
0
;
text-align
:
right
;
}
.priceUpdate
.class-a
{
background-color
:
#e95252
;
color
:
#fff
;
}
.priceUpdate
.class-b
{
background-color
:
#f58f0c
;
color
:
#fff
;
}
.priceUpdate
.class-c
{
background-color
:
#1bc594
;
color
:
#fff
;
}
.priceUpdate
.class-d
{
background-color
:
#1b63c5
;
color
:
#fff
;
}
.packagePrice
.class-e
{
background-color
:
#e95252
;
color
:
#fff
;
}
.priceUpdate
.delButton
{
position
:
relative
;
top
:
-50px
;
background-color
:
#1bc594
;
color
:
#fff
;
}
.priceUpdate
.el-form-item
{
display
:
inline-block
;
}
.priceUpdate
.el-form-item__label
{
width
:
80px
;
}
.priceUpdate
.resDiv
{
width
:
700px
;
}
.priceUpdate
.el-textarea__inner
{
resize
:
none
;
font-family
:
"微软雅黑"
;
}
.priceUpdate
input
::-webkit-outer-spin-button
,
.priceUpdate
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
!important
;
margin
:
0
;
}
.priceUpdate
.el-form-item__error
{
left
:
80px
;
}
.priceUpdate
.s
{
display
:
block
!important
;
}
.priceUpdate
.el-form-item__content
{
width
:
315px
;
}
.priceUpdate
.RemarkDiv
.el-form-item__content
{
width
:
400px
;
}
.priceUpdate
.ckAll
{
margin
:
25px
20px
0
0
;
}
.priceUpdate
.ckStyle
{
cursor
:
pointer
;
}
.HS_supplier
{
margin
:
10px
0
10px
10px
;
}
</
style
>
<
template
>
<div
class=
"flexOne priceUpdate"
>
...
...
@@ -330,17 +396,20 @@
<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)"
/>
{{
$t
(
'pub.year'
)
}}
<input
type=
"text"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
/>
{{
$t
(
'pub.year'
)
}}
<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)"
/>
{{
$t
(
'pub.month'
)
}}
<input
type=
"text"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
/>
{{
$t
(
'pub.month'
)
}}
<i
class=
"arrow monthadd"
@
click=
"pickNext(currentYear,currentMonth)"
>
❯
</i>
</li>
<li>
<div
class=
"ckAll"
>
<el-checkbox
class=
"checkBox"
v-model=
'isCheckAll'
@
change=
"checkAll"
>
{{
$t
(
'system.table_chekAll'
)
}}
</el-checkbox>
<el-checkbox
class=
"checkBox"
v-model=
'isCheckAll'
@
change=
"checkAll"
>
{{
$t
(
'system.table_chekAll'
)
}}
</el-checkbox>
</div>
</li>
</ul>
...
...
@@ -357,15 +426,17 @@
</ul>
<!-- 日期 -->
<ul
class=
"days"
>
<li
class=
"liList"
:class=
"
{'checked':dayobject.checkState==$calendarUtils.checkState.checked}" v-for="(dayobject,index) in days"
:key="dayobject.subCode" @mouseover="disBoard(dayobject,index)" @mouseout="disNoneBoard()">
<li
class=
"liList"
:class=
"
{'checked':dayobject.checkState==$calendarUtils.checkState.checked}"
v-for="(dayobject,index) in days" :key="dayobject.subCode" @mouseover="disBoard(dayobject,index)"
@mouseout="disNoneBoard()">
<span
v-if=
"dayobject.day.getMonth()+1 != currentMonth"
class=
"other-month"
>
{{
dayobject
.
day
.
getDate
()
}}
</span>
<span
class=
"ckStyle"
@
click=
"clickedDay(dayobject)"
v-else-if=
"updateDay==-1 || dayobject.day.getDate()==updateDay"
:class=
"dayobject.class"
>
<span
class=
"ckStyle"
@
click=
"clickedDay(dayobject)"
v-else-if=
"updateDay==-1 || dayobject.day.getDate()==updateDay"
:class=
"dayobject.class"
>
{{
dayobject
.
day
.
getDate
()
}}
</span>
<span
class=
"other-month"
v-else
:class=
"
{'class-a': dayobject.checkState==$calendarUtils.checkState.hasValue}">
<span
class=
"other-month"
v-else
:class=
"
{'class-a': dayobject.checkState==$calendarUtils.checkState.hasValue}">
{{
dayobject
.
day
.
getDate
()
}}
</span>
<div
class=
"detailInfo"
:class=
"
{s:index==num}">
...
...
@@ -383,8 +454,10 @@
<label>
{{
$t
(
'hotel.hotel_Supplier'
)
}}
:
{{
dayobject
.
SupplierName
}}
</label>
</div>
</div>
<input
type=
"button"
class=
"hollowFixedBtn delButton"
@
click=
"isdelete(dayobject.ID)"
:value=
"$t('system.table_delete')"
/>
<button
class=
"hollowFixedBtn delButton"
@
click=
"updateInfo(dayobject.ID,dayobject.date,index)"
>
{{
$t
(
'system.table_edit'
)
}}
</button>
<input
type=
"button"
class=
"hollowFixedBtn delButton"
@
click=
"isdelete(dayobject.ID)"
:value=
"$t('system.table_delete')"
/>
<button
class=
"hollowFixedBtn delButton"
@
click=
"updateInfo(dayobject.ID,dayobject.date,index)"
>
{{
$t
(
'system.table_edit'
)
}}
</button>
</div>
</li>
</ul>
...
...
@@ -414,8 +487,8 @@
<div
class=
"resDiv"
style=
"margin:0 0 20px 42px"
>
<span>
<em
style=
"margin-right:10px;"
>
{{
$t
(
'pub.date'
)
}}
</em>
<el-date-picker
class=
"w150"
v-model=
'addMsg.StartDate'
type=
"date"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder=
""
>
<el-date-picker
class=
"w150"
v-model=
'addMsg.StartDate'
type=
"date"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder=
""
>
</el-date-picker>
<el-date-picker
class=
"w150"
v-model=
'addMsg.EndDate'
type=
"date"
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerBeginDateAfter"
placeholder=
""
>
...
...
@@ -424,26 +497,32 @@
</div>
<div
class=
"resDiv"
>
<el-form-item
:label=
"$t('hotel.hotel_CostPrice')"
prop=
"CostPrice"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.CostPrice"
@
keyup
.
native=
"checkPrice(addMsg,'CostPrice')"
></el-input>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.CostPrice"
@
keyup
.
native=
"checkPrice(addMsg,'CostPrice')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_Inventory')"
prop=
"Inventory"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.Inventory"
@
keyup
.
native=
"checkPrice(addMsg,'Inventory')"
></el-input>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.Inventory"
@
keyup
.
native=
"checkPrice(addMsg,'Inventory')"
></el-input>
</el-form-item>
</div>
<div
class=
"resDiv"
>
<el-form-item
:label=
"$t('hotel.hotel_B2BPrice')"
prop=
"B2BPrice"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.B2BPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2BPrice')"
></el-input>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.B2BPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2BPrice')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_B2CPrice')"
prop=
"B2CPrice"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.B2CPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2CPrice')"
></el-input>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.B2CPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2CPrice')"
></el-input>
</el-form-item>
</div>
<div
class=
"resDiv"
>
<el-form-item
label=
"原价"
prop=
"SalesPrice"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.SalesPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SalesPrice')"
></el-input>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.SalesPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SalesPrice')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_Supplier')"
v-if=
"IsSelfBook==1"
prop=
"Supplier"
>
<el-select
v-model=
"addMsg.Supplier"
class=
"w210"
filterable
clearable
:placeholder=
"$t('hotel.hotel_inputholder')"
>
<el-select
v-model=
"addMsg.Supplier"
class=
"w210"
filterable
clearable
:placeholder=
"$t('hotel.hotel_inputholder')"
>
<el-option
:label=
'$t("pub.ph_buxian")'
value=
''
></el-option>
<el-option
v-for=
"item in SupplierList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
...
...
@@ -451,15 +530,16 @@
</div>
<div
class=
"resDiv"
>
<el-form-item
:label=
"$t('hotel.hotel_Currency')"
>
<el-select
:placeholder=
"$t('ground.qingxuanbizhong')"
filterable
class=
'multiple_input w210'
@
change=
"getCurrentRate(addMsg.CurrencyId)"
v-model=
"addMsg.CurrencyId"
>
<el-select
:placeholder=
"$t('ground.qingxuanbizhong')"
filterable
class=
'multiple_input w210'
@
change=
"getCurrentRate(addMsg.CurrencyId)"
v-model=
"addMsg.CurrencyId"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in allCurrencyList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_CurrentRate')"
prop=
"Fax"
>
<el-input
class=
"w210"
v-model=
'addMsg.CurrentRate'
@
keyup
.
native=
"checkRate(addMsg,'CurrentRate')"
></el-input>
<el-input
class=
"w210"
v-model=
'addMsg.CurrentRate'
@
keyup
.
native=
"checkRate(addMsg,'CurrentRate')"
>
</el-input>
</el-form-item>
</div>
<div
class=
"resDiv RemarkDiv"
>
...
...
@@ -475,406 +555,395 @@
</div>
<button
type=
"success"
class=
"subPrice"
:class=
"
{'comDisableBtn':isDisable==true,'normalBtn':isDisable==false}"
:disabled='isDisable' @click="isDeleteNote=true,submitForm('addMsg')">
{{
comBtnText
}}
</button>
<button
type=
"success"
class=
"hollowFixedBtn"
@
click=
"goBack"
v-if=
"updateDay=='-1'"
>
{{
$t
(
'pub.returnBack'
)
}}
</button>
<button
type=
"success"
class=
"hollowFixedBtn"
@
click=
"resetForm('addMsg')"
v-else
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
type=
"success"
class=
"hollowFixedBtn"
@
click=
"goBack"
v-if=
"updateDay=='-1'"
>
{{
$t
(
'pub.returnBack'
)
}}
</button>
<button
type=
"success"
class=
"hollowFixedBtn"
@
click=
"resetForm('addMsg')"
v-else
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
//供应商
SupplierList
:
[],
productname
:
""
,
serviceNum
:
""
,
yearInput
:
""
,
//输入框年
monthInput
:
""
,
//输入框月
ID
:
""
,
HotelID
:
""
,
DateList
:
[],
DateArr
:
[],
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
nowDate
:
""
,
dateString
:
"2016-01-02"
,
num
:
-
1
,
updateDay
:
-
1
,
IsSelfBook
:
0
,
Country
:
0
,
//提交报价中
comBtnText
:
this
.
$t
(
'ground.tijiaobaojia'
),
isDisable
:
false
,
//选中状态
isCheckAll
:
false
,
//选择的币种
SelectDefaultValue
:
0
,
//所有币种
allCurrencyList
:
[],
addMsg
:
{
Hotel
:
""
,
Product
:
""
,
Supplier
:
""
,
Inventory
:
""
,
B2BPrice
:
""
,
B2CPrice
:
""
,
SalesPrice
:
""
,
DMCPrice
:
0
,
DateList
:
""
,
Remark
:
""
,
CostPrice
:
""
,
CurrencyId
:
0
,
CurrentRate
:
0
,
StartDate
:
""
,
EndDate
:
""
},
rules
:
{
//表单必填验证
CostPrice
:
[
{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurcbj'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
Inventory
:
[
{
export
default
{
data
()
{
return
{
//供应商
SupplierList
:
[],
productname
:
""
,
serviceNum
:
""
,
yearInput
:
""
,
//输入框年
monthInput
:
""
,
//输入框月
ID
:
""
,
HotelID
:
""
,
DateList
:
[],
DateArr
:
[],
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
nowDate
:
""
,
dateString
:
"2016-01-02"
,
num
:
-
1
,
updateDay
:
-
1
,
IsSelfBook
:
0
,
Country
:
0
,
//提交报价中
comBtnText
:
this
.
$t
(
'ground.tijiaobaojia'
),
isDisable
:
false
,
//选中状态
isCheckAll
:
false
,
//选择的币种
SelectDefaultValue
:
0
,
//所有币种
allCurrencyList
:
[],
addMsg
:
{
Hotel
:
""
,
Product
:
""
,
Supplier
:
""
,
Inventory
:
""
,
B2BPrice
:
""
,
B2CPrice
:
""
,
SalesPrice
:
""
,
DMCPrice
:
0
,
DateList
:
""
,
Remark
:
""
,
CostPrice
:
""
,
CurrencyId
:
0
,
CurrentRate
:
0
,
StartDate
:
""
,
EndDate
:
""
},
rules
:
{
//表单必填验证
CostPrice
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurcbj'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
Inventory
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurukc'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshuruzqdsz'
)
}
],
B2BPrice
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshuruB2Bjg'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
B2CPrice
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshuruB2Cjg'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
SalesPrice
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurnbjg'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
Supplier
:
[{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurukc'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshuruzqdsz'
)
message
:
this
.
$t
(
'ground.qingxuanzgys'
)
}]
},
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
addMsg
.
EndDate
);
return
endTime
.
getTime
()
<
time
.
getTime
();
}
],
B2BPrice
:
[
{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshuruB2Bjg'
),
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
addMsg
.
StartDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
}
],
B2CPrice
:
[
{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshuruB2Cjg'
),
trigger
:
"change"
}
};
},
methods
:
{
//初始化列表数据
initDataTable
()
{
let
msg
=
{
Product
:
this
.
ID
,
Date
:
this
.
nowDate
};
this
.
apipost
(
"dict_post_HotelOffer_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tableinfo
=
res
.
data
.
data
;
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
<
tableinfo
.
length
;
j
++
)
{
if
(
tableinfo
[
j
].
DateStr
==
myDate
)
{
dayItem
.
CostPrice
=
tableinfo
[
j
].
CostPrice
;
dayItem
.
B2BPrice
=
tableinfo
[
j
].
B2BPrice
;
dayItem
.
B2CPrice
=
tableinfo
[
j
].
B2CPrice
;
dayItem
.
kucun
=
tableinfo
[
j
].
Inventory
;
dayItem
.
SupplierName
=
tableinfo
[
j
].
SupplierName
;
dayItem
.
ID
=
tableinfo
[
j
].
ID
;
dayItem
.
date
=
tableinfo
[
j
].
Date
;
dayItem
.
checkState
=
this
.
$calendarUtils
.
checkState
.
hasValue
;
if
(
dayItem
.
kucun
>=
0
&&
dayItem
.
kucun
<
10
)
{
dayItem
.
class
=
"class-a"
;
}
else
if
(
dayItem
.
kucun
>=
10
&&
dayItem
.
kucun
<
100
)
{
dayItem
.
class
=
"class-b"
;
}
else
if
(
dayItem
.
kucun
>=
100
&&
dayItem
.
kucun
<
500
)
{
dayItem
.
class
=
"class-c"
;
}
else
if
(
dayItem
.
kucun
>=
500
)
{
dayItem
.
class
=
"class-d"
;
}
}
}
});
}
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
SalesPrice
:
[
{
required
:
true
,
message
:
this
.
$t
(
'ground.qingshurnbjg'
),
trigger
:
"change"
null
);
},
initSupplier
()
{
let
msg
=
{
Type
:
1
};
//HK新增查询条件
this
.
apipost
(
"supplier_post_GetAllList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
SupplierList
=
response
.
data
.
data
;
}
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
this
.
$t
(
'ground.qingshurlwxs'
)
}
],
Supplier
:
[
{
required
:
true
,
message
:
this
.
$t
(
'ground.qingxuanzgys'
)
}
]
null
);
},
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
addMsg
.
EndDate
);
return
endTime
.
getTime
()
<
time
.
getTime
();
//提交酒店报价
hotelOfferSet
()
{
this
.
addMsg
.
Hotel
=
this
.
HotelID
;
this
.
addMsg
.
Product
=
this
.
ID
;
this
.
addMsg
.
DateList
=
this
.
DateArr
;
if
(
this
.
addMsg
.
DateList
==
""
&&
(
this
.
addMsg
.
StartDate
==
""
||
this
.
addMsg
.
EndDate
==
""
)
)
{
this
.
Error
(
this
.
$t
(
'ground.qingxuanzeriq'
));
return
;
}
this
.
isDisable
=
true
;
this
.
comBtnText
=
this
.
$t
(
'ground.zhengzaitijiao'
);
this
.
apipost
(
"dict_post_HotelOffer_Set"
,
this
.
addMsg
,
res
=>
{
this
.
isDisable
=
false
;
this
.
comBtnText
=
this
.
$t
(
'ground.tijiaobaojia'
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
initDataTable
();
this
.
addMsg
=
{};
this
.
Success
(
this
.
$t
(
'tips.saveYes'
));
this
.
DateArr
=
[];
this
.
resetForm
(
"addMsg"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
addMsg
.
StartDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
}
}
};
},
methods
:
{
//初始化列表数据
initDataTable
()
{
let
msg
=
{
Product
:
this
.
ID
,
Date
:
this
.
nowDate
};
this
.
apipost
(
"dict_post_HotelOffer_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tableinfo
=
res
.
data
.
data
;
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
<
tableinfo
.
length
;
j
++
)
{
if
(
tableinfo
[
j
].
DateStr
==
myDate
)
{
dayItem
.
CostPrice
=
tableinfo
[
j
].
CostPrice
;
dayItem
.
B2BPrice
=
tableinfo
[
j
].
B2BPrice
;
dayItem
.
B2CPrice
=
tableinfo
[
j
].
B2CPrice
;
dayItem
.
kucun
=
tableinfo
[
j
].
Inventory
;
dayItem
.
SupplierName
=
tableinfo
[
j
].
SupplierName
;
dayItem
.
ID
=
tableinfo
[
j
].
ID
;
dayItem
.
date
=
tableinfo
[
j
].
Date
;
dayItem
.
checkState
=
this
.
$calendarUtils
.
checkState
.
hasValue
;
if
(
dayItem
.
kucun
>=
0
&&
dayItem
.
kucun
<
10
)
{
dayItem
.
class
=
"class-a"
;
}
else
if
(
dayItem
.
kucun
>=
10
&&
dayItem
.
kucun
<
100
)
{
dayItem
.
class
=
"class-b"
;
}
else
if
(
dayItem
.
kucun
>=
100
&&
dayItem
.
kucun
<
500
)
{
dayItem
.
class
=
"class-c"
;
}
else
if
(
dayItem
.
kucun
>=
500
)
{
dayItem
.
class
=
"class-d"
;
}
}
isdelete
(
ID
)
{
var
that
=
this
;
that
.
Confirm
(
that
.
$t
(
'tips.shifoushanchu'
),
function
()
{
that
.
apipost
(
"dict_post_HotelOffer_Remove"
,
{
Id
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
initDataTable
();
that
.
initCalendar
();
that
.
Success
(
that
.
$t
(
'tips.shanchuchenggong'
));
}
});
}
);
});
},
updateInfo
(
ID
,
date
,
index
)
{
let
msg
=
{
Id
:
ID
};
this
.
addMsg
.
ID
=
ID
;
let
parameterDate
=
date
.
split
(
"-"
);
this
.
setCheck
(
index
);
this
.
updateDay
=
parameterDate
[
parameterDate
.
length
-
1
];
this
.
apipost
(
"dict_post_HotelOffer_Get"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
this
.
DateArr
=
[
date
];
}
},
null
);
},
initSupplier
()
{
let
msg
=
{
Type
:
1
};
//HK新增查询条件
this
.
apipost
(
"supplier_post_GetAllList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
SupplierList
=
response
.
data
.
data
;
});
},
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
},
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
;
if
(
d
.
getMonth
()
+
1
==
this
.
currentMonth
)
{
dayobject
.
checkState
=
this
.
$calendarUtils
.
checkState
.
noChecked
;
}
},
null
);
},
//提交酒店报价
hotelOfferSet
()
{
this
.
addMsg
.
Hotel
=
this
.
HotelID
;
this
.
addMsg
.
Product
=
this
.
ID
;
this
.
addMsg
.
DateList
=
this
.
DateArr
;
if
(
this
.
addMsg
.
DateList
==
""
&&
(
this
.
addMsg
.
StartDate
==
""
||
this
.
addMsg
.
EndDate
==
""
)
)
{
this
.
Error
(
this
.
$t
(
'ground.qingxuanzeriq'
));
return
;
}
this
.
isDisable
=
true
;
this
.
comBtnText
=
this
.
$t
(
'ground.zhengzaitijiao'
);
this
.
apipost
(
"dict_post_HotelOffer_Set"
,
this
.
addMsg
,
res
=>
{
this
.
isDisable
=
false
;
this
.
comBtnText
=
this
.
$t
(
'ground.tijiaobaojia'
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
initDataTable
();
this
.
addMsg
=
{};
this
.
Success
(
this
.
$t
(
'tips.saveYes'
));
this
.
DateArr
=
[];
this
.
resetForm
(
"addMsg"
);
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
.
initDataTable
();
},
//点击右箭头切换年月
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
.
initDataTable
();
},
//鼠标移入显示详情看板
disBoard
(
item
,
index
)
{
if
(
item
.
checkState
==
this
.
$calendarUtils
.
checkState
.
hasValue
)
{
this
.
num
=
index
;
}
},
//鼠标移出隐藏详情看板
disNoneBoard
()
{
this
.
num
=
-
1
;
},
//日历修改设置
setCheck
(
index
)
{
this
.
$calendarUtils
.
daySetCheck
(
this
.
days
,
index
);
},
//点击选取日历日期
clickedDay
(
item
)
{
this
.
$calendarUtils
.
dayClick
(
item
,
this
.
DateArr
);
},
//日历全选
checkAll
()
{
this
.
DateArr
=
this
.
$calendarUtils
.
checkAll
(
this
.
days
,
this
.
isCheckAll
);
},
//提交创建、修改表单
submitForm
(
addMsg
)
{
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
hotelOfferSet
();
}
else
{
this
.
Error
(
res
.
data
.
message
)
;
return
false
;
}
},
null
);
},
isdelete
(
ID
)
{
var
that
=
this
;
that
.
Confirm
(
that
.
$t
(
'tips.shifoushanchu'
),
function
()
{
that
.
apipost
(
"dict_post_HotelOffer_Remove"
,
{
Id
:
ID
},
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
updateDay
=
-
1
;
this
.
$calendarUtils
.
resetChekState
(
this
.
days
);
},
goBack
()
{
this
.
$router
.
push
({
path
:
'HotelProductManage'
,
query
:
{
id
:
this
.
HotelID
,
tab
:
'房型列表'
}
});
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
initDataTable
();
that
.
initCalendar
();
that
.
Success
(
that
.
$t
(
'tips.shanchuchenggong'
));
this
.
allCurrencyList
=
res
.
data
.
data
;
}
}
},
err
=>
{}
);
});
},
updateInfo
(
ID
,
date
,
index
)
{
let
msg
=
{
Id
:
ID
};
this
.
addMsg
.
ID
=
ID
;
let
parameterDate
=
date
.
split
(
"-"
);
this
.
setCheck
(
index
);
this
.
updateDay
=
parameterDate
[
parameterDate
.
length
-
1
];
this
.
apipost
(
"dict_post_HotelOffer_Get"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
this
.
DateArr
=
[
date
];
}
});
},
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
},
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
;
if
(
d
.
getMonth
()
+
1
==
this
.
currentMonth
)
{
dayobject
.
checkState
=
this
.
$calendarUtils
.
checkState
.
noChecked
;
}
this
.
days
.
push
(
dayobject
);
},
//获取当前下拉选中币种汇率
getCurrentRate
(
currencyId
)
{
this
.
allCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
currencyId
)
{
this
.
addMsg
.
CurrentRate
=
x
.
Rate
;
}
});
}
},
//点击左箭头切换年月
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
.
initDataTable
();
},
//点击右箭头切换年月
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
)
);
mounted
()
{
this
.
getAllCurrency
();
var
d
=
new
Date
();
var
vYear
=
d
.
getFullYear
();
var
vMonth
=
d
.
getMonth
()
+
1
;
var
vDate
=
d
.
getDate
();
this
.
nowDate
=
vYear
+
"-"
+
vMonth
+
"-"
+
vDate
;
this
.
yearInput
=
vYear
;
this
.
monthInput
=
vMonth
;
this
.
ID
=
this
.
$route
.
query
.
id
;
this
.
HotelID
=
this
.
$route
.
query
.
HotelID
;
this
.
IsSelfBook
=
this
.
$route
.
query
.
IsSelfBook
;
this
.
Country
=
this
.
$route
.
query
.
Country
;
this
.
initSupplier
();
this
.
initCalendar
();
this
.
initDataTable
();
},
//鼠标移入显示详情看板
disBoard
(
item
,
index
)
{
if
(
item
.
checkState
==
this
.
$calendarUtils
.
checkState
.
hasValue
)
{
this
.
num
=
index
;
}
},
//鼠标移出隐藏详情看板
disNoneBoard
()
{
this
.
num
=
-
1
;
},
//日历修改设置
setCheck
(
index
)
{
this
.
$calendarUtils
.
daySetCheck
(
this
.
days
,
index
);
},
//点击选取日历日期
clickedDay
(
item
)
{
this
.
$calendarUtils
.
dayClick
(
item
,
this
.
DateArr
);
},
//日历全选
checkAll
()
{
this
.
DateArr
=
this
.
$calendarUtils
.
checkAll
(
this
.
days
,
this
.
isCheckAll
);
},
//提交创建、修改表单
submitForm
(
addMsg
)
{
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
hotelOfferSet
();
}
else
{
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
updateDay
=
-
1
;
this
.
$calendarUtils
.
resetChekState
(
this
.
days
);
},
goBack
()
{
window
.
history
.
back
(
-
1
);
},
//设置供应商是否显示
// setSuplier() {
// var msg = {
// hotelID: this.HotelID
// };
// this.apipost("hotel_post_GetAll", msg, res => {
// if (res.data.resultCode == 1) {
// this.IsSelfBook = res.data.data.IsSelfBook;
// }
// });
// },
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
allCurrencyList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//获取当前下拉选中币种汇率
getCurrentRate
(
currencyId
)
{
this
.
allCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
currencyId
)
{
this
.
addMsg
.
CurrentRate
=
x
.
Rate
;
}
});
}
},
mounted
()
{
this
.
getAllCurrency
();
var
d
=
new
Date
();
var
vYear
=
d
.
getFullYear
();
var
vMonth
=
d
.
getMonth
()
+
1
;
var
vDate
=
d
.
getDate
();
this
.
nowDate
=
vYear
+
"-"
+
vMonth
+
"-"
+
vDate
;
this
.
yearInput
=
vYear
;
this
.
monthInput
=
vMonth
;
this
.
ID
=
this
.
$route
.
query
.
id
;
this
.
HotelID
=
this
.
$route
.
query
.
HotelID
;
this
.
IsSelfBook
=
this
.
$route
.
query
.
IsSelfBook
;
this
.
Country
=
this
.
$route
.
query
.
Country
;
this
.
initSupplier
();
// this.setSuplier();
this
.
initCalendar
();
this
.
initDataTable
();
}
};
</
script
>
\ No newline at end of file
};
</
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