Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigwood
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
罗超
bigwood
Commits
35ac083d
Commit
35ac083d
authored
Jan 18, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
4f000595
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1392 additions
and
366 deletions
+1392
-366
CharteredBus.ts
src/api/CharteredBus.ts
+12
-8
ListHeader.vue
src/components/CharteredBus/list/ListHeader.vue
+1
-1
ListTable.vue
src/components/CharteredBus/list/ListTable.vue
+1
-1
CharteredBusOrderHeader.vue
...components/CharteredBus/order/CharteredBusOrderHeader.vue
+172
-0
CharteredBusOrderList.vue
src/components/CharteredBus/order/CharteredBusOrderList.vue
+519
-0
ModifyOrderAddress.vue
src/components/CharteredBus/order/ModifyOrderAddress.vue
+142
-0
index.ts
src/i18n/zh-TW/index.ts
+22
-1
CharteredBusOrder.vue
src/pages/CharteredBus/CharteredBusOrder.vue
+27
-23
CharteredBusPreview.vue
src/pages/CharteredBus/CharteredBusPreview.vue
+114
-49
addEditVehicle.vue
src/pages/vehicle/addEditVehicle.vue
+2
-3
teamOrder.vue
src/pages/vehicle/teamOrder.vue
+351
-0
vehicleOrder.vue
src/pages/vehicle/vehicleOrder.vue
+27
-278
routes.ts
src/router/routes.ts
+2
-2
No files found.
src/api/CharteredBus.ts
View file @
35ac083d
...
...
@@ -2,15 +2,19 @@ import { HttpResponse } from '../@types'
import
request
from
'./request'
class
CharteredBusService
{
//
取消门票訂單
static
async
setTicketOrderCancel
(
OrderId
:
number
):
Promise
<
HttpResponse
>
{
return
request
(
'
ticket_post_CancelTicketOrder
'
,{
OrderId
})
//
包车訂單详情
static
async
GetTYMyCarOrderInfo
(
OrderId
:
number
):
Promise
<
HttpResponse
>
{
return
request
(
'
CarSingle_post_GetTYMyCarOrderInfo
'
,{
OrderId
})
}
//
门票訂單列表
static
async
getTicketOrderList
(
param
:
any
):
Promise
<
HttpResponse
>
{
return
request
(
'
ticket_post_GetMyTicketOrderPageList'
,
param
)
//
取消包车訂單
static
async
CancelTYCarOrder
(
OrderId
:
number
):
Promise
<
HttpResponse
>
{
return
request
(
'
CarSingle_post_CancelTYCarOrder'
,{
OrderId
}
)
}
// 提交包车訂單
// 包车訂單列表
static
async
GetTYMyCarOrderPageList
(
param
:
any
):
Promise
<
HttpResponse
>
{
return
request
(
'CarSingle_post_GetTYMyCarOrderPageList'
,
param
)
}
// 新增编辑 提交包车訂單
static
async
SetTYCarOrder
(
param
:
any
):
Promise
<
HttpResponse
>
{
return
request
(
'CarSingle_post_SetTYCarOrder'
,
param
)
}
...
...
@@ -18,7 +22,7 @@ class CharteredBusService {
static
async
GetTYCarSingleProductMonthPrice
(
param
:
any
):
Promise
<
HttpResponse
>
{
return
request
(
'CarSingle_post_GetTYCarSingleProductMonthPrice'
,
param
)
}
// 包车详情
// 包车
产品
详情
static
async
GetTYCarSingleProductInfo
(
param
:
any
):
Promise
<
HttpResponse
>
{
return
request
(
'CarSingle_post_GetTYCarSingleProductInfo'
,
param
)
}
...
...
src/components/CharteredBus/list/ListHeader.vue
View file @
35ac083d
...
...
@@ -84,7 +84,7 @@ export default {
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
msg
))
const
methods
=
{
goUrl
(){
$router
.
push
({
path
:
`/vehicle/addEditVehicle/
2
`
})
$router
.
push
({
path
:
`/vehicle/addEditVehicle/
4
`
})
},
getCarType
(
e
:
any
){
if
(
e
){
...
...
src/components/CharteredBus/list/ListTable.vue
View file @
35ac083d
...
...
@@ -24,7 +24,7 @@
</div>
-->
<div
v-if=
"search.msg.ViewType == 2"
class=
"row wrap justify-center"
>
<div
class=
"q-py-md"
style=
"width:
70%;min-width: 1000px
;"
>
<div
class=
"q-py-md"
style=
"width:
100%;overflow: auto
;"
>
<div
class=
"row q-pa-md q-mb-md bg-white rounded-borders"
>
<div
class=
"col"
></div>
<q-btn
dense
unelevated
class=
"hover q-px-sm q-mr-md"
v-for=
"(item,index) in 2"
...
...
src/components/CharteredBus/order/CharteredBusOrderHeader.vue
0 → 100644
View file @
35ac083d
<
template
>
<div
class=
"rounded-borders bg-white row items-center q-pa-md q-mb-md"
>
<q-select
v-if=
"$q.platform.is.desktop"
class=
"q-mr-md"
v-model=
"search.OrderStatus"
@
update:model-value=
"setOrderStatus"
dense
:options=
"status"
emit-value
option-label=
"StatusName"
option-value=
"StatusId"
map-options
:label=
"$t('hotelorder.search.status')"
standout
/>
<q-input
v-if=
"$q.platform.is.desktop"
class=
"q-mr-md"
v-model=
"search.OrderNo"
dense
standout
:label=
"$t('hotelorder.search.orderNum')"
/>
<q-field
v-if=
"$q.platform.is.desktop"
clearable
v-model=
"dateRangeFormat"
:label=
"$t('hotelorder.search.daterange')"
standout
class=
"col-2"
style=
"min-width: 190px"
dense
@
clear=
"getDateRange"
>
<div
class=
"self-center full-width no-outline"
tabindex=
"0"
>
{{
dateRangeFormat
}}
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy"
>
<q-date
v-model=
"dateRange"
:options=
"optionsFn"
range
mask=
"YYYY/MM/DD"
landscape
@
range-end=
"dateRangeHandler"
></q-date>
</q-popup-proxy>
</q-field>
<div
class=
"col"
></div>
<q-btn
unelevated
class=
"bg-grey-3 hover q-mr-md"
:title=
"$t('morequery')"
>
<q-badge
rounded
class=
"din bg-red-2 text-red-14 text-weight-bold"
floating
:label=
"searchCnt"
v-if=
"searchCnt > 0"
/>
<svg-icon
color=
"dark"
icon=
"Text/Filter.svg"
:tips=
"$t('morequery')"
:size=
"20"
></svg-icon>
<q-tooltip>
{{
$t
(
'morequery'
)
}}
</q-tooltip>
<q-popup-proxy
class=
"no-shadow"
style=
"box-shadow: 0 0 50px #ddd !important"
:offset=
"[0, 20]"
:model-value=
"canHide"
>
<q-card
class=
"q-pa-md rounded-borders"
style=
"width: 300px"
>
<div
class=
"q-mb-md text-subtitle2"
>
{{
$t
(
'morequery'
)
}}
</div>
<div
class=
"q-mt-md row"
>
<q-input
v-model=
"search.OrderNo"
dense
standout
:label=
"$t('hotelorder.search.orderNum')"
class=
"mobile-only col q-mr-md"
/>
<q-input
v-model=
"search.OrderId"
dense
standout
:label=
"$t('hotelorder.search.orderId')"
class=
"col"
/>
</div>
<div
class=
"mobile-only q-mt-md"
>
<q-field
clearable
v-model=
"dateRangeFormat"
:label=
"$t('hotelorder.search.daterange')"
standout
style=
"min-width: 190px"
dense
@
clear=
"getDateRange"
>
<div
class=
"self-center full-width no-outline"
tabindex=
"0"
>
{{
dateRangeFormat
}}
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy"
>
<q-date
v-model=
"dateRange"
:options=
"optionsFn"
range
mask=
"YYYY/MM/DD"
@
range-end=
"dateRangeHandler"
></q-date>
</q-popup-proxy>
</q-field>
</div>
<div
class=
"q-mt-md"
>
<q-field
clearable
v-model=
"dateRangeFormatUse"
:label=
"$t('v102.CharteredBus.sjc.c8')"
standout
style=
"min-width: 190px"
dense
@
clear=
"getDateRangeUse"
>
<div
class=
"self-center full-width no-outline"
tabindex=
"0"
>
{{
dateRangeFormatUse
}}
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxyUse"
>
<q-date
v-model=
"dateRangeUse"
:options=
"optionsFnUse"
range
mask=
"YYYY/MM/DD"
@
range-end=
"dateRangeHandlerUse"
></q-date>
</q-popup-proxy>
</q-field>
</div>
<div
class=
"q-mt-md row"
>
<q-input
class=
"col"
v-model=
"search.SurName"
dense
standout
:label=
"$t('v102.CharteredBus.sjc.c1x')"
/>
<q-input
class=
"col q-ml-sm"
v-model=
"search.Name"
dense
standout
:label=
"$t('v102.CharteredBus.sjc.c1m')"
/>
</div>
<q-input
v-model=
"search.ProductName"
dense
standout
:label=
"$t('v102.CharteredBus.sjc.c19')"
class=
"q-mt-md"
/>
<q-input
v-model=
"search.Mobile"
dense
standout
:label=
"$t('v102.CharteredBus.sjc.c2')"
class=
"q-mt-md"
/>
</q-card>
</q-popup-proxy>
</q-btn>
<q-btn
unelevated
class=
"bg-blue-1 text-primary hover q-mr-md"
:label=
"$t('hotelorder.recovery')"
/>
<q-btn
color=
"primary"
unelevated
:label=
"$t('query')"
@
click=
"setQueryHandler"
/>
</div>
<div
class=
"rounded-borders bg-white q-pa-sm q-mt-md mobile-only"
>
<q-tabs
v-model=
"search.OrderStatus"
class=
"text-cyan"
dense
>
<q-tab
:name=
"x.StatusId"
:label=
"x.StatusName"
v-for=
"x in status"
@
click=
"setOrderStatus(x.StatusId)"
/>
</q-tabs>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
DirtionmaryHelper
}
from
'../../../config/dictionary'
import
{
computed
,
defineComponent
,
inject
,
reactive
,
ref
,
toRefs
}
from
'vue'
import
{
OrderType
,
RoomType
,
StandardStatus
}
from
'../../../@types'
import
{
getHotelOrderStatus
,
getHotelOrderType
,
getHotelRoomType
}
from
'../../../utils/tools'
import
{
date
,
useQuasar
}
from
'quasar'
import
svgIcon
from
'../../global/svg-icon.vue'
export
default
defineComponent
({
components
:
{
svgIcon
},
setup
(
props
)
{
const
qDateProxy
=
ref
(
null
)
as
any
const
qDateProxyUse
=
ref
(
null
)
as
any
const
$q
=
useQuasar
()
const
data
=
reactive
({
status
:
[]
as
Array
<
StandardStatus
>
,
cancelStatus
:
{}
as
StandardStatus
|
undefined
,
dateRangeFormat
:
''
,
dateRangeFormatUse
:
''
,
dateRange
:
{}
as
any
,
dateRangeUse
:
{}
as
any
,
canHide
:
false
})
const
realSearch
=
inject
(
DirtionmaryHelper
.
TICKET_ORDER_SEARCH
)
as
any
const
search
=
reactive
(
JSON
.
parse
(
JSON
.
stringify
(
realSearch
)))
as
any
const
methods
=
{
initStatus
()
{
//通用的訂單類型
let
allStatus
=
getHotelOrderStatus
()
data
.
status
=
allStatus
.
filter
((
x
:
StandardStatus
)
=>
{
return
x
.
StatusId
!=
3
})
data
.
cancelStatus
=
allStatus
.
find
((
x
:
StandardStatus
)
=>
{
return
x
.
StatusId
==
3
})
},
optionsFnUse
(
cd
:
any
)
{
return
true
},
optionsFn
(
cd
:
any
)
{
return
cd
<
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
1
}),
'YYYY/MM/DD'
)
},
getDateRangeUse
(
value
){
search
.
OrderSTime
=
''
search
.
OrderETime
=
''
data
.
dateRangeFormatUse
=
''
},
getDateRange
(
value
){
search
.
StartTime
=
''
search
.
EndTime
=
''
data
.
dateRangeFormat
=
''
},
dateRangeHandlerUse
(
e
:
any
)
{
search
.
OrderSTime
=
`
${
e
.
from
.
year
}
/
${
e
.
from
.
month
}
/
${
e
.
from
.
day
}
`
search
.
OrderETime
=
`
${
e
.
to
.
year
}
/
${
e
.
to
.
month
}
/
${
e
.
to
.
day
}
`
data
.
dateRangeFormatUse
=
`
${
search
.
OrderSTime
}
-
${
search
.
OrderETime
}
`
if
(
qDateProxyUse
.
value
)
qDateProxyUse
.
value
.
hide
()
},
dateRangeHandler
(
e
:
any
)
{
search
.
StartTime
=
`
${
e
.
from
.
year
}
/
${
e
.
from
.
month
}
/
${
e
.
from
.
day
}
`
search
.
EndTime
=
`
${
e
.
to
.
year
}
/
${
e
.
to
.
month
}
/
${
e
.
to
.
day
}
`
data
.
dateRangeFormat
=
`
${
search
.
StartTime
}
-
${
search
.
EndTime
}
`
if
(
qDateProxy
.
value
)
qDateProxy
.
value
.
hide
()
},
setQueryHandler
()
{
realSearch
.
OrderId
=
search
.
OrderId
realSearch
.
OrderType
=
search
.
OrderType
realSearch
.
StartTime
=
search
.
StartTime
realSearch
.
EndTime
=
search
.
EndTime
realSearch
.
OrderSTime
=
search
.
OrderSTime
realSearch
.
OrderETime
=
search
.
OrderETime
realSearch
.
OrderStatus
=
search
.
OrderStatus
realSearch
.
OrderNo
=
search
.
OrderNo
realSearch
.
SurName
=
search
.
SurName
realSearch
.
Name
=
search
.
Name
realSearch
.
ProductName
=
search
.
ProductName
realSearch
.
Mobile
=
search
.
Mobile
console
.
log
(
realSearch
)
},
setOrderStatus
(
statusId
:
number
)
{
realSearch
.
OrderStatus
=
statusId
}
}
const
searchCnt
=
computed
(()
=>
{
let
setCnt
=
0
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
search
.
OrderStatus
>
0
)
setCnt
++
if
(
search
.
StartTime
.
length
>
0
)
setCnt
++
if
(
search
.
OrderNo
>
0
)
setCnt
++
}
if
(
search
.
OrderId
.
length
>
0
)
setCnt
++
if
(
search
.
OrderSTime
.
length
>
0
)
setCnt
++
if
(
search
.
MailingState
>
0
)
setCnt
++
if
(
search
.
Name
)
setCnt
++
if
(
search
.
ProductName
)
setCnt
++
if
(
search
.
Mobile
)
setCnt
++
return
setCnt
})
methods
.
initStatus
()
return
{
...
toRefs
(
data
),
...
methods
,
search
,
searchCnt
}
}
})
</
script
>
<
style
></
style
>
src/components/CharteredBus/order/CharteredBusOrderList.vue
0 → 100644
View file @
35ac083d
This diff is collapsed.
Click to expand it.
src/components/CharteredBus/order/ModifyOrderAddress.vue
0 → 100644
View file @
35ac083d
<
template
>
<q-card
class=
"bg-white q-pa-md"
style=
"max-width: 500px; min-width: 375px; "
>
<div
class=
"text-h6 q-mb-lg"
>
{{
$t
(
'v102.to.m.t'
)
}}
</div>
<div
class=
"row items-center"
>
<span
class=
"f12 text-grey-900 text-subtitle2 text-weight-bold"
:class=
"
{ 'col-2': $q.platform.is.desktop, 'col-3': $q.platform.is.mobile }">
{{
$t
(
'v102.ticket.gi'
)
}}
:
</span>
<span
class=
"col f12"
>
<q-radio
v-model=
"m.MailingState"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"1"
:label=
"$t('v102.ticket.zq')"
/>
<q-radio
v-model=
"m.MailingState"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"2"
:label=
"$t('v102.ticket.yj')"
/>
</span>
</div>
<div
v-if=
"m.MailingState == 1"
class=
"bg-light-blue-1 q-pa-md fz14 rounded-borders q-mt-md"
>
<div
class=
"text-weight-bold"
>
{{
$t
(
'v102.ticket.zqs'
)
}}
</div>
<div
class=
"text-grey-900 q-mt-sm f12"
>
{{
$t
(
'v102.ticket.zqd'
)
}}
</div>
</div>
<div>
<div
class=
"q-mt-md"
>
<span
class=
"f12 text-grey-900 text-subtitle2 text-weight-bold"
>
{{
$t
(
'v102.ticket.sj'
)
}}
</span>
</div>
<div
class=
"row items-center q-mt-md text-grey-600 q-mb-md"
v-if=
"$q.platform.is.desktop"
>
<div
class=
"col q-mr-md"
>
{{
$t
(
'v102.ticket.sjc.c1'
)
}}
</div>
<div
class=
"col q-mr-md"
>
{{
$t
(
'v102.ticket.sjc.c2'
)
}}
</div>
<div
class=
"col-2 q-mr-md"
>
{{
$t
(
'v102.ticket.sjc.c3'
)
}}
</div>
<div
class=
"col q-mr-md"
>
{{
$t
(
'v102.ticket.sjc.c4'
)
}}
</div>
<div
class=
"col-4"
v-if=
"m.MailingState == 2"
>
{{
$t
(
'v102.ticket.sjc.c5'
)
}}
</div>
</div>
<div
style=
"border-top: 1px dashed #eee"
:class=
"
{ 'row items-center': $q.platform.is.desktop, column: $q.platform.is.mobile }">
<q-input
dense
standout
v-model=
"m.Name"
class=
"col q-mt-md"
:class=
"
{ 'q-mr-md': $q.platform.is.desktop }" :placeholder="$t('v102.ticket.sjcp.c1')" :rules="[ val => val
&&
val.length > 0 || ' ']" ref="guestName"/>
<q-input
dense
standout
v-model=
"m.EName"
class=
"col q-mt-md"
:class=
"
{ 'q-mr-md': $q.platform.is.desktop }" :placeholder="$t('v102.ticket.sjcp.c2')" :rules="[ val => val
&&
val.length > 0 || ' ']" ref="guestEName"/>
<div
class=
"col q-mt-md"
:class=
"
{ 'q-mr-md': $q.platform.is.desktop }">
<q-radio
v-model=
"m.Sex"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"Number(1)"
:label=
"$t('v102.ticket.sex.man')"
/>
<q-radio
v-model=
"m.Sex"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"Number(2)"
:label=
"$t('v102.ticket.sex.women')"
/>
</div>
<q-input
dense
standout
v-model=
"m.Mobile"
class=
"col q-mt-md"
:class=
"
{ 'q-mr-md': $q.platform.is.desktop }" :placeholder="$t('v102.ticket.sjcp.c4')" :rules="[ val => val
&&
val.length == 11 || ' ']" ref="guestMobile"/>
<q-input
v-if=
"m.MailingState == 2"
dense
standout
v-model=
"m.MailingAddress"
class=
"col-4 q-mt-md"
:placeholder=
"$t('v102.ticket.sjcp.c5')"
:rules=
"[ val => val && val.length > 0 || ' ']"
ref=
"guestAddress"
/>
</div>
</div>
<div
class=
"q-mt-md"
>
<q-input
v-model=
"m.Remark"
standout
autogrow
:label=
"$t('v102.ticket.or')"
/>
</div>
<div
class=
"q-mt-lg text-right"
>
<!-- v-close-popup flat dense -->
<q-btn
color=
"negative"
class=
"q-px-lg"
:label=
"$t('v102.to.m.c')"
v-close-popup
flat
dense
@
click=
"close"
/>
<q-btn
color=
"primary"
class=
"q-ml-md q-px-lg"
:label=
"$t('v102.to.m.s')"
flat
dense
@
click=
"submit"
/>
</div>
</q-card>
</
template
>
<
script
lang=
"ts"
>
import
{
ref
,
defineComponent
,
reactive
,
toRefs
,
watch
}
from
'vue'
import
{
ApiResult
}
from
'src/@types/enumHelper'
import
TicketService
from
'../../../api/ticket'
import
message
from
'../../../utils/message'
import
{
useI18n
}
from
'vue-i18n'
export
default
defineComponent
({
props
:
[
'order'
],
setup
(
props
,
context
)
{
watch
(
()
=>
props
.
order
,
(
n
,
o
)
=>
{
// data.m = JSON.parse(JSON.stringify(n))
}
)
const
{
t
}
=
useI18n
()
const
guestName
=
ref
(
null
)
as
any
const
guestEName
=
ref
(
null
)
as
any
const
guestMobile
=
ref
(
null
)
as
any
const
guestAddress
=
ref
(
null
)
as
any
const
data
=
reactive
({
m
:
{}
as
any
,
loading
:
false
})
data
.
m
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
order
))
const
methods
=
{
close
(){
context
.
emit
(
'close'
)
},
submit
(){
if
(
data
.
loading
)
return
data
.
loading
=
true
let
flag
=
false
guestName
.
value
.
validate
()
guestEName
.
value
.
validate
()
guestMobile
.
value
.
validate
()
if
(
data
.
m
.
MailingState
==
'2'
){
guestAddress
.
value
.
validate
()
flag
=
!
guestName
.
value
.
hasError
&&
!
guestEName
.
value
.
hasError
&&
!
guestMobile
.
value
.
hasError
&&
!
guestAddress
.
value
.
hasError
}
else
{
flag
=
!
guestName
.
value
.
hasError
&&
!
guestEName
.
value
.
hasError
&&
!
guestMobile
.
value
.
hasError
data
.
m
.
MailingAddress
=
''
}
if
(
!
flag
)
return
let
m
=
{
IsUpdateMailing
:
1
,
OrderId
:
data
.
m
.
OrderId
,
CouponsId
:
data
.
m
.
CouponsId
,
Money
:
data
.
m
.
Money
,
UseDate
:
data
.
m
.
UseDate
,
Birthday
:
data
.
m
.
Birthday
,
DetailList
:
data
.
m
.
DetailList
,
MailingState
:
data
.
m
.
MailingState
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
data
.
m
.
MailingAddress
,
//MailingState =2 填写邮寄
Name
:
data
.
m
.
Name
,
EName
:
data
.
m
.
EName
,
Sex
:
data
.
m
.
Sex
,
//1男2女
Mobile
:
data
.
m
.
Mobile
,
Remark
:
data
.
m
.
Remark
,
}
let
param
=
Object
.
assign
(
m
)
TicketService
.
setTicketOrder
(
param
)
.
then
(
r
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
context
.
emit
(
'success'
)
message
.
successMsg
(
`
${
t
(
'success'
)}
`
)
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
}
data
.
loading
=
false
}).
catch
(
e
=>
{
data
.
loading
=
false
message
.
errorMsg
(
e
.
message
)
})
}
}
return
{
...
toRefs
(
data
),
...
methods
,
guestName
,
guestEName
,
guestMobile
,
guestAddress
}
}
})
</
script
>
<
style
></
style
>
src/i18n/zh-TW/index.ts
View file @
35ac083d
...
...
@@ -962,10 +962,15 @@ export default {
s29
:
'手配費:'
,
s30
:
'司機:'
,
s31
:
'車牌號:'
,
}
},
tabtitle0
:
'團隊訂單'
,
tabtitle1
:
'接機訂單'
,
tabtitle2
:
'送機訂單'
,
tabtitle3
:
'包車訂單'
,
},
CharteredBus
:{
pageTitle
:
'車輛檢索'
,
pageTitle2
:
'包車訂單'
,
baochetype
:
'包車類型'
,
baochetype0
:
'不限'
,
baochetype1
:
'接機'
,
...
...
@@ -1006,8 +1011,11 @@ export default {
nt
:
'沒有選擇車型'
,
rtt
:
'取消限製'
,
td
:
'团订'
,
bianji
:
'確定編輯訂單'
,
sjc
:{
c1
:
'姓名'
,
c1x
:
'姓'
,
c1m
:
'名'
,
c2
:
'電話'
,
c3
:
'性別'
,
c4
:
'聯絡方式'
,
...
...
@@ -1025,6 +1033,19 @@ export default {
c16
:
'婴儿数'
,
c17
:
'手提行李数'
,
c18
:
'托运行李数'
,
c19
:
'產品名稱'
,
c20
:
'機場'
,
c21
:
'成人'
,
c22
:
'儿童'
,
c23
:
'婴儿'
,
c24
:
'上下车地点'
,
c25
:
'上车'
,
c26
:
'下车'
,
c27
:
'手提行李'
,
c28
:
'托运行李'
,
c29
:
'人员'
,
c30
:
'人'
,
c31
:
'行李'
,
},
sjcp
:{
c1
:
'請輸入姓'
,
...
...
src/pages/CharteredBus/CharteredBusOrder.vue
View file @
35ac083d
<
template
>
<div
class=
"
fix-height-subpage column no-wrap q-pa
-md"
>
<
ticket-order-header></ticket-order-h
eader>
<
ticket-order-list></ticket-order-l
ist>
<div
class=
"
q-py
-md"
>
<
CharteredBusOrderHeader></CharteredBusOrderH
eader>
<
CharteredBusOrderList
:OrderType=
"OrderType"
></CharteredBusOrderL
ist>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
defineComponent
,
inject
,
provide
,
reactive
,
toRefs
,
onMounted
}
from
'vue'
import
{
defineComponent
,
inject
,
provide
,
reactive
,
toRefs
,
onMounted
,
watch
}
from
'vue'
import
{
currentRouter
}
from
'src/router'
import
useMetaModule
from
'../../module/meta/metaModule'
import
{
useI18n
}
from
'vue-i18n'
import
TicketOrderHeader
from
'src/components/CharteredBus/order/Ticket
OrderHeader.vue'
import
CharteredBusOrderHeader
from
'../../components/CharteredBus/order/CharteredBus
OrderHeader.vue'
import
{
DirtionmaryHelper
}
from
'src/config/dictionary'
import
TicketOrderList
from
'src/components/CharteredBus/order/Ticket
OrderList.vue'
import
CharteredBusOrderList
from
'../../components/CharteredBus/order/CharteredBus
OrderList.vue'
export
default
defineComponent
({
components
:
{
TicketOrderHeader
,
TicketOrderList
},
props
:[
'type'
],
components
:
{
CharteredBusOrderHeader
,
CharteredBusOrderList
},
setup
(
props
)
{
let
{
setTitle
}
=
useMetaModule
()
const
{
t
}
=
useI18n
()
const
pageTitle
=
inject
(
DirtionmaryHelper
.
PAGE_TITLE_KEY
)
as
any
pageTitle
.
value
=
t
(
'v102.to.pageTitle'
)
setTitle
(
pageTitle
.
value
)
// const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any
// pageTitle.value = t('v102.CharteredBus.pageTitle2')
// setTitle(pageTitle.value)
const
search
=
reactive
({
OrderType
:
props
.
type
,
OrderId
:
''
,
OrderNo
:
''
,
SurName
:
''
,
Name
:
''
,
Mobile
:
''
,
OrderStatus
:
0
,
StartTime
:
''
,
EndTime
:
''
,
OrderSTime
:
''
,
OrderETime
:
''
,
ProductName
:
''
,
// TicketName:'',//景区名称
CouponsName
:
''
,
//景区名称
ContactNumber
:
''
,
//电话
Name
:
''
,
//顾客名称
UseSTime
:
''
,
//门票开始时间
UseETime
:
''
,
//门票结束时间
MailingState
:
-
1
Mobile
:
''
,
//电话
})
search
.
OrderId
=
currentRouter
.
currentRoute
.
value
.
params
.
orderId
//
search.OrderId = currentRouter.currentRoute.value.params.orderId
provide
(
DirtionmaryHelper
.
TICKET_ORDER_SEARCH
,
search
)
const
menu
=
inject
(
DirtionmaryHelper
.
MENU_KEYS
)
as
any
menu
.
value
=
9
const
data
=
reactive
({})
const
data
=
reactive
({
OrderType
:
''
})
watch
(
props
,
(
n
,
o
)
=>
{
data
.
OrderType
=
props
.
type
})
const
methods
=
{}
onMounted
(()
=>
{})
return
{
...
toRefs
(
data
),
...
methods
,
search
}
...
...
src/pages/CharteredBus/CharteredBusPreview.vue
View file @
35ac083d
This diff is collapsed.
Click to expand it.
src/pages/vehicle/addEditVehicle.vue
View file @
35ac083d
...
...
@@ -168,7 +168,7 @@ export default defineComponent({
scrollStyle
:
{}
as
any
,
pages
:
''
})
if
(
currentRouter
.
currentRoute
.
value
.
params
.
Id
){
if
(
currentRouter
.
currentRoute
&&
currentRouter
.
currentRoute
.
value
.
params
.
Id
){
data
.
search
.
Id
=
currentRouter
.
currentRoute
.
value
.
params
.
Id
}
...
...
@@ -211,7 +211,6 @@ export default defineComponent({
HotelService
.
TypeVehicle
({})
.
then
(
r
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
data
.
vehicletop
=
r
.
data
.
data
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
...
...
@@ -315,7 +314,7 @@ export default defineComponent({
},
// 关闭
down
()
{
$router
.
push
({
path
:
data
.
pages
==
1
?
`/vehicle/order`
:
`/vehicle/index
`
})
$router
.
push
({
path
:
`/vehicle/order/0
`
})
},
// 确定
join
()
{
...
...
src/pages/vehicle/teamOrder.vue
0 → 100644
View file @
35ac083d
This diff is collapsed.
Click to expand it.
src/pages/vehicle/vehicleOrder.vue
View file @
35ac083d
This diff is collapsed.
Click to expand it.
src/router/routes.ts
View file @
35ac083d
...
...
@@ -21,8 +21,8 @@ const routes: RouteRecordRaw[] = [
{
path
:
'/ticket/preview/:ticketId/:Time'
,
component
:
()
=>
import
(
'pages/ticket/TicketOrderPreview.vue'
)
},
{
path
:
'/ticket/order'
,
component
:
()
=>
import
(
'pages/ticket/TicketOrder.vue'
)
},
{
path
:
'/vehicle/index'
,
component
:
()
=>
import
(
'pages/CharteredBus/CharteredBusList.vue'
)
},
//车辆
{
path
:
'/vehicle/Preview/:ProductId/:Time'
,
component
:
()
=>
import
(
'pages/CharteredBus/CharteredBusPreview.vue'
)
},
{
path
:
'/vehicle/order'
,
component
:
()
=>
import
(
'pages/vehicle/vehicleOrder.vue'
)
},
{
path
:
'/vehicle/Preview/:ProductId/:Time
/:orderId?
'
,
component
:
()
=>
import
(
'pages/CharteredBus/CharteredBusPreview.vue'
)
},
{
path
:
'/vehicle/order
/:pages?
'
,
component
:
()
=>
import
(
'pages/vehicle/vehicleOrder.vue'
)
},
{
path
:
'/vehicle/addEditVehicle/:pages/:Id?'
,
component
:
()
=>
import
(
'pages/vehicle/addEditVehicle.vue'
)
},
{
path
:
'/ticket/preview/:ticketId/:Time'
,
component
:
()
=>
import
(
'pages/ticket/TicketOrderPreview.vue'
)
},
{
path
:
'/ticket/order/:orderId?'
,
component
:
()
=>
import
(
'pages/ticket/TicketOrder.vue'
)
}
...
...
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