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
8c9c1b69
Commit
8c9c1b69
authored
May 20, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
into master
parents
891c77ae
35b51642
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
615 additions
and
386 deletions
+615
-386
GnHotelInfo.vue
src/components/Hotel/GnHotelInfo.vue
+6
-5
GnHotelManagement.vue
src/components/Hotel/GnHotelManagement.vue
+125
-108
HotelPrice.vue
src/components/Hotel/HotelPrice.vue
+1
-1
HotelProductManage.vue
src/components/Hotel/HotelProductManage.vue
+187
-13
addCar.vue
src/components/TravelManager/Lxy/addCar.vue
+39
-4
addCarBrand.vue
src/components/TravelManager/Lxy/addCarBrand.vue
+19
-1
addGuide.vue
src/components/TravelManager/Lxy/addGuide.vue
+28
-15
directorGoodsEdit.vue
src/components/TravelManager/Lxy/directorGoodsEdit.vue
+102
-34
directorGoodsList.vue
src/components/TravelManager/Lxy/directorGoodsList.vue
+15
-7
directorGuideList.vue
src/components/TravelManager/Lxy/directorGuideList.vue
+1
-2
directorSetting.vue
src/components/TravelManager/Lxy/directorSetting.vue
+31
-8
tl.js
src/components/TravelManager/Lxy/js/tl.js
+0
-147
comHotelImg.vue
src/components/commonPage/comHotelImg.vue
+1
-4
comImgList.vue
src/components/commonPage/comImgList.vue
+55
-36
TravelManager2.vue
...ts/newTravelmanager/TravelGroupControl/TravelManager2.vue
+4
-0
config.js
src/router/config.js
+1
-1
No files found.
src/components/Hotel/GnHotelInfo.vue
View file @
8c9c1b69
...
...
@@ -102,6 +102,10 @@
</div>
</div>
</div>
<el-form-item
label=
"地址说明"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"addMsg.AddressDes"
size=
"small"
>
</el-input>
</el-form-item>
<el-form-item
label=
"标签"
>
<el-tag
:key=
"tag"
v-for=
"(tag,index) in TagsList"
style=
"margin-right:5px;"
closable
:disable-transitions=
"false"
@
close=
"handleClose(tag,index)"
>
...
...
@@ -139,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"
/>
...
...
@@ -152,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>
...
...
@@ -356,6 +359,7 @@
DecorationTime
:
""
,
//装修时间
Into
:
""
,
//酒店介绍
},
AddressDes
:
''
//地址说明
},
//酒店图片
HotelImgArr
:
[],
...
...
@@ -401,7 +405,6 @@
methods
:
{
//获取子组件新增分类和图片
getHotelImg
(
data
){
console
.
log
(
data
,
'datasss'
);
this
.
addMsg
.
InnerHotelImaList
=
data
;
this
.
isShowHotelImg
=
false
;
},
...
...
@@ -485,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
;
...
...
@@ -523,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 @
8c9c1b69
This diff is collapsed.
Click to expand it.
src/components/Hotel/HotelPrice.vue
View file @
8c9c1b69
...
...
@@ -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 @
8c9c1b69
...
...
@@ -114,7 +114,7 @@
.hotelproduct
.descripTion
{
border-radius
:
4px
;
width
:
266px
;
width
:
100%
;
text-align
:
left
;
padding
:
5px
;
height
:
40px
;
...
...
@@ -139,12 +139,43 @@
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"
>
<div
class=
"query-box"
>
<ul>
<li>
<li
style=
"display:none;"
>
<span>
<em>
{{
$t
(
'hotel.hotel_roomName'
)
}}
</em>
<el-select
filterable
v-model=
'msg.HotelProductType'
:placeholder=
"$t('pub.pleaseSel')"
>
...
...
@@ -153,6 +184,12 @@
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'hotel.hotel_roomName'
)
}}
</em>
<el-input
class=
"w300"
type=
"text"
v-model=
"msg.Name"
maxlength=
"20"
></el-input>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
type=
"success"
@
click=
"resetPageIndex(),initData()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
...
...
@@ -164,29 +201,69 @@
<el-dialog
custom-class=
'addGroup'
:visible
.
sync=
"outerVisible"
:title=
"dialogTitle"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
>
<el-form-item
:label=
"$t('hotel.hotel_resource')
"
prop=
"Hotel_ID"
>
<el-form-item
label=
"酒店名称
"
prop=
"Hotel_ID"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
filterable
class=
"w300"
disabled
clearable
v-model=
"addMsg.Hotel_ID"
>
<el-option
v-for=
"item in HotelName"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('hotel.product_name')
"
>
<el-form-item
label=
"名称
"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.Name"
maxlength=
"20"
></el-input>
</el-form-item>
<!--
<el-form-item
:label=
"$t('hotel.product_type_name')"
prop=
"HotelProductType"
>
<el-select
filterable
v-model=
'addMsg.HotelProductType'
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
>
<el-option
v-for=
'item in HotelProductTypeList'
:label=
'item.Name'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
-->
<el-form-item
:label=
"$t('hotel.table_servers')"
prop=
"ServiceNumber"
>
<el-form-item
label=
"入住人数"
prop=
"ServiceNumber"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"addMsg.ServiceNumber"
@
keyup
.
native=
"checkInteger(addMsg,'ServiceNumber')"
></el-input>
</el-form-item>
<el-form-item
label=
"早餐类型"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
v-model=
"addMsg.BreakfastType"
>
<el-option
v-for=
"item in BreakfastList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"床型"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
v-model=
"addMsg.BedType"
>
<el-option
v-for=
"item in BedTypeList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<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>
</el-form-item>
<el-form-item
label=
"免费取消"
>
<el-switch
v-model=
"addMsg.IsCancel"
:active-value=
"2"
:inactive-value=
"1"
>
</el-switch>
</el-form-item>
<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=
"房型图"
>
<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"
>
<button
class=
"hollowFixedBtn"
...
...
@@ -197,6 +274,10 @@
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
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>
...
...
@@ -204,6 +285,25 @@
<th>
{{
$t
(
'hotel.table_operat'
)
}}
</th>
</tr>
<tr
v-for=
"(item,index) in pageData"
:key=
"item.subCode"
>
<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>
...
...
@@ -276,8 +376,40 @@
Name
:
""
,
HotelProductType
:
0
,
Description
:
""
,
ServiceNumber
:
""
ServiceNumber
:
""
,
BreakfastType
:
1
,
//早餐类型 1-含早餐,2-单早餐,3-双早餐
BedType
:
1
,
//床型 1-单人床,2-大床,3-双床
BedDesc
:
''
,
//床型描述
HasWindow
:
1
,
//是否有窗(1-有窗,2-无窗)
IsCancel
:
1
,
//'是否可免费取消(1-不可取消,2-可取消
CancelTime
:
''
,
//免费取消时间
RoomImage
:
[],
//房型图
},
//早餐类型下拉
BreakfastList
:
[{
Id
:
1
,
Name
:
'含早餐'
},
{
Id
:
2
,
Name
:
'单早餐'
},
{
Id
:
3
,
Name
:
'双早餐'
},
{
Id
:
4
,
Name
:
'无早餐'
}],
//床型下拉
BedTypeList
:
[{
Id
:
1
,
Name
:
'单人床'
},
{
Id
:
2
,
Name
:
'大床'
},
{
Id
:
3
,
Name
:
'双床'
}],
rules
:
{
//表单必填验证
Hotel_ID
:
[{
...
...
@@ -297,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
();
...
...
@@ -395,6 +562,7 @@
this
.
innerVisible
=
true
;
this
.
insideDialogTxt
=
res
.
data
.
message
;
this
.
isDeleteNote
=
true
;
this
.
Error
(
res
.
data
.
message
);
}
},
null
...
...
@@ -407,7 +575,13 @@
Hotel_ID
:
parseInt
(
this
.
HotelID
),
Name
:
""
,
Description
:
""
,
ServiceNumber
:
""
ServiceNumber
:
""
,
BreakfastType
:
1
,
BedType
:
1
,
BedDesc
:
''
,
HasWindow
:
1
,
IsCancel
:
1
,
CancelTime
:
''
};
this
.
addMsg
=
newMsg
;
},
...
...
src/components/TravelManager/Lxy/addCar.vue
View file @
8c9c1b69
...
...
@@ -11,9 +11,13 @@
</el-form-item>
<el-form-item
label=
"LOGO"
size=
"small"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"建议尺寸100*100"
placement=
"top"
>
<el-button
@
click=
"openChangeDig(1)"
>
选择文件
</el-button>
</el-tooltip>
<el-upload
class=
"avatar-uploader"
action=
""
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
:http-request=
"UploadImage"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"建议尺寸100*100"
placement=
"top"
>
<el-button
>
选择文件
</el-button>
</el-tooltip>
</el-upload>
<div
class=
"app-gallery-item"
style=
"position: relative;width: 100px;margin-top: 10px;"
>
<img
v-if=
"!addMsg.CarLogo || addMsg.CarLogo==''"
src=
"../../../assets/img/default.png"
style=
"width:80px;height:80px"
alt=
""
>
...
...
@@ -64,10 +68,14 @@
<el-button
@
click=
"ClearCarouse(index,index2)"
class=
"delBtn"
type=
"danger"
icon=
"el-icon-close"
circle
></el-button>
</div>
<div
@
click=
"openChangeDig(2),Picindex = index"
v-if=
"item.PicList&&item.PicList.length
<9
"
<el-upload
class=
"avatar-uploader"
action=
""
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
:http-request=
"UploadImage2"
>
<div
@
click=
"Picindex = index"
v-if=
"item.PicList&&item.PicList.length
<9
"
class=
"add-image-btn"
>
+ 添加图片
</div>
</el-upload>
</div>
...
...
@@ -164,6 +172,33 @@
this
.
changeState
=
false
;
},
//图片上传
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
;
this
.
addMsg
.
CarLogo
=
imgUrl
});
},
UploadImage2
(
file
){
let
that
=
this
;
let
newArr
=
[];
console
.
log
(
that
.
addMsg
.
ColorList
[
that
.
Picindex
].
PicList
)
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
;
that
.
addMsg
.
ColorList
[
that
.
Picindex
].
PicList
.
push
(
imgUrl
);
});
},
SelectId2
(
msg
){
let
that
=
this
;
let
data
=
[]
...
...
src/components/TravelManager/Lxy/addCarBrand.vue
View file @
8c9c1b69
...
...
@@ -11,7 +11,11 @@
</el-form-item>
<el-form-item
label=
"LOGO"
class=
"is-required"
>
<el-button
@
click=
"openChangeDig(1)"
size=
"small"
>
选择文件
</el-button>
<el-upload
class=
"avatar-uploader"
action=
""
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
:http-request=
"UploadImage"
>
<el-button
size=
"small"
>
选择文件
</el-button>
</el-upload>
<div
class=
"app-gallery-item"
style=
"position: relative;width: 100px;margin-top: 10px;"
>
<img
v-if=
"!addMsg.BrandLogo || addMsg.BrandLogo==''"
src=
"../../../assets/img/default.png"
style=
"width:80px;height:80px"
alt=
""
>
...
...
@@ -78,6 +82,20 @@
}
this
.
changeState
=
false
;
},
//图片上传
UploadImage
(
file
)
{
console
.
log
(
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
;
this
.
addMsg
.
BrandLogo
=
imgUrl
});
},
openChangeDig
(
num
)
{
...
...
src/components/TravelManager/Lxy/addGuide.vue
View file @
8c9c1b69
...
...
@@ -46,7 +46,9 @@
</el-form-item>
<el-form-item
label=
"简介"
>
<!-- <UE style="width:750px;" :defaultMsg="defaultMsg" :config="config" :IsMultiple="true" ref="ue"></UE>-->
<quill-editor
:options=
"tl"
v-model=
"addMsg.Introduction"
></quill-editor>
<my-edit
v-on:edit-value=
"addMsg.Introduction = arguments[0]"
v-bind:editValue=
"addMsg.Introduction"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
<!-- <quill-editor :options="editorOption" v-model="addMsg.Introduction"></quill-editor> -->
</el-form-item>
</el-form>
...
...
@@ -65,11 +67,13 @@
<
script
>
// import ChooseImg from "@/components/global/ChooseImg.vue";
// import UE from "@/components/global/UE.vue";
import
tl
from
'./js/tl'
import
MyEdit
from
"../../EditTemplate.vue"
;
export
default
{
components
:
{
// ChooseImg,
// UE,
"my-edit"
:
MyEdit
},
data
()
{
return
{
...
...
@@ -83,25 +87,27 @@
EmergencyPhone
:
''
,
Introduction
:
''
,
},
tl
:
tl
,
editorOption
:
{
modules
:{
toolbar
:[
[
'bold'
,
'italic'
,
'underline'
,
'strike'
,
'image'
],
// toggled buttons
[{
'header'
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
[{
'color'
:
[]
},
{
'background'
:
[]
}],
[{
'font'
:
[]
}],
[{
'align'
:
[]
}],
[{
'size'
:
[
'small'
,
false
,
'large'
,
'huge'
]
}],
[{
'list'
:
'ordered'
},
{
'list'
:
'bullet'
}]
]
}
toolbar
:
{
clean
:
true
,
font
:
false
,
//字体
narrative
:
false
,
//叙述,
image
:
true
,
bold
:
true
,
//加粗
underline
:
true
,
//下划线
header1
:
true
,
//H1
header2
:
true
,
//H2
fontColor
:
true
,
//字体颜色
fontBackgroundColor
:
true
,
//背景颜色
},
DefaultList
:
[],
placeholder
:
"请输入"
,
defaultMsg
:
""
,
config
:
{
initialFrameWidth
:
null
,
initialFrameHeight
:
350
},
rules
:
{
Name
:
[{
...
...
@@ -231,6 +237,9 @@
.app-add-cat
.el-checkbox-group
{
font-size
:
14px
!important
;
}
.app-add-cat
.ql-toolbar
span
{
line-height
:
24px
;
}
.app-add-cat
.el-checkbox
{
margin-right
:
0
;
...
...
@@ -349,4 +358,8 @@
height
:
32px
;
margin
:
0
5px
;
}
.addGuide
.ql-toolbar.ql-snow
.ql-formats
{
margin-right
:
5px
;
line-height
:
24px
;
}
</
style
>
src/components/TravelManager/Lxy/directorGoodsEdit.vue
View file @
8c9c1b69
This diff is collapsed.
Click to expand it.
src/components/TravelManager/Lxy/directorGoodsList.vue
View file @
8c9c1b69
...
...
@@ -165,11 +165,11 @@
<h3
style=
"padding:15px 0"
>
一级分类
</h3>
<div
class=
"app-goods-cat-list active"
>
<el-checkbox-group
v-model=
"checkList"
>
<div
v-for=
"(item,index) in fenleiData"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
>
<div
v-for=
"(item,index) in fenleiData"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
style=
"display: flex;align-items: center;"
>
<el-checkbox
:label=
"item"
>
<span
style=
"display: none;"
>
{{item.Name}}
</span>
</el-checkbox>
<div
flex=
"box:last cross:center"
>
<div
flex=
"box:last cross:center"
style=
"display: flex;align-items: center;"
>
<span>
{{item.Name}}
</span>
<i
v-if=
"item.ChildList.length>0"
@
click=
"getChild2(item.ChildList)"
class=
"el-icon-arrow-right"
></i>
</div>
...
...
@@ -182,11 +182,11 @@
<h3
style=
"padding:15px 0"
>
二级分类
</h3>
<div
class=
"app-goods-cat-list active"
>
<el-checkbox-group
v-model=
"checkList"
>
<div
v-for=
"(item,index) in childList2"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
>
<div
v-for=
"(item,index) in childList2"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
style=
"display: flex;align-items: center;"
>
<el-checkbox
:label=
"item"
>
<span
style=
"display: none;"
>
{{item.Name}}
</span>
</el-checkbox>
<div
flex=
"box:last cross:center"
>
<div
flex=
"box:last cross:center"
style=
"display: flex;align-items: center;"
>
<span>
{{item.Name}}
</span>
<i
v-if=
"item.ChildList.length>0"
@
click=
"getChild3(item.ChildList)"
class=
"el-icon-arrow-right"
></i>
</div>
...
...
@@ -195,15 +195,15 @@
</div>
</el-col>
<el-col
v-show=
"childList3.length>0"
:span=
"8"
style=
"padding:0 10px;box-sizing:border-box"
>
<el-col
v-show=
"childList3.length>0"
:span=
"8"
style=
"padding:0 10px;box-sizing:border-box"
>
<h3
style=
"padding:15px 0"
>
三级分类
</h3>
<div
class=
"app-goods-cat-list active"
>
<el-checkbox-group
v-model=
"checkList"
>
<div
v-for=
"(item,index) in childList3"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
>
<div
v-for=
"(item,index) in childList3"
:key=
"index"
flex=
"dir:left box:first"
class=
"cat-item"
style=
"display: flex;align-items: center;"
>
<el-checkbox
:label=
"item"
>
<span
style=
"display: none;"
>
{{item.Name}}
</span>
</el-checkbox>
<div
flex=
"box:last cross:center"
>
<div
flex=
"box:last cross:center"
style=
"display: flex;align-items: center;"
>
<span>
{{item.Name}}
</span>
<i
class=
"el-icon-arrow-right"
></i>
</div>
...
...
@@ -722,4 +722,12 @@
padding
:
20px
;
box-sizing
:
border-box
;
}
.directorGoodsList
.el-pagination
ul
li
{
text-align
:
center
;
line-height
:
28px
;
position
:
static
!important
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
</
style
>
src/components/TravelManager/Lxy/directorGuideList.vue
View file @
8c9c1b69
...
...
@@ -255,8 +255,7 @@
this
.
$router
.
push
({
name
:
'addGuide'
,
query
:
{
ID
:
row
.
ID
,
blank
:
"y"
ID
:
row
.
ID
}
});
},
...
...
src/components/TravelManager/Lxy/directorSetting.vue
View file @
8c9c1b69
...
...
@@ -138,7 +138,7 @@
</div>
<div>
<el-form-item
label=
"订单状态"
>
<div
flex=
"dir:left wrap:wrap"
>
<div
flex=
"dir:left wrap:wrap"
style=
"display: flex"
>
<div
v-for=
"item in addMsg.OrderStateList"
:key=
"item.Id"
style=
"margin-right: 15px"
flex=
"dir:left"
>
<span>
{{
item
.
Id
}}
:
</span>
<el-input
style=
"width:100px"
placeholder=
"请输入"
size=
"small"
v-model=
"item.Name"
></el-input>
...
...
@@ -151,7 +151,7 @@
</el-form-item>
<el-form-item
label=
"详情页面链接"
>
<el-input
style=
"width:350px"
placeholder=
"请输入"
size=
"small"
v-model=
"addMsg.PagePath"
>
</el-input>
</el-form-item>
<el-form-item
label=
"提前预定天数"
>
...
...
@@ -196,7 +196,9 @@
</div>
<el-row>
<el-col
:span=
"242"
>
<UE
style=
"width:750px;"
:defaultMsg=
"defaultMsg"
:config=
"config"
:IsMultiple=
"true"
ref=
"ue"
></UE>
<!--
<UE
style=
"width:750px;"
:defaultMsg=
"defaultMsg"
:config=
"config"
:IsMultiple=
"true"
ref=
"ue"
></UE>
-->
<my-edit
v-on:edit-value=
"addMsg.InsuranceDescription = arguments[0]"
v-bind:editValue=
"addMsg.InsuranceDescription"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
v-bind:placeholder=
"placeholder"
></my-edit>
</el-col>
</el-row>
</el-card>
...
...
@@ -385,12 +387,15 @@
// import chooseMenu from "../common/chooseMenu.vue";
// import ChooseImg from "@/components/global/ChooseImg.vue";
// import UE from "@/components/global/UE.vue";
import
MyEdit
from
"../../EditTemplate.vue"
;
export
default
{
components
:
{
// chooseMenu,
// UE,
// ChooseImg
"my-edit"
:
MyEdit
},
data
()
{
...
...
@@ -429,6 +434,20 @@
},
choicImg
:
false
,
imgType
:
-
1
,
toolbar
:
{
clean
:
true
,
font
:
false
,
//字体
narrative
:
false
,
//叙述,
image
:
true
,
bold
:
true
,
//加粗
underline
:
true
,
//下划线
header1
:
true
,
//H1
header2
:
true
,
//H2
fontColor
:
true
,
//字体颜色
fontBackgroundColor
:
true
,
//背景颜色
},
DefaultList
:
[],
placeholder
:
"请输入"
,
};
},
created
()
{
...
...
@@ -460,8 +479,8 @@
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
content
=
this
.
$refs
.
ue
.
getUEContent
();
this
.
addMsg
.
InsuranceDescription
=
content
;
//
let content = this.$refs.ue.getUEContent();
//
this.addMsg.InsuranceDescription = content;
let
cmd
=
"/api/GuideCar/SetGuideCarInfo"
;
this
.
saveload
=
true
this
.
lxymallapipost
(
cmd
,
this
.
addMsg
,
...
...
@@ -488,9 +507,9 @@
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
if
(
this
.
addMsg
.
InsuranceDescription
&&
this
.
addMsg
.
InsuranceDescription
!=
""
)
{
this
.
defaultMsg
=
this
.
addMsg
.
InsuranceDescription
;
}
//
if (this.addMsg.InsuranceDescription && this.addMsg.InsuranceDescription != "") {
//
this.defaultMsg = this.addMsg.InsuranceDescription;
//
}
}
})
},
...
...
@@ -583,5 +602,9 @@
margin-top
:
10px
;
box-sizing
:
border-box
;
}
.directorSetting
.ql-toolbar.ql-snow
.ql-formats
{
margin-right
:
5px
;
line-height
:
24px
;
}
</
style
>
src/components/TravelManager/Lxy/js/tl.js
deleted
100644 → 0
View file @
891c77ae
/*富文本编辑图片上传配置*/
let
locationName
=
window
.
location
.
hostname
;
let
UploadUrl
=
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
"http://upload.oytour.com"
:
"http://192.168.20.214:8120"
;
const
uploadConfig
=
{
action
:
UploadUrl
+
"/Upload?filePath="
,
// 必填参数 图片上传地址
methods
:
'POST'
,
// 必填参数 图片上传方式
headers
:{},
// 可选参数 设置请求头部
token
:
''
,
// 可选参数 如果需要token验证,假设你的token有存放在sessionStorage
name
:
'image'
,
// 必填参数 文件的参数名
size
:
500
,
// 可选参数 图片大小,单位为Kb, 1M = 1024Kb
accept
:
'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'
// 可选 可上传的图片格式
};
// toolbar工具栏的工具选项(默认展示全部)
const
toolOptions
=
[
[
'bold'
,
'italic'
,
'underline'
,
'strike'
,
'image'
],
// toggled buttons
[{
'header'
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
[{
'color'
:
[]
},
{
'background'
:
[]
}],
[{
'font'
:
[]
}],
[{
'align'
:
[]
}],
[{
'size'
:
[
'small'
,
false
,
'large'
,
'huge'
]
}],
[{
'list'
:
'ordered'
},
{
'list'
:
'bullet'
}]
];
const
handlers
=
{
image
:
function
image
()
{
var
self
=
this
;
var
fileInput
=
this
.
container
.
querySelector
(
'input.ql-image[type=file]'
);
if
(
fileInput
===
null
)
{
fileInput
=
document
.
createElement
(
'input'
);
fileInput
.
setAttribute
(
'type'
,
'file'
);
// 设置图片参数名
if
(
uploadConfig
.
name
)
{
fileInput
.
setAttribute
(
'name'
,
uploadConfig
.
name
);
}
fileInput
.
setAttribute
(
'accept'
,
uploadConfig
.
accept
);
fileInput
.
classList
.
add
(
'ql-image'
);
// 监听选择文件
fileInput
.
addEventListener
(
'change'
,
function
()
{
// 创建formData
var
formData
=
new
FormData
();
console
.
log
(
fileInput
.
files
[
0
])
let
files
=
[];
files
.
push
(
fileInput
.
files
[
0
]);
formData
.
append
(
uploadConfig
.
name
,
fileInput
.
files
[
0
]);
formData
.
append
(
'object'
,
'product'
);
// 如果需要token且存在token
// 图片上传
var
xhr
=
new
XMLHttpRequest
();
// 可设置上传图片的格式
xhr
.
open
(
uploadConfig
.
methods
,
uploadConfig
.
action
,
true
);
xhr
.
setRequestHeader
(
'authorization'
,
uploadConfig
.
token
)
// 上传数据成功,会触发
// xhr.onload =function (e) {
//
// if (xhr.status ===200) {
//
// var res =JSON.parse(xhr.responseText);
//
// let length = self.quill.getSelection(true).index;
//
// //这里很重要,你图片上传成功后,img的src需要在这里添加,res.path就是你服务器返回的图片链接。
//
// self.quill.insertEmbed(length, 'image', res.data);
//
// self.quill.setSelection(length +1)
//
// }
//
// fileInput.value =''
//
// };
});
this
.
container
.
appendChild
(
fileInput
);
}
fileInput
.
click
();
}
};
export
default
{
placeholder
:
''
,
theme
:
'snow'
,
// 主题
modules
:
{
toolbar
:
{
container
:
toolOptions
,
// 工具栏选项
handlers
:
handlers
// 事件重写
}
}
};
src/components/commonPage/comHotelImg.vue
View file @
8c9c1b69
...
...
@@ -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 @
8c9c1b69
...
...
@@ -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/components/newTravelmanager/TravelGroupControl/TravelManager2.vue
View file @
8c9c1b69
...
...
@@ -317,6 +317,10 @@
},
//提交验证
submitForm
(
SaveType
)
{
if
(
this
.
PostConfig
.
LineteamId
==
0
){
this
.
Error
(
'请选择系列'
);
return
}
if
(
this
.
isSubmit
)
{
this
.
isSubmit
=
false
;
this
.
SaveData
(
SaveType
);
...
...
src/router/config.js
View file @
8c9c1b69
...
...
@@ -2591,7 +2591,7 @@ export default {
},
},{
path
:
'/addCar'
,
//司导专区=>车辆管理
name
:
'add
Site
'
,
name
:
'add
Car
'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/Lxy/addCar'
],
resolve
),
meta
:
{
title
:
'车辆管理'
...
...
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