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
e61b8413
Commit
e61b8413
authored
Mar 03, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
57972655
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
312 additions
and
257 deletions
+312
-257
orderPreview.vue
src/components/car/orderPreview.vue
+76
-33
orderForm.vue
src/pages/Pickuporder/orderForm.vue
+234
-224
detailsCar.vue
src/pages/detailsCar.vue
+2
-0
No files found.
src/components/car/orderPreview.vue
View file @
e61b8413
...
...
@@ -13,7 +13,7 @@
<template
v-if=
"dataList.CarType!=3"
>
<div
class=
"text-grey-6 f12 q-my-md"
>
選擇機場
</div>
<div
class=
"row wrap"
>
<q-btn
@
click=
"handleSelect
Airport(item
)"
<q-btn
@
click=
"handleSelect
(item,1
)"
:color=
"selectedAirportObj&&item.Id === selectedAirportObj.Id?'primary':'grey-5'"
unelevated
class=
"car-tag mr"
...
...
@@ -24,9 +24,41 @@
</q-btn>
</div>
</
template
>
<div
class=
"row"
>
<div
v-if=
"dataList.CarType!=1"
>
<div
class=
"text-grey-6 f12 q-my-md"
>
選擇上車範圍
</div>
<div
class=
"row wrap"
>
<q-btn
@
click=
"handleSelect(item,3)"
:color=
"onCarObj&&item.Id === onCarObj.Id?'primary':'grey-5'"
unelevated
class=
"car-tag mr"
v-for=
"item in PlaceList"
:key=
"item.Id"
>
{{ item.Name }}({{ item.Range }}m)
</q-btn>
</div>
</div>
<div
v-if=
"dataList.CarType!=2"
>
<div
class=
"text-grey-6 f12 q-my-md"
>
選擇下車範圍
</div>
<div
class=
"row wrap"
>
<q-btn
@
click=
"handleSelect(item,4)"
:color=
"unCarObj&&item.Id === unCarObj.Id?'primary':'grey-5'"
unelevated
class=
"car-tag mr"
v-for=
"item in PlaceList"
:key=
"item.Id"
>
{{ item.Name }}({{ item.Range }}m)
</q-btn>
</div>
</div>
</div>
<div
class=
"text-grey-6 f12 q-my-md"
>
選擇車類型
</div>
<div
class=
"row wrap"
>
<q-btn
@
click=
"handleSelect(item)"
<q-btn
@
click=
"handleSelect(item
,2
)"
:color=
"selectedCarObj&&item.Id === selectedCarObj.Id?'primary':'grey-5'"
unelevated
class=
"car-tag mr"
...
...
@@ -41,7 +73,7 @@
<div
class=
"col"
:class=
"{'column':$q.platform.is.mobile}"
>
<div
v-if=
"selectedCarObj"
>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{selectedCarObj.CarName}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
></span>
({{ selectedCarObj.PeopleNum }}人
+{{ selectedCarObj.PeopleNum }}行李
)
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
></span>
({{ selectedCarObj.PeopleNum }}人
/辆
)
</span>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
...
...
@@ -90,17 +122,6 @@
</q-input>
</div>
</div>
<div
class=
"text-grey-6 f12 q-mt-mb"
v-if=
"p.isSupportChildren == 2"
>
本團只支持成人出遊
</div>
<div
v-if=
"p.safeMoney > 0"
class=
"q-pt-md q-mt-md row items-center"
style=
"border-top: 1px dashed #eee"
>
<div
class=
"text-grey-6 f12 col"
>
保險服務費
</div>
<div
class=
"product-money f12"
>
CNY {{ p.safeMoney }}/每人
</div>
</div>
</div>
<div
class=
"q-mt-md q-pt-md"
style=
"border-top: 1px dashed #eee"
>
<div
class=
"row items-center"
>
...
...
@@ -112,10 +133,17 @@
{{$q.platform.is.mobile?'請選擇上面的出行日期':'請選擇左側的出行日期'}}
</span>
<span
class=
"q-mr-lg f12 text-negative"
v-if=
"(p.startDate&&!selectedCarObj)||(p.startDate&&dataList.CarType!=3&&!selectedAirportObj)"
>
{{`請選擇上面的${dataList.CarType==3?'車類型':'機場、車類型'}`}}
v-if=
"(p.startDate&&!selectedCarObj)
||(p.startDate&&dataList.CarType==1&&(!selectedAirportObj||!unCarObj))
||(p.startDate&&dataList.CarType==2&&(!selectedAirportObj||!onCarObj))
||(p.startDate&&dataList.CarType==3&&(!selectedAirportObj||(!onCarObj||!unCarObj)))"
>
{{`請選擇上面的${dataList.CarType==3?'車類型、上車下車點':dataList.CarType==1?'機場、車類型、下車點':'機場、車類型、上車點'}`}}
</span>
<q-btn
color=
"primary"
label=
"立即訂購"
unelevated
class=
"q-px-lg"
:disable=
"sumPrice==0"
<q-btn
color=
"primary"
label=
"立即訂購"
unelevated
class=
"q-px-lg"
:disable=
"sumPrice==0||!selectedCarObj
||(dataList.CarType!=3&&!selectedAirportObj)
||(dataList.CarType==1&&!unCarObj)||(dataList.CarType==2&&!onCarObj)
||(dataList.CarType==3&&(!onCarObj||!unCarObj))"
@
click=
"goUrl"
/>
</div>
</div>
...
...
@@ -124,7 +152,7 @@
<
script
>
export
default
{
props
:
[
"dataList"
,
"price"
,
"CarTypeList"
,
"AirportList"
,
"configId"
,
"Month"
],
props
:
[
"dataList"
,
"
PlaceList"
,
"
price"
,
"CarTypeList"
,
"AirportList"
,
"configId"
,
"Month"
],
watch
:
{
price
:
{
handler
(
n
,
o
)
{
...
...
@@ -157,6 +185,8 @@ export default {
selectedCarObj
:
null
,
priceList
:
[],
selectedAirportObj
:
null
,
onCarObj
:
null
,
unCarObj
:
null
,
};
},
created
()
{
...
...
@@ -171,23 +201,25 @@ export default {
methods
:
{
goUrl
(){
let
OrderDate
=
{
selected
CarObj
:
this
.
selectedCarObj
,
selected
AirportObj
:
this
.
selectedAirportObj
,
p
:
this
.
p
,
c
hosenObj
:
this
.
chosenObj
,
CarObj
:
this
.
selectedCarObj
,
AirportObj
:
this
.
selectedAirportObj
,
calculationAmount
:
this
.
p
,
c
alculationNum
:
this
.
chosenObj
,
sumPrice
:
this
.
sumPrice
,
dataList
:
this
.
dataList
details
:
this
.
dataList
,
onCarObj
:
this
.
onCarObj
,
unCarObj
:
this
.
unCarObj
,
}
this
.
CommonJump
(
"/PickuporderForm"
,
{
//
OrderDate: 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
),
dataList
:
JSON
.
stringify
(
this
.
dataList
)
OrderDate
:
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)
}
);
},
...
...
@@ -246,9 +278,18 @@ export default {
handleSelectAirport
(
item
){
this
.
selectedAirportObj
=
item
},
handleSelect
(
item
){
this
.
selectedCarObj
=
item
this
.
getCarPriceData2
()
handleSelect
(
item
,
type
){
if
(
type
==
1
){
this
.
selectedAirportObj
=
item
}
else
if
(
type
==
2
){
this
.
selectedCarObj
=
item
this
.
getCarPriceData2
()
}
else
if
(
type
==
3
){
this
.
onCarObj
=
item
}
else
if
(
type
==
4
){
this
.
unCarObj
=
item
}
},
initModel
()
{
this
.
sumPrice
=
0
...
...
@@ -262,6 +303,8 @@ export default {
if
(
type
&&
type
!=
1
){
this
.
selectedCarObj
=
null
this
.
selectedAirportObj
=
null
this
.
onCarObj
=
null
this
.
unCarObj
=
null
}
setTimeout
(()
=>
{
this
.
p
=
{};
...
...
src/pages/Pickuporder/orderForm.vue
View file @
e61b8413
...
...
@@ -146,7 +146,7 @@
>
{{CarObj.CarName}} x {{ chosenObj.Count }}辆
</span
>
<span
class=
"q-mr-sm"
>
({{CarObj.PeopleNum}}人
+{{CarObj.PeopleNum}}行李
)
</span
>
({{CarObj.PeopleNum}}人
/辆
)
</span
>
</div>
</div>
...
...
@@ -163,6 +163,7 @@
label=
"本國姓"
placeholder=
"例:張"
:rules=
"[(val) => !!val || '請輸本國姓']"
ref=
"SurName"
/>
</div>
<div
:class=
"filedGuestWidth"
>
...
...
@@ -172,9 +173,34 @@
label=
"本國名"
placeholder=
"例:三"
:rules=
"[(val) => !!val || '請輸本國名']"
ref=
"Name"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.ContactWay"
label=
"联络方式"
placeholder=
"例:WeChat"
:rules=
"[(val) => !!val || '請輸联络方式']"
ref=
"ContactWay"
>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
>
<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=
"filedGuestWidth"
>
<div
class=
"row items-center q-mt-md"
>
<span>
選擇性別:
</span>
<q-radio
...
...
@@ -184,122 +210,84 @@
label=
"男"
class=
"q-mr-lg"
/>
<q-radio
v-model=
"
guest
s.Sex"
dense
:val=
"2"
label=
"女"
/>
<q-radio
v-model=
"
parameter
s.Sex"
dense
:val=
"2"
label=
"女"
/>
</div>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.PassFirstName"
label=
"護照英文姓"
placeholder=
"例:ZHANG"
:rules=
"[(val) => !!val || '請輸護照英文姓']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.PassLastName"
label=
"護照英文名"
placeholder=
"例:SAN"
:rules=
"[(val) => !!val || '請輸護照英文名']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.Passport"
label=
"護照號"
:rules=
"[(val) => !!val || '請輸護照號']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
class=
"q-pb-md"
standout
v-model=
"parameters.PassValidate"
label=
"護照有效期"
readonly
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
></q-icon>
</
template
>
<q-popup-proxy
:offset=
"[0, 0]"
ref=
"qDateProxy7"
>
<q-date
mask=
"YYYY-MM-DD"
:title=
"$t('search_date_begin')"
subtitle=
"選擇"
v-model=
"parameters.PassValidate"
@
input=
"() => $refs.qDateProxy7.hide()"
/>
</q-popup-proxy>
</q-input>
</div>
</div>
</div>
<div
class=
"text-subtitle1 text-weight-bolder q-my-md"
>
抵达 班机資料
</div>
<q-separator
color=
"grey-2"
class=
"q-mt-md"
/>
<div
class=
"bg-grey-1 rounded-borders q-pa-md q-mt-md guest-item"
>
<div
class=
"text-subtitle1 q-pb-md text-weight-bold"
></div>
<div
class=
"row q-col-gutter-md"
>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.AirportTerminal"
label=
"航廈"
placeholder=
"例:航廈"
:rules=
"[(val) => !!val || '請輸航廈']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.AirLine"
label=
"航空公司"
placeholder=
""
:rules=
"[(val) => !!val || '請輸航空公司名稱']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<
template
v-if=
"details.CarType!=3"
>
<div
class=
"text-subtitle1 text-weight-bolder q-my-md"
>
{{
details
.
CarType
==
1
?
'抵達'
:
'起飛'
}}
班机資料
</div>
<q-separator
color=
"grey-2"
class=
"q-mt-md"
/>
<div
class=
"bg-grey-1 rounded-borders q-pa-md q-mt-md guest-item"
>
<div
class=
"text-subtitle1 q-pb-md text-weight-bold"
></div>
<div
class=
"row q-col-gutter-md"
>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.FlightNumber"
label=
"航班編號"
placeholder=
"例:CA123"
:rules=
"[(val) => !!val || '請輸航班編號']"
v-model=
"parameters.AirportTerminal"
label=
"航廈"
placeholder=
"例:航廈"
:rules=
"[(val) => !!val || '請輸航廈']"
ref=
"AirportTerminal"
/>
</div>
<div
:class=
"filedGuestWidth"
>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
class=
"q-pb-md"
standout
v-model=
"parameters.FlightTime"
label=
"航班抵达时间"
readonly
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
></q-icon>
</
template
>
<q-popup-proxy
:offset=
"[0, 0]"
ref=
"qDateProxy7"
>
<div
class=
"row"
>
<q-date
mask=
"YYYY-MM-DD HH:mm"
:title=
"$t('search_date_begin')"
subtitle=
"選擇"
v-model=
"parameters.FlightTime"
/>
<div
class=
"q-px-sm"
></div>
<q-time
v-model=
"flightTime"
mask=
"YYYY-MM-DD HH:mm"
@
input=
"() => $refs.qDateProxy7.hide()"
/>
</div>
</q-popup-proxy>
</q-input>
v-model=
"parameters.AirLine"
label=
"航空公司"
placeholder=
""
:rules=
"[(val) => !!val || '請輸航空公司名稱']"
ref=
"AirLine"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.FlightNumber"
label=
"航班編號"
placeholder=
"例:CA123"
:rules=
"[(val) => !!val || '請輸航班編號']"
ref=
"FlightNumber"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
class=
"q-pb-md"
standout
:value=
"!flightTime?'':parameters.FlightTime"
:label=
"`航班$
{details.CarType==1?'抵達':'起飛'}時間`"
:rules="[(val) => !!val || `請选航班${details.CarType==1?'抵達':'起飛'}時間`]"
ref="FlightTime"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
></q-icon>
</
template
>
<q-popup-proxy
:offset=
"[0, 0]"
ref=
"qDateProxy7"
>
<div
class=
"row"
>
<!-- <q-date
mask="YYYY-MM-DD HH:mm"
:title="$t('search_date_begin')"
subtitle="選擇"
v-model="parameters.FlightTime"
:options="optionsFn"
/>
<div class="q-px-sm"></div> -->
<q-time
v-model=
"flightTime"
mask=
"HH:mm"
@
input=
"getTime(1)"
/>
</div>
</q-popup-proxy>
</q-input>
</div>
</div>
</div>
</template>
<div
class=
"text-subtitle1 text-weight-bolder q-my-md"
>
{{details.CarType==1?'接机':details.CarType==2?'送机':'包车'}}資料
</div>
<div
class=
"text-subtitle1 text-weight-bolder q-my-md"
>
接送資料
</div>
<q-separator
color=
"grey-2"
class=
"q-mt-md"
/>
<div
class=
"bg-grey-1 rounded-borders q-pa-md q-mt-md guest-item"
...
...
@@ -309,35 +297,43 @@
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.OrderDate"
v-model=
"
!getBusTime?'':
parameters.OrderDate"
label=
"接駁日期"
readonly
disable
:rules=
"[(val) => !!val || '請选接駁日期']"
ref=
"OrderDate"
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
></q-icon>
</
template
>
<q-popup-proxy
:offset=
"[0, 0]"
ref=
"qDateProxy8"
>
<div
class=
"row"
>
<q-time
v-model=
"getBusTime"
mask=
"HH:mm"
@
input=
"getTime(2)"
/>
</div>
</q-popup-proxy>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
>
<div
:class=
"filedGuestWidth"
v-if=
"details.CarType!=1"
>
<q-input
standout
v-model=
"parameters.GetonAddress"
label=
"上車地點"
placeholder=
""
:rules=
"[(val) => !!val || '請輸上車地點和地址供司機參考']"
>
:rules=
"[(val) => !!val || '請輸上車地點和地址供司機參考']"
ref=
"GetonAddress"
>
<
template
v-slot:append
>
<q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
/>
</
template
>
</q-input>
</div>
<div
:class=
"filedGuestWidth"
>
<div
:class=
"filedGuestWidth"
v-if=
"details.CarType!=2"
>
<q-input
standout
v-model=
"parameters.GetoffAddress"
label=
"下車地點"
placeholder=
""
:rules=
"[(val) => !!val || '請輸下車地點和地址供司機參考']"
>
:rules=
"[(val) => !!val || '請輸下車地點和地址供司機參考']"
ref=
"GetoffAddress"
>
<
template
v-slot:append
>
<q-icon
name=
"iconfont iconaddress"
size=
"20px"
class=
"q-mr-sm"
/>
</
template
>
...
...
@@ -359,6 +355,9 @@
standout
v-model=
"parameters.ManNum"
label=
"成人數(18-99岁)"
@
input=
"getNum"
:rules=
"[(val) => !!val || '請輸成人數']"
ref=
"ManNum"
/>
</div>
<div
:class=
"filedGuestWidth"
>
...
...
@@ -367,6 +366,7 @@
standout
v-model=
"parameters.ChildNum"
label=
"兒童數(3-17岁)"
@
input=
"getNum"
/>
</div>
<div
:class=
"filedGuestWidth"
>
...
...
@@ -375,6 +375,7 @@
standout
v-model=
"parameters.BabyNum"
label=
"嬰幼兒數(0-2岁)"
@
input=
"getNum"
/>
</div>
...
...
@@ -400,49 +401,9 @@
</div>
</div>
<div
class=
"text-subtitle1 text-weight-bolder q-my-md"
>
旅遊期間聯絡方式
</div>
<q-separator
color=
"grey-2"
class=
"q-mt-md"
/>
<div
class=
"bg-grey-1 rounded-borders q-pa-md q-mt-md guest-item"
>
<div
class=
"text-subtitle1 q-pb-md text-weight-bold"
></div>
<div
class=
"row q-col-gutter-md"
>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.Name"
label=
"名字"
:rules=
"[(val) => !!val || '請輸入名字']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.SurName"
label=
"姓氏"
:rules=
"[(val) => !!val || '請輸入姓氏']"
/>
</div>
<div
:class=
"filedGuestWidth"
>
<q-input
standout
v-model=
"parameters.Mobile"
label=
"電話"
:rules=
"[(val) => !!val || '請輸入行動電話']"
>
<
template
v-slot:prepend
>
<div
class=
"text-subtitle2"
>
+
{{
userInfo
.
areaCode
}}
</div>
</
template
>
</q-input>
</div>
</div>
</div>
<div
class=
"text-subtitle1 q-my-md text-weight-bold"
>
特殊需求備註:
</div>
<q-input
standout
v-model=
"parameters.
r
emark"
input-style=
"height:170px;"
type=
"textarea"
placeholder=
"此欄位僅限資料備註。不在商品規範內的個人需求,不保證提供"
maxlength=
"200"
counter
/>
<q-input
standout
v-model=
"parameters.
R
emark"
input-style=
"height:170px;"
type=
"textarea"
placeholder=
"此欄位僅限資料備註。不在商品規範內的個人需求,不保證提供"
maxlength=
"200"
counter
/>
</q-card>
<coupon></coupon>
</div>
<div
class=
"relative-position"
v-if=
"details"
:class=
"{
...
...
@@ -498,9 +459,17 @@
</div>
</div>
<div
class=
"q-mt-md text-grey-6"
>
<div
class=
"row"
>
<div
style=
"width: 80px"
>
機場:
</div>
<div
class=
"q-ml-md"
>
{{AirportObj.Name}}
</div>
<div
class=
"row q-pb-xs"
v-if=
"AirportObj"
>
<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=
"onCarObj"
>
<div
style=
"width: 80px"
>
上車範圍:
</div>
<div
class=
"q-ml-md ellipsis-2-lines"
>
{{onCarObj.Name}}
</div>
</div>
<div
class=
"row q-pb-xs"
v-if=
"unCarObj"
>
<div
style=
"width: 80px"
>
下車範圍:
</div>
<div
class=
"q-ml-md ellipsis-2-lines"
>
{{unCarObj.Name}}
</div>
</div>
<div
class=
"row"
>
<div
style=
"width: 80px"
>
出發日期:
</div>
...
...
@@ -519,18 +488,13 @@
<div
class=
"text-subtitle2 text-weight-bolder text-primary"
>
CNY {{ moneyFormat(sumPrice,2) }}
</div>
</div>
<hr
style=
"border:none;border-top:1px dashed #EEE !important;"
class=
"bg-transparent q-mb-sm"
/>
<div
class=
"row q-mb-sm items-center"
v-if=
"(chosenObj.df)>0"
>
<div
class=
"col"
>
優惠金額
</div>
<div
class=
"text-subtitle2 text-weight-bolder text-teal"
>
CNY - {{ moneyFormat(9999,2) }}
</div>
<div
class=
"text-grey-5"
>
暫無優惠
</div>
</div>
<div
class=
"row q-mb-sm items-center"
v-if=
"(chosenObj.Count)>0"
>
<div
class=
"col"
>
支付金額
</div>
<div
class=
"text-h6 text-weight-bolder text-primary product-price"
>
CNY {{ moneyFormat(sumPrice,2) }}
</div>
</div>
</div>
<div
class=
"text-right q-mt-md"
>
<q-btn
unelevated
color=
"primary"
label=
"立即支付"
/>
<q-btn
unelevated
color=
"primary"
:loading=
"loading"
label=
"立即支付"
@
click=
"submit()"
/>
</div>
</div>
...
...
@@ -540,6 +504,7 @@
</template>
<
script
>
import
{
date
}
from
'quasar'
import
{
json
}
from
"body-parser"
;
import
coupon
from
'../../components/common/coupon.vue'
export
default
{
...
...
@@ -548,12 +513,14 @@
},
data
()
{
return
{
CarObj
:
null
,
AirportObj
:
null
,
calculationAmount
:
null
,
calculationNum
:
null
,
sumPrice
:
null
,
details
:
null
,
onCarObj
:
null
,
//上车范围
unCarObj
:
null
,
//下车范围
CarObj
:
null
,
//车型
AirportObj
:
null
,
//机场
calculationAmount
:
null
,
//日期
calculationNum
:
null
,
//数量
sumPrice
:
null
,
//总价
details
:
null
,
//产品详情
options
:
{
currentPage
:
0
,
speed
:
300
,
...
...
@@ -576,51 +543,13 @@
mail
:
""
,
},
chosenObj
:
{
startDate
:
""
,
Count
:
4
,
etCount
:
6
,
yeCount
:
0
,
lrCount
:
0
,
etbzcCount
:
4
,
etzcCount
:
2
,
df
:
1
,
dcf
:
0
,
srf
:
0
,
isUnico
:
false
,
unicoDep
:
{
city
:
null
,
date
:
null
,
price
:
0
,
isSup
:
-
2
,
},
unicoArr
:
{
city
:
null
,
date
:
null
,
price
:
0
,
isSup
:
-
2
,
},
remark
:
""
,
},
isUpdateUserInfo
:
false
,
countrys
:
[],
areaCodes
:
[],
guest
:
{
FirstName
:
""
,
LastName
:
""
,
Passport
:
""
,
PassFirstName
:
""
,
PassLastName
:
""
,
GuestType
:
0
,
EnableSignRoom
:
false
,
PassValidate
:
""
,
FormatTypeName
:
""
,
MobilePhone
:
""
,
RoomType
:
0
,
IsSignRoom
:
false
,
Sex
:
0
,
},
guests
:
[],
disableSign
:
false
,
loading
:
false
,
parameters
:
{
OrderId
:
0
,
OrderType
:
0
,
...
...
@@ -628,7 +557,7 @@
Unit_Price
:
''
,
//单价
Num
:
''
,
//数量
Money
:
0.0
,
Sex
:
'1'
,
//1男2女
Sex
:
1
,
//1男2女
SurName
:
''
,
//姓
Name
:
''
,
//名
Remark
:
''
,
...
...
@@ -648,13 +577,15 @@
Mobile
:
''
,
//电话
ProductId
:
''
,
CarId
:
''
,
//产品类型ID
PassFirstName
:
''
,
//英文姓
PassLastName
:
''
,
//英文名
Passport
:
''
,
//护照
PassValidate
:
''
,
// PassFirstName: '',//英文姓
// PassLastName: '',//英文名
// Passport: '',//护照
// PassValidate: '',
pType
:
1
,
//类型 1来源B2B
},
flightTime
:
null
,
//航班起飞抵达时间
getBusTime
:
null
,
//预约车时间
TotalPeople
:
0
,
//总人数
};
},
computed
:
{
...
...
@@ -673,18 +604,101 @@
},
created
()
{},
mounted
()
{
this
.
CarObj
=
JSON
.
parse
(
this
.
$route
.
query
.
CarObj
),
//车型
this
.
AirportObj
=
JSON
.
parse
(
this
.
$route
.
query
.
AirportObj
),
//机场
this
.
calculationAmount
=
JSON
.
parse
(
this
.
$route
.
query
.
calculationAmount
),
//日期
this
.
chosenObj
=
JSON
.
parse
(
this
.
$route
.
query
.
calculationNum
),
//数量
this
.
sumPrice
=
JSON
.
parse
(
this
.
$route
.
query
.
sumPrice
),
//总金额
this
.
details
=
JSON
.
parse
(
this
.
$route
.
query
.
details
),
//产品详情
console
.
log
(
this
.
CarObj
,
'----'
)
if
(
this
.
$route
.
query
.
OrderDate
){
let
OrderDate
=
JSON
.
parse
(
this
.
$route
.
query
.
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
.
OrderDate
=
this
.
calculationAmount
.
startDate
this
.
parameters
.
FlightTime
=
this
.
calculationAmount
.
startDate
this
.
parameters
.
OrderType
=
this
.
details
.
CarType
this
.
parameters
.
Unit_Price
=
this
.
calculationAmount
.
originalB2CPrice
this
.
parameters
.
Num
=
this
.
chosenObj
.
Count
this
.
parameters
.
Money
=
this
.
sumPrice
console
.
log
(
this
.
calculationAmount
,
'----'
)
this
.
initCountry
();
this
.
initGuestHandler
();
},
methods
:
{
submit
(){
let
flag
=
false
this
.
$refs
.
SurName
.
validate
()
this
.
$refs
.
Name
.
validate
()
this
.
$refs
.
ContactWay
.
validate
()
this
.
$refs
.
Mobile
.
validate
()
this
.
$refs
.
OrderDate
.
validate
()
this
.
$refs
.
ManNum
.
validate
()
if
(
this
.
details
.
CarType
!=
3
){
this
.
$refs
.
AirportTerminal
.
validate
()
this
.
$refs
.
AirLine
.
validate
()
this
.
$refs
.
FlightNumber
.
validate
()
this
.
$refs
.
FlightTime
.
validate
()
if
(
this
.
details
.
CarType
!=
1
){
this
.
$refs
.
GetonAddress
.
validate
()
flag
=
!
this
.
$refs
.
SurName
.
hasError
&&
!
this
.
$refs
.
Name
.
hasError
&&
!
this
.
$refs
.
ContactWay
.
hasError
&&
!
this
.
$refs
.
Mobile
.
hasError
&&
!
this
.
$refs
.
OrderDate
.
hasError
&&
!
this
.
$refs
.
ManNum
.
hasError
&&
!
this
.
$refs
.
AirportTerminal
.
hasError
&&
!
this
.
$refs
.
AirLine
.
hasError
&&
!
this
.
$refs
.
FlightNumber
.
hasError
&&
!
this
.
$refs
.
FlightTime
.
hasError
&&
!
this
.
$refs
.
GetonAddress
.
hasError
}
else
{
this
.
$refs
.
GetoffAddress
.
validate
()
flag
=
!
this
.
$refs
.
SurName
.
hasError
&&
!
this
.
$refs
.
Name
.
hasError
&&
!
this
.
$refs
.
ContactWay
.
hasError
&&
!
this
.
$refs
.
Mobile
.
hasError
&&
!
this
.
$refs
.
OrderDate
.
hasError
&&
!
this
.
$refs
.
ManNum
.
hasError
&&
!
this
.
$refs
.
AirportTerminal
.
hasError
&&
!
this
.
$refs
.
AirLine
.
hasError
&&
!
this
.
$refs
.
FlightNumber
.
hasError
&&
!
this
.
$refs
.
FlightTime
.
hasError
&&
!
this
.
$refs
.
GetoffAddress
.
hasError
}
}
else
{
this
.
$refs
.
GetonAddress
.
validate
()
this
.
$refs
.
GetoffAddress
.
validate
()
flag
=
!
this
.
$refs
.
SurName
.
hasError
&&
!
this
.
$refs
.
Name
.
hasError
&&
!
this
.
$refs
.
ContactWay
.
hasError
&&
!
this
.
$refs
.
Mobile
.
hasError
&&
!
this
.
$refs
.
OrderDate
.
hasError
&&
!
this
.
$refs
.
ManNum
.
hasError
&&!
this
.
$refs
.
GetonAddress
.
hasError
&&
!
this
.
$refs
.
GetoffAddress
.
hasError
}
if
(
!
flag
)
return
setOrder
()
},
setOrder
(){
this
.
loading
=
true
this
.
apipost
(
"CarSingle_post_SetTYCarOrder"
,
this
.
parameters
,
(
r
)
=>
{
this
.
loading
=
false
this
.
$refs
.
myform
.
resetValidation
()
if
(
r
.
data
.
resultCode
==
1
)
{
}
})
},
// 航班起飞抵达时间
getTime
(
type
){
// 1航班时间 2预约时间
if
(
type
==
1
){
this
.
parameters
.
FlightTime
=
this
.
calculationAmount
.
startDate
+
' '
+
this
.
flightTime
this
.
$refs
.
qDateProxy7
.
hide
()
}
else
if
(
type
==
2
){
this
.
parameters
.
OrderDate
=
this
.
calculationAmount
.
startDate
+
' '
+
this
.
getBusTime
this
.
$refs
.
qDateProxy8
.
hide
()
}
},
optionsFn
(
cd
)
{
return
(
cd
>=
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
0
}),
"YYYY/MM/DD"
)
);
},
// 计算人数
getNum
(){
this
.
TotalPeople
=
this
.
parameters
.
ManNum
+
this
.
parameters
.
ChildNum
+
this
.
parameters
.
BabyNum
},
// 音频
slideHandler
(
e
)
{
this
.
options
.
currentPage
=
e
.
currentPage
;
...
...
@@ -705,10 +719,6 @@
seekedChangeHandler
(
e
)
{
//console.log(e)
},
changeRoomHandler
(){
let
currentSign
=
this
.
guests
.
filter
(
x
=>
x
.
IsSignRoom
)
this
.
disableSign
=
currentSign
==
this
.
chosenObj
.
df
},
initGuestHandler
()
{
},
...
...
src/pages/detailsCar.vue
View file @
e61b8413
...
...
@@ -280,6 +280,7 @@
:dataList=
"dataList"
:configId=
"msg.configId"
:Month=
"currentYM.str"
:PlaceList=
"dataList.PlaceList"
:CarTypeList=
"dataList.CarTypeList"
:AirportList=
"dataList.AirportList"
:price=
"currentPrice"
...
...
@@ -372,6 +373,7 @@
:dataList=
"dataList"
:configId=
"msg.configId"
:Month=
"currentYM.str"
:PlaceList=
"dataList.PlaceList"
:CarTypeList=
"dataList.CarTypeList"
:AirportList=
"dataList.AirportList"
:price=
"currentPrice"
...
...
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