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
a54f50cf
Commit
a54f50cf
authored
Oct 18, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
af9420dc
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1267 additions
and
926 deletions
+1267
-926
search.vue
src/components/searchdata/search.vue
+1025
-802
TripOrderList.vue
src/components/trip/order/TripOrderList.vue
+0
-2
orderPreview.vue
src/components/trip/orderPreview.vue
+227
-113
TripOrderPreview.vue
src/pages/scheduledTrip/TripOrderPreview.vue
+15
-9
No files found.
src/components/searchdata/search.vue
View file @
a54f50cf
<
template
>
<div
v-if=
"$q.platform.is.mobile"
class=
"rounded-borders bg-white row items-center q-ma-sm q-py-md q-mb-md q-px-md"
>
<q-input
v-model=
"searchClone.searchKey"
class=
"SearchMain-height"
dense
reverse-fill-mask
ftype=
"text"
standout
:label=
"$t('v103.scheduledTrip.searchinput')"
@
update:model-value=
"changeAddrSearchHandler"
/>
<div
v-if=
"$q.platform.is.mobile"
class=
"rounded-borders bg-white row items-center q-ma-sm q-py-md q-mb-md q-px-md"
>
<q-input
v-model=
"searchClone.searchKey"
class=
"SearchMain-height"
dense
reverse-fill-mask
ftype=
"text"
standout
:label=
"$t('v103.scheduledTrip.searchinput')"
@
update:model-value=
"changeAddrSearchHandler"
/>
<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-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-mb-md text-subtitle2"
>
{{
$t
(
"morequery"
)
}}
</div>
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
{{
$t
(
'v103.scheduledTrip.companylocation'
)
}}
</span>
<span>
{{
$t
(
"v103.scheduledTrip.companylocation"
)
}}
</span>
<template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"i==0"
>
{{
x
.
Name
}}
</span>
<span
class=
"text-primary"
v-if=
"i == 0"
>
{{
x
.
Name
}}
</span>
</
template
>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy0"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.companylocation')}}
</div>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.companylocation") }}
</div>
<div
v-for=
"(x, i) in sites"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"q-mx-md"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"companyId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.companyId"
:label=
"y.siteName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,0)"
/>
v-if=
"y.isShow"
v-model=
"companyId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.companyId"
:label=
"y.siteName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 0)"
/>
</
template
>
</div>
</div>
...
...
@@ -41,54 +74,86 @@
</div>
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
{{$t('v103.scheduledTrip.line')
}}
</span>
<span>
{{ $t("v103.scheduledTrip.line")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==1"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,1)"
/>
<span
class=
"text-primary"
v-if=
"x.type == 1"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 1)"
/>
</span>
</
template
>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy1"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.line')}}
</div>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.line") }}
</div>
<div
class=
"add"
v-for=
"(x, i) in lines"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"search.msg.lineId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,1)"
/>
v-if=
"y.isShow"
v-model=
"search.msg.lineId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 1)"
/>
</
template
>
</div>
</div>
</div>
</q-popup-proxy>
</div>
<div
v-if=
"search.msg.lineId&&xilies.length>0"
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
v-if=
"search.msg.lineId && xilies.length > 0"
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.commlineteam')}}
</span>
<span
v-if=
"!searchClone.lineTeamId"
>
{{$t('v103.scheduledTrip.closelineteam')}}
</span>
<span>
{{ $t("v103.scheduledTrip.commlineteam") }}
</span>
<span
v-if=
"!searchClone.lineTeamId"
>
{{
$t("v103.scheduledTrip.closelineteam")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==2"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,2)"
/>
<span
class=
"text-primary"
v-if=
"x.type == 2"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 2)"
/>
</span>
</
template
>
</span>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy2"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.lineteam')}}
</div>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.lineteam") }}
</div>
<div
class=
"add"
v-for=
"(x, i) in xilies"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"searchClone.lineTeamId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,2)"
/>
v-if=
"y.isShow"
v-model=
"searchClone.lineTeamId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 2)"
/>
</
template
>
</div>
</div>
...
...
@@ -98,27 +163,42 @@
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.departurecity')}}
</span>
<span
v-if=
"!searchClone.startCityId"
>
{{$t('v103.scheduledTrip.closedeparturecity')}}
</span>
<span>
{{ $t("v103.scheduledTrip.departurecity") }}
</span>
<span
v-if=
"!searchClone.startCityId"
>
{{
$t("v103.scheduledTrip.closedeparturecity")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==3"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,3)"
/>
<span
class=
"text-primary"
v-if=
"x.type == 3"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 3)"
/>
</span>
</
template
>
</span>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy3"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.departurecity')}}
</div>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.departurecity") }}
</div>
<div
class=
"add"
v-for=
"(x, i) in startCitys"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"searchClone.startCityId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.startCityName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,3)"
/>
v-if=
"y.isShow"
v-model=
"searchClone.startCityId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.startCityName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 3)"
/>
</
template
>
</div>
</div>
...
...
@@ -126,30 +206,51 @@
</q-popup-proxy>
</div>
<div>
<div
v-if=
"(searchClone.startDate&&!searchClone.endDate)||(!searchClone.startDate&&!searchClone.endDate)"
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
v-if=
"
(searchClone.startDate && !searchClone.endDate) ||
(!searchClone.startDate && !searchClone.endDate)
"
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.startdate')}}
</span>
<span
v-if=
"!datesId"
>
{{$t('v103.scheduledTrip.closestartdate')}}
</span>
<span>
{{ $t("v103.scheduledTrip.startdate") }}
</span>
<span
v-if=
"!datesId"
>
{{
$t("v103.scheduledTrip.closestartdate")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==5"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,5)"
/>
<span
class=
"text-primary"
v-if=
"x.type == 5"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 5)"
/>
</span>
</
template
>
</span>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy5"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.startdate')}}
</div>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.startdate") }}
</div>
<div
class=
"add"
v-for=
"(x, i) in dates"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"datesId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.Name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,5)"
/>
v-if=
"y.isShow"
v-model=
"datesId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.Name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 5)"
/>
</
template
>
</div>
</div>
...
...
@@ -157,7 +258,13 @@
</q-popup-proxy>
</div>
<!-- v-if="(!search.msg.startDate&&!search.msg.endDate)||(search.msg.startDate&&search.msg.endDate)" -->
<div
class=
"q-my-md row no-padding bg-grey-3"
v-if=
"(!searchClone.startDate&&!searchClone.endDate)||(searchClone.startDate&&searchClone.endDate)"
>
<div
class=
"q-my-md row no-padding bg-grey-3"
v-if=
"
(!searchClone.startDate && !searchClone.endDate) ||
(searchClone.startDate && searchClone.endDate)
"
>
<div
class=
"q-px-md q-py-sm"
style=
"border-right: 1px solid #eee; border-radius: 0 !important"
...
...
@@ -165,14 +272,19 @@
<q-icon
name=
"event"
size=
"24px"
/>
</div>
<div
class=
"row items-center justify-center col"
>
<span
class=
"text-grey-8"
>
{{
<span
class=
"text-grey-8"
>
{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate'
)
: $t("v103.scheduledTrip.screeningdate"
)
}}
<
template
v-for=
"(x, i) in chosenAddress"
>
<template
v-if=
"x.type==6"
>
<q-icon
class=
"cursor-pointer text-grey-6 q-pl-lg"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,6)"
/>
<template
v-if=
"x.type == 6"
>
<q-icon
class=
"cursor-pointer text-grey-6 q-pl-lg"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 6)"
/>
</
template
>
</template>
</span>
...
...
@@ -210,36 +322,51 @@
</div> -->
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
{{$t('v103.scheduledTrip.journeytime')
}}
</span>
<span>
{{ $t("v103.scheduledTrip.journeytime")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==4"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,4)"
/>
<span
class=
"text-primary"
v-if=
"x.type == 4"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 4)"
/>
</span>
</
template
>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy4"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{$t('v103.scheduledTrip.journeytime')}}
</div>
<div
class=
"addr-list q-px-md q-py-sm row items-center"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px"
>
<div
class=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.journeytime") }}
</div>
<div
class=
"addr-list q-px-md q-py-sm row items-center"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
v-for=
"(y, yi) in dayArray"
:key=
"yi"
v-model=
"DayId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.text"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y,dayArray,4)"
/>
:key=
"yi"
v-model=
"DayId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.text"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, dayArray, 4)"
/>
</div>
</div>
</q-popup-proxy>
</div>
</q-card>
</q-popup-proxy>
</q-btn>
<q-btn
color=
"primary"
unelevated
:label=
"$t('query')"
@
click=
"queryList"
/>
<q-btn
color=
"primary"
unelevated
:label=
"$t('query')"
@
click=
"queryList"
/>
</div>
<
template
v-else
>
<q-card
flat
class=
"rounded-borders q-py-md"
>
<div
class=
"row justify-between q-mx-md"
>
<span
class=
"text-subtitle1 text-weight-bold "
>
{{
$t
(
'v103.scheduledTrip.screeningtitle'
)
}}
</span>
<span
class=
"text-subtitle1 text-weight-bold"
>
{{
$t
(
"v103.scheduledTrip.screeningtitle"
)
}}
</span>
</div>
<!-- @update:model-value="changeAddrSearchHandler" -->
<q-input
...
...
@@ -256,16 +383,19 @@
class=
"addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
'v103.scheduledTrip.companylocation'
)
}}
</span>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
"v103.scheduledTrip.companylocation"
)
}}
</span>
<div>
<span
v-if=
"chosenAddress.length>0"
class=
"q-mr-md text-primary"
>
{{
chosenAddress
[
0
].
Name
}}
</span>
<span
v-if=
"chosenAddress.length > 0"
class=
"q-mr-md text-primary"
>
{{
chosenAddress
[
0
].
Name
}}
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
size=
"20px"
/>
</div>
</div>
<div
class=
"q-mx-md"
...
...
@@ -278,20 +408,30 @@
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"companyId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.companyId"
:label=
"y.siteName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,0)"
/>
v-if=
"y.isShow"
v-model=
"companyId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.companyId"
:label=
"y.siteName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 0)"
/>
<!--
<span
class=
"col"
>
{{
y
.
siteName
}}
</span>
-->
</
template
>
</div>
</div>
</div>
<
template
v-if=
"xilies.length
==0||
!searchClone.lineId"
>
<
template
v-if=
"xilies.length
== 0 ||
!searchClone.lineId"
>
<div
v-for=
"(x, i) in lines"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
'v103.scheduledTrip.line'
)
}}
</span>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
"v103.scheduledTrip.line"
)
}}
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
...
...
@@ -309,21 +449,30 @@
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"search.msg.lineId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,1)"
/>
v-if=
"y.isShow"
v-model=
"search.msg.lineId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 1)"
/>
</
template
>
</div>
</div>
</div>
</template>
<
template
v-if=
"searchClone.startCityId
==
0"
>
<
template
v-if=
"searchClone.startCityId
==
0"
>
<div
v-for=
"(x, i) in startCitys"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
'v103.scheduledTrip.departurecity'
)
}}
</span>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
"v103.scheduledTrip.departurecity"
)
}}
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
...
...
@@ -338,24 +487,41 @@
"
>
<template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"search.msg.startCityId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.startCityName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,3)"
/>
v-if=
"y.isShow"
v-model=
"search.msg.startCityId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.startCityName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 3)"
/>
</
template
>
</div>
</div>
</div>
</template>
</q-card>
<q-card
flat
class=
"rounded-borders q-py-md q-mt-lg"
v-if=
"searchClone.lineId>0&&searchClone.lineTeamId==0"
>
<div
class=
"text-subtitle1 text-weight-bold q-mx-md"
>
{{$t('v103.scheduledTrip.allcommoditytype')}}
</div>
<q-card
flat
class=
"rounded-borders q-py-md q-mt-lg"
v-if=
"searchClone.lineId > 0 && searchClone.lineTeamId == 0"
>
<div
class=
"text-subtitle1 text-weight-bold q-mx-md"
>
{{ $t("v103.scheduledTrip.allcommoditytype") }}
</div>
<div
class=
"add q-mt-md"
v-for=
"(x, i) in xilies"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{$t('v103.scheduledTrip.lineteam')}}
</span>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t("v103.scheduledTrip.lineteam")
}}
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
...
...
@@ -370,9 +536,18 @@
"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"search.msg.lineTeamId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,2)"
/>
v-if=
"y.isShow"
v-model=
"search.msg.lineTeamId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 2)"
/>
</
template
>
</div>
</div>
...
...
@@ -380,14 +555,16 @@
</q-card>
<q-card
flat
class=
"rounded-borders q-mt-lg column no-padding"
>
<
template
v-if=
"!searchClone.startDate
&&
!searchClone.endDate"
>
<
template
v-if=
"!searchClone.startDate
&&
!searchClone.endDate"
>
<div
v-for=
"(x, i) in dates"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"addr-list q-px-md q-py-md cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
'v103.scheduledTrip.startdate'
)
}}
</span>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
{{
$t
(
"v103.scheduledTrip.startdate"
)
}}
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
...
...
@@ -402,9 +579,18 @@
"
>
<template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"datesId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.Name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,5)"
/>
v-if=
"y.isShow"
v-model=
"datesId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.Name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x, 5)"
/>
</
template
>
</div>
</div>
...
...
@@ -421,7 +607,7 @@
<span
class=
"text-grey-8"
>
{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate'
)
: $t("v103.scheduledTrip.screeningdate"
)
}}
</span>
<q-popup-proxy
:offset=
"[0, 0]"
ref=
"qDateProxy"
>
<div>
...
...
@@ -459,291 +645,320 @@
:label=
"$t('v103.scheduledTrip.journeytime')"
class=
"text-subtitle1 text-weight-bold rounded-borders"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
v-for=
"(y, yi) in dayArray"
:key=
"yi"
v-model=
"DayId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.text"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y,dayArray,4)"
/>
:key=
"yi"
v-model=
"DayId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.text"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, dayArray, 4)"
/>
</q-expansion-item>
</q-card>
</template>
</template>
</template>
<
script
lang=
"ts"
>
import
{
useI18n
}
from
'vue-i18n'
import
svgIcon
from
'../global/svg-icon.vue'
import
{
computed
,
inject
,
provide
,
reactive
,
ref
,
toRefs
,
defineComponent
,
onMounted
,
watch
}
from
'vue'
import
HotelService
from
'../../api/hotel'
import
message
from
'../../utils/message'
import
{
ApiResult
}
from
'../../@types/enumHelper'
import
{
CascaderOption
,
NCascader
,
NSelect
}
from
'naive-ui'
import
{
date
}
from
'quasar'
import
{
HotelRate
,
HotelArea
,
useHotel
}
from
'../../utils/hotelRate'
import
{
useQuasar
}
from
'quasar'
import
useScrollModule
from
'../../module/scrollbar/scrollModule'
// import { dateDiffer } from '../../utils/tools'
import
{
DirtionmaryHelper
}
from
'../../config/dictionary'
import
scheduledTripService
from
'src/api/scheduledTrip'
import
{
getStoreGetter
}
from
'../../store/utils'
import
{
UserGetter
}
from
'../../store/modules/user/getters'
export
default
defineComponent
({
<
script
lang=
"ts"
>
import
{
useI18n
}
from
"vue-i18n"
;
import
svgIcon
from
"../global/svg-icon.vue"
;
import
{
computed
,
inject
,
provide
,
reactive
,
ref
,
toRefs
,
defineComponent
,
onMounted
,
watch
,
}
from
"vue"
;
import
HotelService
from
"../../api/hotel"
;
import
message
from
"../../utils/message"
;
import
{
ApiResult
}
from
"../../@types/enumHelper"
;
import
{
CascaderOption
,
NCascader
,
NSelect
}
from
"naive-ui"
;
import
{
date
}
from
"quasar"
;
import
{
HotelRate
,
HotelArea
,
useHotel
}
from
"../../utils/hotelRate"
;
import
{
useQuasar
}
from
"quasar"
;
import
useScrollModule
from
"../../module/scrollbar/scrollModule"
;
// import { dateDiffer } from '../../utils/tools'
import
{
DirtionmaryHelper
}
from
"../../config/dictionary"
;
import
scheduledTripService
from
"src/api/scheduledTrip"
;
import
{
getStoreGetter
}
from
"../../store/utils"
;
import
{
UserGetter
}
from
"../../store/modules/user/getters"
;
export
default
defineComponent
({
components
:
{
svgIcon
,
NCascader
,
NSelect
},
setup
(
props
,
context
)
{
const
$q
=
useQuasar
()
const
qDateProxy
=
ref
(
null
)
as
any
const
qDateProxy0
=
ref
(
null
)
as
any
const
qDateProxy1
=
ref
(
null
)
as
any
const
qDateProxy2
=
ref
(
null
)
as
any
const
qDateProxy3
=
ref
(
null
)
as
any
const
qDateProxy4
=
ref
(
null
)
as
any
const
qDateProxy5
=
ref
(
null
)
as
any
const
qDateProxy6
=
ref
(
null
)
as
any
const
qNameProxy
=
ref
(
null
)
as
any
const
{
locale
,
t
}
=
useI18n
()
const
$q
=
useQuasar
();
const
qDateProxy
=
ref
(
null
)
as
any
;
const
qDateProxy0
=
ref
(
null
)
as
any
;
const
qDateProxy1
=
ref
(
null
)
as
any
;
const
qDateProxy2
=
ref
(
null
)
as
any
;
const
qDateProxy3
=
ref
(
null
)
as
any
;
const
qDateProxy4
=
ref
(
null
)
as
any
;
const
qDateProxy5
=
ref
(
null
)
as
any
;
const
qDateProxy6
=
ref
(
null
)
as
any
;
const
qNameProxy
=
ref
(
null
)
as
any
;
const
{
locale
,
t
}
=
useI18n
();
const
data
=
reactive
({
datesId
:
0
,
//日期
DayId
:
0
,
//旅程天数
xilies
:
[],
//系列
lines
:
[],
//线路
startCitys
:
[],
//出发城市表
datesId
:
0
,
//日期
DayId
:
0
,
//旅程天数
xilies
:
[],
//系列
lines
:
[],
//线路
startCitys
:
[],
//出发城市表
searchItem
:
[],
sites
:
[],
//公司所在城市
city
:
0
,
//公司城市
companyId
:
0
,
dates
:
[],
//开始日期
sites
:
[],
//公司所在城市
city
:
0
,
//公司城市
companyId
:
0
,
dates
:
[],
//开始日期
areaList
:
[],
chosenAddress
:
[],
//已选项
chosenAddress
:
[],
//已选项
goodsType
:
[],
dateRange
:
null
,
//起止时间
dateRange
:
null
,
//起止时间
searchClone
:
null
,
dayArray
:
[
{
id
:
1
,
min
:
1
,
max
:
1
,
text
:
"1"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"1"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
2
,
min
:
2
,
max
:
2
,
text
:
"2"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"2"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
3
,
min
:
3
,
max
:
3
,
text
:
"3"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"3"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
4
,
min
:
4
,
max
:
4
,
text
:
"4"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"4"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
5
,
min
:
5
,
max
:
5
,
text
:
"5"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"5"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
6
,
min
:
6
,
max
:
6
,
text
:
"6"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"6"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
7
,
min
:
7
,
max
:
8
,
text
:
"7-8"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"7-8"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
8
,
min
:
9
,
max
:
10
,
text
:
"9-10"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"9-10"
+
t
(
"v103.scheduledTrip.day"
),
},
{
id
:
9
,
min
:
10
,
max
:
1000
,
text
:
"10"
+
t
(
'v103.scheduledTrip.above'
),
text
:
"10"
+
t
(
"v103.scheduledTrip.above"
),
},
],
sortNum
:
1
,
userInfo
:
{}
as
any
,
})
const
search
=
inject
(
DirtionmaryHelper
.
TICKET_QUERY_PARAM
)
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
)
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
chosenAddress
))
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
msg
))
data
.
DayId
=
search
.
DayId
data
.
datesId
=
search
.
datesId
});
const
search
=
inject
(
DirtionmaryHelper
.
TICKET_QUERY_PARAM
);
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
);
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
chosenAddress
));
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
msg
));
data
.
DayId
=
search
.
DayId
;
data
.
datesId
=
search
.
datesId
;
data
.
dayArray
.
forEach
((
x
)
=>
{
x
.
checked
=
false
;
});
data
.
dateRange
=
{
from
:
data
.
searchClone
.
startDate
,
to
:
data
.
searchClone
.
endDate
};
data
.
userInfo
=
getStoreGetter
<
UserGetter
>
(
'user'
,
'getUser'
)
data
.
userInfo
=
getStoreGetter
<
UserGetter
>
(
"user"
,
"getUser"
);
const
methods
=
{
// 删除目的地、商品类别、旅游时间
removeChosen
(
x
,
i
,
type
)
{
if
(
type
==
1
||
type
==
2
){
if
(
type
==
1
){
search
.
msg
.
lineId
=
0
}
if
(
type
==
2
){
search
.
msg
.
lineTeamId
=
0
removeChosen
(
x
,
i
,
type
)
{
if
(
type
==
1
||
type
==
2
)
{
if
(
type
==
1
)
{
search
.
msg
.
lineId
=
0
;
}
if
(
type
==
2
)
{
search
.
msg
.
lineTeamId
=
0
;
}
}
else
if
(
type
==
3
)
{
search
.
msg
.
startCityId
=
0
}
else
if
(
type
==
4
)
{
search
.
DayId
=
0
search
.
msg
.
minTripDay
=
""
search
.
msg
.
maxTripDay
=
""
}
else
if
(
type
==
5
)
{
search
.
datesId
=
0
search
.
msg
.
startDate
=
''
search
.
msg
.
endDate
=
''
}
else
if
(
type
==
6
)
{
data
.
dateRange
=
null
search
.
datesId
=
0
search
.
msg
.
startDate
=
''
search
.
msg
.
endDate
=
''
}
else
if
(
type
==
3
)
{
search
.
msg
.
startCityId
=
0
;
}
else
if
(
type
==
4
)
{
search
.
DayId
=
0
;
search
.
msg
.
minTripDay
=
""
;
search
.
msg
.
maxTripDay
=
""
;
}
else
if
(
type
==
5
)
{
search
.
datesId
=
0
;
search
.
msg
.
startDate
=
""
;
search
.
msg
.
endDate
=
""
;
}
else
if
(
type
==
6
)
{
data
.
dateRange
=
null
;
search
.
datesId
=
0
;
search
.
msg
.
startDate
=
""
;
search
.
msg
.
endDate
=
""
;
}
search
.
chosenAddress
.
splice
(
i
,
1
)
search
.
chosenAddress
.
splice
(
i
,
1
);
},
// 初始化出发城市
initCityList
()
{
methods
.
GetB2BSite
()
let
d
=
new
Date
().
getMonth
()
for
(
let
i
=
0
;
i
<
3
;
i
++
)
{
d
++
d
=
d
>
12
?
d
-
12
:
d
methods
.
GetB2BSite
();
let
d
=
new
Date
().
getMonth
();
for
(
let
i
=
0
;
i
<
3
;
i
++
)
{
d
++
;
d
=
d
>
12
?
d
-
12
:
d
;
let
obj
=
{
Name
:
`
${
d
}${
t
(
'v103.scheduledTrip.month'
)}
`
,
id
:
1
+
i
,
MM
:
d
}
data
.
dates
.
push
(
obj
)
}
let
arrList
=
function
(
arr
){
arr
.
forEach
(
item
=>
{
item
.
isShow
=
true
item
.
explsed
=
false
})
Name
:
`
${
d
}${
t
(
"v103.scheduledTrip.month"
)}
`
,
id
:
1
+
i
,
MM
:
d
,
};
data
.
dates
.
push
(
obj
);
}
arrList
(
data
.
dates
)
let
list
=
[]
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
})
list
[
0
].
SubList
=
data
.
dates
let
arrList
=
function
(
arr
)
{
arr
.
forEach
((
item
)
=>
{
item
.
isShow
=
true
;
item
.
explsed
=
false
;
});
};
arrList
(
data
.
dates
);
let
list
=
[];
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
});
list
[
0
].
SubList
=
data
.
dates
;
data
.
dates
=
list
;
},
// 获取当前城市
GetB2BSite
(){
let
state
=
false
;
scheduledTripService
.
GetB2BSite
({}).
then
(
r
=>
{
GetB2BSite
()
{
let
state
=
false
;
scheduledTripService
.
GetB2BSite
({})
.
then
((
r
)
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
let
arrList
=
function
(
arr
)
{
arr
.
forEach
(
item
=>
{
item
.
isShow
=
true
item
.
explsed
=
false
})
}
arrList
(
r
.
data
.
data
)
let
list
=
[]
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
})
if
(
data
.
userInfo
)
{
let
arrList
=
function
(
arr
)
{
arr
.
forEach
(
(
item
)
=>
{
item
.
isShow
=
true
;
item
.
explsed
=
false
;
})
;
}
;
arrList
(
r
.
data
.
data
)
;
let
list
=
[]
;
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
});
if
(
data
.
userInfo
)
{
let
rB_Branch_id
=
data
.
userInfo
.
salesBaseInfo
.
rB_Branch_id
;
search
.
msg
.
companyId
=
data
.
rB_Branch_id
if
(
domain
==
'id.oytour'
)
{
search
.
msg
.
companyId
=
1252
list
[
0
].
SubList
=
r
.
data
.
data
.
filter
(
branch
=>
branch
.
companyId
==
1252
)
list
[
0
].
SubList
[
0
].
siteName
=
'Jakarta'
}
else
{
list
[
0
].
SubList
=
r
.
data
.
data
search
.
msg
.
companyId
=
data
.
rB_Branch_id
search
.
msg
.
companyId
=
data
.
rB_Branch_id
;
if
(
domain
==
"id.oytour"
)
{
search
.
msg
.
companyId
=
1252
;
list
[
0
].
SubList
=
r
.
data
.
data
.
filter
(
(
branch
)
=>
branch
.
companyId
==
1252
);
list
[
0
].
SubList
[
0
].
siteName
=
"Jakarta"
;
}
else
{
list
[
0
].
SubList
=
r
.
data
.
data
;
search
.
msg
.
companyId
=
data
.
rB_Branch_id
;
}
data
.
companyId
=
search
.
msg
.
companyId
search
.
RetrievalState
=
true
data
.
companyId
=
search
.
msg
.
companyId
;
search
.
RetrievalState
=
true
;
data
.
sites
=
list
;
data
.
sites
[
0
].
SubList
.
forEach
(
item
=>
{
if
(
item
.
companyId
==
rB_Branch_id
)
{
data
.
sites
[
0
].
SubList
.
forEach
(
(
item
)
=>
{
if
(
item
.
companyId
==
rB_Branch_id
)
{
state
=
true
;
data
.
city
=
item
.
companyId
;
data
.
searchClone
.
cityId
=
item
.
cityId
data
.
searchClone
.
cityId
=
item
.
cityId
;
// localStorage.setItem('site', data.city)
// localStorage.setItem('cityId', item.cityId)
methods
.
changeChosenHandler
(
item
)
methods
.
changeChosenHandler
(
item
)
;
}
})
if
(
!
state
)
{
})
;
if
(
!
state
)
{
state
=
true
;
data
.
city
=
data
.
sites
[
0
].
SubList
[
0
].
companyId
;
data
.
searchClone
.
cityId
=
data
.
sites
[
0
].
SubList
[
0
].
cityId
search
.
msg
.
companyId
=
data
.
companyId
data
.
searchClone
.
cityId
=
data
.
sites
[
0
].
SubList
[
0
].
cityId
;
search
.
msg
.
companyId
=
data
.
companyId
;
// localStorage.setItem('site', data.city)
// localStorage.setItem('cityId', data.searchClone.cityId)
methods
.
changeChosenHandler
(
data
.
sites
[
0
].
SubList
[
0
],
data
.
sites
[
0
])
methods
.
changeChosenHandler
(
data
.
sites
[
0
].
SubList
[
0
],
data
.
sites
[
0
]);
}
search
.
msg
.
cityId
=
data
.
searchClone
.
cityId
methods
.
loadRecoItems
()
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
search
.
msg
.
cityId
=
data
.
searchClone
.
cityId
;
methods
.
loadRecoItems
()
;
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
;
}
}
}).
catch
(
e
=>
{
message
.
errorMsg
(
e
.
message
)
})
.
catch
((
e
)
=>
{
message
.
errorMsg
(
e
.
message
);
});
},
// 系列
loadRecoItems
()
{
loadRecoItems
()
{
let
param
=
{
companyId
:
data
.
city
,
cityId
:
data
.
searchClone
.
cityId
,
}
scheduledTripService
.
GetB2BGroupSearchItem
(
param
).
then
(
r
=>
{
};
scheduledTripService
.
GetB2BGroupSearchItem
(
param
)
.
then
((
r
)
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
let
arrList
=
function
(
arr
)
{
arr
.
forEach
(
item
=>
{
item
.
isShow
=
true
item
.
explsed
=
false
})
}
arrList
(
r
.
data
.
data
.
line
)
arrList
(
r
.
data
.
data
.
startCity
)
let
list
=
[]
let
arrList
=
function
(
arr
)
{
arr
.
forEach
(
(
item
)
=>
{
item
.
isShow
=
true
;
item
.
explsed
=
false
;
})
;
}
;
arrList
(
r
.
data
.
data
.
line
)
;
arrList
(
r
.
data
.
data
.
startCity
)
;
let
list
=
[]
;
let
obj
=
{
SubList
:
[],
explsed
:
false
,
isShow
:
true
}
list
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
obj
)))
list
[
0
].
SubList
=
r
.
data
.
data
.
line
data
.
lines
=
JSON
.
parse
(
JSON
.
stringify
(
list
))
let
list2
=
[]
list2
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
obj
)))
list2
[
0
].
SubList
=
r
.
data
.
data
.
startCity
data
.
startCitys
=
list2
data
.
startCitys
.
forEach
(
x
=>
{
x
.
SubList
.
forEach
(
y
=>
{
data
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
!=
z
.
id
){
if
(
z
.
type
==
1
){
search
.
chosenAddress
.
splice
(
index
,
1
);
SubList
:
[],
explsed
:
false
,
isShow
:
true
,
};
list
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
obj
)));
list
[
0
].
SubList
=
r
.
data
.
data
.
line
;
data
.
lines
=
JSON
.
parse
(
JSON
.
stringify
(
list
));
let
list2
=
[];
list2
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
obj
)));
list2
[
0
].
SubList
=
r
.
data
.
data
.
startCity
;
data
.
startCitys
=
list2
;
data
.
startCitys
.
forEach
((
x
)
=>
{
x
.
SubList
.
forEach
((
y
)
=>
{
data
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
!=
z
.
id
)
{
if
(
z
.
type
==
1
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
if
(
z
.
type
==
2
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
if
(
z
.
type
==
2
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
if
(
z
.
type
==
3
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
if
(
z
.
type
==
3
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
}
})
})
})
})
;
})
;
})
;
}
}).
catch
(
e
=>
{
message
.
errorMsg
(
e
.
message
)
})
.
catch
((
e
)
=>
{
message
.
errorMsg
(
e
.
message
);
});
},
// 旅游时间
changeExplesdHandler
(
x
)
{
...
...
@@ -761,171 +976,173 @@
}
},
// 出发地
changeCheckHandler
(
x
,
p
=
null
,
type
)
{
if
(
!
type
){
// data.city = x.companyId;
// search.msg.cityId = data.searchClone.cityId
search
.
msg
.
companyId
=
x
.
companyId
methods
.
loadRecoItems
()
}
else
if
(
type
==
1
){
let
arrList
=
function
(
arr
){
arr
.
forEach
(
item
=>
{
item
.
isShow
=
true
item
.
explsed
=
false
})
}
arrList
(
x
.
lineTeam
)
let
list
=
[]
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
})
list
[
0
].
SubList
=
x
.
lineTeam
data
.
xilies
=
list
search
.
msg
.
lineId
=
x
.
id
changeCheckHandler
(
x
,
p
=
null
,
type
)
{
if
(
!
type
)
{
search
.
msg
.
companyId
=
x
.
companyId
;
methods
.
loadRecoItems
();
}
else
if
(
type
==
1
)
{
let
arrList
=
function
(
arr
)
{
arr
.
forEach
((
item
)
=>
{
item
.
isShow
=
true
;
item
.
explsed
=
false
;
});
};
arrList
(
x
.
lineTeam
);
let
list
=
[];
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
});
list
[
0
].
SubList
=
x
.
lineTeam
;
data
.
xilies
=
list
;
search
.
msg
.
lineId
=
x
.
id
;
}
setTimeout
(()
=>
{
methods
.
changeChosenHandler
(
x
,
p
,
type
);
},
200
)
setTimeout
(()
=>
{
methods
.
changeChosenHandler
(
x
,
p
,
type
);
},
200
);
},
changeChosenHandler
(
x
,
p
,
type
)
{
let
obj
=
{}
if
(
!
type
)
{
obj
=
{
changeChosenHandler
(
x
,
p
,
type
)
{
let
obj
=
{};
if
(
!
type
)
{
obj
=
{
Name
:
x
.
siteName
,
Id
:
x
.
cityId
,
checked
:
x
.
checked
,
cityId
:
x
.
cityId
,
cityId
:
x
.
cityId
,
companyId
:
x
.
companyId
,
companyName
:
x
.
companyName
,
explsed
:
x
.
explsed
,
isShow
:
x
.
isShow
,
province
:
x
.
province
,
siteName
:
x
.
siteName
,
type
:
type
}
search
.
chosenAddress
.
splice
(
0
,
1
);
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy0
.
value
)
qDateProxy0
.
value
.
hide
()
type
:
type
,
};
search
.
chosenAddress
.
splice
(
0
,
1
);
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy0
.
value
)
qDateProxy0
.
value
.
hide
();
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
unshift
(
obj
);
},
200
)
}
else
if
(
type
==
1
||
type
==
2
)
{
obj
=
{
},
200
);
}
else
if
(
type
==
1
||
type
==
2
)
{
obj
=
{
Name
:
x
.
name
,
Id
:
x
.
id
,
type
:
type
}
type
:
type
,
};
// let status = false
p
.
SubList
.
forEach
(
y
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
p
.
SubList
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
// status = true
search
.
chosenAddress
.
splice
(
index
,
1
);
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
})
if
(
type
==
1
){
search
.
msg
.
lineId
=
x
.
id
}
if
(
type
==
2
){
search
.
msg
.
lineTeamId
=
x
.
id
});
});
if
(
type
==
1
)
{
search
.
msg
.
lineId
=
x
.
id
;
}
if
(
$q
.
platform
.
is
.
mobile
){
if
(
type
==
1
&&
qDateProxy1
.
value
)
qDateProxy1
.
value
.
hide
()
if
(
type
==
2
&&
qDateProxy2
.
value
)
qDateProxy2
.
value
.
hide
()
if
(
type
==
2
)
{
search
.
msg
.
lineTeamId
=
x
.
id
;
}
setTimeout
(()
=>
{
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
type
==
1
&&
qDateProxy1
.
value
)
qDateProxy1
.
value
.
hide
();
if
(
type
==
2
&&
qDateProxy2
.
value
)
qDateProxy2
.
value
.
hide
();
}
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
},
200
)
}
else
if
(
type
==
3
)
{
obj
=
{
},
200
);
}
else
if
(
type
==
3
)
{
obj
=
{
Name
:
x
.
startCityName
,
Id
:
x
.
id
,
type
:
type
}
p
.
SubList
.
forEach
(
y
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
type
:
type
,
};
p
.
SubList
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
})
search
.
msg
.
startCityId
=
x
.
id
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy3
.
value
)
qDateProxy3
.
value
.
hide
()
});
});
search
.
msg
.
startCityId
=
x
.
id
;
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy3
.
value
)
qDateProxy3
.
value
.
hide
();
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
},
500
)
}
else
if
(
type
==
4
)
{
obj
=
{
},
500
);
}
else
if
(
type
==
4
)
{
obj
=
{
Name
:
x
.
text
,
Id
:
x
.
id
,
min
:
x
.
min
,
max
:
x
.
max
,
type
:
type
}
p
.
forEach
(
y
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
type
:
type
,
};
p
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
})
search
.
DayId
=
data
.
DayId
search
.
msg
.
minTripDay
=
x
.
min
search
.
msg
.
maxTripDay
=
x
.
max
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy4
.
value
)
qDateProxy4
.
value
.
hide
()
});
});
search
.
DayId
=
data
.
DayId
;
search
.
msg
.
minTripDay
=
x
.
min
;
search
.
msg
.
maxTripDay
=
x
.
max
;
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy4
.
value
)
qDateProxy4
.
value
.
hide
();
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
methods
.
changeTripDayHandler
()
},
200
)
}
else
if
(
type
==
5
)
{
obj
=
{
methods
.
changeTripDayHandler
();
},
200
);
}
else
if
(
type
==
5
)
{
obj
=
{
Name
:
x
.
Name
,
Id
:
x
.
id
,
type
:
type
,
min
:
new
Date
().
getFullYear
()
+
'/'
+
x
.
MM
+
'/01'
,
max
:
new
Date
().
getFullYear
()
+
'/'
+
x
.
MM
+
'/'
+
new
Date
(
new
Date
().
getFullYear
(),
x
.
MM
,
0
).
getDate
(),
}
p
.
SubList
.
forEach
(
y
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
){
search
.
chosenAddress
.
splice
(
index
,
1
);
min
:
new
Date
().
getFullYear
()
+
"/"
+
x
.
MM
+
"/01"
,
max
:
new
Date
().
getFullYear
()
+
"/"
+
x
.
MM
+
"/"
+
new
Date
(
new
Date
().
getFullYear
(),
x
.
MM
,
0
).
getDate
(),
};
p
.
SubList
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
})
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy5
.
value
)
qDateProxy5
.
value
.
hide
()
});
});
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy5
.
value
)
qDateProxy5
.
value
.
hide
();
}
search
.
datesId
=
x
.
id
search
.
msg
.
startDate
=
obj
.
min
search
.
msg
.
endDate
=
obj
.
max
console
.
log
(
search
.
msg
)
search
.
datesId
=
x
.
id
;
search
.
msg
.
startDate
=
obj
.
min
;
search
.
msg
.
endDate
=
obj
.
max
;
search
.
chosenAddress
.
push
(
obj
);
}
else
if
(
type
==
6
)
{
obj
=
{
Name
:
x
.
startDate
+
'-'
+
x
.
endDate
,
}
else
if
(
type
==
6
)
{
obj
=
{
Name
:
x
.
startDate
+
"-"
+
x
.
endDate
,
startDate
:
x
.
startDate
,
type
:
type
,
};
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
}
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
type
==
z
.
type
){
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
if
(
$q
.
platform
.
is
.
mobile
){
if
(
qDateProxy6
.
value
)
qDateProxy6
.
value
.
hide
()
});
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy6
.
value
)
qDateProxy6
.
value
.
hide
();
}
// search.msg.startDate = x.startDate
// search.msg.startDate = x.endDate
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
},
200
)
},
200
);
}
search
.
RetrievalState
=
true
if
(
p
)
{
search
.
RetrievalState
=
true
;
if
(
p
)
{
p
.
explsed
=
false
;
}
},
...
...
@@ -934,7 +1151,7 @@
data
.
searchClone
.
minTripDay
=
"0"
;
data
.
searchClone
.
maxTripDay
=
"0"
;
data
.
dayArray
.
forEach
((
x
)
=>
{
if
(
x
.
id
==
data
.
DayId
)
{
if
(
x
.
id
==
data
.
DayId
)
{
data
.
searchClone
.
minPrice
=
data
.
searchClone
.
minPrice
>
x
.
min
?
x
.
min
:
data
.
searchClone
.
minPrice
;
data
.
searchClone
.
maxPrice
=
...
...
@@ -953,45 +1170,44 @@
search
.
msg
.
priceRange
.
max
=
e
.
max
;
search
.
msg
.
minPrice
=
e
.
min
;
search
.
msg
.
maxPrice
=
e
.
max
;
methods
.
queryList
()
methods
.
queryList
();
},
queryList
()
{
search
.
RetrievalState
=
true
queryList
()
{
search
.
RetrievalState
=
true
;
},
// 选择时间区间
optionsFn
(
cd
)
{
return
(
cd
>=
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
1
}),
"YYYY/MM/DD"
)
cd
>=
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
1
}),
"YYYY/MM/DD"
)
);
},
dateRangeHandler
(
e
)
{
let
startDate
=
`
${
e
.
from
.
year
}
/
${
e
.
from
.
month
}
/
${
e
.
from
.
day
}
`
;
let
endDate
=
`
${
e
.
to
.
year
}
/
${
e
.
to
.
month
}
/
${
e
.
to
.
day
}
`
;
if
(
qDateProxy
.
value
)
qDateProxy
.
value
.
hide
()
let
obj
=
{
if
(
qDateProxy
.
value
)
qDateProxy
.
value
.
hide
();
let
obj
=
{
startDate
:
startDate
,
endDate
:
endDate
,
}
search
.
msg
.
startDate
=
startDate
search
.
msg
.
endDate
=
endDate
methods
.
changeChosenHandler
(
obj
,
null
,
6
)
};
search
.
msg
.
startDate
=
startDate
;
search
.
msg
.
endDate
=
endDate
;
methods
.
changeChosenHandler
(
obj
,
null
,
6
);
},
// 商品类型
initGoods
()
{
data
.
goodsType
.
push
({
Id
:
1
,
Name
:
t
(
'v103.scheduledTrip.sightseeingitinerary'
),
explsed
:
$q
.
platform
.
is
.
desktop
?
false
:
true
,
Name
:
t
(
"v103.scheduledTrip.sightseeingitinerary"
),
explsed
:
$q
.
platform
.
is
.
desktop
?
false
:
true
,
SubList
:
[
{
Id
:
2
,
Name
:
t
(
'v103.scheduledTrip.daytrip'
),
Name
:
t
(
"v103.scheduledTrip.daytrip"
),
checked
:
false
,
},
{
Id
:
3
,
Name
:
t
(
'v103.scheduledTrip.multiday'
),
Name
:
t
(
"v103.scheduledTrip.multiday"
),
checked
:
false
,
},
],
...
...
@@ -999,42 +1215,50 @@
},
// 搜寻关键词
changeAddrSearchHandler
(
v
)
{
search
.
RetrievalState
=
true
search
.
RetrievalState
=
true
;
},
}
watch
(
data
.
searchClone
,
(
n
,
o
)
=>
{
};
watch
(
data
.
searchClone
,
(
n
,
o
)
=>
{
// search.searchClone = JSON.parse(JSON.stringify(n))
},{
deep
:
true
})
watch
(
search
,
(
n
,
o
)
=>
{
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
n
.
msg
))
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
n
.
chosenAddress
))
if
(
n
.
DayId
==
0
){
data
.
DayId
=
n
.
DayId
},
{
deep
:
true
}
);
watch
(
search
,
(
n
,
o
)
=>
{
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
n
.
msg
));
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
n
.
chosenAddress
));
if
(
n
.
DayId
==
0
)
{
data
.
DayId
=
n
.
DayId
;
}
if
(
n
.
datesId
==
0
)
{
data
.
datesId
=
n
.
datesId
data
.
searchClone
.
startDate
=
""
if
(
n
.
datesId
==
0
)
{
data
.
datesId
=
n
.
datesId
;
data
.
searchClone
.
startDate
=
""
;
}
data
.
dateRange
=
{
from
:
n
.
msg
.
startDate
,
to
:
n
.
msg
.
endDate
};
data
.
searchClone
.
startDate
=
n
.
msg
.
startDate
data
.
searchClone
.
endDate
=
n
.
msg
.
endDate
if
(
n
.
deleteChosen
)
{
data
.
areaList
.
forEach
(
x
=>
{
x
.
SubList
.
forEach
(
y
=>
{
if
(
x
.
Id
==
n
.
deleteChosen
.
Pid
&&
y
.
Id
==
n
.
deleteChosen
.
Id
)
{
methods
.
changeCheckHandler
(
y
,
x
)
data
.
searchClone
.
startDate
=
n
.
msg
.
startDate
;
data
.
searchClone
.
endDate
=
n
.
msg
.
endDate
;
if
(
n
.
deleteChosen
)
{
data
.
areaList
.
forEach
(
(
x
)
=>
{
x
.
SubList
.
forEach
(
(
y
)
=>
{
if
(
x
.
Id
==
n
.
deleteChosen
.
Pid
&&
y
.
Id
==
n
.
deleteChosen
.
Id
)
{
methods
.
changeCheckHandler
(
y
,
x
);
}
})
})
})
;
})
;
}
},{
deep
:
true
})
},
{
deep
:
true
}
);
const
searchCnt
=
computed
(()
=>
{
let
setCnt
=
2
let
setCnt
=
2
;
if
(
$q
.
platform
.
is
.
mobile
)
{
setCnt
=
setCnt
+
search
.
chosenAddress
.
length
-
1
setCnt
=
setCnt
+
search
.
chosenAddress
.
length
-
1
;
}
return
setCnt
})
return
setCnt
;
});
methods
.
initCityList
();
methods
.
initGoods
();
...
...
@@ -1052,16 +1276,15 @@
qDateProxy5
,
qDateProxy6
,
qNameProxy
,
domain
}
}
})
</
script
>
domain
,
};
},
});
</
script
>
<
style
>
.SearchMain
.SearchMain-height
.q-field__control
{
<
style
>
.SearchMain
.SearchMain-height
.q-field__control
{
height
:
40px
;
min-height
:
40px
!important
;
}
</
style
>
\ No newline at end of file
}
</
style
>
src/components/trip/order/TripOrderList.vue
View file @
a54f50cf
...
...
@@ -161,9 +161,7 @@ export default defineComponent({
x
.
typeInfo
=
data
.
status
.
find
(
y
=>
y
.
StatusId
==
x
.
orderState
)
??
data
.
status
[
1
]
})
data
.
orders
=
r
.
data
.
data
.
pageData
console
.
log
(
r
)
data
.
pages
.
pageCount
=
r
.
data
.
data
.
pageCount
// methods.GetWaitDealOrderPageList()
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
}
...
...
src/components/trip/orderPreview.vue
View file @
a54f50cf
...
...
@@ -10,22 +10,36 @@
flat
/>
</div>
<div
class=
"text-grey-6 f12 q-my-md"
>
{{
$t
(
'v103.scheduledTripDetails.selectionquantity'
)
}}
</div>
<div
class=
"text-grey-6 f12 q-my-md"
>
{{
$t
(
"v103.scheduledTripDetails.selectionquantity"
)
}}
</div>
<div
class=
"row items-end"
>
<div
class=
"col"
:class=
"
{
'column':$q.platform.is.mobile
}">
<div
class=
"col"
:class=
"
{
column: $q.platform.is.mobile
}">
<div>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t
(
'v103.scheduledTripDetails.cr'
)
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(12-99
{{
$t
(
'v103.scheduledTripDetails.age'
)
}}
)
</span>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t
(
"v103.scheduledTripDetails.cr"
)
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(12-99
{{
$t
(
"v103.scheduledTripDetails.age"
)
}}
)
</span
>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{
domain
==
`id.oytour`
?
'IDR'
:
'CNY'
}}
{{
p
.
originalB2BPrice
}}
/
{{
$t
(
'v103.scheduledTripDetails.each'
)
}}
{{
domain
==
`id.oytour`
?
"IDR"
:
"CNY"
}}
{{
p
.
originalB2BPrice
}}
/
{{
$t
(
"v103.scheduledTripDetails.each"
)
}}
</span>
</div>
</div>
<div
class=
"row items-end"
>
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{
domain
==
`id.oytour`
?
'IDR'
:
'CNY'
}}
{{
p
.
originalB2BPrice
}}
/
{{
$t
(
'v103.scheduledTripDetails.each'
)
}}
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{
domain
==
`id.oytour`
?
"IDR"
:
"CNY"
}}
{{
p
.
originalB2BPrice
}}
/
{{
$t
(
"v103.scheduledTripDetails.each"
)
}}
</span>
<q-input
style=
"width: 150px"
...
...
@@ -67,22 +81,36 @@
</div>
<div
class=
"row items-end q-mt-md"
v-if=
"p.isSupportChildren == 1"
>
<div
class=
"col"
:class=
"{
'column':$q.platform.is.mobile
}"
>
<div
class=
"col"
:class=
"{
column: $q.platform.is.mobile
}"
>
<div>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{$t('v103.scheduledTripDetails.et')}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2-11{{$t('v103.scheduledTripDetails.age')}},{{$t('v103.scheduledTripDetails.noroom')}})
</span>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t("v103.scheduledTripDetails.et")
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2-11{{ $t("v103.scheduledTripDetails.age") }},{{
$t("v103.scheduledTripDetails.noroom")
}})
</span
>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div
class=
"row items-end"
>
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style=
"width: 150px"
...
...
@@ -126,13 +154,21 @@
<div
class=
"row items-end q-mt-md"
v-if=
"p.isSupportChildren == 1"
>
<div
class=
"col"
:class=
"{ column: $q.platform.is.mobile }"
>
<div>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{$t('v103.scheduledTripDetails.et')}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2-11{{$t('v103.scheduledTripDetails.age')}},{{$t('v103.scheduledTripDetails.room')}})
</span>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t("v103.scheduledTripDetails.et")
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2-11{{ $t("v103.scheduledTripDetails.age") }},{{
$t("v103.scheduledTripDetails.room")
}})
</span
>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
...
...
@@ -142,8 +178,10 @@
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style=
"width: 150px"
...
...
@@ -185,20 +223,37 @@
</div>
<div
class=
"row items-end q-mt-md"
v-if=
"p.isSupportChildren == 1"
>
<div
class=
"col"
:class=
"{
'column':$q.platform.is.mobile
}"
>
<div
class=
"col"
:class=
"{
column: $q.platform.is.mobile
}"
>
<div>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{$t('v103.scheduledTripDetails.ye')}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2{{$t('v103.scheduledTripDetails.age')}}{{$t('v103.scheduledTripDetails.yixia')}})
</span>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t("v103.scheduledTripDetails.ye")
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
(2{{ $t("v103.scheduledTripDetails.age")
}}{{ $t("v103.scheduledTripDetails.yixia") }})
</span
>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.babyPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.babyPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div
class=
"row items-end"
>
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.babyPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.babyPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style=
"width: 150px"
...
...
@@ -240,29 +295,41 @@
</div>
<div
class=
"text-grey-6 f12 q-mt-mb"
v-if=
"p.isSupportChildren == 2"
>
{{
$t('v103.scheduledTripDetails.prompt')
}}
{{
$t("v103.scheduledTripDetails.prompt")
}}
</div>
<div
v-if=
"p.singleRoomPrice && p.singleRoomPrice > 0"
class=
"q-pt-md q-mt-md"
style=
"border-top: 1px dashed #eee"
>
<div
class=
"text-grey-6 f12"
>
{{
$t('v103.scheduledTripDetails.service')
}}
</div>
<div
class=
"text-grey-6 f12"
>
{{
$t("v103.scheduledTripDetails.service")
}}
</div>
<div
class=
"row items-end"
>
<div
class=
"col"
:class=
"{
'column':$q.platform.is.mobile
}"
>
<div
class=
"col"
:class=
"{
column: $q.platform.is.mobile
}"
>
<div>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{$t('v103.scheduledTripDetails.service')}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
({{$t('v103.scheduledTripDetails.singleroom')}})
</span>
<span
class=
"text-subtitle2 text-weight-bold"
>
{{
$t("v103.scheduledTripDetails.service")
}}
</span>
<span
class=
"text-grey-6 f12 q-ml-sm"
>
({{ $t("v103.scheduledTripDetails.singleroom") }})
</span
>
</div>
<div
v-if=
"$q.platform.is.mobile"
>
<span
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.singleRoomPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.singleRoomPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div
class=
"row items-end"
>
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.singleRoomPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if=
"$q.platform.is.desktop"
class=
"text-grey-7 product-price"
style=
"font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.singleRoomPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style=
"width: 150px"
...
...
@@ -308,85 +375,121 @@
class=
"q-pt-md q-mt-md row items-center"
style=
"border-top: 1px dashed #eee"
>
<div
class=
"text-grey-6 f12 col"
>
{{$t('v103.scheduledTripDetails.insurance')}}
</div>
<div
class=
"product-money f12"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.safeMoney }}/{{$t('v103.scheduledTripDetails.each')}}
</div>
<div
class=
"text-grey-6 f12 col"
>
{{ $t("v103.scheduledTripDetails.insurance") }}
</div>
<div
class=
"product-money f12"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.safeMoney }}/{{
$t("v103.scheduledTripDetails.each")
}}
</div>
</div>
</div>
<div
class=
"q-mt-md q-pt-md"
style=
"border-top: 1px dashed #eee"
>
<div
class=
"row items-center"
>
<span
class=
"text-subtitle2 text-grey-6 col"
>
{{$t('v103.scheduledTripDetails.total')}}
</span>
<span
class=
"text-h6 text-primary product-price"
>
{{domain==`id.oytour`?'IDR':'CNY'}} {{ sumPrice }}
</span>
<span
class=
"text-subtitle2 text-grey-6 col"
>
{{
$t("v103.scheduledTripDetails.total")
}}
</span>
<span
class=
"text-h6 text-primary product-price"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ sumPrice }}
</span
>
</div>
<div
class=
"q-mt-md text-right"
>
<span
class=
"q-mr-lg f12 text-negative"
v-if=
"!p.startDate"
>
{{$q.platform.is.mobile?$t('v103.scheduledTripDetails.selectdatetop'):$t('v103.scheduledTripDetails.selectdateleft')}}
</span>
<q-btn
color=
"primary"
:label=
"$t('v103.scheduledTripDetails.book')"
unelevated
class=
"q-px-lg"
:disable=
"sumPrice==0"
@
click=
"goOrderHandler"
/>
<span
class=
"q-mr-lg f12 text-negative"
v-if=
"!p.startDate"
>
{{
$q.platform.is.mobile
? $t("v103.scheduledTripDetails.selectdatetop")
: $t("v103.scheduledTripDetails.selectdateleft")
}}
</span>
<q-btn
color=
"primary"
:label=
"$t('v103.scheduledTripDetails.book')"
unelevated
class=
"q-px-lg"
:disable=
"sumPrice == 0"
@
click=
"goOrderHandler"
/>
</div>
</div>
</div>
</template>
<
script
lang=
"ts"
>
import
{
date
,
useQuasar
}
from
"quasar"
;
import
{
inject
,
provide
,
reactive
,
toRefs
,
defineComponent
,
onMounted
,
ref
,
watch
,
getCurrentInstance
}
from
'vue'
;
import
{
useRouter
}
from
'vue-router'
import
{
useI18n
}
from
'vue-i18n'
import
{
DirtionmaryHelper
}
from
'src/config/dictionary'
import
scheduledTripService
from
'src/api/scheduledTrip'
import
{
ApiResult
}
from
'src/@types/enumHelper'
import
message
from
'src/utils/message'
import
{
moneyFormat
}
from
'src/utils/tools'
import
{
date
,
useQuasar
}
from
"quasar"
;
import
{
inject
,
provide
,
reactive
,
toRefs
,
defineComponent
,
onMounted
,
ref
,
watch
,
getCurrentInstance
,
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useI18n
}
from
"vue-i18n"
;
import
{
DirtionmaryHelper
}
from
"src/config/dictionary"
;
import
scheduledTripService
from
"src/api/scheduledTrip"
;
import
{
ApiResult
}
from
"src/@types/enumHelper"
;
import
message
from
"src/utils/message"
;
import
{
moneyFormat
}
from
"src/utils/tools"
;
import
md5
from
"md5-ts"
;
export
default
defineComponent
({
components
:
{
},
props
:
[
'msg'
,
'price'
],
components
:
{},
props
:
[
"msg"
,
"price"
],
setup
(
props
,
context
)
{
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
)
const
$router
=
useRouter
()
const
{
t
}
=
useI18n
()
const
$q
=
useQuasar
()
const
qDateProxy
=
ref
(
null
)
as
any
let
{
ctx
:
that
,
proxy
}
=
getCurrentInstance
()
const
data
=
reactive
({
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
);
const
$router
=
useRouter
()
;
const
{
t
}
=
useI18n
()
;
const
$q
=
useQuasar
()
;
const
qDateProxy
=
ref
(
null
)
as
any
;
let
{
ctx
:
that
,
proxy
}
=
getCurrentInstance
();
const
data
=
reactive
({
p
:
props
.
price
,
chosenObj
:
null
,
sumPrice
:
0
})
watch
(()
=>
props
.
price
,(
n
,
o
)
=>
{
sumPrice
:
0
,
});
watch
(
()
=>
props
.
price
,
(
n
,
o
)
=>
{
data
.
p
=
n
;
data
.
chosenObj
.
startDate
=
n
.
startDate
;
methods
.
calcMoney
()
},{
deep
:
true
}
)
methods
.
calcMoney
();
},
{
deep
:
true
}
);
const
methods
=
{
goOrderHandler
(){
goOrderHandler
()
{
let
order
=
{
configId
:
props
.
msg
.
configId
,
tcid
:
data
.
p
.
tcid
,
startCityId
:
0
,
orderInfo
:
data
.
chosenObj
}
let
key
=
md5
(
JSON
.
stringify
(
order
))
let
lineTrip
=
localStorage
.
getItem
(
'lineTrip'
)
lineTrip
=
lineTrip
?
JSON
.
parse
(
lineTrip
):[]
orderInfo
:
data
.
chosenObj
,
}
;
let
key
=
md5
(
JSON
.
stringify
(
order
))
;
let
lineTrip
=
localStorage
.
getItem
(
"lineTrip"
);
lineTrip
=
lineTrip
?
JSON
.
parse
(
lineTrip
)
:
[];
lineTrip
.
push
({
key
,
order
})
localStorage
.
setItem
(
"lineTrip"
,
JSON
.
stringify
(
lineTrip
))
$router
.
push
({
path
:
`/scheduledTrip/preview/
${
key
}
`
})
order
,
})
;
localStorage
.
setItem
(
"lineTrip"
,
JSON
.
stringify
(
lineTrip
));
$router
.
push
({
path
:
`/scheduledTrip/preview/
${
key
}
`
});
},
initModel
()
{
data
.
sumPrice
=
0
data
.
sumPrice
=
0
;
data
.
chosenObj
=
{
startDate
:
""
,
crCount
:
1
,
etCount
:
0
,
yeCount
:
0
,
lrCount
:
0
,
etzcCount
:
0
,
etbzcCount
:
0
,
crCount
:
1
,
//成人
etCount
:
0
,
//儿童
yeCount
:
0
,
//婴儿
lrCount
:
0
,
//老人
etzcCount
:
0
,
//儿童占床
etbzcCount
:
0
,
//儿童不占床
etzc
:
0
,
df
:
0
,
df
:
0
,
//单房数量
dcf
:
0
,
srf
:
0
,
isUnico
:
false
,
...
...
@@ -407,7 +510,7 @@ export default defineComponent({
},
resetHandler
()
{
data
.
p
=
{};
methods
.
initModel
()
methods
.
initModel
()
;
context
.
emit
(
"reset"
);
},
changePeople
(
val
)
{},
...
...
@@ -419,55 +522,66 @@ export default defineComponent({
data
.
chosenObj
[
m
]
=
data
.
chosenObj
[
m
]
<
1
?
1
:
data
.
chosenObj
[
m
];
}
if
(
!
isDf
)
{
if
(
data
.
chosenObj
.
crCount
+
data
.
chosenObj
.
etzcCount
>
data
.
p
.
remainNum
)
{
if
(
data
.
chosenObj
.
crCount
+
data
.
chosenObj
.
etzcCount
>
data
.
p
.
remainNum
)
{
data
.
chosenObj
[
m
]
=
data
.
chosenObj
[
m
]
-
1
;
}
}
else
{
if
(
data
.
chosenObj
.
crCount
+
data
.
chosenObj
.
etzcCount
<
data
.
chosenObj
.
df
)
{
if
(
data
.
chosenObj
.
crCount
+
data
.
chosenObj
.
etzcCount
<
data
.
chosenObj
.
df
)
{
data
.
chosenObj
[
m
]
=
data
.
chosenObj
[
m
]
-
1
;
}
}
methods
.
calcMoney
()
methods
.
calcMoney
()
;
},
calcMoney
()
{
if
(
!
data
.
p
||
!
data
.
p
.
originalB2BPrice
)
return
data
.
sumPrice
=
0
;
data
.
chosenObj
.
etCount
=
data
.
chosenObj
.
etbzcCount
+
data
.
chosenObj
.
etzcCount
let
money
=
data
.
p
.
originalB2BPrice
*
data
.
chosenObj
.
crCount
;
money
+=
(
data
.
p
.
originalB2BPrice
-
data
.
p
.
childNoNeedPrice
+
data
.
p
.
babyChargePrice
)
*
data
.
chosenObj
.
etCount
;
money
+=
data
.
p
.
babyPrice
*
data
.
chosenObj
.
yeCount
;
money
+=
data
.
p
.
singleRoomPrice
*
data
.
chosenObj
.
df
;
if
(
!
data
.
p
||
!
data
.
p
.
originalB2BPrice
)
return
(
data
.
sumPrice
=
0
)
;
data
.
chosenObj
.
etCount
=
data
.
chosenObj
.
etbzcCount
+
data
.
chosenObj
.
etzcCount
;
//成人价格=成人人数*(成交单价-早鸟优惠)
let
crMoney
=
data
.
p
.
originalB2BPrice
*
data
.
chosenObj
.
crCount
;
//儿童价格=儿童人数*(单价-早鸟优惠+儿童附加费)
let
erMoney
=
(
data
.
p
.
originalB2BPrice
-
data
.
p
.
childNoNeedPrice
+
data
.
p
.
babyChargePrice
)
*
data
.
chosenObj
.
etCount
;
//婴儿价格=婴儿人数*婴儿价格
let
babyMoney
=
data
.
p
.
babyPrice
*
data
.
chosenObj
.
yeCount
;
let
singMoney
=
data
.
p
.
singleRoomPrice
*
data
.
chosenObj
.
df
;
let
sumCount
=
data
.
chosenObj
.
crCount
+
data
.
chosenObj
.
etCount
+
data
.
chosenObj
.
lrCount
;
money
+=
data
.
p
.
visaPrice
*
sumCount
;
money
+=
data
.
p
.
otherPrice
*
sumCount
;
data
.
chosenObj
.
lrCount
+
data
.
chosenObj
.
yeCount
;
let
visaMoney
=
data
.
p
.
visaPrice
*
sumCount
;
let
otherMoney
=
data
.
p
.
otherPrice
*
sumCount
;
// console.log("sumCount", sumCount);
// console.log("crMoney", crMoney);
// console.log("erMoney", erMoney);
// console.log("babyMoney", babyMoney);
// console.log("singMoney", singMoney);
// console.log("visaMoney", visaMoney);
// console.log("otherMoney", otherMoney);
let
money
=
crMoney
;
money
+=
erMoney
;
money
+=
babyMoney
;
money
+=
singMoney
;
money
+=
visaMoney
;
money
+=
otherMoney
;
//console.log("money", money);
data
.
sumPrice
=
money
;
},
}
};
methods
.
initModel
();
if
(
data
.
p
.
startDate
)
{
if
(
data
.
p
.
startDate
)
{
data
.
chosenObj
.
startDate
=
data
.
p
.
startDate
;
methods
.
calcMoney
()
methods
.
calcMoney
();
}
return
{
...
toRefs
(
data
),
...
methods
,
domain
,
moneyFormat
,
}
}
})
}
;
}
,
})
;
</
script
>
<
style
></
style
>
src/pages/scheduledTrip/TripOrderPreview.vue
View file @
a54f50cf
...
...
@@ -277,7 +277,7 @@
</div>
</div>
<div
v-if=
"price.visaPrice > 0 || price.otherPrice > 0"
>
<hr
<
!--
<
hr
style=
"border: none; border-top: 1px dashed #eee !important"
class=
"bg-transparent q-mb-sm"
/>
...
...
@@ -297,7 +297,7 @@
)
}}
</div>
</div>
</div>
-->
<div
class=
"row q-mb-sm"
v-if=
"price.otherPrice > 0"
>
<div
class=
"col"
>
{{
$t
(
"v103.scheduledTripDetails.miscellaneous"
)
}}
x
...
...
@@ -322,7 +322,8 @@
{{
$t
(
"v103.scheduledTripDetails.surcharge"
)
}}
x
{{
chosenObj
.
etCount
}}
</div>
<div>
{{
domain
==
`id.oytour`
?
"IDR"
:
"CNY"
}}
{{
price
.
babyChargePrice
}}
{{
domain
==
`id.oytour`
?
"IDR"
:
"CNY"
}}
{{
price
.
babyChargePrice
*
chosenObj
.
etCount
}}
</div>
</div>
<div
class=
"row q-mb-sm"
v-if=
"chosenObj.df > 0"
>
...
...
@@ -550,15 +551,19 @@ export default defineComponent({
data
.
price
.
discountPrice
=
data
.
price
.
discountPrice
?
data
.
price
.
discountPrice
:
0
;
//成人价格
//成人价格
=成人人数*(成交单价-早鸟优惠)
let
crMoney
=
data
.
price
.
originalB2BPrice
*
data
.
chosenObj
.
crCount
;
//儿童不占床价格
let
etbzcMoney
=
(
data
.
price
.
originalB2BPrice
-
data
.
price
.
childNoNeedPrice
)
*
(
data
.
price
.
originalB2BPrice
-
data
.
price
.
childNoNeedPrice
+
data
.
price
.
babyChargePrice
)
*
data
.
chosenObj
.
etbzcCount
;
//儿童占床价格
let
etzcMoney
=
(
data
.
price
.
originalB2BPrice
+
data
.
price
.
childNeedPrice
)
*
(
data
.
price
.
originalB2BPrice
+
data
.
price
.
childNeedPrice
+
data
.
price
.
babyChargePrice
)
*
data
.
chosenObj
.
etzcCount
;
//婴儿价格
let
babyMoney
=
data
.
price
.
babyPrice
*
data
.
chosenObj
.
yeCount
;
...
...
@@ -569,8 +574,9 @@ export default defineComponent({
data
.
chosenObj
.
etbzcCount
+
data
.
chosenObj
.
etzcCount
+
data
.
chosenObj
.
yeCount
;
//签证费
let
visaMoney
=
data
.
price
.
visaPrice
*
sumCount
;
//签证费(团费包含了签证费)
let
visaMoney
=
0
;
//visaMoney=data.price.visaPrice * sumCount;
let
safeMoney
=
data
.
price
.
safeMoney
*
sumCount
;
let
otherMoney
=
data
.
price
.
otherPrice
*
sumCount
;
// console.log("totalPersion", sumCount);
...
...
@@ -678,7 +684,7 @@ export default defineComponent({
PreferPrice
:
data
.
sumPrice
,
//实付价格
DiscountMoney
:
0
,
//优惠价格
CouponAllotIds
:
""
,
//优惠券id
YSeatNum
:
y
,
//
盈收
YSeatNum
:
y
,
//
ESeatNum
:
f
,
FSeatNum
:
c
,
Commission
:
(
...
...
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