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
>
<
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"
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>
<div
class=
"col"
></div>
<q-btn
unelevated
class=
"bg-grey-3 hover q-mr-md"
:title=
"$t('morequery')"
>
<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-badge
v-if=
"searchCnt > 0"
/>
rounded
<svg-icon
color=
"dark"
icon=
"Text/Filter.svg"
:tips=
"$t('morequery')"
:size=
"20"
></svg-icon>
class=
"din bg-red-2 text-red-14 text-weight-bold"
<q-tooltip>
{{
$t
(
'morequery'
)
}}
</q-tooltip>
floating
<q-popup-proxy
class=
"no-shadow"
style=
"box-shadow: 0 0 50px #ddd !important"
:offset=
"[0, 20]"
:label=
"searchCnt"
:model-value=
"canHide"
>
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"
>
<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=
"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.companylocation'
)
}}
</span>
<span>
{{
$t
(
"v103.scheduledTrip.companylocation"
)
}}
</span>
<template
v-for=
"(x, i) in chosenAddress"
>
<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
>
</
template
>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy0"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy0"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"q-px-lg q-py-md fz18"
>
{{ $t("v103.scheduledTrip.companylocation") }}
</div>
<div
v-for=
"(x, i) in sites"
:key=
"i"
>
<div
v-for=
"(x, i) in sites"
:key=
"i"
>
<div
class=
"addr"
>
<div
class=
"addr"
>
<div
<div
class=
"q-mx-md"
>
class=
"q-mx-md"
>
<
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"
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>
...
@@ -41,54 +74,86 @@
...
@@ -41,54 +74,86 @@
</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.line')
}}
</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==1"
>
<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,1)"
/>
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 1)"
/>
</span>
</span>
</
template
>
</
template
>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy1"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy1"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"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=
"add"
v-for=
"(x, i) in lines"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<div
class=
"q-mx-md"
>
<
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>
</q-popup-proxy>
</q-popup-proxy>
</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"
>
<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"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.commlineteam')}}
</span>
<span>
{{ $t("v103.scheduledTrip.commlineteam") }}
</span>
<span
v-if=
"!searchClone.lineTeamId"
>
{{$t('v103.scheduledTrip.closelineteam')}}
</span>
<span
v-if=
"!searchClone.lineTeamId"
>
{{
$t("v103.scheduledTrip.closelineteam")
}}
</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 == 2"
>
{{
x
.
Name
}}
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,2)"
/>
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 2)"
/>
</span>
</span>
</
template
>
</
template
>
</span>
</span>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy2"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy2"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"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=
"add"
v-for=
"(x, i) in xilies"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<div
class=
"q-mx-md"
>
<
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=
"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
>
</
template
>
</div>
</div>
</div>
</div>
...
@@ -98,27 +163,42 @@
...
@@ -98,27 +163,42 @@
<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
class=
"text-grey-8 col-12 row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.departurecity')}}
</span>
<span>
{{ $t("v103.scheduledTrip.departurecity") }}
</span>
<span
v-if=
"!searchClone.startCityId"
>
{{$t('v103.scheduledTrip.closedeparturecity')}}
</span>
<span
v-if=
"!searchClone.startCityId"
>
{{
$t("v103.scheduledTrip.closedeparturecity")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==3"
>
<span
class=
"text-primary"
v-if=
"x.type == 3"
>
{{
x
.
Name
}}
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,3)"
/>
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 3)"
/>
</span>
</span>
</
template
>
</
template
>
</span>
</span>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy3"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy3"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"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=
"add"
v-for=
"(x, i) in startCitys"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<div
class=
"q-mx-md"
>
<
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=
"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
>
</
template
>
</div>
</div>
</div>
</div>
...
@@ -126,30 +206,51 @@
...
@@ -126,30 +206,51 @@
</q-popup-proxy>
</q-popup-proxy>
</div>
</div>
<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"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span
class=
"text-grey-8 col-12 row justify-between"
>
<span>
{{$t('v103.scheduledTrip.startdate')}}
</span>
<span>
{{ $t("v103.scheduledTrip.startdate") }}
</span>
<span
v-if=
"!datesId"
>
{{$t('v103.scheduledTrip.closestartdate')}}
</span>
<span
v-if=
"!datesId"
>
{{
$t("v103.scheduledTrip.closestartdate")
}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==5"
>
<span
class=
"text-primary"
v-if=
"x.type == 5"
>
{{
x
.
Name
}}
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,5)"
/>
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 5)"
/>
</span>
</span>
</
template
>
</
template
>
</span>
</span>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy5"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy5"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"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=
"add"
v-for=
"(x, i) in dates"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<div
class=
"q-mx-md"
>
<
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"
v-if=
"y.isShow"
@
update:model-value=
"changeCheckHandler(y, x,5)"
/>
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>
...
@@ -157,7 +258,13 @@
...
@@ -157,7 +258,13 @@
</q-popup-proxy>
</q-popup-proxy>
</div>
</div>
<!-- v-if="(!search.msg.startDate&&!search.msg.endDate)||(search.msg.startDate&&search.msg.endDate)" -->
<!-- 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
<div
class=
"q-px-md q-py-sm"
class=
"q-px-md q-py-sm"
style=
"border-right: 1px solid #eee; border-radius: 0 !important"
style=
"border-right: 1px solid #eee; border-radius: 0 !important"
...
@@ -165,14 +272,19 @@
...
@@ -165,14 +272,19 @@
<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"
)
}}
}}
<
template
v-for=
"(x, i) in chosenAddress"
>
<
template
v-for=
"(x, i) in chosenAddress"
>
<template
v-if=
"x.type==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)"
/>
<q-icon
class=
"cursor-pointer text-grey-6 q-pl-lg"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 6)"
/>
</
template
>
</
template
>
</template>
</template>
</span>
</span>
...
@@ -210,36 +322,51 @@
...
@@ -210,36 +322,51 @@
</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
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x, i, 4)"
/>
</span>
</span>
</
template
>
</
template
>
</div>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy4"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy4"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<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=
"q-px-lg q-py-md fz18"
>
<div
{{ $t("v103.scheduledTrip.journeytime") }}
class=
"addr-list q-px-md q-py-sm row items-center"
>
</div>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
<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"
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>
</div>
</div>
</q-popup-proxy>
</q-popup-proxy>
</div>
</div>
</q-card>
</q-card>
</q-popup-proxy>
</q-popup-proxy>
</q-btn>
</q-btn>
<q-btn
color=
"primary"
unelevated
:label=
"$t('query')"
@
click=
"queryList"
/>
<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"
...
@@ -278,20 +408,30 @@
...
@@ -278,20 +408,30 @@
<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"
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>
-->
<!--
<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'"
...
@@ -309,21 +449,30 @@
...
@@ -309,21 +449,30 @@
<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
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
: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
>
</
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>
...
@@ -421,7 +607,7 @@
...
@@ -421,7 +607,7 @@
<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>
...
@@ -459,291 +645,320 @@
...
@@ -459,291 +645,320 @@
: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
class=
"addr-list q-px-md q-py-sm row items-center"
v-for=
"(y, yi) in dayArray"
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-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"
;
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
},
components
:
{
svgIcon
,
NCascader
,
NSelect
},
setup
(
props
,
context
)
{
setup
(
props
,
context
)
{
const
$q
=
useQuasar
()
const
$q
=
useQuasar
();
const
qDateProxy
=
ref
(
null
)
as
any
const
qDateProxy
=
ref
(
null
)
as
any
;
const
qDateProxy0
=
ref
(
null
)
as
any
const
qDateProxy0
=
ref
(
null
)
as
any
;
const
qDateProxy1
=
ref
(
null
)
as
any
const
qDateProxy1
=
ref
(
null
)
as
any
;
const
qDateProxy2
=
ref
(
null
)
as
any
const
qDateProxy2
=
ref
(
null
)
as
any
;
const
qDateProxy3
=
ref
(
null
)
as
any
const
qDateProxy3
=
ref
(
null
)
as
any
;
const
qDateProxy4
=
ref
(
null
)
as
any
const
qDateProxy4
=
ref
(
null
)
as
any
;
const
qDateProxy5
=
ref
(
null
)
as
any
const
qDateProxy5
=
ref
(
null
)
as
any
;
const
qDateProxy6
=
ref
(
null
)
as
any
const
qDateProxy6
=
ref
(
null
)
as
any
;
const
qNameProxy
=
ref
(
null
)
as
any
const
qNameProxy
=
ref
(
null
)
as
any
;
const
{
locale
,
t
}
=
useI18n
()
const
{
locale
,
t
}
=
useI18n
();
const
data
=
reactive
({
const
data
=
reactive
({
datesId
:
0
,
//日期
datesId
:
0
,
//日期
DayId
:
0
,
//旅程天数
DayId
:
0
,
//旅程天数
xilies
:
[],
//系列
xilies
:
[],
//系列
lines
:
[],
//线路
lines
:
[],
//线路
startCitys
:
[],
//出发城市表
startCitys
:
[],
//出发城市表
searchItem
:
[],
searchItem
:
[],
sites
:
[],
//公司所在城市
sites
:
[],
//公司所在城市
city
:
0
,
//公司城市
city
:
0
,
//公司城市
companyId
:
0
,
companyId
:
0
,
dates
:
[],
//开始日期
dates
:
[],
//开始日期
areaList
:
[],
areaList
:
[],
chosenAddress
:
[],
//已选项
chosenAddress
:
[],
//已选项
goodsType
:
[],
goodsType
:
[],
dateRange
:
null
,
//起止时间
dateRange
:
null
,
//起止时间
searchClone
:
null
,
searchClone
:
null
,
dayArray
:
[
dayArray
:
[
{
{
id
:
1
,
id
:
1
,
min
:
1
,
min
:
1
,
max
:
1
,
max
:
1
,
text
:
"1"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"1"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
2
,
id
:
2
,
min
:
2
,
min
:
2
,
max
:
2
,
max
:
2
,
text
:
"2"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"2"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
3
,
id
:
3
,
min
:
3
,
min
:
3
,
max
:
3
,
max
:
3
,
text
:
"3"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"3"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
4
,
id
:
4
,
min
:
4
,
min
:
4
,
max
:
4
,
max
:
4
,
text
:
"4"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"4"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
5
,
id
:
5
,
min
:
5
,
min
:
5
,
max
:
5
,
max
:
5
,
text
:
"5"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"5"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
6
,
id
:
6
,
min
:
6
,
min
:
6
,
max
:
6
,
max
:
6
,
text
:
"6"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"6"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
7
,
id
:
7
,
min
:
7
,
min
:
7
,
max
:
8
,
max
:
8
,
text
:
"7-8"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"7-8"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
8
,
id
:
8
,
min
:
9
,
min
:
9
,
max
:
10
,
max
:
10
,
text
:
"9-10"
+
t
(
'v103.scheduledTrip.day'
),
text
:
"9-10"
+
t
(
"v103.scheduledTrip.day"
),
},
},
{
{
id
:
9
,
id
:
9
,
min
:
10
,
min
:
10
,
max
:
1000
,
max
:
1000
,
text
:
"10"
+
t
(
'v103.scheduledTrip.above'
),
text
:
"10"
+
t
(
"v103.scheduledTrip.above"
),
},
},
],
],
sortNum
:
1
,
sortNum
:
1
,
userInfo
:
{}
as
any
,
userInfo
:
{}
as
any
,
})
});
const
search
=
inject
(
DirtionmaryHelper
.
TICKET_QUERY_PARAM
)
const
search
=
inject
(
DirtionmaryHelper
.
TICKET_QUERY_PARAM
);
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
)
const
domain
=
inject
(
DirtionmaryHelper
.
DOMAIN_NAME
);
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
chosenAddress
))
data
.
chosenAddress
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
chosenAddress
));
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
msg
))
data
.
searchClone
=
JSON
.
parse
(
JSON
.
stringify
(
search
.
msg
));
data
.
DayId
=
search
.
DayId
data
.
DayId
=
search
.
DayId
;
data
.
datesId
=
search
.
datesId
data
.
datesId
=
search
.
datesId
;
data
.
dayArray
.
forEach
((
x
)
=>
{
data
.
dayArray
.
forEach
((
x
)
=>
{
x
.
checked
=
false
;
x
.
checked
=
false
;
});
});
data
.
dateRange
=
{
from
:
data
.
searchClone
.
startDate
,
to
:
data
.
searchClone
.
endDate
};
data
.
dateRange
=
{
from
:
data
.
searchClone
.
startDate
,
to
:
data
.
searchClone
.
endDate
};
data
.
userInfo
=
getStoreGetter
<
UserGetter
>
(
'user'
,
'getUser'
)
data
.
userInfo
=
getStoreGetter
<
UserGetter
>
(
"user"
,
"getUser"
);
const
methods
=
{
const
methods
=
{
// 删除目的地、商品类别、旅游时间
// 删除目的地、商品类别、旅游时间
removeChosen
(
x
,
i
,
type
)
{
removeChosen
(
x
,
i
,
type
)
{
if
(
type
==
1
||
type
==
2
){
if
(
type
==
1
||
type
==
2
)
{
if
(
type
==
1
){
if
(
type
==
1
)
{
search
.
msg
.
lineId
=
0
search
.
msg
.
lineId
=
0
;
}
if
(
type
==
2
){
}
search
.
msg
.
lineTeamId
=
0
if
(
type
==
2
)
{
search
.
msg
.
lineTeamId
=
0
;
}
}
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
search
.
msg
.
startCityId
=
0
search
.
msg
.
startCityId
=
0
;
}
else
if
(
type
==
4
)
{
}
else
if
(
type
==
4
)
{
search
.
DayId
=
0
search
.
DayId
=
0
;
search
.
msg
.
minTripDay
=
""
search
.
msg
.
minTripDay
=
""
;
search
.
msg
.
maxTripDay
=
""
search
.
msg
.
maxTripDay
=
""
;
}
else
if
(
type
==
5
)
{
}
else
if
(
type
==
5
)
{
search
.
datesId
=
0
search
.
datesId
=
0
;
search
.
msg
.
startDate
=
''
search
.
msg
.
startDate
=
""
;
search
.
msg
.
endDate
=
''
search
.
msg
.
endDate
=
""
;
}
else
if
(
type
==
6
)
{
}
else
if
(
type
==
6
)
{
data
.
dateRange
=
null
data
.
dateRange
=
null
;
search
.
datesId
=
0
search
.
datesId
=
0
;
search
.
msg
.
startDate
=
''
search
.
msg
.
startDate
=
""
;
search
.
msg
.
endDate
=
''
search
.
msg
.
endDate
=
""
;
}
}
search
.
chosenAddress
.
splice
(
i
,
1
)
search
.
chosenAddress
.
splice
(
i
,
1
);
},
},
// 初始化出发城市
// 初始化出发城市
initCityList
()
{
initCityList
()
{
methods
.
GetB2BSite
()
methods
.
GetB2BSite
();
let
d
=
new
Date
().
getMonth
()
let
d
=
new
Date
().
getMonth
();
for
(
let
i
=
0
;
i
<
3
;
i
++
)
{
for
(
let
i
=
0
;
i
<
3
;
i
++
)
{
d
++
d
++
;
d
=
d
>
12
?
d
-
12
:
d
d
=
d
>
12
?
d
-
12
:
d
;
let
obj
=
{
let
obj
=
{
Name
:
`
${
d
}${
t
(
'v103.scheduledTrip.month'
)}
`
,
Name
:
`
${
d
}${
t
(
"v103.scheduledTrip.month"
)}
`
,
id
:
1
+
i
,
id
:
1
+
i
,
MM
:
d
MM
:
d
,
}
};
data
.
dates
.
push
(
obj
)
data
.
dates
.
push
(
obj
);
}
let
arrList
=
function
(
arr
){
arr
.
forEach
(
item
=>
{
item
.
isShow
=
true
item
.
explsed
=
false
})
}
}
arrList
(
data
.
dates
)
let
arrList
=
function
(
arr
)
{
let
list
=
[]
arr
.
forEach
((
item
)
=>
{
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
})
item
.
isShow
=
true
;
list
[
0
].
SubList
=
data
.
dates
item
.
explsed
=
false
;
});
};
arrList
(
data
.
dates
);
let
list
=
[];
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
});
list
[
0
].
SubList
=
data
.
dates
;
data
.
dates
=
list
;
data
.
dates
=
list
;
},
},
// 获取当前城市
// 获取当前城市
GetB2BSite
(){
GetB2BSite
()
{
let
state
=
false
;
let
state
=
false
;
scheduledTripService
.
GetB2BSite
({}).
then
(
r
=>
{
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
()
{
loadRecoItems
()
{
let
param
=
{
let
param
=
{
companyId
:
data
.
city
,
companyId
:
data
.
city
,
cityId
:
data
.
searchClone
.
cityId
,
cityId
:
data
.
searchClone
.
cityId
,
}
};
scheduledTripService
.
GetB2BGroupSearchItem
(
param
).
then
(
r
=>
{
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
)
{
changeExplesdHandler
(
x
)
{
...
@@ -761,171 +976,173 @@
...
@@ -761,171 +976,173 @@
}
}
},
},
// 出发地
// 出发地
changeCheckHandler
(
x
,
p
=
null
,
type
)
{
changeCheckHandler
(
x
,
p
=
null
,
type
)
{
if
(
!
type
){
if
(
!
type
)
{
// data.city = x.companyId;
search
.
msg
.
companyId
=
x
.
companyId
;
// search.msg.cityId = data.searchClone.cityId
methods
.
loadRecoItems
();
search
.
msg
.
companyId
=
x
.
companyId
}
else
if
(
type
==
1
)
{
methods
.
loadRecoItems
()
let
arrList
=
function
(
arr
)
{
}
else
if
(
type
==
1
){
arr
.
forEach
((
item
)
=>
{
let
arrList
=
function
(
arr
){
item
.
isShow
=
true
;
arr
.
forEach
(
item
=>
{
item
.
explsed
=
false
;
item
.
isShow
=
true
});
item
.
explsed
=
false
};
})
arrList
(
x
.
lineTeam
);
}
let
list
=
[];
arrList
(
x
.
lineTeam
)
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
});
let
list
=
[]
list
[
0
].
SubList
=
x
.
lineTeam
;
list
.
push
({
SubList
:
[],
explsed
:
false
,
isShow
:
true
})
data
.
xilies
=
list
;
list
[
0
].
SubList
=
x
.
lineTeam
search
.
msg
.
lineId
=
x
.
id
;
data
.
xilies
=
list
search
.
msg
.
lineId
=
x
.
id
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
methods
.
changeChosenHandler
(
x
,
p
,
type
);
methods
.
changeChosenHandler
(
x
,
p
,
type
);
},
200
)
},
200
);
},
},
changeChosenHandler
(
x
,
p
,
type
)
{
changeChosenHandler
(
x
,
p
,
type
)
{
let
obj
=
{}
let
obj
=
{};
if
(
!
type
)
{
if
(
!
type
)
{
obj
=
{
obj
=
{
Name
:
x
.
siteName
,
Name
:
x
.
siteName
,
Id
:
x
.
cityId
,
Id
:
x
.
cityId
,
checked
:
x
.
checked
,
checked
:
x
.
checked
,
cityId
:
x
.
cityId
,
cityId
:
x
.
cityId
,
companyId
:
x
.
companyId
,
companyId
:
x
.
companyId
,
companyName
:
x
.
companyName
,
companyName
:
x
.
companyName
,
explsed
:
x
.
explsed
,
explsed
:
x
.
explsed
,
isShow
:
x
.
isShow
,
isShow
:
x
.
isShow
,
province
:
x
.
province
,
province
:
x
.
province
,
siteName
:
x
.
siteName
,
siteName
:
x
.
siteName
,
type
:
type
type
:
type
,
}
};
search
.
chosenAddress
.
splice
(
0
,
1
);
search
.
chosenAddress
.
splice
(
0
,
1
);
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy0
.
value
)
qDateProxy0
.
value
.
hide
()
if
(
qDateProxy0
.
value
)
qDateProxy0
.
value
.
hide
();
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
unshift
(
obj
);
search
.
chosenAddress
.
unshift
(
obj
);
},
200
)
},
200
);
}
else
if
(
type
==
1
||
type
==
2
)
{
}
else
if
(
type
==
1
||
type
==
2
)
{
obj
=
{
obj
=
{
Name
:
x
.
name
,
Name
:
x
.
name
,
Id
:
x
.
id
,
Id
:
x
.
id
,
type
:
type
type
:
type
,
}
};
// let status = false
// let status = false
p
.
SubList
.
forEach
(
y
=>
{
p
.
SubList
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
// status = true
// status = true
search
.
chosenAddress
.
splice
(
index
,
1
);
search
.
chosenAddress
.
splice
(
index
,
1
);
}
}
})
});
})
});
if
(
type
==
1
){
if
(
type
==
1
)
{
search
.
msg
.
lineId
=
x
.
id
search
.
msg
.
lineId
=
x
.
id
;
}
if
(
type
==
2
){
search
.
msg
.
lineTeamId
=
x
.
id
}
}
if
(
$q
.
platform
.
is
.
mobile
){
if
(
type
==
2
)
{
if
(
type
==
1
&&
qDateProxy1
.
value
)
qDateProxy1
.
value
.
hide
()
search
.
msg
.
lineTeamId
=
x
.
id
;
if
(
type
==
2
&&
qDateProxy2
.
value
)
qDateProxy2
.
value
.
hide
()
}
}
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
);
search
.
chosenAddress
.
push
(
obj
);
},
200
)
},
200
);
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
obj
=
{
obj
=
{
Name
:
x
.
startCityName
,
Name
:
x
.
startCityName
,
Id
:
x
.
id
,
Id
:
x
.
id
,
type
:
type
type
:
type
,
}
};
p
.
SubList
.
forEach
(
y
=>
{
p
.
SubList
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
search
.
chosenAddress
.
splice
(
index
,
1
);
}
}
})
});
})
});
search
.
msg
.
startCityId
=
x
.
id
search
.
msg
.
startCityId
=
x
.
id
;
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy3
.
value
)
qDateProxy3
.
value
.
hide
()
if
(
qDateProxy3
.
value
)
qDateProxy3
.
value
.
hide
();
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
search
.
chosenAddress
.
push
(
obj
);
},
500
)
},
500
);
}
else
if
(
type
==
4
)
{
}
else
if
(
type
==
4
)
{
obj
=
{
obj
=
{
Name
:
x
.
text
,
Name
:
x
.
text
,
Id
:
x
.
id
,
Id
:
x
.
id
,
min
:
x
.
min
,
min
:
x
.
min
,
max
:
x
.
max
,
max
:
x
.
max
,
type
:
type
type
:
type
,
}
};
p
.
forEach
(
y
=>
{
p
.
forEach
((
y
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
search
.
chosenAddress
.
splice
(
index
,
1
);
}
}
})
});
})
});
search
.
DayId
=
data
.
DayId
search
.
DayId
=
data
.
DayId
;
search
.
msg
.
minTripDay
=
x
.
min
search
.
msg
.
minTripDay
=
x
.
min
;
search
.
msg
.
maxTripDay
=
x
.
max
search
.
msg
.
maxTripDay
=
x
.
max
;
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy4
.
value
)
qDateProxy4
.
value
.
hide
()
if
(
qDateProxy4
.
value
)
qDateProxy4
.
value
.
hide
();
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
search
.
chosenAddress
.
push
(
obj
);
methods
.
changeTripDayHandler
()
methods
.
changeTripDayHandler
();
},
200
)
},
200
);
}
else
if
(
type
==
5
)
{
}
else
if
(
type
==
5
)
{
obj
=
{
obj
=
{
Name
:
x
.
Name
,
Name
:
x
.
Name
,
Id
:
x
.
id
,
Id
:
x
.
id
,
type
:
type
,
type
:
type
,
min
:
new
Date
().
getFullYear
()
+
'/'
+
x
.
MM
+
'/01'
,
min
:
new
Date
().
getFullYear
()
+
"/"
+
x
.
MM
+
"/01"
,
max
:
new
Date
().
getFullYear
()
+
'/'
+
x
.
MM
+
'/'
+
new
Date
(
new
Date
().
getFullYear
(),
x
.
MM
,
0
).
getDate
(),
max
:
}
new
Date
().
getFullYear
()
+
p
.
SubList
.
forEach
(
y
=>
{
"/"
+
search
.
chosenAddress
.
forEach
((
z
,
index
)
=>
{
x
.
MM
+
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
){
"/"
+
search
.
chosenAddress
.
splice
(
index
,
1
);
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
(
$q
.
platform
.
is
.
mobile
)
{
if
(
qDateProxy5
.
value
)
qDateProxy5
.
value
.
hide
()
if
(
qDateProxy5
.
value
)
qDateProxy5
.
value
.
hide
();
}
}
search
.
datesId
=
x
.
id
search
.
datesId
=
x
.
id
;
search
.
msg
.
startDate
=
obj
.
min
search
.
msg
.
startDate
=
obj
.
min
;
search
.
msg
.
endDate
=
obj
.
max
search
.
msg
.
endDate
=
obj
.
max
;
console
.
log
(
search
.
msg
)
search
.
chosenAddress
.
push
(
obj
);
search
.
chosenAddress
.
push
(
obj
);
}
else
if
(
type
==
6
)
{
}
else
if
(
type
==
6
)
{
obj
=
{
obj
=
{
Name
:
x
.
startDate
+
'-'
+
x
.
endDate
,
Name
:
x
.
startDate
+
"-"
+
x
.
endDate
,
startDate
:
x
.
startDate
,
startDate
:
x
.
startDate
,
type
:
type
,
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
){
if
(
$q
.
platform
.
is
.
mobile
)
{
search
.
chosenAddress
.
splice
(
index
,
1
);
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.startDate
// search.msg.startDate = x.endDate
// search.msg.startDate = x.endDate
setTimeout
(()
=>
{
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
search
.
chosenAddress
.
push
(
obj
);
},
200
)
},
200
);
}
}
search
.
RetrievalState
=
true
search
.
RetrievalState
=
true
;
if
(
p
)
{
if
(
p
)
{
p
.
explsed
=
false
;
p
.
explsed
=
false
;
}
}
},
},
...
@@ -934,7 +1151,7 @@
...
@@ -934,7 +1151,7 @@
data
.
searchClone
.
minTripDay
=
"0"
;
data
.
searchClone
.
minTripDay
=
"0"
;
data
.
searchClone
.
maxTripDay
=
"0"
;
data
.
searchClone
.
maxTripDay
=
"0"
;
data
.
dayArray
.
forEach
((
x
)
=>
{
data
.
dayArray
.
forEach
((
x
)
=>
{
if
(
x
.
id
==
data
.
DayId
)
{
if
(
x
.
id
==
data
.
DayId
)
{
data
.
searchClone
.
minPrice
=
data
.
searchClone
.
minPrice
=
data
.
searchClone
.
minPrice
>
x
.
min
?
x
.
min
:
data
.
searchClone
.
minPrice
;
data
.
searchClone
.
minPrice
>
x
.
min
?
x
.
min
:
data
.
searchClone
.
minPrice
;
data
.
searchClone
.
maxPrice
=
data
.
searchClone
.
maxPrice
=
...
@@ -953,45 +1170,44 @@
...
@@ -953,45 +1170,44 @@
search
.
msg
.
priceRange
.
max
=
e
.
max
;
search
.
msg
.
priceRange
.
max
=
e
.
max
;
search
.
msg
.
minPrice
=
e
.
min
;
search
.
msg
.
minPrice
=
e
.
min
;
search
.
msg
.
maxPrice
=
e
.
max
;
search
.
msg
.
maxPrice
=
e
.
max
;
methods
.
queryList
()
methods
.
queryList
();
},
},
queryList
()
{
queryList
()
{
search
.
RetrievalState
=
true
search
.
RetrievalState
=
true
;
},
},
// 选择时间区间
// 选择时间区间
optionsFn
(
cd
)
{
optionsFn
(
cd
)
{
return
(
return
(
cd
>=
cd
>=
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
1
}),
"YYYY/MM/DD"
)
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
1
}),
"YYYY/MM/DD"
)
);
);
},
},
dateRangeHandler
(
e
)
{
dateRangeHandler
(
e
)
{
let
startDate
=
`
${
e
.
from
.
year
}
/
${
e
.
from
.
month
}
/
${
e
.
from
.
day
}
`
;
let
startDate
=
`
${
e
.
from
.
year
}
/
${
e
.
from
.
month
}
/
${
e
.
from
.
day
}
`
;
let
endDate
=
`
${
e
.
to
.
year
}
/
${
e
.
to
.
month
}
/
${
e
.
to
.
day
}
`
;
let
endDate
=
`
${
e
.
to
.
year
}
/
${
e
.
to
.
month
}
/
${
e
.
to
.
day
}
`
;
if
(
qDateProxy
.
value
)
qDateProxy
.
value
.
hide
()
if
(
qDateProxy
.
value
)
qDateProxy
.
value
.
hide
();
let
obj
=
{
let
obj
=
{
startDate
:
startDate
,
startDate
:
startDate
,
endDate
:
endDate
,
endDate
:
endDate
,
}
};
search
.
msg
.
startDate
=
startDate
search
.
msg
.
startDate
=
startDate
;
search
.
msg
.
endDate
=
endDate
search
.
msg
.
endDate
=
endDate
;
methods
.
changeChosenHandler
(
obj
,
null
,
6
)
methods
.
changeChosenHandler
(
obj
,
null
,
6
);
},
},
// 商品类型
// 商品类型
initGoods
()
{
initGoods
()
{
data
.
goodsType
.
push
({
data
.
goodsType
.
push
({
Id
:
1
,
Id
:
1
,
Name
:
t
(
'v103.scheduledTrip.sightseeingitinerary'
),
Name
:
t
(
"v103.scheduledTrip.sightseeingitinerary"
),
explsed
:
$q
.
platform
.
is
.
desktop
?
false
:
true
,
explsed
:
$q
.
platform
.
is
.
desktop
?
false
:
true
,
SubList
:
[
SubList
:
[
{
{
Id
:
2
,
Id
:
2
,
Name
:
t
(
'v103.scheduledTrip.daytrip'
),
Name
:
t
(
"v103.scheduledTrip.daytrip"
),
checked
:
false
,
checked
:
false
,
},
},
{
{
Id
:
3
,
Id
:
3
,
Name
:
t
(
'v103.scheduledTrip.multiday'
),
Name
:
t
(
"v103.scheduledTrip.multiday"
),
checked
:
false
,
checked
:
false
,
},
},
],
],
...
@@ -999,42 +1215,50 @@
...
@@ -999,42 +1215,50 @@
},
},
// 搜寻关键词
// 搜寻关键词
changeAddrSearchHandler
(
v
)
{
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))
// 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
})
},
{
deep
:
true
}
);
const
searchCnt
=
computed
(()
=>
{
const
searchCnt
=
computed
(()
=>
{
let
setCnt
=
2
let
setCnt
=
2
;
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
$q
.
platform
.
is
.
mobile
)
{
setCnt
=
setCnt
+
search
.
chosenAddress
.
length
-
1
setCnt
=
setCnt
+
search
.
chosenAddress
.
length
-
1
;
}
}
return
setCnt
return
setCnt
;
})
});
methods
.
initCityList
();
methods
.
initCityList
();
methods
.
initGoods
();
methods
.
initGoods
();
...
@@ -1052,16 +1276,15 @@
...
@@ -1052,16 +1276,15 @@
qDateProxy5
,
qDateProxy5
,
qDateProxy6
,
qDateProxy6
,
qNameProxy
,
qNameProxy
,
domain
domain
,
}
};
}
},
})
});
</
script
>
</
script
>
<
style
>
<
style
>
.SearchMain
.SearchMain-height
.q-field__control
{
.SearchMain
.SearchMain-height
.q-field__control
{
height
:
40px
;
height
:
40px
;
min-height
:
40px
!important
;
min-height
:
40px
!important
;
}
}
</
style
>
</
style
>
\ No newline at end of file
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