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
94296ceb
Commit
94296ceb
authored
Mar 27, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
37fd9618
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
192 additions
and
130 deletions
+192
-130
rightList.vue
src/components/searchdata/rightList.vue
+2
-1
search.vue
src/components/searchdata/search.vue
+190
-129
No files found.
src/components/searchdata/rightList.vue
View file @
94296ceb
...
...
@@ -11,7 +11,7 @@
</div>
</div>
<div
class=
"col row wrap"
>
<div
class=
"col row wrap"
v-if=
"$q.platform.is.desktop"
>
<template
v-for=
"(x, i) in chosenAddress"
>
<!--
<q-chip
v-if=
"i==0"
...
...
@@ -359,6 +359,7 @@
$q
.
loading
.
hide
();
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
if
(
r
.
data
.
data
)
{
data
.
msg
.
pageIndex
=
1
data
.
PageCount
=
r
.
data
.
data
.
pageCount
;
data
.
TotalCount
=
r
.
data
.
data
.
count
;
var
tempArray
=
r
.
data
.
data
.
pageData
;
...
...
src/components/searchdata/search.vue
View file @
94296ceb
...
...
@@ -14,32 +14,16 @@
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
公司所在地
</span>
<span
class=
"text-primary"
v-if=
"chosenAddress.length>0"
>
{{
chosenAddress
[
0
].
Name
}}
</span>
<template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"i==0"
>
{{
x
.
Name
}}
</span>
</
template
>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy0"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
公司所在地
</div>
<div
v-for=
"(x, i) in sites"
:key=
"i"
>
<div
class=
"addr"
>
<!--
<div
class=
"addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if=
"x.isShow"
>
<span
class=
"col"
@
click=
"changeExplesdHandler(x)"
>
公司所在地
</span>
<q-icon
@
click=
"changeExplesdHandler(x)"
v-if=
"
searchClone.searchKey.length == 0 ||
(searchClone.searchKey.length > 0 && x.isShowChild)
"
:name=
"!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
size=
"20px"
/>
</div>
-->
<!-- v-if="
x.explsed ||
(x.SubList && x.isShowChild && searchClone.searchKey.length > 0)
" -->
<div
class=
"q-mx-md"
>
...
...
@@ -56,67 +40,139 @@
</q-popup-proxy>
</div>
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
v-if=
"searchClone.teamType.length==0"
class=
"q-px-sm q-py-xs"
>
{{$t('v103.scheduledTrip.allcommoditytype')}}
</div>
<
template
v-else
>
<q-chip
v-for=
"(x, i) in searchClone.teamType"
size=
"12px"
:key=
"i"
removable
outline
color=
"grey"
:label=
"x==2?$t('v103.scheduledTrip.daytrip'):$t('v103.scheduledTrip.multiday')"
@
remove=
"removeChosen(x,i,2)"
/>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
线路
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==1"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,1)"
/>
</span>
</
template
>
<q-popup-proxy
:offset=
"[0, 10]"
>
</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.allcommoditytype')}}
</div>
<div
class=
"add"
v-for=
"(x, i) in goodsType"
:key=
"i"
>
<div
class=
"q-mx-md"
v-if=
"x.explsed"
>
<div
<div
class=
"q-px-lg q-py-md fz18"
>
线路
</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"
v-for=
"(y, yi) in x.SubList"
:key=
"yi"
>
<q-checkbox
v-model=
"y.checked"
size=
"xs"
@
update:model-value=
"changeGoodTypeHandler(y)"
/>
<span
class=
"col"
>
{{ y.Name }}
</span>
v-if=
"y.isShow"
v-model=
"searchClone.lineId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,1)"
/>
</
template
>
</div>
</div>
</div>
</q-popup-proxy>
</div>
<div
v-if=
"searchClone.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>
{{$t('v103.scheduledTrip.allcommoditytype')}}
</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>
</
template
>
</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"
>
系列
</div>
<div
class=
"add"
v-for=
"(x, i) in xilies"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"searchClone.lineTeamId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.name"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,2)"
/>
</
template
>
</div>
</div>
</div>
</q-popup-proxy>
</div>
<div
class=
"q-my-md row no-padding bg-grey-3"
>
<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
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>
出发城市
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==3"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,3)"
/>
</span>
</
template
>
</div>
<div
class=
"row items-center justify-center col"
>
<span
class=
"text-grey-8"
>
{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate')
}}
</span>
<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>
<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"
>
出发城市
</div>
<div
class=
"add"
v-for=
"(x, i) in startCitys"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
:key=
"yi"
v-if=
"y.isShow"
v-model=
"searchClone.startCityId"
checked-icon=
"task_alt"
unchecked-icon=
"panorama_fish_eye"
:val=
"y.id"
:label=
"y.startCityName"
size=
"sm"
@
update:model-value=
"changeCheckHandler(y, x,3)"
/>
</
template
>
</div>
</div>
</div>
</q-popup-proxy>
</div>
<div>
<div
v-if=
"(searchClone.startDate&&!searchClone.endDate)||(!searchClone.startDate&&!searchClone.endDate)"
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
出发日期
</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>
</
template
>
</div>
<q-popup-proxy
:offset=
"[0, 10]"
ref=
"qDateProxy5"
>
<div
class=
"bg-white q-pb-lg"
style=
"width: 300px;"
>
<div
class=
"q-px-lg q-py-md fz18"
>
出发日期
</div>
<div
class=
"add"
v-for=
"(x, i) in dates"
:key=
"i"
>
<div
class=
"q-mx-md"
>
<
template
v-for=
"(y, yi) in x.SubList"
>
<q-radio
class=
"addr-list q-px-md q-py-sm row items-center"
: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>
</q-popup-proxy>
</div>
</q-popup-proxy>
</div>
<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
class=
"row items-center justify-center col"
>
<span
class=
"text-grey-8"
>
{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate')
}}
</span>
<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')}}(CNY)
</div>
<div
class=
"q-mt-md text-grey-6 text-subtitle1"
>
...
...
@@ -133,38 +189,23 @@
/>
</div>
<div
class=
"rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div
v-if=
"dayArray.findIndex((x)=>{ return x.checked})"
class=
"q-px-sm q-py-xs"
>
{{$t('v103.scheduledTrip.journeytime')}}
</div>
<
template
v-else
>
<template
v-for=
"(x, i) in dayArray"
>
<q-chip
v-if=
"x.checked"
size=
"12px"
:key=
"i"
removable
outline
color=
"grey"
:label=
"x.text"
@
remove=
"removeChosen(x,i,3)"
/>
<div
class=
"q-px-sm q-py-xs row justify-between"
>
<span>
{{$t('v103.scheduledTrip.journeytime')}}
</span>
<
template
v-for=
"(x, i) in chosenAddress"
>
<span
class=
"text-primary"
v-if=
"x.type==4"
>
{{
x
.
Name
}}
<q-icon
class=
"cursor-pointer text-grey-6"
name=
"close"
@
click
.
stop=
"removeChosen(x,i,4)"
/>
</span>
</
template
>
</template>
<q-popup-proxy
:offset=
"[0, 10]"
>
</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"
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"
>
<q-checkbox
v-model=
"y.checked"
size=
"xs"
@
update:model-value=
"changeTripDayHandler"
/>
<span
class=
"col text-grey-8"
style=
"font-weight: 400"
>
{{
y.text
}}
</span>
: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>
...
...
@@ -428,6 +469,13 @@
setup
(
props
,
context
)
{
const
$q
=
useQuasar
()
const
qDateProxy
=
ref
(
null
)
as
any
const
qDateProxy0
=
ref
(
null
)
as
any
const
qDateProxy1
=
ref
(
null
)
as
any
const
qDateProxy2
=
ref
(
null
)
as
any
const
qDateProxy3
=
ref
(
null
)
as
any
const
qDateProxy4
=
ref
(
null
)
as
any
const
qDateProxy5
=
ref
(
null
)
as
any
const
qDateProxy6
=
ref
(
null
)
as
any
const
qNameProxy
=
ref
(
null
)
as
any
const
{
locale
,
t
}
=
useI18n
()
const
data
=
reactive
({
...
...
@@ -526,34 +574,24 @@
},
// 删除目的地、商品类别、旅游时间
removeChosen
(
x
,
i
,
type
)
{
if
(
type
==
1
){
if
(
data
.
chosenAddress
.
length
==
1
){
search
.
deleteChosen
=
null
as
any
}
else
{
search
.
deleteChosen
=
JSON
.
parse
(
JSON
.
stringify
(
x
))
if
(
type
==
1
||
type
==
2
){
if
(
type
==
1
){
search
.
msg
.
lineId
=
0
}
if
(
type
==
2
)
{
search
.
msg
.
lineTeamId
=
0
}
data
.
chosenAddress
.
splice
(
i
,
1
)
// search.chosenAddress = JSON.parse(JSON.stringify(data.chosenAddress))
data
.
chosenAddress
.
length
==
0
&&
data
.
areaList
.
forEach
(
y
=>
{
y
.
checked
=
false
y
.
SubList
.
forEach
(
z
=>
{
z
.
checked
=
false
})
})
}
else
if
(
type
==
2
){
data
.
goodsType
.
forEach
(
y
=>
{
y
.
SubList
.
forEach
(
z
=>
{
if
(
x
==
z
.
Id
){
z
.
checked
=
false
}
})
})
data
.
searchClone
.
teamType
.
splice
(
i
,
1
)
// search.msg = JSON.parse(JSON.stringify(data.searchClone))
}
else
if
(
type
==
3
){
data
.
dayArray
[
i
].
checked
=
false
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
=
''
}
search
.
chosenAddress
.
splice
(
i
,
1
)
},
// 初始化出发城市
initCityList
()
{
...
...
@@ -752,6 +790,9 @@
type
:
type
}
search
.
chosenAddress
.
splice
(
0
,
1
);
if
(
$q
.
platform
.
is
.
mobile
){
if
(
qDateProxy0
.
value
)
qDateProxy0
.
value
.
hide
()
}
setTimeout
(()
=>
{
search
.
chosenAddress
.
unshift
(
obj
);
},
200
)
...
...
@@ -761,9 +802,11 @@
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
){
if
(
y
.
id
==
z
.
Id
&&
type
==
z
.
type
){
// status = true
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
...
...
@@ -773,6 +816,10 @@
}
if
(
type
==
2
){
search
.
msg
.
lineTeamId
=
data
.
searchClone
.
lineTeamId
}
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
)
...
...
@@ -790,9 +837,12 @@
})
})
search
.
msg
.
startCityId
=
data
.
searchClone
.
startCityId
if
(
$q
.
platform
.
is
.
mobile
){
if
(
qDateProxy3
.
value
)
qDateProxy3
.
value
.
hide
()
}
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
},
2
00
)
},
5
00
)
}
else
if
(
type
==
4
){
obj
=
{
Name
:
x
.
text
,
...
...
@@ -811,6 +861,9 @@
search
.
DayId
=
data
.
DayId
search
.
msg
.
maxTripDay
=
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
()
...
...
@@ -829,6 +882,9 @@
}
})
})
if
(
$q
.
platform
.
is
.
mobile
){
if
(
qDateProxy5
.
value
)
qDateProxy5
.
value
.
hide
()
}
setTimeout
(()
=>
{
search
.
datesId
=
x
.
id
search
.
msg
.
startDate
=
obj
.
d
...
...
@@ -845,6 +901,9 @@
search
.
chosenAddress
.
splice
(
index
,
1
);
}
})
if
(
$q
.
platform
.
is
.
mobile
){
if
(
qDateProxy6
.
value
)
qDateProxy6
.
value
.
hide
()
}
setTimeout
(()
=>
{
search
.
chosenAddress
.
push
(
obj
);
},
200
)
...
...
@@ -945,14 +1004,9 @@
}
},{
deep
:
true
})
const
searchCnt
=
computed
(()
=>
{
let
setCnt
=
0
let
setCnt
=
2
if
(
$q
.
platform
.
is
.
mobile
)
{
if
(
search
.
chosenAddress
.
length
>
0
)
setCnt
++
if
(
search
.
msg
.
teamType
.
length
>
0
)
setCnt
++
if
(
search
.
msg
.
priceRange
.
min
)
setCnt
++
if
(
data
.
dateRange
.
from
)
setCnt
++
let
days
=
data
.
dayArray
.
map
(
x
=>
x
.
checked
)
if
(
days
.
indexOf
(
true
)
!=-
1
)
setCnt
++
setCnt
=
setCnt
+
search
.
chosenAddress
.
length
-
1
}
return
setCnt
})
...
...
@@ -965,6 +1019,13 @@
search
,
searchCnt
,
qDateProxy
,
qDateProxy0
,
qDateProxy1
,
qDateProxy2
,
qDateProxy3
,
qDateProxy4
,
qDateProxy5
,
qDateProxy6
,
qNameProxy
,
}
}
...
...
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