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
a6c1ae38
Commit
a6c1ae38
authored
May 20, 2021
by
Mac
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
1b1a26fe
8c9c1b69
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
223 additions
and
64 deletions
+223
-64
GnHotelInfo.vue
src/components/Hotel/GnHotelInfo.vue
+1
-5
GnHotelManagement.vue
src/components/Hotel/GnHotelManagement.vue
+18
-6
HotelPrice.vue
src/components/Hotel/HotelPrice.vue
+1
-1
HotelProductManage.vue
src/components/Hotel/HotelProductManage.vue
+119
-10
comHotelImg.vue
src/components/commonPage/comHotelImg.vue
+1
-4
comImgList.vue
src/components/commonPage/comImgList.vue
+55
-36
config.js
src/router/config.js
+28
-2
No files found.
src/components/Hotel/GnHotelInfo.vue
View file @
a6c1ae38
...
...
@@ -143,7 +143,7 @@
</div>
<div>
<el-tabs>
<el-tab-pane
v-for=
"(subItem,subIndex) in addMsg.InnerHotelImaList"
:key=
"subIndex"
:label=
"subItem.Label==''?'
全部
':subItem.Label"
>
<el-tab-pane
v-for=
"(subItem,subIndex) in addMsg.InnerHotelImaList"
:key=
"subIndex"
:label=
"subItem.Label==''?'
默认
':subItem.Label"
>
<div
class=
"InnerHotelDiv"
>
<div
class=
"InnerHoImgDiv"
v-for=
"(sItem,sIndex) in subItem.ImgList"
:key=
"sIndex"
>
<img
:src=
"sItem.Path"
/>
...
...
@@ -156,7 +156,6 @@
</div>
</
template
>
<
template
v-if=
"activeName==2"
>
<!--
<div
class=
"jz_HotelName"
>
{{
addMsg
.
HotelRealName
}}
</div>
-->
<el-form-item
label=
"开业时间"
>
<el-input
placeholder=
"开业时间"
class=
"w300"
v-model=
"addMsg.HotelInfo.OpenTime"
></el-input>
</el-form-item>
...
...
@@ -406,7 +405,6 @@
methods
:
{
//获取子组件新增分类和图片
getHotelImg
(
data
){
console
.
log
(
data
,
'datasss'
);
this
.
addMsg
.
InnerHotelImaList
=
data
;
this
.
isShowHotelImg
=
false
;
},
...
...
@@ -490,7 +488,6 @@
this
.
addMsg
.
RoomFacilities
=
this
.
chooseObj
.
RoomFacilities
.
toString
();
this
.
addMsg
.
ServiceItems
=
this
.
chooseObj
.
ServiceItems
.
toString
();
this
.
addMsg
.
Bookings
=
this
.
chooseObj
.
Bookings
;
// this.addMsg.InnerHotelImaList = this.HotelImgArr;
this
.
addMsg
.
ID
=
this
.
hotelID
;
this
.
addMsg
.
Tags
=
this
.
TagsList
.
toString
();
this
.
addMsg
.
HotelImageList
=
this
.
HotelImageArray
;
...
...
@@ -528,7 +525,6 @@
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
console
.
log
(
"res.data"
,
res
.
data
);
var
tempMsg
=
res
.
data
.
data
;
_self
.
addMsg
.
ID
=
tempMsg
.
ID
;
_self
.
addMsg
.
HotelRealName
=
tempMsg
.
HotelRealName
;
...
...
src/components/Hotel/GnHotelManagement.vue
View file @
a6c1ae38
...
...
@@ -290,22 +290,36 @@
<el-table-column
type=
"selection"
width=
"50px"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"酒店名称"
>
</el-table-column>
<el-table-column
prop=
"Star"
label=
"星级"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
Star
}}
星
</span>
<div
style=
"display:flex;align-items:center;"
>
<div><img
:src=
"scope.row.PicPath"
style=
"width:50px;"
/></div>
<div
style=
"margin-left:5px;"
>
{{
scope
.
row
.
Name
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"OpenPlatformList"
label=
"开放平台"
>
<el-table-column
prop=
"StarName"
label=
"星级"
width=
"100px"
>
</el-table-column>
<!-- <el-table-column prop="OpenPlatformList" label="开放平台">
<template slot-scope="scope">
<el-tag v-for="(item,index) in scope.row.OpenPlatformList" size="small" style="margin-right:5px;" :key="index">{{item.Name}}</el-tag>
</template>
</el-table-column> -->
<el-table-column
prop=
"TagList"
label=
"标签"
>
<
template
slot-scope=
"scope"
>
<el-tag
v-for=
"(item,index) in scope.row.TagList"
size=
"small"
style=
"margin-right:5px;"
:key=
"index"
>
{{
item
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
prop=
"UpdateName"
label=
"修改人"
>
</el-table-column>
<el-table-column
prop=
"UpdateTimeStr"
label=
"修改时间"
>
</el-table-column>
<el-table-column
prop=
"Address"
label=
"地址"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ProvinceName
}}
-
{{
scope
.
row
.
CityName
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"Tel"
label=
"电话"
>
</el-table-column>
<el-table-column
prop=
"HotelStatus"
label=
"状态"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -406,7 +420,6 @@
);
},
handleSelectionChange
(
val
){
console
.
log
(
val
,
'x多选'
);
this
.
multipleSelection
=
val
;
},
handleCurrentChange
(
val
)
{
...
...
@@ -485,7 +498,6 @@
this
.
tableData
.
forEach
(
x
=>
{
x
.
starArr
=
new
Array
(
x
.
Star
);
});
console
.
log
(
this
.
tableData
,
'数据来也'
);
}
},
null
...
...
src/components/Hotel/HotelPrice.vue
View file @
a6c1ae38
...
...
@@ -439,7 +439,7 @@
</el-form-item>
</div>
<div
class=
"resDiv"
>
<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>
<el-form-item
:label=
"$t('hotel.hotel_Supplier')"
v-if=
"IsSelfBook==1"
prop=
"Supplier"
>
...
...
src/components/Hotel/HotelProductManage.vue
View file @
a6c1ae38
...
...
@@ -114,7 +114,7 @@
.hotelproduct
.descripTion
{
border-radius
:
4px
;
width
:
266px
;
width
:
100%
;
text-align
:
left
;
padding
:
5px
;
height
:
40px
;
...
...
@@ -139,6 +139,37 @@
padding-left
:
20px
;
}
.HotelAdd_ImgBtn
{
width
:
100px
;
height
:
100px
;
line-height
:
100px
;
color
:
#419efb
;
border
:
1px
solid
#e2e2e2
;
cursor
:
pointer
;
text-align
:
center
;
}
.hotl_ImgDiv
{
margin
:
0
20px
0
0
;
position
:
relative
;
display
:
inline-block
;
}
.hotelproduct
.colapp-image
{
background-size
:
cover
;
background-position
:
50%
;
width
:
100px
;
height
:
100px
;
border-radius
:
0
;
}
.hotelproduct
.delBtn
{
position
:
absolute
;
right
:
-8px
;
top
:
-8px
;
padding
:
4px
4px
!important
;
}
</
style
>
<
template
>
<div
class=
"flexOne hotelproduct"
>
...
...
@@ -199,6 +230,9 @@
<el-form-item
label=
"床型描述"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.BedDesc"
:rows=
"4"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"Description"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.Description"
></el-input>
</el-form-item>
<el-form-item
label=
"是否有窗"
>
<el-switch
v-model=
"addMsg.HasWindow"
:active-value=
"1"
:inactive-value=
"2"
>
</el-switch>
...
...
@@ -210,8 +244,25 @@
<el-form-item
label=
"免费取消时间"
v-if=
"addMsg.IsCancel==2"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.CancelTime"
maxlength=
"200"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"Description"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.Description"
></el-input>
<el-form-item
label=
"房型图"
>
<div
style=
"display:flex;flex-wrap:wrap;"
>
<div
style=
"display:inline-block;"
>
<div
class=
"hotl_ImgDiv"
v-for=
"(item,index) in addMsg.RoomImage"
:key=
"index"
>
<div
class=
"colapp-image"
:style=
"
{backgroundImage: 'url(' + item.Path + ')'}">
</div>
<el-button
@
click=
"delHotelImg(item,index)"
class=
"delBtn"
type=
"danger"
icon=
"el-icon-close"
circle
>
</el-button>
</div>
</div>
<el-upload
class=
"avatar-uploader"
action=
""
style=
"display:inline-block;"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
:http-request=
"UploadImage"
multiple
>
<div
class=
"HotelAdd_ImgBtn"
>
+ 添加图片
</div>
</el-upload>
</div>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -224,6 +275,9 @@
style=
"border-collapse:separate;border-spacing:0px 10px;table-layout:fixed;"
>
<tr>
<th>
名称
</th>
<th>
入住人数
</th>
<th>
床型/早餐
</th>
<th>
是否可取消
</th>
<th>
{{
$t
(
'scen.sc_bjts'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_dj'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_gj'
)
}}
</th>
...
...
@@ -234,6 +288,22 @@
<td>
{{
item
.
Name
}}
</td>
<td>
{{
item
.
ServiceNumber
}}
人
</td>
<td>
{{
item
.
BedTypeStr
}}
(
{{
item
.
BedDesc
}}
)
<br
/>
{{
item
.
BreakfastTypeStr
}}
<br
/>
{{
item
.
HasWindowStr
}}
</td>
<td>
{{
item
.
IsCancelStr
}}
<template
v-if=
"item.IsCancel"
>
<br
/>
{{
item
.
CancelTime
}}
前
</
template
>
</td>
<td
class=
"DaysInfo"
>
<span><i
class=
"iconfont icon-kaoqintongji"
></i>
{{item.Days}}{{$t('hotel.hotel_day')}}
</span>
</td>
...
...
@@ -312,7 +382,8 @@
BedDesc
:
''
,
//床型描述
HasWindow
:
1
,
//是否有窗(1-有窗,2-无窗)
IsCancel
:
1
,
//'是否可免费取消(1-不可取消,2-可取消
CancelTime
:
''
//免费取消时间
CancelTime
:
''
,
//免费取消时间
RoomImage
:
[],
//房型图
},
//早餐类型下拉
BreakfastList
:
[{
...
...
@@ -324,6 +395,9 @@
},
{
Id
:
3
,
Name
:
'双早餐'
},
{
Id
:
4
,
Name
:
'无早餐'
}],
//床型下拉
BedTypeList
:
[{
...
...
@@ -355,6 +429,41 @@
};
},
methods
:
{
//上传酒店图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
var
obj
=
{
TagName
:
''
,
Path
:
imgUrl
}
this
.
addMsg
.
RoomImage
.
push
(
obj
);
});
},
//删除房型图片
delHotelImg
(
item
,
index
)
{
var
that
=
this
that
.
Confirm
(
"删除图片将不能恢复?"
,
function
()
{
if
(
item
.
ID
>
0
)
{
let
msg
=
{
Id
:
item
.
ID
,
PicId
:
item
.
Pic
}
that
.
apipost
(
"hotel_post_RemoveHotelImage"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
addMsg
.
RoomImage
.
splice
(
index
,
1
);
}
});
}
else
{
that
.
addMsg
.
RoomImage
.
splice
(
index
,
1
);
}
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
initData
();
...
...
@@ -467,12 +576,12 @@
Name
:
""
,
Description
:
""
,
ServiceNumber
:
""
,
BreakfastType
:
1
,
BedType
:
1
,
BedDesc
:
''
,
HasWindow
:
1
,
IsCancel
:
1
,
CancelTime
:
''
BreakfastType
:
1
,
BedType
:
1
,
BedDesc
:
''
,
HasWindow
:
1
,
IsCancel
:
1
,
CancelTime
:
''
};
this
.
addMsg
=
newMsg
;
},
...
...
src/components/commonPage/comHotelImg.vue
View file @
a6c1ae38
...
...
@@ -96,7 +96,7 @@
created
()
{},
computed
:
{},
mounted
()
{
console
.
log
(
this
.
saveObj
,
'saveObj'
);
},
methods
:
{
//新增分组
...
...
@@ -137,8 +137,6 @@
},
//选定
SelectImgId
()
{
console
.
log
(
'1111'
);
console
.
log
(
this
.
saveObj
,
'saveObj'
);
},
//上传酒店图片
UploadImage
(
file
)
{
...
...
@@ -156,7 +154,6 @@
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
console
.
log
(
obj
,
'obj'
);
this
.
saveObj
[
this
.
commonIndex
].
imgArr
.
push
(
obj
.
ShowPath
);
});
},
...
...
src/components/commonPage/comImgList.vue
View file @
a6c1ae38
...
...
@@ -7,17 +7,21 @@
<div
class=
"el-scrollbar"
style=
"height: 450px; width: 100%;overflow-y:auto;"
>
<div
style=
"margin-bottom: -8px; margin-right: -8px;"
>
<div
class=
"el-scrollbar__view"
>
<!--
<li
class=
"el-menu-item"
style=
"padding-left: 10px;padding-right: 10px;"
:class=
"commonIndex==-1?'selectActive' : ''"
@
click=
"getImgList(-1,saveObj)"
>
<i
class=
"el-icon-tickets"
></i>
<span>
全部
</span>
</li>
-->
<li
class=
"el-menu-item"
:class=
"commonIndex==index?'selectActive' : ''"
@
click=
"getImgList(-1,saveObj)"
:key=
"index"
style=
"padding-left: 10px;padding-right: 10px;"
>
<div
flex=
"dir:left box:last"
>
<el-col
:span=
"18"
style=
"overflow: hidden; text-overflow: ellipsis;"
>
<i
class=
"el-icon-tickets"
></i>
<span>
全部
</span>
</el-col>
</div>
</li>
<li
class=
"el-menu-item"
v-for=
"(item,index) in saveObj"
:class=
"commonIndex==index?'selectActive' : ''"
@
click=
"getImgList(index,saveObj)"
:key=
"index"
style=
"padding-left: 10px;padding-right: 10px;"
>
<div
flex=
"dir:left box:last"
>
<el-col
:span=
"18"
style=
"overflow: hidden; text-overflow: ellipsis;"
>
<i
class=
"el-icon-tickets"
></i>
<span>
{{
item
.
Label
==
''
?
'
全部
'
:
item
.
Label
}}
</span>
<span>
{{
item
.
Label
==
''
?
'
默认
'
:
item
.
Label
}}
</span>
</el-col>
<el-col
class=
"blue"
:span=
"6"
v-if=
"index!=0"
>
<span
@
click=
"editGroup(index)"
>
编辑
</span>
...
...
@@ -40,10 +44,11 @@
</div>
</el-upload>
</div>
<div
style=
"display:inline-block;margin-left:9px;position:relative"
v-for=
"(item,index) in comImgArr"
:key=
"index"
>
<img
:src=
"item.Path"
class=
"app-attachment-img"
style=
"width: 100px; height: 100px;"
>
<i
class=
"iconfont icon-bumenguanli-shanchu hotel_DelIcon"
@
click=
"delHotelImg(index)"
></i>
</div>
<div
style=
"display:inline-block;margin-left:9px;position:relative"
v-for=
"(item,index) in comImgArr"
:key=
"index"
>
<img
:src=
"item.Path"
class=
"app-attachment-img"
style=
"width: 100px; height: 100px;"
>
<i
class=
"iconfont icon-bumenguanli-shanchu hotel_DelIcon"
@
click=
"delHotelImg(item,index)"
></i>
</div>
</div>
</el-col>
</el-row>
...
...
@@ -97,23 +102,38 @@
this
.
getAll
();
},
methods
:
{
getAll
(){
// this.commonIndex=-1;
this
.
comImgArr
=
[];
if
(
this
.
saveObj
.
length
>
0
){
getAll
()
{
this
.
comImgArr
=
[];
if
(
this
.
saveObj
.
length
>
0
)
{
this
.
saveObj
.
forEach
(
item
=>
{
this
.
comImgArr
=
this
.
comImgArr
.
concat
(
item
.
ImgList
);
this
.
comImgArr
=
this
.
comImgArr
.
concat
(
item
.
ImgList
);
})
}
else
{
let
obj
=
{
Label
:
''
,
ImgList
:
this
.
comImgArr
}
this
.
saveObj
.
unshift
(
obj
);
}
let
obj
=
{
Label
:
''
,
ImgList
:
this
.
comImgArr
}
this
.
saveObj
.
unshift
(
obj
);
},
//删除图片
delHotelImg
(
index
){
this
.
comImgArr
.
splice
(
index
,
1
);
delHotelImg
(
item
,
index
)
{
var
that
=
this
that
.
Confirm
(
"删除图片将不能恢复?"
,
function
()
{
if
(
item
.
MappingId
&&
item
.
MappingId
>
0
)
{
let
msg
=
{
Id
:
item
.
MappingId
,
PicId
:
item
.
PicId
}
that
.
apipost
(
"hotel_post_RemoveHotelImage"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
comImgArr
.
splice
(
index
,
1
);
}
});
}
else
{
that
.
comImgArr
.
splice
(
index
,
1
);
}
});
},
//清空消息
clearGroupMsg
()
{
...
...
@@ -144,15 +164,18 @@
},
//删除
delGroup
(
index
)
{
this
.
saveObj
.
splice
(
index
,
1
);
var
that
=
this
that
.
Confirm
(
"删除图片将不能恢复?"
,
function
()
{
this
.
saveObj
.
splice
(
index
,
1
);
});
},
//点击获取图片arr
getImgList
(
index
,
obj
)
{
this
.
commonIndex
=
index
;
if
(
index
==
-
1
)
{
this
.
comImgArr
=
[];
this
.
comImgArr
=
[];
this
.
saveObj
.
forEach
(
item
=>
{
this
.
comImgArr
=
this
.
comImgArr
.
concat
(
item
.
ImgList
);
this
.
comImgArr
=
this
.
comImgArr
.
concat
(
item
.
ImgList
);
})
}
else
{
this
.
comImgArr
=
this
.
saveObj
[
index
].
ImgList
;
...
...
@@ -160,21 +183,15 @@
},
//选定
SelectImgId
()
{
this
.
$emit
(
'getHotelImg'
,
this
.
saveObj
);
this
.
$emit
(
'getHotelImg'
,
this
.
saveObj
);
},
//上传酒店图片
UploadImage
(
file
)
{
// if (this.commonIndex == -2) {
// this.Error('请选择分类')
// return;
// }
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
console
.
log
(
x
,
'xxxx'
);
;
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
var
obj
=
{
...
...
@@ -271,11 +288,13 @@
border-left
:
none
;
padding
:
0
15px
;
}
.hotel_DelIcon
{
.hotel_DelIcon
{
position
:
absolute
;
right
:
-5px
;
top
:
-7px
;
color
:
red
;
right
:
-5px
;
top
:
-7px
;
color
:
red
;
cursor
:
pointer
;
}
</
style
>
src/router/config.js
View file @
a6c1ae38
...
...
@@ -1461,7 +1461,8 @@ export default {
meta
:
{
title
:
'景区票券列表'
},
},
,
{
},
{
path
:
'/scenicRecommentList'
,
//景点攻略
name
:
'scenicRecommentList'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/scenicRecommentList'
],
resolve
),
...
...
@@ -1566,7 +1567,32 @@ export default {
meta
:
{
title
:
'景区报价管理'
},
},
{
},
{
path
:
'/domesticScenicSpotList'
,
//国内景区列表
name
:
'domesticScenicSpotList'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/domesticScenicSpotList'
],
resolve
),
meta
:
{
title
:
'国内景区列表'
},
},
{
path
:
'/domesticScenicSpotList'
,
//国内景区列表
name
:
'domesticScenicSpotList'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/domesticScenicSpotList'
],
resolve
),
meta
:
{
title
:
'国内景区列表'
},
},
{
path
:
'/domesticScenicSpotInfoManage'
,
//新增修改国内景区
name
:
'domesticScenicSpotInfoManage'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/domesticScenicSpotInfoManage'
],
resolve
),
meta
:
{
title
:
'新增修改国内景区'
},
},
{
path
:
'/TicketManager'
,
//机票列表
name
:
'TicketManager'
,
component
:
resolve
=>
require
([
'@/components/Ticketing/TicketManager'
],
resolve
),
...
...
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