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
ce0d1f89
Commit
ce0d1f89
authored
Aug 15, 2025
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
d7491db8
e1707fdf
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
2564 additions
and
1628 deletions
+2564
-1628
addConfig.js
src/components/SalesModule/components/addConfig.js
+12
-0
addOrder.vue
src/components/SalesModule/components/addOrder.vue
+1564
-0
groupOrder.vue
src/components/SalesModule/components/groupOrder.vue
+867
-0
groupTourOrder.vue
src/components/SalesModule/groupTourOrder.vue
+61
-6
userMixin.js
src/components/common/mixins/userMixin.js
+3
-3
pinkDrawer.vue
src/components/common/pinkDrawer.vue
+45
-0
OrderPreview.vue
src/components/cruiseShip/OrderPreview.vue
+0
-777
editOP.vue
src/components/cruiseShip/components/editOP.vue
+1
-1
loss.vue
src/components/cruiseShip/components/loss.vue
+1
-1
offset.vue
src/components/cruiseShip/components/offset.vue
+1
-1
remarks.vue
src/components/cruiseShip/components/remarks.vue
+1
-1
totalAamount.vue
src/components/cruiseShip/components/totalAamount.vue
+1
-1
cruiseShipInfo.vue
src/components/cruiseShip/list/cruiseShipInfo.vue
+1
-1
cruiseShipOrderList.vue
src/components/cruiseShip/list/cruiseShipOrderList.vue
+6
-3
cruiseShipSupplier.vue
src/components/cruiseShip/supplier/cruiseShipSupplier.vue
+0
-570
cruiseSupplierConfig.js
src/components/cruiseShip/supplier/cruiseSupplierConfig.js
+0
-255
config.js
src/router/config.js
+0
-8
No files found.
src/components/SalesModule/components/addConfig.js
0 → 100644
View file @
ce0d1f89
// 邮轮列表配置
export
const
addConfig
=
{
// 抽屉配置
drawerConfig
:
{
title
:
'跟团游信息'
,
size
:
'90%'
,
direction
:
'rtl'
},
}
// 导出默认配置
export
default
addConfig
src/components/
cruiseShip/supplier/supplierInfo
.vue
→
src/components/
SalesModule/components/addOrder
.vue
View file @
ce0d1f89
This diff is collapsed.
Click to expand it.
src/components/SalesModule/components/groupOrder.vue
0 → 100644
View file @
ce0d1f89
This diff is collapsed.
Click to expand it.
src/components/SalesModule/groupTourOrder.vue
View file @
ce0d1f89
<
style
>
@import
"../../assets/css/newTravelManager.css"
;
@import
'../common/BaseListManager.css'
;
.color_red_order
{
color
:
#e95252
!important
;
}
...
...
@@ -1647,6 +1647,7 @@
</el-popover>
</li>
<li>
<input
v-if=
"userInfo.SimpleEasy==1"
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.addBtn')"
@
click=
"addOrders"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"
getList();
resetPageIndex();
...
...
@@ -1772,8 +1773,23 @@
</el-row>
</div>
<!-- 表格 -->
<div
style=
"width: 100%; height: auto; overflow-x: auto"
class=
"ownScrollbarStyle"
>
<table
class=
"groupTourOrderSearchTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<div
style=
"width: 100%; height: auto; overflow-x: auto"
class=
"ownScrollbarStyle"
v-loading=
"loading"
>
<groupOrder
v-if=
"userInfo.SimpleEasy==1"
:list=
"list"
:orderList=
"orderList"
:logList=
"logList"
:redBagList=
"redBagList"
:qjGroupId=
"qjGroupId"
:isShow=
"isShow"
:showID=
"showID"
:TransferMission=
"TransferMission"
:isEditOrderCreate=
"isEditOrderCreate"
@
goIisDetail=
"goIisDetail"
@
goUrlTS=
"goUrlTS"
@
goContract=
"goContract"
@
goSingleContract=
"goSingleContract"
@
goProtocol=
"goProtocol"
@
goDisclaimer=
"goDisclaimer"
@
goInvetig=
"goInvetig"
@
SpecialAPP=
"SpecialAPP"
@
deleteItem=
"deleteItem"
@
ShenQingPhoto=
"ShenQingPhoto"
@
Discount=
"Discount"
@
goUrlAdd=
"goUrlAdd"
@
getOrderGender=
"getOrderGender"
@
transfer=
"transfer"
@
getHouse=
"getHouse"
@
toTrip=
"toTrip"
@
getSalerInfo=
"getSalerInfo"
@
getLogDetail=
"getLogDetail"
@
getRemarks=
"getRemarks"
@
getDetail=
"getDetail"
@
downLoadFile=
"downLoadFile"
@
getMembersDetail=
"getMembersDetail"
@
seeBJD=
"seeBJD"
@
gotoProduct=
"gotoProduct"
@
goUrlX=
"goUrlX"
@
getOrderDetail=
"getOrderDetail"
@
goUrlHappy=
"goUrlHappy"
@
getRedBag=
"getRedBag"
@
goUrlT=
"goUrlT"
@
setChargeLoss=
"setChargeLoss"
@
goUrlSFD=
"goUrlSFD"
@
uploadFileBtn=
"uploadFileBtn"
@
childByValue=
"childByValue"
></groupOrder>
<table
v-else
class=
"groupTourOrderSearchTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"210"
>
{{ $t("fnc.danhao") }}
&
{{ $t("visa.v_tuanhao") }}
</th>
<th
width=
"120"
>
{{ $t("fnc.khxinxi") }}
</th>
...
...
@@ -2685,6 +2701,14 @@
</button>
</div>
</el-dialog> -->
<pinkDrawer
ref=
"addOrders"
:drawer-config=
"drawerConfig"
>
<
template
slot=
"drawer"
slot-scope=
"{ visible, close }"
>
<addOrder
v-if=
"visible&&showType==1"
:isDrawerMode=
"true"
:details=
"selectedSpotData"
@
close=
"close"
@
save-success=
"handleSaveSuccess"
></addOrder>
</
template
>
</pinkDrawer>
</div>
</template>
...
...
@@ -2698,9 +2722,15 @@
import
orderRemark
from
"../orderCommon/order-remark.vue"
;
//订单备注
import
PriceDetail
from
'../orderCommon/PriceDetail.vue'
;
import
DateLimit
from
'../public/DateLimit.vue'
;
import
pinkDrawer
from
'../common/pinkDrawer.vue'
;
import
addOrder
from
'./components/addOrder.vue'
;
import
addConfig
from
"./components/addConfig.js"
;
import
groupOrder
from
"./components/groupOrder.vue"
;
export
default
{
data
()
{
return
{
selectedSpotData
:
null
,
showType
:
1
,
//团信息
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
QStartDate
);
...
...
@@ -3046,7 +3076,10 @@
commissionDialog
,
orderRemark
:
orderRemark
,
PriceDetail
,
DateLimit
DateLimit
,
pinkDrawer
,
addOrder
,
groupOrder
,
},
filters
:
{
priceFormat
(
value
)
{
...
...
@@ -3067,7 +3100,22 @@
this
.
checkdAll
(
val
);
},
},
computed
:
{
// 抽屉配置
drawerConfig
()
{
return
addConfig
.
drawerConfig
;
},
},
methods
:
{
addOrders
()
{
this
.
$refs
.
addOrders
.
openDrawer
();
},
handleSaveSuccess
()
{
this
.
$refs
.
addOrders
.
handleDrawerClose
();
this
.
getList
();
this
.
getCount
()
this
.
$message
.
success
(
'保存成功'
);
},
gotoProduct
(
item
)
{
var
path
=
"productQuery"
;
if
(
item
.
teamType
==
4
)
{
...
...
@@ -3928,6 +3976,14 @@
}
},
getDetail
(
obj
)
{
if
(
this
.
userInfo
.
SimpleEasy
==
1
){
this
.
OperationType
=
1
this
.
showType
=
1
obj
.
OperationType
=
1
this
.
selectedSpotData
=
obj
;
this
.
$refs
.
addOrders
.
openDrawer
(
obj
);
return
;
}
this
.
goLVurl
.
orderId
=
obj
.
orderId
;
this
.
goLVurl
.
tcid
=
obj
.
tcid
;
this
.
goLVurl
.
tcnum
=
obj
.
tcnum
;
...
...
@@ -4035,7 +4091,6 @@
if
(
x
.
ClientSource
==
1
)
{
this
.
isPingtai
=
true
;
}
this
.
isShowLayer
=
true
;
this
.
isShowHouse
=
false
;
this
.
isShowLayerRemarks
=
false
;
...
...
src/components/common/mixins/
addEdit
Mixin.js
→
src/components/common/mixins/
user
Mixin.js
View file @
ce0d1f89
//
列表管理
通用 Mixin
export
const
addEdit
Mixin
=
{
//
用户相关数据
通用 Mixin
export
const
user
Mixin
=
{
data
()
{
return
{
//用户信息
...
...
@@ -16,4 +16,4 @@ export const addEditMixin = {
}
};
export
default
addEdit
Mixin
;
export
default
user
Mixin
;
src/components/common/pinkDrawer.vue
0 → 100644
View file @
ce0d1f89
<
template
>
<div>
<el-drawer
v-if=
"drawerConfig"
:visible
.
sync=
"drawerVisible"
v-bind=
"drawerConfig"
@
close=
"handleDrawerClose"
>
<slot
name=
"drawer"
:visible=
"drawerVisible"
:data=
"drawerData"
:close=
"handleDrawerClose"
>
</slot>
</el-drawer>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
// 抽屉配置
drawerConfig
:
{
type
:
Object
,
default
:
null
},
},
data
()
{
return
{
// 抽屉状态
drawerVisible
:
false
,
drawerData
:
null
,
}
},
mounted
()
{
},
methods
:
{
// 抽屉相关方法
openDrawer
(
data
=
null
)
{
this
.
drawerData
=
data
;
this
.
drawerVisible
=
true
;
},
handleDrawerClose
()
{
this
.
drawerVisible
=
false
;
this
.
drawerData
=
null
;
this
.
$emit
(
'drawer-close'
);
},
},
}
</
script
>
\ No newline at end of file
src/components/cruiseShip/OrderPreview.vue
deleted
100644 → 0
View file @
d7491db8
This diff is collapsed.
Click to expand it.
src/components/cruiseShip/components/editOP.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/components/loss.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/components/offset.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/components/remarks.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/components/totalAamount.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/list/cruiseShipInfo.vue
View file @
ce0d1f89
...
...
@@ -36,6 +36,7 @@
flex-direction
:
column
;
border
:
none
;
box-shadow
:
none
;
overflow
:
hidden
;
}
.drawer-mode
.hotel-tabs
.el-tabs__header
{
...
...
@@ -82,7 +83,6 @@
}
.drawer-mode
.tab-content.hidden
{
height
:
calc
(
100vh
-
160px
);
overflow
:
hidden
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/components/cruiseShip/list/cruiseShipOrderList.vue
View file @
ce0d1f89
...
...
@@ -141,7 +141,7 @@
<!-- 抽屉插槽 -->
<
template
slot=
"drawer"
slot-scope=
"{ visible, close }"
>
<CruiseShipInfo
v-if=
"visible&&
userInfo.SimpleEasy==1&&
ShowType==1"
<CruiseShipInfo
v-if=
"visible&&ShowType==1"
:isDrawerMode=
"true"
:details=
"selectedSpotData"
@
close=
"close"
@
save-success=
"handleSaveSuccess"
/>
...
...
@@ -178,7 +178,7 @@
<
script
>
import
BaseListManager
from
"../../common/BaseListManager.vue"
;
import
{
listManagerMixin
}
from
"../../common/mixins/listManagerMixin.js"
;
import
{
addEditMixin
}
from
"../../common/mixins/addEdit
Mixin.js"
;
import
{
userMixin
}
from
"../../common/mixins/user
Mixin.js"
;
import
spotListConfig
from
"./cruiseShipListConfig.js"
;
import
CruiseShipInfo
from
'./cruiseShipInfo.vue'
import
ApplyFoInvoice
from
'../../public/ApplyFoInvoice'
;
...
...
@@ -190,7 +190,7 @@ import offset from '../components/offset.vue';
export
default
{
name
:
"ScenicSpotListNew"
,
mixins
:
[
listManagerMixin
,
addEdit
Mixin
],
mixins
:
[
listManagerMixin
,
user
Mixin
],
components
:
{
BaseListManager
,
CruiseShipInfo
,
...
...
@@ -336,6 +336,7 @@ export default {
},
// 制作单据
makeAdocument
(
row
,
index
,
num
,
Offset
)
{
if
((
num
==
2
||
num
==
3
)
&&
(
row
.
Income
+
row
.
PlatformMoney
)
<=
0
)
{
this
.
Info
(
this
.
$t
(
'objFill.qinxianzhidanzaizhicbtkdj'
))
return
...
...
@@ -362,6 +363,8 @@ export default {
}
if
(
Offset
)
{
this
.
ShowType
=
6
}
else
{
this
.
ShowType
=
0
}
query
=
{
blank
:
"y"
,
...
...
src/components/cruiseShip/supplier/cruiseShipSupplier.vue
deleted
100644 → 0
View file @
d7491db8
This diff is collapsed.
Click to expand it.
src/components/cruiseShip/supplier/cruiseSupplierConfig.js
deleted
100644 → 0
View file @
d7491db8
// 邮轮列表配置
export
const
scenicSpotListConfig
=
{
// 表格基础配置
tableConfig
:
{
height
:
'100%'
,
border
:
true
,
stripe
:
true
,
size
:
'mini'
,
'empty-text'
:
'暂无邮轮数据'
},
// 分页配置
paginationConfig
:
{
background
:
true
,
layout
:
'total, sizes, prev, pager, next, jumper'
,
'pager-count'
:
7
,
'hide-on-single-page'
:
false
,
'page-sizes'
:
[
10
,
14
,
20
,
25
,
50
,
100
],
'page-size'
:
14
,
'current-page'
:
1
,
small
:
false
,
disabled
:
false
,
'prev-text'
:
''
,
'next-text'
:
''
,
total
:
0
},
// 分页默认配置
defaultPagination
:
{
currentPage
:
1
,
pageSize
:
14
,
total
:
0
,
pageSizes
:
[
10
,
14
,
20
,
25
,
50
,
100
]
},
// 列配置工厂函数
createColumns
:
(
options
=
{})
=>
[
{
id
:
'scenic-name-column'
,
label
:
'邮轮名称'
,
prop
:
'Name'
,
minWidth
:
150
,
// fixed: 'left',
type
:
'link'
,
slotName
:
'scenicName'
,
filter
:
{
type
:
'input'
,
key
:
'NameFilter'
,
placeholder
:
'输入邮轮名称'
}
},
{
id
:
'city-column'
,
label
:
'城市'
,
prop
:
'CityName'
,
minWidth
:
100
,
slotName
:
'cityName'
,
filter
:
{
type
:
'select'
,
key
:
'CityFilter'
,
placeholder
:
'选择城市'
,
searchable
:
true
,
multiple
:
true
,
options
:
options
.
cityList
||
[]
}
},
{
id
:
'ticket-type-column'
,
label
:
'邮轮类型'
,
prop
:
'TicketTypeName'
,
minWidth
:
120
,
slotName
:
'ticketType'
,
filter
:
{
type
:
'select'
,
key
:
'TicketTypeFilter'
,
placeholder
:
'选择邮轮类型'
,
multiple
:
true
,
options
:
options
.
ticketTypeList
||
[]
}
},
{
label
:
'邮轮名称英文'
,
prop
:
'RealName'
,
minWidth
:
150
,
slotName
:
'realName'
,
emptyText
:
'-'
,
filter
:
{
type
:
'input'
,
key
:
'EnNameFilter'
,
placeholder
:
'输入邮轮英文名称'
}
},
{
label
:
'营业时间'
,
prop
:
'OpeningHours'
,
minWidth
:
150
,
slotName
:
'businessHours'
,
emptyText
:
'-'
},
{
label
:
'最后更新时间'
,
prop
:
'UpdateDate'
,
minWidth
:
150
,
slotName
:
'updateDate'
,
emptyText
:
'-'
},
{
label
:
'状态'
,
prop
:
'Status'
,
minWidth
:
80
,
slotName
:
'status'
,
filter
:
{
type
:
'select'
,
key
:
'StatusFilter'
,
placeholder
:
'选择状态'
,
options
:
[
{
label
:
'正常'
,
value
:
'0'
},
{
label
:
'删除'
,
value
:
'1'
}
]
}
}
],
// 操作列配置
actionColumn
:
{
label
:
'操作'
,
width
:
120
,
fixed
:
'right'
},
// 高级查询配置
advancedSearchConfig
:
{
title
:
'高级查询'
,
buttonText
:
'高级查询'
,
width
:
600
,
fields
:
[
{
key
:
'QCountry'
,
label
:
'国家'
,
type
:
'select'
,
placeholder
:
'选择国家'
,
span
:
8
,
options
:
[]
// 动态填充
},
{
key
:
'QProvince'
,
label
:
'省份'
,
type
:
'select'
,
placeholder
:
'选择省份'
,
span
:
8
,
options
:
[]
// 动态填充
}
]
},
// 工具操作配置
toolActions
:
[
// {
// command: 'add',
// label: '添加邮轮',
// type: 'primary',
// icon: 'el-icon-plus',
// permission: 'scenic.add'
// },
{
command
:
'export'
,
label
:
'导出数据'
,
icon
:
'el-icon-download'
,
permission
:
'scenic.export'
},
{
command
:
'importData'
,
label
:
'导入数据'
,
icon
:
'el-icon-upload2'
,
permission
:
'scenic.import'
},
{
command
:
'refresh'
,
label
:
'刷新'
,
icon
:
'el-icon-refresh'
,
type
:
'default'
},
{
command
:
'clearFilters'
,
label
:
'清除筛选'
,
icon
:
'el-icon-delete'
,
type
:
'warning'
}
],
// 抽屉配置
drawerConfig
:
{
title
:
'邮轮信息'
,
size
:
'90%'
,
direction
:
'rtl'
},
// API 配置
apiConfig
:
{
list
:
'ticketcoupons_post_GetPageList'
,
delete
:
'ticketcoupons_post_Remove'
,
export
:
'dmcstatistics_post_GetTicketCouponsExport'
,
import
:
'ticketcoupons_post_ImportData'
,
countryList
:
'dict_post_Destination_GetCountry'
,
provinceList
:
'dict_post_Destination_GetChildList'
,
employeeList
:
'admin_get_EmployeeGetList'
,
ticketTypeList
:
'ticketcoupons_get_GetBYTicketTypeEnumList'
,
batchDelete
:
'ticketcoupons_post_BatchRemove'
,
uploadTemplate
:
'file_post_UploadTemplate'
,
cityList
:
'dict_post_Destination_GetCityList'
},
// 默认查询参数
defaultQueryParams
:
{
pageIndex
:
1
,
pageSize
:
14
,
Name
:
""
,
QCountry
:
""
,
QProvince
:
""
,
QCity
:
""
,
QDistrict
:
""
,
Status
:
"0"
,
TicketType
:
"-1"
,
UpdateBy
:
0
,
SelectType
:
1
},
// 分页配置工具方法
createPaginationConfig
:
(
options
=
{})
=>
({
...
scenicSpotListConfig
.
paginationConfig
,
...
options
}),
// 验证分页参数
validatePaginationParams
:
(
pageIndex
,
pageSize
,
total
)
=>
{
const
validPageSizes
=
[
10
,
14
,
20
,
25
,
50
,
100
]
const
normalizedPageSize
=
validPageSizes
.
includes
(
pageSize
)
?
pageSize
:
14
const
maxPage
=
total
>
0
?
Math
.
ceil
(
total
/
normalizedPageSize
)
:
1
const
normalizedPageIndex
=
Math
.
max
(
1
,
Math
.
min
(
pageIndex
,
maxPage
))
return
{
pageIndex
:
normalizedPageIndex
,
pageSize
:
normalizedPageSize
,
isValid
:
pageIndex
===
normalizedPageIndex
&&
pageSize
===
normalizedPageSize
}
}
}
// 导出默认配置
export
default
scenicSpotListConfig
// 导出分页配置工具方法
export
const
createPaginationConfig
=
scenicSpotListConfig
.
createPaginationConfig
export
const
validatePaginationParams
=
scenicSpotListConfig
.
validatePaginationParams
src/router/config.js
View file @
ce0d1f89
...
...
@@ -1921,14 +1921,6 @@ export default {
title
:
'邮轮订单OP'
},
},
{
path
:
'/cruiseShipSupplier'
,
name
:
'cruiseShipSupplier'
,
component
:
resolve
=>
require
([
'@/components/cruiseShip/supplier/cruiseShipSupplier'
],
resolve
),
meta
:
{
title
:
'邮轮供应商'
},
},
{
path
:
'/TicketManager'
,
//机票列表
name
:
'TicketManager'
,
...
...
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