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