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
69568692
Commit
69568692
authored
May 20, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
8c9c1b69
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
2898 additions
and
14 deletions
+2898
-14
EditTemplate.vue
src/components/EditTemplate.vue
+0
-1
demesticRestaurantInfoManage.vue
src/components/Restaurant/demesticRestaurantInfoManage.vue
+35
-8
demesticRestaurantPackage.vue
src/components/Restaurant/demesticRestaurantPackage.vue
+12
-4
demesticRestaurantPrice.vue
src/components/Restaurant/demesticRestaurantPrice.vue
+1
-1
domesticScenicSpotInfoManage.vue
src/components/scenicSpot/domesticScenicSpotInfoManage.vue
+1748
-0
domesticScenicSpotList.vue
src/components/scenicSpot/domesticScenicSpotList.vue
+614
-0
domesticTicketManagement.vue
src/components/scenicSpot/domesticTicketManagement.vue
+480
-0
config.js
src/router/config.js
+8
-0
No files found.
src/components/EditTemplate.vue
View file @
69568692
...
...
@@ -595,7 +595,6 @@
if
(
this
.
defaultAccount
==
undefined
){
this
.
defaultA
=
true
;
}
else
{
this
.
defaultA
=
this
.
defaultAccount
;
}
this
.
myToolbar
=
"toolbar_"
+
this
.
guid
();
...
...
src/components/Restaurant/demesticRestaurantInfoManage.vue
View file @
69568692
...
...
@@ -854,9 +854,10 @@
<el-time-select
v-model=
"item.StartTime"
:picker-options=
"
{
start: '0
8:3
0',
start: '0
0:0
0',
step: '00:15',
end: '18:30',
end: '23:45',
maxTime:item.EndTime
}"
placeholder="选择开始时间"
>
...
...
@@ -864,9 +865,10 @@
<el-time-select
v-model=
"item.EndTime"
:picker-options=
"
{
start: '0
8:3
0',
start: '0
0:0
0',
step: '00:15',
end: '18:30',
end: '23:45',
minTime:item.StartTime
}"
placeholder="选择结束时间"
>
...
...
@@ -1057,7 +1059,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"美食分类"
>
<el-select
<
!-- <
el-select
v-model="addMsg.FoodType"
class="multiple_input w300"
:placeholder="$t('pub.pleaseSel')"
...
...
@@ -1071,7 +1073,8 @@
:value="item.ID"
>
</el-option>
</el-select>
</el-select> -->
<el-cascader
:options=
"FoodTypeList"
v-model=
"addMsg.FoodType"
:props=
"FoodTypeProps"
></el-cascader>
</el-form-item>
<el-form-item
:label=
"$t('Operation.Op_price')"
>
<el-select
...
...
@@ -1622,7 +1625,26 @@ export default {
endDay
:
""
,
//结束日
showaddTag
:
false
,
tagName
:
""
,
tagIndex
:
0
tagIndex
:
0
,
FoodTypeProps
:{
label
:
'Name'
,
value
:
"ID"
,
lazy
:
true
,
lazyLoad
(
node
,
resolve
)
{
const
{
level
}
=
node
;
console
.
log
(
node
)
setTimeout
(()
=>
{
const
nodes
=
Array
.
from
({
length
:
level
+
1
})
.
map
(
item
=>
({
value
:
++
id
,
label
:
`选项
${
id
}
`
,
leaf
:
level
>=
2
}));
resolve
(
nodes
);
},
1000
);
}
}
};
},
components
:
{
...
...
@@ -1839,7 +1861,8 @@ export default {
}
else
{
this
.
tips
(
res
.
data
.
message
,
"error"
);
}
console
.
log
(
"图片"
,
this
.
DiningImageArray
);
this
.
startDay
=
parseInt
(
res
.
data
.
data
.
BusinessWeek
.
slice
(
0
,
1
))
this
.
endDay
=
parseInt
(
res
.
data
.
data
.
BusinessWeek
.
slice
(
-
1
))
},
null
);
...
...
@@ -2071,6 +2094,9 @@ export default {
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
FoodTypeList
=
res
.
data
.
data
;
this
.
FoodTypeList
.
forEach
(
item
=>
{
item
.
children
=
[]
})
}
},
(
err
)
=>
{}
...
...
@@ -2088,6 +2114,7 @@ export default {
delFood
(
index
)
{
this
.
addMsg
.
FoodRecommendList
.
splice
(
index
,
1
);
},
//获取周长枚举
getweekenum
()
{
this
.
apipost
(
"appletsdining_Post_GetBusinessWeekEnumType"
,
...
...
src/components/Restaurant/demesticRestaurantPackage.vue
View file @
69568692
...
...
@@ -180,15 +180,22 @@
<el-form-item
:label=
"$t('restaurant.res_packageName')"
prop=
"MealName"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.MealName"
maxlength=
"20"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('restaurant.res_package_type_Name')"
prop=
"DiningMealType"
>
<
!--
<
el-form-item
:label=
"$t('restaurant.res_package_type_Name')"
prop=
"DiningMealType"
>
<el-select
filterable
v-model=
'addMsg.DiningMealType'
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
>
<el-option
v-for=
'item in DiningMealTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"MealDesc"
>
<
!--
<
el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"MealDesc"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.MealDesc"
maxlength=
"200"
></el-input>
</el-form-item>
-->
<el-form-item
label=
"使用时间"
prop=
"MealDesc"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.MealDesc"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
label=
"使用说明"
prop=
"MealDesc"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.MealDesc"
maxlength=
"200"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -222,6 +229,7 @@
MealName
:
""
,
MealDesc
:
""
,
DiningMealType
:
""
,
UsageTimeList
:[]
},
loading
:
true
,
DiningMealTypeList
:
[],
...
...
src/components/Restaurant/demesticRestaurantPrice.vue
View file @
69568692
...
...
@@ -438,7 +438,7 @@
<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_SalesPrice')
"
prop=
"SalesPrice"
>
<el-form-item
label=
"原价
"
prop=
"SalesPrice"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"addMsg.SalesPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SalesPrice')"
></el-input>
</el-form-item>
...
...
src/components/scenicSpot/domesticScenicSpotInfoManage.vue
0 → 100644
View file @
69568692
<
style
>
.scenicSpotInfoManage
.resourceImgAdd
{
width
:
620px
;
margin
:
auto
;
}
.scenicSpotInfoManage
.clearfix
:after
{
content
:
"\0020"
;
display
:
block
;
height
:
0
;
clear
:
both
;
}
.scenicSpotInfoManage
.resource-content
{
width
:
100%
;
margin-top
:
30px
;
font-size
:
12px
;
min-width
:
1200px
;
}
.scenicSpotInfoManage
.resource-baseinfo
{
float
:
left
;
height
:
auto
;
width
:
600px
;
margin
:
0
0
20px
30px
;
}
.scenicSpotInfoManage
.resource-imginfo
{
float
:
left
;
width
:
510px
;
margin-top
:
35px
;
}
.scenicSpotInfoManage
.resource-lititle
{
display
:
block
;
border-left
:
4px
solid
#e95252
;
padding-left
:
10px
;
margin-bottom
:
20px
;
}
.scenicSpotInfoManage
.resource-baseinfo
span
{
display
:
inline-block
;
}
.scenicSpotInfoManage
.resource-name
{
width
:
300px
;
height
:
34px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
17px
;
outline
:
none
;
border
:
1px
solid
#d6d6d6
;
padding-left
:
10px
;
}
.scenicSpotInfoManage
.common-lefttit
{
width
:
80px
;
text-align
:
right
;
margin
:
0
7px
0
8px
;
display
:
inline-block
;
}
.scenicSpotInfoManage
.resource-net
{
position
:
relative
;
}
.scenicSpotInfoManage
.resource-http
{
position
:
absolute
;
color
:
#999999
;
width
:
70px
!important
;
background-color
:
#f5f7fa
;
border-right
:
1px
solid
#d1d1d1
;
height
:
32px
;
border-top-left-radius
:
17px
;
border-bottom-left-radius
:
17px
;
top
:
5px
;
left
:
1px
;
text-align
:
center
;
line-height
:
32px
;
text-align
:
center
;
}
.scenicSpotInfoManage
.R1
{
width
:
300px
;
padding
:
0
15px
0
80px
;
transition
:
all
0.3s
ease-in-out
;
}
.scenicSpotInfoManage
.areaInput
{
width
:
300px
;
padding-right
:
120px
;
}
.scenicSpotInfoManage
.areaInput
:focus
{
border
:
1px
solid
#e95252
;
}
.scenicSpotInfoManage
.map-icon
{
position
:
absolute
;
right
:
1px
;
top
:
1px
;
line-height
:
32px
;
text-align
:
center
;
border-left
:
1px
solid
#cccccc
;
border-top-right-radius
:
17px
;
border-bottom-right-radius
:
17px
;
padding-right
:
15px
;
padding-left
:
10px
;
cursor
:
pointer
;
display
:
inline-block
;
height
:
32px
;
background-color
:
#f5f7fa
;
}
.scenicSpotInfoManage
.map-icon
i
{
margin
:
0
5px
;
position
:
relative
;
top
:
1px
;
}
.scenicSpotInfoManage
.save-Btn
{
width
:
90px
;
height
:
30px
;
background
:
rgba
(
233
,
82
,
82
,
1
);
border-radius
:
15px
;
color
:
#fff
;
outline
:
none
;
cursor
:
pointer
;
margin-right
:
20px
;
}
.scenicSpotInfoManage
.cancel-Btn
,
.save-Btn
:hover
{
opacity
:
0.8
;
}
.scenicSpotInfoManage
.cancel-Btn
{
width
:
90px
;
height
:
30px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
15px
;
color
:
#e95252
;
outline
:
none
;
cursor
:
pointer
;
border
:
1px
solid
#e95252
;
}
.scenicSpotInfoManage
.re-img
{
width
:
140px
;
height
:
93px
;
border-radius
:
10px
;
float
:
left
;
margin
:
0
30px
30px
0
;
position
:
relative
;
}
.scenicSpotInfoManage
.re-img
:first-child
{
margin-left
:
0
;
}
.scenicSpotInfoManage
.resource-imglist
{
width
:
100%
;
height
:
auto
;
margin-top
:
20px
;
}
.scenicSpotInfoManage
.resource-imglist
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
}
.scenicSpotInfoManage
.add-img
{
margin-top
:
20px
;
}
.scenicSpotInfoManage
.reimg-add
{
width
:
140px
;
height
:
93px
;
background
:
rgba
(
236
,
236
,
236
,
1
);
border-radius
:
10px
;
position
:
relative
;
cursor
:
pointer
;
}
.scenicSpotInfoManage
.ad-one
{
display
:
none
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
position
:
absolute
;
top
:
0
;
z-index
:
999
;
}
.scenicSpotInfoManage
.bigAdd
{
font-size
:
50px
;
color
:
#d1d1d1
;
position
:
absolute
;
left
:
45px
;
top
:
10px
;
}
.scenicSpotInfoManage
.imgzhe
{
display
:
none
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
width
:
100%
;
height
:
100%
;
text-align
:
center
;
line-height
:
93px
;
border-radius
:
10px
;
position
:
absolute
;
top
:
0
;
}
.scenicSpotInfoManage
.reimg-add
:hover
.ad-one
{
display
:
block
;
}
.scenicSpotInfoManage
.re-img
:hover
.imgzhe
{
display
:
block
;
}
.scenicSpotInfoManage
.ad-one
div
{
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
line-height
:
32px
;
text-align
:
center
;
background
:
gray
;
color
:
#fff
;
}
.scenicSpotInfoManage
.ad-one
div
:hover
{
background-color
:
#fff
;
color
:
#e95252
;
}
.scenicSpotInfoManage
.re-upload
{
position
:
absolute
;
top
:
30px
;
left
:
30px
;
}
.scenicSpotInfoManage
.re-find
{
position
:
absolute
;
top
:
30px
;
right
:
30px
;
}
.scenicSpotInfoManage
.search-imgicon
{
padding-right
:
20px
;
margin-left
:
-40px
;
}
.scenicSpotInfoManage
.resAddImg
{
width
:
520px
;
padding-right
:
45px
;
}
.scenicSpotInfoManage
.addimgContent
{
height
:
290px
;
overflow
:
auto
;
margin
:
30px
0
30px
25px
;
width
:
545px
;
}
.scenicSpotInfoManage
.addimgDiv
{
width
:
160px
;
height
:
155px
;
float
:
left
;
margin
:
0
20px
15px
0
;
overflow
:
hidden
;
}
.scenicSpotInfoManage
.addimgContent
div
:first-child
{
margin-left
:
0
;
}
.addimgContent
div
:nth-child
(
3n
)
{
margin-right
:
0
;
}
.scenicSpotInfoManage
.itemImgdiv
{
width
:
160px
;
height
:
106px
;
position
:
relative
;
}
.scenicSpotInfoManage
.itemImgdiv
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
}
.scenicSpotInfoManage
.imgseclet
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
border-radius
:
10px
;
position
:
absolute
;
top
:
0
;
text-align
:
center
;
line-height
:
106px
;
color
:
#e95252
;
}
.icon-dagouyouquan
{
font-size
:
25px
;
}
.scenicSpotInfoManage
.test-1
::-webkit-scrollbar
{
width
:
0px
;
height
:
0px
;
background-color
:
#f5f5f5
;
}
.scenicSpotInfoManage
.test-1
::-webkit-scrollbar-track
{
background-color
:
#f5f5f5
;
}
.scenicSpotInfoManage
.test-1
::-webkit-scrollbar-thumb
{
border-radius
:
20px
;
background-color
:
#aaa
;
margin-bottom
:
24px
;
}
.scenicSpotInfoManage
.test-1
:hover::-webkit-scrollbar
{
width
:
4px
;
height
:
4px
;
background-color
:
#f5f5f5
;
}
.scenicSpotInfoManage
.addimg-btnlist
{
text-align
:
center
;
}
.scenicSpotInfoManage
.addimg-select
{
font-size
:
14px
;
color
:
#999999
;
float
:
right
;
margin-bottom
:
10px
;
position
:
relative
;
bottom
:
20px
;
}
.scenicSpotInfoManage
.re-delte
{
width
:
32px
;
height
:
32px
;
background
:
gray
;
border-radius
:
50%
;
text-align
:
center
;
display
:
inline-block
;
line-height
:
32px
;
color
:
#fff
;
cursor
:
pointer
;
}
.scenicSpotInfoManage
.re-delte
:hover
{
color
:
#e95252
;
background
:
#fff
;
}
.scenicSpotInfoManage
.imgDescription
{
font-size
:
12px
;
margin-top
:
12px
;
color
:
#333333
;
width
:
100%
;
line-height
:
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
.scenicSpotInfoManage
.el-upload-dragger
{
border
:
none
;
}
.scenicSpotInfoManage
.res-span
span
:last-child
{
display
:
inline
;
}
.scenicSpotInfoManage
.resourcerightTop
span
{
display
:
inline-block
;
}
.scenicSpotInfoManage
.sheshi
{
margin-bottom
:
20px
;
}
.scenicSpotInfoManage
.dialog-footer
{
padding-bottom
:
30px
;
}
.scenicSpotInfoManage
.btn-list
{
margin
:
0
0
40px
30px
;
}
.scenicSpotInfoManage
.input-with-select
.el-input-group__prepend
{
background-color
:
#fff
;
}
.scenicSpotInfoManage
.el-textarea__inner
{
resize
:
none
;
height
:
120px
;
font-family
:
"微软雅黑"
;
}
.scenicSpotInfoManage
.R1
:focus
{
border
:
1px
solid
#e95252
;
}
.scenicSpotInfoManage
.el-form-item__label
{
width
:
96px
;
font-size
:
12px
;
}
.scenicSpotInfoManage
.el-form-item__error
{
left
:
100px
;
}
.scenicSpotInfoManage
.hotelDay
{
margin-left
:
10px
;
}
.scenicSpotInfoManage
.searchImgIcon
{
cursor
:
pointer
;
}
.scenicSpotInfoManage
.el-dialog--center
.el-dialog__body
{
padding
:
25px
25px
0
;
}
.scenicSpotInfoManage
.addressInput
.el-input-group__append
{
border-top-right-radius
:
17px
;
border-bottom-right-radius
:
17px
;
}
.scenicSpotInfoManage
::-webkit-input-placeholder
{
color
:
#d1d1d1
;
}
.scenicSpotInfoManage
:-moz-placeholder
{
color
:
#d1d1d1
;
}
.scenicSpotInfoManage
::-moz-placeholder
{
color
:
#d1d1d1
;
}
.scenicSpotInfoManage
:-ms-input-placeholder
{
color
:
#d1d1d1
;
}
.scenicSpotInfoManage
.el-switch.is-checked
.el-switch__core
{
border-color
:
#4bca81
;
background-color
:
#4bca81
;
}
.scenicSpotInfoManage
.orderAdd
{
position
:
relative
;
width
:
340px
;
}
.scenicSpotInfoManage
.minus
:hover
{
background-color
:
#cccccc
;
cursor
:
pointer
;
}
.scenicSpotInfoManage
.minus
{
width
:
34px
;
height
:
32px
;
border
:
#dcdfe6
;
color
:
#fff
;
text-align
:
center
;
line-height
:
34px
;
position
:
absolute
;
left
:
101px
;
border-radius
:
50%
;
z-index
:
999
;
top
:
4px
;
background-color
:
#dcdfe6
;
}
.scenicSpotInfoManage
.addPeople
{
width
:
34px
;
height
:
32px
;
top
:
4px
;
background-color
:
#dcdfe6
;
color
:
#fff
;
text-align
:
center
;
line-height
:
34px
;
position
:
absolute
;
right
:
41px
;
border-radius
:
50%
;
z-index
:
999
;
}
.scenicSpotInfoManage
.addPeople
:hover
{
background-color
:
#cccccc
;
cursor
:
pointer
;
}
.scenicSpotInfoManage
.orderAdd
.el-input__inner
{
padding-left
:
90px
;
}
.scenicSpotInfoManage
.littleadd
{
font-size
:
12px
!important
;
color
:
#fff
;
display
:
inline-block
;
}
.scenicSpotInfoManage
.footabs
{
width
:
300px
;
min-height
:
34px
;
border
:
1px
solid
#d1d1d1
;
margin-left
:
10px
;
display
:
inline-block
;
background-color
:
#fff
;
padding
:
5px
10px
;
display
:
flex
;
flex-wrap
:
wrap
;
}
.scenicSpotInfoManage
.foodtips
{
display
:
inline-block
;
padding
:
3px
5px
;
background-color
:
#efefef
;
margin
:
3px
;
position
:
relative
;
}
.scenicSpotInfoManage
.toolOne
{
margin
:
0
0
28px
38px
;
display
:
flex
;
}
.scenicSpotInfoManage
.foodTipsDiv
{
max-width
:
200px
;
display
:
inline
;
}
.scenicSpotInfoManage
.wInput
{
border
:
none
;
height
:
30px
;
}
.scenicSpotInfoManage
.wInput
.el-input__inner
{
border
:
none
!important
;
height
:
28px
;
padding
:
0
;
border-radius
:
0
;
margin-top
:
2px
;
}
.scenicSpotInfoManage
.delTips
{
position
:
absolute
;
right
:
-5px
;
top
:
-5px
;
cursor
:
pointer
;
color
:
#999
;
font-size
:
14px
;
}
.scenicSpotInfoManage
.delTips
:hover
{
color
:
#e95252
;
}
.scenicSpotInfoManage
.fanyong
{
font-size
:
12px
;
color
:
#666666
;
margin-right
:
10px
;
}
.scenicSpotInfoManage
.footabs
.el-tag
{
margin
:
0
5px
5px
0
;
}
.scenicSpotInfoManage
.footabs
.el-input__inner
{
height
:
30px
;
position
:
relative
;
}
.scenicSpotInfoManage
.button-new-tag
{
height
:
30px
;
line-height
:
30px
;
padding-top
:
0
;
padding-bottom
:
0
;
}
.scenicSpotInfoManage
.input-new-tag
{
width
:
90px
;
margin-left
:
10px
;
vertical-align
:
bottom
;
}
.scenicSpotInfoManage
.el-dialog--center
.el-dialog__body
{
padding
:
15px
25px
0
!important
;
}
.scenicSpotInfoManage
.mapList
{
width
:
850px
!important
;
height
:
510px
!important
;
}
.scenicSpotInfoManage
.fanbili
{
margin-top
:
8px
;
}
.scenicSpotInfoManage
.RabateDiv
{
margin-left
:
10px
;
}
.scenicSpotInfoManage
.RebateCount
{
height
:
34px
;
border-radius
:
17px
;
float
:
left
;
}
.scenicSpotInfoManage
.reOne
,
.scenicSpotInfoManage
.reTwo
,
.scenicSpotInfoManage
.dayNum
{
position
:
relative
;
}
.scenicSpotInfoManage
.leftPnum
{
float
:
left
;
width
:
50px
;
height
:
32px
;
line-height
:
32px
;
text-align
:
center
;
border-right
:
1px
solid
#cccccc
;
position
:
absolute
;
left
:
1px
;
top
:
1px
;
border-top-left-radius
:
17px
;
border-bottom-left-radius
:
17px
;
}
.scenicSpotInfoManage
.toolInput
{
height
:
34px
;
padding-left
:
5px
;
border
:
none
;
}
.scenicSpotInfoManage
.inpuOne
{
width
:
135px
;
padding-left
:
55px
;
border
:
1px
solid
#d1d1d1
;
border-right
:
none
;
}
.scenicSpotInfoManage
.inpuTwo
{
width
:
166px
;
padding
:
0
45px
0
55px
;
border
:
1px
solid
#d1d1d1
;
}
.scenicSpotInfoManage
.percentCon
{
float
:
right
;
width
:
40px
;
height
:
32px
;
text-align
:
center
;
border-left
:
1px
solid
#cccccc
;
line-height
:
32px
;
border-top-right-radius
:
17px
;
border-bottom-right-radius
:
17px
;
position
:
absolute
;
right
:
1px
;
top
:
1px
;
}
.scenicSpotInfoManage
.fanNum
{
float
:
left
;
width
:
50px
;
height
:
32px
;
line-height
:
32px
;
text-align
:
center
;
border-right
:
1px
solid
#cccccc
;
position
:
absolute
;
left
:
1px
;
top
:
1px
;
}
.scenicSpotInfoManage
.fdTag
{
margin-top
:
13px
;
}
.scenicSpotInfoManage
.addAddress
.el-input__inner
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
border
:
1px
solid
#d1d1d1
!important
;
}
.scenicSpotInfoManage
.el-input-group__append
{
border-top-right-radius
:
0
!important
;
border-bottom-right-radius
:
0
!important
;
}
.scenicSpotInfoManage
#imageUploader
{
display
:
none
!important
;
}
</
style
>
<
template
>
<div
class=
"flexOne scenicSpotInfoManage"
>
<div
class=
"resource-content clearfix"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
>
<div
class=
"resource-baseinfo"
>
<span
class=
"resource-lititle"
>
{{
$t
(
'hotel.hotel_baseinfo'
)
}}
</span>
<el-form-item
:label=
"$t('scen.sc_resName')"
prop=
"Name"
>
<el-input
type=
"text"
v-model=
"addMsg.Name"
maxlength=
"100"
class=
"w300"
></el-input>
</el-form-item>
<el-form-item
label=
"景区类型"
prop=
"FoodType"
>
<el-select
placeholder=
"请选择景区类型"
filterable
v-model=
"addMsg.FoodType"
class=
'multiple_input w300'
>
<el-option
label=
"不限"
:value=
'0'
></el-option>
<el-option
v-for=
"item in scenicList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否上架"
prop=
"FoodType"
>
<el-radio
v-model=
"addMsg.IsShelves"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"addMsg.IsShelves"
:label=
"0"
>
否
</el-radio>
</el-form-item>
<el-form-item
label=
"网址"
>
<el-input
type=
"text"
v-model=
"addMsg.Url"
maxlength=
"100"
class=
"w300"
></el-input>
</el-form-item>
<el-form-item
label=
"国家"
>
<el-select
placeholder=
"请选择国家"
filterable
v-model=
"addMsg.Country"
class=
'multiple_input w300'
@
change=
"GetSubAreaList(addMsg.Country,1),addMsg.Province=0,addMsg.City=0,addMsg.District=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"省"
>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w300'
v-model=
"addMsg.Province"
@
change=
"GetSubAreaList(addMsg.Province,2),addMsg.City=0,addMsg.District=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in ProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"市"
>
<el-select
placeholder=
"请选择市"
filterable
@
change=
"GetSubAreaList(addMsg.City,3),addMsg.District=0"
class=
'multiple_input w300'
v-model=
"addMsg.City"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in CityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"区"
>
<el-select
v-model=
"addMsg.District"
class=
"w300"
@
change=
"getArea"
filterable
:placeholder=
"$t('hotel.hotel_area')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in district"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_detailinfo')"
prop=
"Address"
>
<el-input
placeholder=
"请输入内容"
class=
"w300 addAddress"
v-model=
"addMsg.Address"
>
<el-button
slot=
"append"
@
click=
"selectAddress = true"
icon=
"iconfont icon-img_dw"
></el-button>
</el-input>
</el-form-item>
<div
class=
"toolOne"
>
<span
class=
"fanbili"
>
地理位置
</span>
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
经度
</div>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"addMsg.Lng"
maxlength=
"20"
>
</div>
<div
class=
"RebateCount reTwo"
>
<div
class=
"fanNum"
>
纬度
</div>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"addMsg.Lat"
maxlength=
"20"
>
</div>
</div>
</div>
<el-form-item
:label=
"$t('scen.sc_tel')"
prop=
"Tel"
>
<el-input
type=
"text"
maxlength=
"20"
v-model=
"addMsg.Tel"
class=
"w300"
></el-input>
</el-form-item>
<span
class=
"resource-lititle"
>
开放时间
<el-tooltip
class=
"item"
effect=
"dark"
content=
"添加开放时间"
placement=
"top-end"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
circle
style=
"margin-left: 10px"
@
click=
"addOpenTime"
></el-button>
</el-tooltip>
</span>
<div
v-for=
"(item,index) in addMsg.OpenTimeList"
:key=
"index"
>
<template
v-if=
"index!=0"
>
<el-form-item
label=
"操作"
prop=
"StartDay"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除开放时间"
placement=
"top-end"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
circle
size=
"small"
@
click=
"delOpenTime(index)"
></el-button>
</el-tooltip>
</el-form-item>
</
template
>
<
template
>
<el-form-item
label=
"开放开始日期"
prop=
"StartDay"
>
<el-date-picker
v-model=
"item.StartDay"
type=
"date"
placeholder=
"开放开始日期"
format=
"MM - dd "
value-format=
"MM-dd"
:picker-options=
"
{
disabledDate: (time) => {
if (item.EndDay != '') {
return time.getTime() >= new Date(new Date().getFullYear()+'-'+item.EndDay).getTime()
}
}
}">
</el-date-picker>
</el-form-item>
<el-form-item
label=
"开放结束日期"
prop=
"EndDay"
>
<el-date-picker
v-model=
"item.EndDay"
type=
"date"
placeholder=
"开放结束日期"
format=
"MM - dd "
value-format=
"MM-dd"
:picker-options=
"
{
disabledDate: (time) => {
if (item.StartDay != '') {
return time.getTime()
<
=
new
Date
(
new
Date
().
getFullYear
()+'
-
'+
item
.
StartDay
).
getTime
()
}
}
}"
>
</el-date-picker>
</el-form-item>
</
template
>
<
template
>
<el-form-item
label=
"是否是次年"
prop=
"OpeningHours"
>
<el-radio
v-model=
"item.IsNextYear"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"item.IsNextYear"
:label=
"0"
>
否
</el-radio>
</el-form-item>
</
template
>
<
template
>
<el-form-item
label=
"营业开始周"
prop=
"OpeningHours"
>
<el-select
v-model=
"item.BusinessStartWeek"
filterable
allow-create
placeholder=
"请选择"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
v-for=
"item in weekEnumList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"营业结束周"
prop=
"OpeningHours"
>
<el-select
v-model=
"item.BusinessEndWeek"
filterable
allow-create
placeholder=
"请选择"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
v-for=
"item in weekEnumList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</
template
>
<
template
>
<el-form-item
label=
"营业开始时间"
prop=
"OpeningHours"
>
<el-time-select
v-model=
"item.StartTime"
:picker-options=
"
{
start: '00:00',
step: '00:15',
end: '23:45',
maxTime:item.EndTime
}"
placeholder="选择时间">
</el-time-select>
</el-form-item>
<el-form-item
label=
"营业结束时间"
prop=
"OpeningHours"
>
<el-time-select
v-model=
"item.EndTime"
:picker-options=
"
{
start: '00:00',
step: '00:15',
end: '23:45',
minTime:item.StartTime
}"
placeholder="选择时间">
</el-time-select>
</el-form-item>
</
template
>
<
template
>
<el-form-item
label=
"禁止入园时间"
prop=
"OpeningHours"
>
<el-time-select
v-model=
"item.StopTime"
:picker-options=
"
{
start: '00:00',
step: '00:15',
end: '23:45'
}"
placeholder="选择时间">
</el-time-select>
</el-form-item>
</
template
>
</div>
<span
class=
"resource-lititle sheshi"
>
{{$t('restaurant.res_detailInformation')}}
</span>
<el-form-item
:label=
"$t('restaurant.res_salePlatform')"
>
<el-select
v-model=
"openplatString"
class=
'multiple_input w300'
multiple
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in openplatform"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('restaurant.res_advanceDays')"
prop=
"DieLine"
>
<el-input
type=
"text"
maxlength=
"10"
class=
"w300"
v-model=
"addMsg.DieLine"
@
keyup
.
native=
"checkInteger(addMsg,'DieLine')"
></el-input>
{{$t('hotel.hotel_day')}}
</el-form-item>
<el-form-item
label=
"是否预约"
>
<el-switch
v-model=
"addMsg.AppointmentStyle"
:active-value=
"inActive"
:inactive-value=
"notInActive"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"支付方式"
>
<el-select
v-model=
"addMsg.PayStyle"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"IsHaveAuth==1?false:true"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in PayList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否免费"
>
<el-select
v-model=
"addMsg.IsFree"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in IsFreeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<div
class=
"toolOne"
>
<span
class=
"fanbili"
>
游玩时间
</span>
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
小时
</div>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"addMsg.PlayTimeHour"
maxlength=
"20"
>
</div>
<div
class=
"RebateCount reTwo"
>
<div
class=
"fanNum"
>
分钟
</div>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"addMsg.PlayTimeMinutes"
maxlength=
"20"
>
</div>
</div>
</div>
</div>
<div
class=
"resource-imginfo"
>
<div
class=
"resourcerightTop"
>
<div
class=
"toolOne"
>
<span
class=
"fanbili"
>
{{$t('restaurant.res_commissionColumn')}}
</span>
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
{{$t('admin.admin_personNumber')}}>
</div>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"addMsg.RebateCount"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
</div>
<div
class=
"RebateCount reTwo"
>
<div
class=
"fanNum"
>
{{$t('restaurant.res_return')}}
</div>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"addMsg.RebateRatio"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
<div
class=
"percentCon"
>
%
</div>
</div>
</div>
</div>
<div
class=
"toolOne"
>
<span
class=
"fdTag"
>
{{$t('scen.sc_fdTag')}}
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in tipsList"
closable
:disable-transitions=
"false"
@
close=
"handleClose(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible"
v-model=
"inputValue"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm"
@
blur=
"handleInputConfirm"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
<div
class=
"toolOne"
>
<span
class=
"fdTag"
>
{{$t('scen.sc_dlTag')}}
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in Geographic"
closable
:disable-transitions=
"false"
@
close=
"handleClose2(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible2"
v-model=
"inputValue2"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm2"
@
blur=
"handleInputConfirm2"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput2"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
<el-form-item
:label=
"$t('restaurant.res_special')"
>
<!-- <el-input type="textarea" class="w300" maxlength="1000" v-model="addMsg.Feature"></el-input> -->
<div
class=
"w300"
style=
"margin-left:96px"
>
<my-edit
v-on:edit-value=
"addMsg.Feature = arguments[0]"
v-bind:editValue=
"addMsg.Feature"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
</div>
</el-form-item>
<el-form-item
label=
"官方公告"
prop=
"TicketNotice"
>
<!-- <el-input type="textarea" maxlength="1000" v-model="addMsg.TicketNotice" class="w300"></el-input> -->
<div
class=
"w300"
style=
"margin-left:96px"
>
<my-edit
v-on:edit-value=
"addMsg.TicketNotice = arguments[0]"
v-bind:editValue=
"addMsg.TicketNotice"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
</div>
</el-form-item>
<el-form-item
label=
"温馨提示"
prop=
"About"
>
<!-- <el-input type="textarea" maxlength="1000" v-model="addMsg.About" class="w300"></el-input> -->
<div
class=
"w300"
style=
"margin-left:96px"
>
<my-edit
v-on:edit-value=
"addMsg.About = arguments[0]"
v-bind:editValue=
"addMsg.About"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
</div>
</el-form-item>
<el-form-item
label=
"购票须知"
prop=
"BookingInfo"
>
<!-- <el-input type="textarea" maxlength="1000" v-model="addMsg.BookingInfo" class="w300"></el-input> -->
<div
class=
"w300"
style=
"margin-left:96px"
>
<my-edit
v-on:edit-value=
"addMsg.BookingInfo = arguments[0]"
v-bind:editValue=
"addMsg.BookingInfo"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
</div>
</el-form-item>
<el-form-item
:label=
"$t('restaurant.res_WhetherToConfirm')"
>
<el-switch
v-model=
"addMsg.Sure"
active-value=
"1"
inactive-value=
"0"
></el-switch>
</el-form-item>
<el-form-item>
<el-switch
v-model=
"isBook"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
active-text=
"供应商"
inactive-text=
"自订"
></el-switch>
</el-form-item>
<el-form-item
label=
"是否包含领队"
>
<el-switch
v-model=
"addMsg.IsIncludeLeader"
:active-value=
"0"
:inactive-value=
"1"
></el-switch>
</el-form-item>
</div>
<span
class=
"resource-lititle"
>
{{$t('hotel.hotel_imgintroduce')}}
</span>
<div
class=
"resource-list"
>
<div
class=
"resource-imglist clearfix"
>
<div
class=
"re-img"
v-for=
"(item,index) in TicketCouponsImageArray"
:key=
"item.subCode"
>
<img
v-if=
"!item"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
:src=
"item.ShowPath"
:onerror=
'defaultImg'
/>
<div
class=
"imgzhe"
>
<div
class=
"re-delte"
><i
@
click
.
stop=
"showImg(item.ShowPath)"
class=
"iconfont icon-img_cz"
></i></div>
<div
class=
"re-delte"
@
click=
"delImg(index)"
><i
class=
"iconfont icon-xingzhuang"
></i></div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,0)"
v-if=
"index!=0&&item.ShowPath"
>
<i
class=
"iconfont icon-zuoyi"
></i>
</div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,1)"
v-if=
"index!=TicketCouponsImageArray.length-1&&item.ShowPath"
>
<i
class=
"iconfont icon-youyi"
></i>
</div>
</div>
</div>
</div>
<div
class=
"add-img"
>
<div
class=
"reimg-add"
>
<i
class=
"iconfont icon-img_haha bigAdd"
></i>
<div
class=
"ad-one"
>
<div
class=
"re-upload"
>
<el-upload
:file-list=
"fileList"
:http-request=
"UploadImage"
:multiple=
"true"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-img_bdsc"
></i>
</el-upload>
</div>
<div
class=
"re-find"
@
click=
"addImgOpen"
><i
class=
"iconfont icon-img_cz"
></i></div>
</div>
</div>
</div>
</div>
</div>
</el-form>
</div>
<el-dialog
custom-class=
"resourceImgAdd"
title=
"添加图片"
center
:visible
.
sync=
"addimg"
>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:imgType=
"3"
>
</DMCchooseImg>
</el-dialog>
<el-dialog
custom-class=
"mapList"
title=
"地图选址"
center
:visible
.
sync=
"selectAddress"
>
<googleMap
@
refList=
"googleMap"
v-on:headCallBack=
"headCall"
v-bind:address=
"addMsg.Address"
></googleMap>
</el-dialog>
<div
class=
"btn-list"
>
<span
class=
"common-lefttit"
></span>
<button
class=
"save-Btn"
@
click=
"submitForm('addMsg')"
>
{{$t('pub.saveBtn')}}
</button>
<button
class=
"cancel-Btn"
@
click=
"goUrl('domesticScenicSpotList')"
>
{{$t('pub.cancelBtn')}}
</button>
</div>
<viewer
:images=
"images"
:options=
'imageOptions'
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
<img
v-for=
"src in images"
:src=
"src"
:key=
"src"
>
</viewer>
</div>
</template>
<
script
>
import
googleMap
from
"../commonPage/googleMap.vue"
;
import
DMCchooseImg
from
"../commonPage/DMCchooseImg.vue"
;
import
MyEdit
from
"@/components/EditTemplate.vue"
;
export
default
{
data
()
{
return
{
imageOptions
:
{
navbar
:
false
,
title
:
false
},
//是否有权限操作支付方式
IsHaveAuth
:
0
,
images
:
[],
selectAddress
:
false
,
addimg
:
false
,
imgKeyword
:
""
,
imglistArry
:
[],
openplatform
:
""
,
totalimg
:
""
,
selecnum
:
0
,
ID
:
""
,
tipsList
:
[],
tipsItem
:
""
,
Geographic
:
[],
GeoItem
:
""
,
value1
:
"true"
,
value2
:
"false"
,
defaultImg
:
'this.src="'
+
require
(
"../../assets/img/bg_z1@2x.png"
)
+
'"'
,
openplatString
:
""
,
OpenPlatformStrings
:
""
,
inputVisible
:
false
,
inputValue
:
""
,
inputVisible2
:
false
,
inputValue2
:
""
,
IsFreeList
:
[{
value
:
0
,
label
:
"是"
},
{
value
:
1
,
label
:
"否"
}
],
isBook
:
true
,
fileList
:
[],
//下拉框默认值
SelectDefaultValue
:
0
,
//国家列表
CountryList
:
[],
//省份列表
ProvinceList
:
[],
//城市列表
CityList
:
[],
//区域
district
:
[],
inActive
:
1
,
//已选中
notInActive
:
0
,
//未选中
//支付方式
PayList
:
[],
//上传的文件数组
TicketCouponsImageArray
:
[],
//删除的图片文件数组
DeleteImageArray
:
[],
addMsg
:
{
ID
:
0
,
Name
:
""
,
ScenicSpotTag
:
""
,
GeographicTag
:
""
,
OpeningHours
:
""
,
Tel
:
""
,
TrafficInfo
:
""
,
IsFree
:
0
,
Feature
:
""
,
About
:
""
,
BookingInfo
:
""
,
Sure
:
""
,
OpenPlatform
:
""
,
DieLine
:
""
,
QCountry
:
""
,
QProvince
:
""
,
QCity
:
""
,
District
:
0
,
Address
:
""
,
Lng
:
""
,
Lat
:
""
,
PicPath
:
""
,
RebateCount
:
""
,
RebateRatio
:
""
,
Url
:
""
,
IsSelfBook
:
""
,
Country
:
0
,
Province
:
0
,
City
:
0
,
TicketCouponsImageList
:
[],
//现在的图片
DeleteImageList
:
[],
//要删除的图片
//是否预约
AppointmentStyle
:
0
,
//支付方式
PayStyle
:
0
,
PlayTimeHour
:
""
,
//游玩小时
PlayTimeMinutes
:
""
,
//游玩分钟
IsIncludeLeader
:
0
,
//是否包含领队:0-包含,1-不包含
TicketNotice
:
""
,
//官方公告
OpenTimeList
:[
//开放时间
{
StartDay
:
""
,
EndDay
:
""
,
IsNextYear
:
0
,
BusinessStartWeek
:
""
,
BusinessEndWeek
:
""
,
StartTime
:
""
,
EndTime
:
""
,
StopTime
:
""
,
}
],
FoodType
:
0
,
IsShelves
:
0
,
},
rules
:
{
//表单必填验证
Name
:
[{
required
:
true
,
message
:
"请填写名称"
,
trigger
:
"change"
}],
Address
:
[{
required
:
true
,
message
:
"请选择地址"
,
trigger
:
"change"
}],
Descriptions
:
[{
required
:
true
,
message
:
"请输入文字描述"
,
trigger
:
"change"
}],
DieLine
:
[{
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}],
RebateCount
:
[{
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}],
RebateRatio
:
[{
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}],
SupportCount
:
[{
required
:
true
,
message
:
"请填写可预订人数"
,
trigger
:
"change"
}]
},
weekEnumList
:[],
//营业周长枚举
scenicList
:[],
//景区类型列表
toolbar
:
{
clean
:
true
,
font
:
false
,
//字体
narrative
:
false
,
//叙述,
image
:
false
,
bold
:
true
,
//加粗
underline
:
true
,
//下划线
header1
:
true
,
//H1
header2
:
true
,
//H2
fontColor
:
false
,
//字体颜色
fontBackgroundColor
:
false
,
//背景颜色
},
DefaultList
:
[],
placeholder
:
"请输入"
,
};
},
components
:
{
googleMap
:
googleMap
,
DMCchooseImg
:
DMCchooseImg
,
MyEdit
},
methods
:
{
inited
(
viewer
)
{
this
.
$viewer
=
viewer
},
showImg
:
function
(
src
)
{
let
srcArr
=
src
.
split
(
'?'
)
src
=
srcArr
[
0
]
let
isExsit
=
false
this
.
images
.
forEach
(
x
=>
{
if
(
x
===
src
)
isExsit
=
true
})
if
(
!
isExsit
)
this
.
images
.
push
(
src
)
this
.
$viewer
.
show
()
this
.
$viewer
.
view
(
this
.
images
.
indexOf
(
src
))
},
//上传景点图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
//统一图片处理
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
this
.
TicketCouponsImageArray
.
push
(
obj
);
});
},
//更新景点图片
updatePic
()
{
if
(
this
.
ID
>
0
)
{
var
postMsg
=
{
ID
:
this
.
ID
,
PicPath
:
this
.
PicPathArray
.
toString
(),
HotelImageList
:
this
.
HotelImageArray
,
//新增修改
DeleteImageList
:
this
.
DeleteImageArray
//删除的图片
};
this
.
apipost
(
"ticketcoupons_post_UpdateTicketCouponsPic"
,
postMsg
,
res
=>
{},
null
);
}
},
//删除图片
delImg
(
index
)
{
//更新图片
var
item
=
this
.
TicketCouponsImageArray
[
index
];
this
.
DeleteImageArray
.
push
(
item
);
this
.
TicketCouponsImageArray
.
splice
(
index
,
1
);
},
addImgOpen
()
{
this
.
addimg
=
true
;
this
.
initimgList
();
},
closeDMCchooseImg
()
{
this
.
addimg
=
false
;
},
saveResource
()
{
//保存餐厅信息
if
(
this
.
isBook
)
{
this
.
addMsg
.
IsSelfBook
=
1
;
}
else
{
this
.
addMsg
.
IsSelfBook
=
0
;
}
this
.
addMsg
.
OpenPlatform
=
this
.
openplatString
.
toString
();
if
(
this
.
ID
!=
"undefined"
)
{
this
.
addMsg
.
ID
=
this
.
ID
;
}
let
picPathArr
=
[];
this
.
TicketCouponsImageArray
.
forEach
(
x
=>
{
picPathArr
.
push
(
x
.
Path
);
});
this
.
addMsg
.
PicPath
=
picPathArr
.
join
(
","
);
this
.
addMsg
.
ScenicSpotTag
=
this
.
tipsList
.
join
(
","
);
this
.
addMsg
.
GeographicTag
=
this
.
Geographic
.
join
(
","
);
this
.
addMsg
.
TicketCouponsImageList
=
this
.
TicketCouponsImageArray
;
this
.
addMsg
.
DeleteImageList
=
this
.
DeleteImageArray
;
this
.
apipost
(
"appletsticketcoupons_post_Set"
,
this
.
addMsg
,
res
=>
{
//修改添加接口
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
tips
(
"保存成功!"
,
"success"
);
this
.
goUrl
(
"domesticScenicSpotList"
);
}
else
{
this
.
tips
(
res
.
data
.
message
,
"error"
);
}
},
null
);
},
init
()
{
var
msg
=
{};
this
.
apipost
(
"hotel_post_GetPlatform"
,
msg
,
res
=>
{
//获取开放平台
this
.
openplatform
=
res
.
data
.
data
;
});
},
initimgList
()
{
//初始化弹窗图片列表
var
keyWord
=
this
.
imgKeyword
;
this
.
imglistArry
=
[];
let
msg
=
{
Name
:
keyWord
,
Type
:
4
};
this
.
apipost
(
"hotel_post_GetPicList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
imglistArry
=
res
.
data
.
data
;
this
.
totalimg
=
this
.
imglistArry
.
length
;
}
},
null
);
},
selectImg
(
index
)
{
//选取弹窗图片
this
.
imglistArry
[
index
].
isShow
=
!
this
.
imglistArry
[
index
].
isShow
;
let
num
=
0
;
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
num
++
;
}
this
.
selecnum
=
num
;
});
},
initHotelData
()
{
//获取信息
var
msg
=
{
ID
:
this
.
ID
};
this
.
apipost
(
"appletsticketcoupons_post_Get"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
console
.
log
(
1283
,
this
.
addMsg
)
if
(
this
.
addMsg
.
Country
>
0
)
{
this
.
GetSubAreaList
(
this
.
addMsg
.
Country
,
1
);
}
if
(
this
.
addMsg
.
Province
>
0
)
{
this
.
GetSubAreaList
(
this
.
addMsg
.
Province
,
2
);
}
if
(
this
.
addMsg
.
City
>
0
){
this
.
GetSubAreaList
(
this
.
addMsg
.
City
,
3
);
}
if
(
this
.
addMsg
.
OpenPlatform
)
{
this
.
OpenPlatformStrings
=
this
.
addMsg
.
OpenPlatform
.
split
(
","
);
this
.
OpenPlatformStrings
.
forEach
(
x
=>
{
this
.
openplatString
.
push
(
Number
(
x
));
});
}
if
(
res
.
data
.
data
.
ScenicSpotTag
)
{
this
.
tipsList
=
res
.
data
.
data
.
ScenicSpotTag
.
split
(
","
);
}
if
(
res
.
data
.
data
.
GeographicTag
)
{
this
.
Geographic
=
res
.
data
.
data
.
GeographicTag
.
split
(
","
);
}
if
(
res
.
data
.
data
.
Sure
!=
null
)
{
this
.
addMsg
.
Sure
=
res
.
data
.
data
.
Sure
.
toString
();
}
this
.
isBook
=
this
.
addMsg
.
IsSelfBook
;
res
.
data
.
data
.
PicPath
.
split
(
","
).
forEach
(
x
=>
{
if
(
x
!=
""
)
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
res
.
data
.
data
.
ID
;
obj
.
Path
=
x
;
obj
.
PicID
=
0
;
obj
.
ShowPath
=
this
.
domainManager
().
ViittoFileUrl
+
x
+
"?x-oss-process=image/resize,l_140"
;
this
.
TicketCouponsImageArray
.
push
(
obj
);
}
});
}
else
{
this
.
tips
(
res
.
data
.
message
,
"error"
);
}
},
null
);
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
cache
:
true
}
});
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveResource
();
}
else
{
return
false
;
}
});
},
checkImgList
()
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
this
.
imgArray
.
push
(
x
.
Path
);
let
arr
=
x
.
Path
.
split
(
".com"
);
this
.
PicPathArray
.
push
(
arr
[
1
]);
}
x
.
isShow
=
false
;
this
.
selecnum
=
0
;
});
this
.
addimg
=
false
;
},
resetImg
()
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
x
.
isShow
=
false
;
}
this
.
selecnum
=
0
;
});
},
tips
(
msg
,
type
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
type
});
},
minusCount
()
{
let
SupportCount
=
parseInt
(
this
.
addMsg
.
SupportCount
);
if
(
SupportCount
>
0
)
{
SupportCount
--
;
}
this
.
addMsg
.
SupportCount
=
SupportCount
;
},
addCount
()
{
let
SupportCount
=
parseInt
(
this
.
addMsg
.
SupportCount
);
SupportCount
++
;
this
.
addMsg
.
SupportCount
=
SupportCount
;
},
getItemList
(
type
)
{
if
(
type
==
1
)
{
this
.
tipsList
.
push
(
this
.
tipsItem
);
this
.
tipsItem
=
""
;
}
else
{
this
.
Geographic
.
push
(
this
.
GeoItem
);
this
.
GeoItem
=
""
;
}
},
handleClose
(
tag
)
{
this
.
tipsList
.
splice
(
this
.
tipsList
.
indexOf
(
tag
),
1
);
},
showInput
()
{
this
.
inputVisible
=
true
;
this
.
$nextTick
(
_
=>
{
this
.
$refs
.
saveTagInput
.
$refs
.
input
.
focus
();
});
},
handleInputConfirm
()
{
let
inputValue
=
this
.
inputValue
;
if
(
inputValue
)
{
this
.
tipsList
.
push
(
inputValue
);
}
this
.
inputVisible
=
false
;
this
.
inputValue
=
""
;
},
handleClose2
(
tag
)
{
this
.
Geographic
.
splice
(
this
.
Geographic
.
indexOf
(
tag
),
1
);
},
showInput2
()
{
this
.
inputVisible2
=
true
;
this
.
$nextTick
(
_
=>
{
this
.
$refs
.
saveTagInput
.
$refs
.
input
.
focus
();
});
},
handleInputConfirm2
()
{
let
inputValue
=
this
.
inputValue2
;
if
(
inputValue
)
{
this
.
Geographic
.
push
(
inputValue
);
}
this
.
inputVisible2
=
false
;
this
.
inputValue2
=
""
;
},
googleMap
()
{
this
.
selectAddress
=
false
;
},
headCall
(
msg
)
{
// this.addMsg.QCountry = msg.country;
// this.addMsg.QProvince = msg.province;
// this.addMsg.QCity = msg.city;
// this.addMsg.Address = msg.address;
this
.
addMsg
.
Lng
=
msg
.
lng
;
this
.
addMsg
.
Lat
=
msg
.
lat
;
},
//获取国家
GetCounrty
()
{
this
.
apipost
(
"dict_post_Destination_GetCountry"
,
{},
res
=>
{
this
.
CountryList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
//获取省份和城市
GetSubAreaList
(
ID
,
type
)
{
let
msg
=
{
Id
:
ID
};
if
(
this
.
addMsg
.
Country
!=
0
)
{
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
msg
,
res
=>
{
if
(
type
==
1
)
{
this
.
ProvinceList
=
res
.
data
.
data
;
this
.
CityList
=
[];
this
.
district
=
[];
}
else
if
(
type
==
2
)
{
this
.
CityList
=
res
.
data
.
data
;
this
.
district
=
[];
}
else
if
(
type
==
3
)
{
this
.
district
=
res
.
data
.
data
;
}
},
err
=>
{}
);
}
},
getDMCimg
(
imgArr
)
{
imgArr
.
forEach
(
imgItem
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
0
;
obj
.
Path
=
"/"
+
this
.
$commonUtils
.
removeDomain
(
imgItem
.
Path
);
obj
.
PicID
=
imgItem
.
ID
;
obj
.
ShowPath
=
imgItem
.
Path
+
"?x-oss-process=image/resize,l_140"
;
this
.
TicketCouponsImageArray
.
push
(
obj
);
});
},
//获取支付方式列表
GetPayList
()
{
this
.
apipost
(
"dmc_post_Get_GetPayStyleList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PayList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//图片左移右移
ExchangeImg
(
index
,
IsMove
)
{
var
imgItem
=
this
.
TicketCouponsImageArray
[
index
];
//左移
if
(
IsMove
==
0
)
{
var
upItem
=
this
.
TicketCouponsImageArray
[
index
-
1
];
this
.
$set
(
this
.
TicketCouponsImageArray
,
index
-
1
,
imgItem
);
this
.
$set
(
this
.
TicketCouponsImageArray
,
index
,
upItem
);
}
else
{
//右移动
var
downItem
=
this
.
TicketCouponsImageArray
[
index
+
1
];
this
.
$set
(
this
.
TicketCouponsImageArray
,
index
+
1
,
imgItem
);
this
.
$set
(
this
.
TicketCouponsImageArray
,
index
,
downItem
);
}
},
getArea
(){
this
.
$forceUpdate
();
},
//获取周长枚举
getweekenum
()
{
this
.
apipost
(
"appletsdining_Post_GetBusinessWeekEnumType"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
weekEnumList
=
res
.
data
.
data
;
}
},
(
err
)
=>
{}
);
},
// 添加开放时间
addOpenTime
(){
let
obj
=
{
BusinessEndWeek
:
""
,
BusinessStartWeek
:
""
,
EndDay
:
""
,
EndTime
:
""
,
IsNextYear
:
0
,
StartDay
:
""
,
StartTime
:
""
,
StopTime
:
""
,
}
this
.
addMsg
.
OpenTimeList
.
push
(
obj
)
},
delOpenTime
(
index
){
this
.
addMsg
.
OpenTimeList
.
splice
(
index
,
1
)
},
//获取景区类型列表
getScenicList
(){
this
.
apipost
(
"foodtype_post_GetDropDownFoodType"
,
{
ParentID
:
0
,
ClassType
:
1
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
scenicList
=
res
.
data
.
data
;
}
},
(
err
)
=>
{}
);
}
},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
()
//有权限操作的部门
if
(
userInfo
.
RB_Department_Id
==
240
||
userInfo
.
RB_Department_Id
==
1
||
userInfo
.
RB_Department_Id
==
3
||
userInfo
.
RB_Branch_id
==
49
)
{
this
.
IsHaveAuth
=
1
;
}
this
.
GetPayList
();
this
.
ID
=
this
.
$route
.
query
.
id
;
this
.
init
();
//开放平台
this
.
GetCounrty
();
if
(
typeof
this
.
ID
!=
"undefined"
)
{
this
.
initHotelData
();
}
this
.
getweekenum
();
this
.
getScenicList
();
}
};
</
script
>
src/components/scenicSpot/domesticScenicSpotList.vue
0 → 100644
View file @
69568692
<
style
>
.scenicSpotList
.clearfix
:after
{
content
:
"\0020"
;
display
:
block
;
height
:
0
;
clear
:
both
;
}
.scenicSpotList
.hotelResource
{
width
:
100%
;
min-height
:
500px
;
margin-top
:
20px
;
}
.scenicSpotList
.resourceList
{
width
:
215px
;
background-color
:
#fff
;
border
:
1px
dashed
#ededed
;
border-radius
:
4px
;
margin
:
0
20px
20px
0
;
font-size
:
12px
;
color
:
#333333
;
float
:
left
;
}
.scenicSpotList
.resourceList
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
.scenicSpotList
.reTopInfo
{
width
:
100%
;
height
:
123px
;
position
:
relative
;
}
.scenicSpotList
.reTopInfo
img
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
top
:
0
;
border-top-left-radius
:
4px
;
border-top-right-radius
:
4px
;
}
.scenicSpotList
.resTypeList
{
position
:
absolute
;
top
:
10px
;
left
:
10px
;
}
.scenicSpotList
.resTypeList
span
{
display
:
inline-block
;
padding
:
1px
5px
;
border-radius
:
10px
;
color
:
#fff
;
margin-right
:
10px
;
}
.scenicSpotList
.L1
{
background-color
:
#e95252
;
}
.scenicSpotList
.L2
{
background-color
:
#47bf8c
;
}
.scenicSpotList
.L3
{
background-color
:
#2aaef2
;
}
.scenicSpotList
.L4
{
background-color
:
#9cf
;
}
.scenicSpotList
.L5
{
background-color
:
#00c6ff
;
margin-top
:
5px
;
}
.scenicSpotList
.starSu
{
position
:
absolute
;
bottom
:
8px
;
right
:
10px
;
display
:
flex
;
}
.scenicSpotList
.starSu
.star
{
margin-left
:
5px
;
}
.scenicSpotList
.sushe
{
background-color
:
#ffc800
;
display
:
inline-block
;
padding
:
1px
5px
;
border-radius
:
10px
;
color
:
#fff
;
}
.scenicSpotList
.hotelTitle
{
margin
:
20px
16px
0
16px
;
font-size
:
14px
;
color
:
#333333
;
height
:
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.scenicSpotList
.brandList
i
{
position
:
relative
;
top
:
2px
;
}
.scenicSpotList
.brand
{
float
:
left
;
width
:
49%
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
text-align
:
center
;
}
.scenicSpotList
.dayNum
{
float
:
right
;
text-align
:
center
;
width
:
50%
;
}
.scenicSpotList
.iconfont
{
margin-right
:
5px
;
}
.scenicSpotList
.dieline
{
color
:
#2aaef2
;
font-size
:
14px
;
top
:
1px
!important
;
}
.scenicSpotList
.AddressInner
{
float
:
right
;
width
:
160px
;
height
:
18px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
1
;
-webkit-box-orient
:
vertical
;
}
.scenicSpotList
.btnList
{
padding
:
10px
0
20px
0
;
text-align
:
center
;
}
.scenicSpotList
.hotelBtn
{
width
:
60px
;
height
:
28px
;
background
:
#f76f6f
;
border-radius
:
14px
;
color
:
#fff
;
cursor
:
pointer
;
}
.scenicSpotList
.w150
.el-input
{
width
:
150px
!important
;
}
.scenicSpotList
.SupportCount
{
color
:
#4bca81
;
font-size
:
18px
;
font-weight
:
bold
;
margin
:
0
5px
5px
0
;
display
:
inline-block
;
}
.scenicSpotList
.dayNumber
{
color
:
#2aaef2
;
font-size
:
18px
;
font-weight
:
bold
;
margin
:
0
5px
5px
5px
;
display
:
inline-block
;
}
.scenicSpotList
.line
{
float
:
left
;
width
:
1px
;
height
:
35px
;
background-color
:
#ededed
;
margin-top
:
6px
;
}
.scenicSpotList
.foodList
{
display
:
inline-block
;
padding
:
1px
5px
;
background-color
:
#ff9c00
;
color
:
#fff
;
margin-right
:
6px
;
border-radius
:
2px
;
}
.scenicSpotList
.foodList
:last-child
{
margin-right
:
0
;
}
.scenicSpotList
.delScien
{
position
:
absolute
;
right
:
10px
;
top
:
10px
;
display
:
none
;
}
.scenicSpotList
.delScien
:hover
{
color
:
#f76f6f
;
cursor
:
pointer
;
}
.scenicSpotList
.resourceList
:hover
.delScien
{
display
:
block
;
}
.scenicSpotList
.comCursorUrl
{
cursor
:
pointer
;
}
/* 景区列表 */
</
style
>
<
template
>
<div
class=
"flexOne scenicSpotList"
>
<div
class=
"query-box"
>
<ul>
<li>
<span
class=
"hotel_name"
>
<em>
{{
$t
(
'scen.sc_resName'
)
}}
</em>
<el-input
maxlength=
"50"
@
keyup
.
native
.
enter=
"resetPageIndex(),selectResource()"
v-model=
"msg.Name"
>
</el-input>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.QCountry"
clearable
class=
"w150"
filterable
@
change=
"getProvinceList(msg.QCountry,1)"
:placeholder=
"$t('hotel.hotel_country')"
>
<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.QProvince"
class=
"w150"
filterable
@
change=
"getProvinceList(msg.QProvince,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.QCity"
class=
"w150"
filterable
@
change=
"getProvinceList(msg.QCity,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.QDistrict"
class=
"w150"
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>
</li>
<li>
<span>
<em>
{{
$t
(
'hotel.hotel_status'
)
}}
</em>
<el-select
v-model=
"msg.Status"
class=
"w210"
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
"-1"
></el-option>
<el-option
v-for=
"item in status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'ground.menpiaozhongl'
)
}}
</em>
<el-select
v-model=
"msg.IsFree"
class=
'multiple_input w210'
:placeholder=
"$t('pub.pleaseSel')"
>
<!--
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'-1'
></el-option>
-->
<el-option
v-for=
"item in IsFreeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>
{{
$t
(
'visa.v_czuser'
)
}}
</em></span>
<el-select
class=
"w150"
v-model=
"msg.UpdateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
>
</el-option>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
</el-select>
</li>
<li>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"resetPageIndex(),selectResource()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"$router.push('domesticScenicSpotInfoManage')"
>
{{
$t
(
'pub.addBtn'
)
}}
</button>
<!--
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"DownLoadFile()"
>
{{
$t
(
'adm.adm_download'
)
}}
</button>
-->
</li>
</ul>
</div>
<div
class=
"hotelResource clearfix"
v-loading=
"loading"
>
<div
class=
"resourceList"
v-for=
"item in tableData"
:key=
"item.subCode"
>
<div
class=
"reTopInfo"
:class=
"
{'comCursorUrl':item.Url}" @click="OpenNewUrl(item.Url)">
<img
v-if=
"!item.PicPath"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'compressImg(item.PicPath, "filt", 213, "")'
:onerror=
"defaultImg"
>
<div
class=
"resTypeList"
>
<span
v-for=
"(items,index) in item.OpenPlatformList"
:class=
"
{'L1':items.ID==1,'L2':items.ID==2,'L3':items.ID==3,'L4':items.ID==4,'L5':items.ID==5}"
:key="index">
{{
items
.
Name
}}
</span>
</div>
<div
class=
"delScien"
@
click
.
stop=
"isdelete(item.ID)"
>
<i
class=
"iconfont icon-xingzhuang"
></i>
</div>
<div
class=
"starSu"
>
<div
class=
"star"
v-if=
"item.newAr[0].Aname!=''"
v-for=
"(items,index) in item.newAr"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"items.Bname"
placement=
"bottom-start"
popper-class=
"max-w250"
>
<span
class=
"foodList"
:key=
"items.subCode"
v-if=
"index
<3
"
>
{{
items
.
Aname
}}
</span>
</el-tooltip>
</div>
<span
v-if=
"item.Star==8"
class=
"sushe"
>
{{
$t
(
'restaurant.res_homeFacility'
)
}}
</span>
<span
v-if=
"item.Star==9"
class=
"sushe"
>
{{
$t
(
'restaurant.res_SpringHotel'
)
}}
</span>
</div>
</div>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.Name"
placement=
"top-start"
popper-class=
"max-w250"
>
<div
class=
"hotelTitle"
>
{{
item
.
Name
}}
</div>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.UpdateName+''+item.UpdateTimeStr"
placement=
"top-start"
popper-class=
"max-w250"
>
<div
style=
"padding-left:15px;margin:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"
>
<i
style=
"top: 1px;position: relative;"
class=
"iconfont icon-renyuanguanli"
></i>
<span
v-if=
"item.UpdateName && item.UpdateName!=''"
>
{{
item
.
UpdateName
}}
</span>
{{
item
.
UpdateTimeStr
}}
</div>
</el-tooltip>
<div
class=
"btnList"
>
<button
@
click=
"goUrl('domesticScenicSpotInfoManage',item.ID)"
class=
"hotelBtn"
>
{{
$t
(
'pub.updateMsg'
)
}}
</button>
<button
@
click=
"CopyScenic(item.ID)"
class=
"hotelBtn"
>
复制
</button>
<button
@
click=
"goUrlT('domesticTicketManagement',item.ID)"
class=
"hotelBtn"
>
{{
$t
(
'scen.sc_piao'
)
}}
</button>
</div>
</div>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
:page-size=
"msg.pageSize"
layout=
"total,prev, pager, next, jumper"
:total=
"msg.total"
></el-pagination>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
countryList
:
""
,
provinceList
:
""
,
cityList
:
""
,
district
:
""
,
Ids
:
[],
tableData
:
""
,
noData
:
false
,
deleteID
:
""
,
status
:
[{
value
:
"0"
,
label
:
this
.
$t
(
'pub.normalSel'
)
},
{
value
:
"1"
,
label
:
this
.
$t
(
'system.table_delete'
)
}
],
IsFreeList
:
[{
value
:
"-1"
,
label
:
this
.
$t
(
'pub.unlimitedSel'
)
},
{
value
:
"0"
,
label
:
this
.
$t
(
'advmanager.v_free'
)
},
{
value
:
"1"
,
label
:
this
.
$t
(
'ground.youjia'
)
}
],
loading
:
true
,
EmployeeList
:
[],
defaultImg
:
'this.src="'
+
require
(
"../../assets/img/bg_z1@2x.png"
)
+
'"'
,
msg
:
{
pageIndex
:
1
,
pageSize
:
14
,
Name
:
""
,
IsFree
:
"-1"
,
QCountry
:
""
,
QProvince
:
""
,
QCity
:
""
,
QDistrict
:
""
,
Status
:
"0"
,
total
:
0
,
currentPage
:
1
,
ID
:
0
,
UpdateBy
:
0
,
}
};
},
methods
:
{
CopyScenic
(
Id
)
{
var
that
=
this
;
that
.
Confirm
(
'是否要复制此景点?'
,
function
()
{
var
msg
=
{
ID
:
Id
};
that
.
apipost
(
"appletsticketcoupons_post_CopyTicketCouponsService"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
selectResource
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
selectResource
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
currentPage
=
1
;
},
//根据省份获取城市
getProvinceList
(
ID
,
type
)
{
let
msg
=
{
Id
:
ID
};
if
(
type
==
1
)
{
this
.
msg
.
QProvince
=
""
;
this
.
msg
.
QCity
=
""
;
this
.
msg
.
QDistrict
=
""
;
}
else
if
(
type
==
2
)
{
this
.
msg
.
QCity
=
""
;
this
.
msg
.
QDistrict
=
""
;
}
else
if
(
type
==
3
)
{
this
.
msg
.
QDistrict
=
""
;
}
if
(
this
.
msg
.
QCountry
!==
""
)
{
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
msg
,
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
;
}
},
err
=>
{}
);
}
},
//获取国家
getCountryList
()
{
this
.
apipost
(
"dict_post_Destination_GetCountry"
,
{},
res
=>
{
this
.
countryList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
isdelete
(
ID
)
{
var
that
=
this
;
that
.
Confirm
(
that
.
$t
(
'tips.shifoushanchu'
),
function
()
{
that
.
apipost
(
"ticketcoupons_post_Remove"
,
{
ID
:
ID
},
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
that
.
Success
(
that
.
$$t
(
'tips.shanchuchenggong'
));
that
.
selectResource
();
}
else
{
that
.
Error
(
response
.
data
.
message
);
}
},
null
);
});
},
DownLoadFile
()
{
this
.
loading
=
true
;
let
myDate
=
new
Date
();
let
_year
=
myDate
.
getFullYear
();
let
_month
=
myDate
.
getMonth
()
>=
9
?
myDate
.
getMonth
()
+
1
:
'0'
+
(
myDate
.
getMonth
()
+
1
);
let
_date
=
myDate
.
getDate
()
>
9
?
myDate
.
getDate
()
:
'0'
+
myDate
.
getDate
();
let
_hours
=
myDate
.
getHours
()
>
9
?
myDate
.
getHours
()
:
'0'
+
myDate
.
getHours
();
let
_minutes
=
myDate
.
getMinutes
()
>
9
?
myDate
.
getMinutes
()
:
'0'
+
myDate
.
getMinutes
();
let
_seconds
=
myDate
.
getSeconds
()
>
9
?
myDate
.
getSeconds
()
:
'0'
+
myDate
.
getSeconds
();
let
downDate
=
_year
+
_month
+
_date
+
_hours
+
_minutes
+
_seconds
;
var
fileName
=
this
.
$t
(
'ground.jingdanxinx'
)
+
downDate
+
".xls"
;
this
.
GetLocalFile
(
"dmcstatistics_post_GetTicketCouponsExport"
,
this
.
msg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
});
},
selectResource
()
{
this
.
loading
=
true
;
if
(
this
.
msg
.
Status
==
""
)
{
this
.
msg
.
Status
=
"-1"
;
}
this
.
apipost
(
"appletsticketcoupons_post_GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
var
tempData
=
res
.
data
.
data
.
pageData
;
this
.
noData
=
!
this
.
msg
.
total
>
0
;
tempData
.
forEach
(
x
=>
{
if
(
x
.
ScenicSpotTag
!=
null
&&
x
.
ScenicSpotTag
!==
""
)
{
x
.
FoodTagArr
=
x
.
ScenicSpotTag
.
split
(
","
);
var
newAr
=
[];
if
(
x
.
FoodTagArr
!=
null
)
{
x
.
FoodTagArr
.
forEach
(
o
=>
{
newAr
.
push
({
Aname
:
o
.
slice
(
0
,
3
),
Bname
:
o
});
});
x
.
newAr
=
newAr
;
}
}
});
this
.
tableData
=
tempData
;
}
},
null
);
},
goUrl
(
path
,
id
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
msg
);
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
'修改景区信息'
}
});
},
goUrlT
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
'门票管理'
}
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
msg
=
{
GroupId
:
userInfo
.
RB_Group_id
,
BranchId
:
"-1"
,
DepartmentId
:
"-1"
,
PostId
:
"-1"
,
IsLeave
:
"0"
};
this
.
apipost
(
"admin_get_EmployeeGetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
},
mounted
()
{
this
.
getEmployeeList
();
this
.
getCountryList
();
},
created
()
{
if
(
this
.
$route
.
query
.
hasOwnProperty
(
"cache"
))
{
if
(
this
.
$store
.
state
.
pageCondition
!=
null
)
{
this
.
msg
=
this
.
$store
.
state
.
pageCondition
;
}
}
if
(
this
.
$route
.
query
.
StatisticsSTime
){
this
.
msg
.
StatisticsSTime
=
this
.
$route
.
query
.
StatisticsSTime
}
if
(
this
.
$route
.
query
.
StatisticsETime
){
this
.
msg
.
StatisticsETime
=
this
.
$route
.
query
.
StatisticsETime
}
if
(
this
.
$route
.
query
.
type
){
if
(
this
.
$route
.
query
.
type
==
1
){
this
.
msg
.
CreateBy
=
this
.
$route
.
query
.
EmployeeId
;
}
if
(
this
.
$route
.
query
.
type
==
2
){
this
.
msg
.
UpdateBy
=
this
.
$route
.
query
.
EmployeeId
;
}
}
var
id
=
this
.
$route
.
query
.
ID
;
if
(
id
)
{
this
.
msg
.
ID
=
id
;
}
this
.
selectResource
();
}
};
</
script
>
src/components/scenicSpot/domesticTicketManagement.vue
0 → 100644
View file @
69568692
<
style
>
.ticketManagement
.singeRowTable
tr
:nth-child
(
n
+
2
)
:hover
{
background-color
:
white
;
box-shadow
:
0px
0px
14px
0px
#adadad
;
z-index
:
10
;
position
:
relative
;
}
.ticketManagement
.DaysInfo
span
{
display
:
inline-block
;
background-color
:
#2aaef2
;
color
:
white
;
border-radius
:
4px
;
padding
:
0
10px
;
height
:
30px
;
line-height
:
30px
;
}
.ticketManagement
.DaysInfo
span
i
{
margin-right
:
10px
;
}
.ticketManagement
.singeRowTable
tr
:nth-child
(
n
+
2
)
{
height
:
80px
;
text-align
:
center
;
}
.ticketManagement
.detailsIT
.singeRowTable
tr
:nth-child
(
n
+
2
)
:hover
{
background-color
:
white
;
box-shadow
:
0px
0px
14px
0px
#adadad
;
z-index
:
10
;
position
:
relative
;
}
.ticketManagement
.Ldata
{
color
:
#333333
;
margin-top
:
5px
;
}
.ticketManagement
.LP
{
color
:
#e95252
;
}
.ticketManagement
.HP
{
color
:
#2aaef2
;
text-align
:
left
;
font-size
:
14px
;
font-weight
:
bold
;
padding-left
:
5px
;
display
:
inline-block
;
}
.ticketManagement
.T1
{
text-align
:
right
;
color
:
#666666
;
display
:
inline-block
;
}
.ticketManagement
.T2
{
text-align
:
left
;
color
:
#e95252
;
font-size
:
14px
;
font-weight
:
bold
;
padding-left
:
5px
;
display
:
inline-block
;
}
.ticketManagement
.descripTion
{
border-radius
:
4px
;
width
:
266px
;
text-align
:
left
;
padding
:
3px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
/*! autoprefixer: off */
-webkit-box-orient
:
vertical
;
/* autoprefixer: on */
-webkit-line-clamp
:
2
;
}
.ticketManagement
.singeRowTable
tr
:nth-child
(
n
+
2
)
:hover
.descripTion
{
background-color
:
#ededed
;
}
.ticketManagement
.roomName
{
display
:
inline-block
;
width
:
200px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
text-align
:
left
;
padding-left
:
20px
;
}
.ticketManagement
.w300
.el-textarea__inner
{
height
:
140px
;
}
.ticketManagement
.el-dialog--center
.el-dialog__body
{
padding
:
25px
25px
0
;
}
</
style
>
<
template
>
<div
class=
'flexOne ticketManagement'
>
<div
class=
"query-box"
>
<ul>
<li>
<label
class=
""
>
{{
$t
(
'scen.sc_name'
)
}}
</label>
<el-input
v-model=
"msg.TicketName"
maxlength=
"30"
@
keyup
.
native
.
enter=
"getList"
></el-input>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"getList(),resetPageIndex()"
/>
<input
type=
"button"
class=
"normalBtn"
@
click=
"outerVisible = true,dialogTitle='添加门票'"
:value=
"$t('pub.addBtn')"
/>
</li>
</ul>
</div>
<table
class=
"singeRowTable centerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
style=
"border-collapse:separate;border-spacing:0px 10px;table-layout:fixed;"
>
<tr>
<th
width=
"200"
>
{{
$t
(
'scen.sc_name'
)
}}
</th>
<th
width=
"200"
>
{{
$t
(
'scen.sc_bjts'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_dj'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_gj'
)
}}
</th>
<th
width=
"300"
>
{{
$t
(
'hotel.hotel_remark'
)
}}
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"item in DataList"
:key=
"item.subCode"
>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.TicketName"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
class=
"roomName"
>
{{
item
.
TicketName
}}
</span>
</el-tooltip>
</td>
<td
class=
"DaysInfo"
>
<span><i
class=
"iconfont icon-kaoqintongji"
></i>
{{
item
.
Days
}}{{
$t
(
'hotel.hotel_item'
)
}}
</span>
</td>
<td>
<p
class=
"clearfix"
>
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span><span
class=
'tit_name T2'
>
{{
item
.
LPrice
}}
</span>
</p>
<p
class=
"Ldata"
>
{{
item
.
LDate
}}
</p>
</td>
<td>
<p
class=
"clearfix"
>
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span><span
class=
'tit_name HP'
>
{{
item
.
HPrice
}}
</span>
</p>
<p
class=
"Ldata"
>
{{
item
.
HDate
}}
</p>
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
v-if=
"item.TicketDesc"
:content=
"item.TicketDesc"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
class=
"descripTion"
>
{{
item
.
TicketDesc
}}
</span>
</el-tooltip>
</td>
<td>
<el-button-group>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-Edit"
@
click=
"outerVisible = true,dialogTitle='修改门票',updateResturant(item.Id)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"报价管理"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-ico_shezhi"
@
click=
"goUrl('scenicSpotPackagePrice',item.Id)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
@
click=
"isDelete(item.Id)"
></el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</table>
<el-dialog
custom-class=
'w500'
:visible
.
sync=
"outerVisible"
:title=
"dialogTitle"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"110px"
>
<el-form-item
:label=
"$t('scen.sc_mpzy')"
prop=
"CouponsId"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
disabled
v-model=
"addMsg.CouponsId"
>
<el-option
v-for=
"item in TicketCouponsList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('scen.sc_name')"
prop=
"TicketName"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.TicketName"
maxlength=
"20"
></el-input>
</el-form-item>
<el-form-item
label=
"门票副标题"
prop=
"TicketSubName"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.TicketSubName"
maxlength=
"200"
></el-input>
</el-form-item>
<!--
<el-form-item
:label=
"$t('scen.sc_type_name')"
prop=
"TicketCouponsType"
>
<el-select
filterable
v-model=
'addMsg.TicketCouponsType'
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
>
<el-option
v-for=
'item in TickettTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
-->
<el-form-item
label=
"是否闪入园"
prop=
"IsSameDayBuy"
>
<el-radio
v-model=
"addMsg.IsSameDayBuy"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"addMsg.IsSameDayBuy"
:label=
"0"
>
否
</el-radio>
</el-form-item>
<el-form-item
label=
"闪入园最晚购买时间"
prop=
"DayBuyTime"
>
<el-date-picker
v-model=
"addMsg.DayBuyTime"
type=
"date"
placeholder=
"闪入园最晚购买时间"
format=
"MM - dd "
value-format=
"MM-dd"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"是否无忧退款"
prop=
"IsWorryFreeRefund"
>
<el-radio
v-model=
"addMsg.IsWorryFreeRefund"
:label=
"1"
>
有条件退
</el-radio>
<el-radio
v-model=
"addMsg.IsWorryFreeRefund"
:label=
"0"
>
是
</el-radio>
</el-form-item>
<el-form-item
label=
"可定时间"
prop=
"SubscribeTime"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.AllTime"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
label=
"随买随用"
prop=
"AllTime"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.SubscribeTime"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
label=
"出票速度"
prop=
"OutTicket"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.OutTicket"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
label=
"无需换票"
prop=
"ChangeTickets"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.ChangeTickets"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"TicketDesc"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.TicketDesc"
maxlength=
"200"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"resetForm('addMsg'),outerVisible = false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</div>
</el-dialog>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
'msg.pageSize'
:total=
'msg.total'
>
</el-pagination>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
6
,
CouponsId
:
""
,
TicketName
:
""
,
Status
:
"-1"
},
addMsg
:
{
Id
:
"0"
,
CouponsId
:
""
,
TicketName
:
""
,
TicketDesc
:
""
,
TicketCouponsType
:
""
,
},
TicketID
:
""
,
TickettTypeList
:
[],
loading
:
true
,
total
:
0
,
currentPage
:
1
,
outerVisible
:
false
,
dialogTitle
:
""
,
noData
:
false
,
DataList
:
""
,
TicketCouponsList
:
""
,
rules
:
{
//表单必填验证
CouponsId
:
[{
required
:
true
,
message
:
"请选择门票资源"
}],
TicketCouponsType
:
[{
required
:
true
,
message
:
"请选择门票类型"
}]
},
allCurrencyList
:
[]
};
},
methods
:
{
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"appletsticketcouponsticket_post_GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
this
.
DataList
=
res
.
data
.
data
.
pageData
;
this
.
noData
=
!
this
.
total
>
0
;
}
},
null
);
},
saveResource
()
{
this
.
apipost
(
"appletsticketcouponsticket_post_Set"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
"保存成功!"
);
this
.
outerVisible
=
false
;
this
.
resetForm
(
"addMsg"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
updateResturant
(
Id
)
{
let
msg
=
{
ID
:
Id
};
this
.
addMsg
.
Id
=
Id
;
this
.
apipost
(
"appletsticketcouponsticket_post_Get"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
isDelete
(
ID
)
{
this
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
this
.
apipost
(
'appletsticketcouponsticket_post_Remove'
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
()
}
else
{}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
});
});
},
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
TicketID
:
id
,
CouponsId
:
this
.
TicketID
,
blank
:
'y'
,
tab
:
'报价管理'
}
});
},
GetTicketType
()
{
this
.
apipost
(
'ticketcouponsprice_post_GetTicketType'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TickettTypeList
=
res
.
data
.
data
}
},
err
=>
{})
},
//翻页功能按钮
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
//查询初始化页码
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
//初始化门票资源
initResrestaurant
()
{
let
msg
=
{};
this
.
apipost
(
"ticketcoupons_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TicketCouponsList
=
res
.
data
.
data
;
}
},
null
);
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
TickettTypeList
.
forEach
(
item
=>
{
if
(
this
.
addMsg
.
TicketCouponsType
==
item
.
ID
)
{
// HK 2020-05-06注释
//this.addMsg.TicketName = item.Name
}
})
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveResource
();
}
else
{
return
false
;
}
});
},
clearMsg
()
{
let
newMsg
=
{
Id
:
"0"
,
CouponsId
:
""
,
TicketName
:
""
,
TicketDesc
:
""
,
TicketCouponsType
:
''
};
this
.
addMsg
=
newMsg
;
},
closeChangeMachie
(
done
)
{
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
"addMsg"
);
this
.
addMsg
.
CouponsId
=
parseInt
(
this
.
$route
.
query
.
id
);
},
resetForm
(
formName
)
{
this
.
clearMsg
();
this
.
$refs
[
formName
].
resetFields
();
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
allCurrencyList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//获取币种编码
getCurrencyCode
(
currencyId
)
{
let
currencyCode
=
"CNY"
;
this
.
allCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
currencyId
)
{
currencyCode
=
x
.
Code
;
}
});
return
currencyCode
;
}
},
mounted
()
{
this
.
msg
.
CouponsId
=
this
.
$route
.
query
.
id
;
this
.
addMsg
.
CouponsId
=
parseInt
(
this
.
$route
.
query
.
id
);
this
.
initResrestaurant
();
this
.
TicketID
=
this
.
$route
.
query
.
id
;
this
.
getAllCurrency
();
this
.
getList
();
this
.
GetTicketType
();
}
};
</
script
>
\ No newline at end of file
src/router/config.js
View file @
69568692
...
...
@@ -1532,6 +1532,14 @@ export default {
meta
:
{
title
:
'景区门票管理'
},
},
{
path
:
'/domesticTicketManagement'
,
//国内景区门票管理
name
:
'domesticTicketManagement'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/domesticTicketManagement'
],
resolve
),
meta
:
{
title
:
'国内景区门票管理'
},
},
{
path
:
'/scenicSpotOrder'
,
//景区门票订单管理
name
:
'scenicSpotOrder'
,
...
...
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