Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
million
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
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
viitto
million
Commits
7b1d948a
Commit
7b1d948a
authored
Mar 06, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
0c41724d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
140 additions
and
73 deletions
+140
-73
orderPreview.vue
src/components/car/orderPreview.vue
+8
-17
orderForm.vue
src/pages/Pickuporder/orderForm.vue
+127
-55
detailsCar.vue
src/pages/detailsCar.vue
+5
-1
No files found.
src/components/car/orderPreview.vue
View file @
7b1d948a
...
...
@@ -144,7 +144,7 @@
||(dataList.CarType!=3&&!selectedAirportObj)
||(dataList.CarType==1&&!unCarObj)||(dataList.CarType==2&&!onCarObj)
||(dataList.CarType==3&&(!onCarObj||!unCarObj))"
@
click=
"go
Url
"
/>
@
click=
"go
OrderHandler
"
/>
</div>
</div>
</div>
...
...
@@ -199,8 +199,9 @@ export default {
},
methods
:
{
goUrl
(){
let
OrderDate
=
{
goOrderHandler
(){
let
order
=
{
key
:
null
,
CarObj
:
this
.
selectedCarObj
,
AirportObj
:
{
Address
:
this
.
selectedAirportObj
?
this
.
selectedAirportObj
.
Address
:
''
,
...
...
@@ -235,20 +236,10 @@ export default {
Range
:
this
.
unCarObj
?
this
.
unCarObj
.
Range
:
''
},
}
// console.log(OrderDate,'========')
// return
this
.
CommonJump
(
"/PickuporderForm"
,
{
OrderDate
:
encodeURIComponent
(
JSON
.
stringify
(
OrderDate
)),
// CarObj: JSON.stringify(this.selectedCarObj),
// AirportObj: JSON.stringify(this.selectedAirportObj),
// calculationAmount: JSON.stringify(this.p),
// calculationNum: JSON.stringify(this.chosenObj),
// sumPrice: JSON.stringify(this.sumPrice),
// details: JSON.stringify(this.dataList)
}
);
let
key
=
this
.
$md5
(
JSON
.
stringify
(
order
))
order
.
key
=
key
localStorage
.
setItem
(
"lineCars"
,
JSON
.
stringify
(
order
))
this
.
CommonJump
(
'/PickuporderForm/'
+
key
,
{});
},
// 获取车的详情
getCarPriceData2
()
{
...
...
src/pages/Pickuporder/orderForm.vue
View file @
7b1d948a
...
...
@@ -56,25 +56,12 @@
standout
/>
</div>
<div
:class=
"filedWidth"
>
<q-input
standout
v-model=
"parameters.Mobile"
label=
"電話"
:rules=
"[(val) => !!val && val.length == 11 || '請輸正確電話']"
ref=
"Mobile"
>
<template
v-slot:prepend
>
<div
class=
"text-subtitle2"
>
+
{{
userInfo
.
areaCode
}}
</div>
</
template
>
</q-input>
</div>
<div
:class=
"filedWidth"
>
<q-input
standout
v-model=
"userInfo.mail"
label=
"郵箱地址"
:rules=
"[(val) =>
!!val || '請輸入
郵箱地址']"
:rules=
"[(val) =>
/^[a-zA-Z0-9]+([-_.][A-Za-zd]+)*@([a-zA-Z0-9]+[-.])+[A-Za-zd]
{2,5}$/.test(val) || '請輸入正確的
郵箱地址']"
ref="mail"
/>
</div>
...
...
@@ -167,6 +154,8 @@
placeholder=
"例:WeChat"
:rules=
"[(val) => !!val || '請輸联络方式']"
ref=
"ContactWay"
mask=
"X"
reverse-fill-mask
>
</q-input>
</div>
...
...
@@ -177,6 +166,8 @@
label=
"電話"
:rules=
"[(val) => !!val && val.length == 11 || '請輸正確電話']"
ref=
"Mobile"
mask=
"#"
reverse-fill-mask
>
<template
v-slot:prepend
>
<div
class=
"text-subtitle2"
>
+
{{
userInfo
.
areaCode
}}
</div>
...
...
@@ -214,7 +205,12 @@
placeholder=
"例:航廈"
:rules=
"[(val) => !!val || '請輸航廈']"
ref=
"AirportTerminal"
/>
readonly
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy7"
>
<q-input
type=
"textarea"
dense
standout
autofocus
v-model=
"parameters.AirportTerminal"
placeholder=
"請輸航廈"
/>
</q-popup-proxy>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
...
...
@@ -224,7 +220,12 @@
placeholder=
""
:rules=
"[(val) => !!val || '請輸航空公司名稱']"
ref=
"AirLine"
/>
readonly
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy8"
>
<q-input
type=
"textarea"
dense
standout
autofocus
v-model=
"parameters.AirLine"
placeholder=
"請輸航空公司名稱"
/>
</q-popup-proxy>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
...
...
@@ -234,6 +235,8 @@
placeholder=
"例:CA123"
:rules=
"[(val) => !!val || '請輸航班編號']"
ref=
"FlightNumber"
mask=
"X"
reverse-fill-mask
/>
</div>
<div
:class=
"filedGuestWidth"
>
...
...
@@ -302,11 +305,16 @@
v-model=
"parameters.GetonAddress"
label=
"上車地點"
placeholder=
""
:rules=
"[(val) => !!val || '請輸上車地點和地址供司機參考']"
ref=
"GetonAddress"
>
:rules=
"[(val) => !!val || '請輸上車地點供司機參考']"
ref=
"GetonAddress"
readonly
>
<
template
v-slot:append
>
<
q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
@
click=
"getAddress(1)"
/
>
<
!--
<q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
@
click=
"getAddress(1)"
/>
--
>
</
template
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy5"
>
<q-input
type=
"textarea"
dense
standout
autofocus
v-model=
"parameters.GetonAddress"
placeholder=
"請輸上車地點供司機參考"
/>
</q-popup-proxy>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
v-if=
"details.CarType!=2"
>
...
...
@@ -315,11 +323,16 @@
v-model=
"parameters.GetoffAddress"
label=
"下車地點"
placeholder=
""
:rules=
"[(val) => !!val || '請輸下車地點和地址供司機參考']"
ref=
"GetoffAddress"
>
:rules=
"[(val) => !!val || '請輸下車地點供司機參考']"
ref=
"GetoffAddress"
readonly
>
<
template
v-slot:append
>
<
q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
@
click=
"getAddress(2)"
/
>
<
!--
<q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
@
click=
"getAddress(2)"
/>
--
>
</
template
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy6"
>
<q-input
type=
"textarea"
dense
standout
autofocus
v-model=
"parameters.GetoffAddress"
placeholder=
"請輸下車地點供司機參考"
/>
</q-popup-proxy>
</q-input>
</div>
...
...
@@ -334,31 +347,34 @@
<div
class=
"row q-col-gutter-md"
>
<div
:class=
"filedGuestWidth"
>
<q-input
type=
"Number"
standout
v-model=
"parameters.ManNum"
label=
"成人數(18-99岁)"
@
input=
"getNum"
:rules=
"[(val) => !!val || '請輸成人數']"
ref=
"ManNum"
mask=
"#"
reverse-fill-mask
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
type=
"Number"
standout
v-model=
"parameters.ChildNum"
label=
"兒童數(3-17岁)"
@
input=
"getNum"
mask=
"#"
reverse-fill-mask
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
type=
"Number"
standout
v-model=
"parameters.BabyNum"
label=
"嬰幼兒數(0-2岁)"
@
input=
"getNum"
mask=
"#"
reverse-fill-mask
/>
</div>
...
...
@@ -368,18 +384,20 @@
<div
class=
"row q-col-gutter-md"
>
<div
:class=
"filedGuestWidth"
>
<q-input
type=
"Number"
standout
v-model=
"parameters.HandLuggageNum"
label=
"手提行李"
mask=
"#"
reverse-fill-mask
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
type=
"Number"
standout
v-model=
"parameters.RegisteredLuggageNum"
label=
"托运行李"
mask=
"#"
reverse-fill-mask
/>
</div>
...
...
@@ -444,15 +462,15 @@
</div>
</div>
<div
class=
"q-mt-md text-grey-6"
>
<div
class=
"row q-pb-xs"
v-if=
"AirportObj&&AirportObj.Name"
>
<div
class=
"row q-pb-xs
no-wrap
"
v-if=
"AirportObj&&AirportObj.Name"
>
<div
style=
"width: 80px"
>
{{details.CarType==1?'接':'送'}}機機場:
</div>
<div
class=
"q-ml-md ellipsis-2-lines"
>
{{AirportObj.Name}}
</div>
</div>
<div
class=
"row q-pb-xs"
v-if=
"parameters.GetonAddress"
>
<div
class=
"row q-pb-xs
no-wrap
"
v-if=
"parameters.GetonAddress"
>
<div
style=
"width: 80px"
>
上車點:
</div>
<div
class=
"q-ml-md ellipsis-2-lines"
>
{{parameters.GetonAddress}}
</div>
</div>
<div
class=
"row q-pb-xs"
v-if=
"parameters.GetoffAddress"
>
<div
class=
"row q-pb-xs
no-wrap
"
v-if=
"parameters.GetoffAddress"
>
<div
style=
"width: 80px"
>
下車點:
</div>
<div
class=
"q-ml-md ellipsis-2-lines"
>
{{parameters.GetoffAddress}}
</div>
</div>
...
...
@@ -505,10 +523,20 @@
</div>
</q-card>
</q-dialog>
<div
v-if=
"!orderKey || orderKey == ''"
class=
"text-center q-my-xl"
>
<none-data
iconType=
"order"
title=
"沒有找到您的訂單信息哦"
subtitle=
"趕緊去挑選心儀的旅遊產品吧,三秒後自動跳轉到首頁"
></none-data>
</div>
<auth></auth>
</div>
</template>
<
script
>
import
NoneData
from
"src/components/common/noneData.vue"
;
import
auth
from
"src/components/common/auth.vue"
;
import
{
date
}
from
'quasar'
import
{
json
}
from
"body-parser"
;
import
coupon
from
'../../components/common/coupon.vue'
...
...
@@ -516,10 +544,13 @@
export
default
{
components
:{
coupon
,
componentsMap
componentsMap
,
NoneData
,
auth
},
data
()
{
return
{
orderKey
:
""
,
isRangeClick
:
true
,
isShowDialog
:
false
,
AddressObj
:
null
,
...
...
@@ -609,34 +640,75 @@
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
.
OrderDate
){
let
obj
=
decodeURIComponent
(
this
.
$route
.
query
.
OrderDate
)
let
OrderDate
=
JSON
.
parse
(
obj
)
this
.
CarObj
=
OrderDate
.
CarObj
,
//车型
this
.
AirportObj
=
OrderDate
.
AirportObj
,
//机场
this
.
calculationAmount
=
OrderDate
.
calculationAmount
,
//日期
this
.
chosenObj
=
OrderDate
.
calculationNum
,
//数量
this
.
sumPrice
=
OrderDate
.
sumPrice
,
//总金额
this
.
details
=
OrderDate
.
details
//产品详情
this
.
onCarObj
=
OrderDate
.
onCarObj
//上车范围
this
.
unCarObj
=
OrderDate
.
unCarObj
//下车范围
}
this
.
parameters
.
ProductId
=
this
.
details
.
Id
this
.
parameters
.
OrderDate
=
this
.
calculationAmount
.
startDate
if
(
this
.
details
.
CarType
!=
3
){
this
.
parameters
.
AirportId
=
this
.
AirportObj
.
Id
this
.
parameters
.
FlightTime
=
this
.
calculationAmount
.
startDate
}
this
.
parameters
.
CarId
=
this
.
CarObj
.
Id
this
.
parameters
.
OrderType
=
this
.
details
.
CarType
this
.
parameters
.
Unit_Price
=
this
.
calculationAmount
.
originalB2CPrice
this
.
parameters
.
Num
=
this
.
chosenObj
.
Count
this
.
parameters
.
Money
=
this
.
sumPrice
//
if(this.$route.query.OrderDate){
//
let obj = decodeURIComponent(this.$route.query.OrderDate)
//
let OrderDate = JSON.parse(obj)
//
this.CarObj = OrderDate.CarObj,//车型
//
this.AirportObj = OrderDate.AirportObj,//机场
//
this.calculationAmount = OrderDate.calculationAmount,//日期
//
this.chosenObj = OrderDate.calculationNum,//数量
//
this.sumPrice = OrderDate.sumPrice,//总金额
//
this.details = OrderDate.details//产品详情
//
this.onCarObj = OrderDate.onCarObj//上车范围
//
this.unCarObj = OrderDate.unCarObj//下车范围
//
}
//
this.parameters.ProductId = this.details.Id
//
this.parameters.OrderDate = this.calculationAmount.startDate
//
if(this.details.CarType!=3){
//
this.parameters.AirportId = this.AirportObj.Id
//
this.parameters.FlightTime = this.calculationAmount.startDate
//
}
//
this.parameters.CarId = this.CarObj.Id
//
this.parameters.OrderType = this.details.CarType
//
this.parameters.Unit_Price = this.calculationAmount.originalB2CPrice
//
this.parameters.Num = this.chosenObj.Count
//
this.parameters.Money = this.sumPrice
this
.
checkParamsHandler
()
this
.
initCountry
();
this
.
initGuestHandler
();
},
methods
:
{
checkParamsHandler
()
{
try
{
if
(
this
.
$route
.
params
&&
this
.
$route
.
params
.
id
)
{
let
key
=
this
.
$route
.
params
.
id
;
let
lineCars
=
localStorage
.
getItem
(
"lineCars"
);
let
OrderDate
=
lineCars
?
JSON
.
parse
(
lineCars
)
:
null
;
if
(
OrderDate
)
{
this
.
CarObj
=
OrderDate
.
CarObj
,
//车型
this
.
AirportObj
=
OrderDate
.
AirportObj
,
//机场
this
.
calculationAmount
=
OrderDate
.
calculationAmount
,
//日期
this
.
chosenObj
=
OrderDate
.
calculationNum
,
//数量
this
.
sumPrice
=
OrderDate
.
sumPrice
,
//总金额
this
.
details
=
OrderDate
.
details
//产品详情
this
.
onCarObj
=
OrderDate
.
onCarObj
//上车范围
this
.
unCarObj
=
OrderDate
.
unCarObj
//下车范围
this
.
parameters
.
ProductId
=
this
.
details
.
Id
this
.
parameters
.
OrderDate
=
this
.
calculationAmount
.
startDate
if
(
this
.
details
.
CarType
!=
3
){
this
.
parameters
.
AirportId
=
this
.
AirportObj
.
Id
this
.
parameters
.
FlightTime
=
this
.
calculationAmount
.
startDate
}
this
.
parameters
.
CarId
=
this
.
CarObj
.
Id
this
.
parameters
.
OrderType
=
this
.
details
.
CarType
this
.
parameters
.
Unit_Price
=
this
.
calculationAmount
.
originalB2CPrice
this
.
parameters
.
Num
=
this
.
chosenObj
.
Count
this
.
parameters
.
Money
=
this
.
sumPrice
if
(
OrderDate
)
{
this
.
orderKey
=
key
;
}
}
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
if
(
this
.
orderKey
==
""
)
{
setTimeout
(()
=>
{
},
3000
);
}
return
this
.
orderKey
!=
""
;
},
submit
(){
let
flag
=
false
...
...
src/pages/detailsCar.vue
View file @
7b1d948a
<
template
>
<div
style=
"min-height: 80vh"
>
<div
style=
"
position: fixed;
...
...
@@ -597,10 +598,12 @@
</div>
</
template
>
</div>
<!-- <auth></auth> -->
</div>
</template>
<
script
>
import
auth
from
"src/components/common/auth.vue"
;
import
{
slider
,
slideritem
}
from
"vue-concise-slider"
;
import
calendar
from
"../components/trip/calendar.vue"
;
import
OrderPreview
from
"src/components/car/orderPreview.vue"
;
...
...
@@ -729,7 +732,8 @@ export default {
smaple
,
Trip
,
block
,
componentsMap
componentsMap
,
auth
,
},
watch
:
{
days
:
{
...
...
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