Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mallapp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
mallapp
Commits
5ce8dc1b
Commit
5ce8dc1b
authored
Sep 11, 2020
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
司导列表
parent
58a04509
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
429 additions
and
15 deletions
+429
-15
pages.json
pages.json
+2
-0
guidecarList.vue
pages/guidecar/guidecarList.vue
+356
-0
index.vue
pages/guidecar/index.vue
+67
-12
pickcarcity.vue
pages/guidecar/pickcarcity.vue
+4
-3
phtos.png
static/images/sidao/phtos.png
+0
-0
time.png
static/images/sidao/time.png
+0
-0
No files found.
pages.json
View file @
5ce8dc1b
...
...
@@ -313,6 +313,8 @@
}
},{
"path"
:
"pickcarcity"
},{
"path"
:
"guidecarList"
},{
"path"
:
"orderList"
}]
...
...
pages/guidecar/guidecarList.vue
0 → 100644
View file @
5ce8dc1b
<
template
>
<div
class=
"guidecarList"
style=
"height: 100%;"
>
<div
class=
'g_top'
>
<view
class=
"topB"
@
click=
""
>
<span
class=
'ztext'
>
{{
STime
.
month
}}
月
{{
STime
.
day
}}
日
</span>
<span
class=
'titext'
>
{{
STime
.
week
+
' '
+
STime
.
hour
+
':'
+
STime
.
minute
}}
</span>
</view>
<view
class=
"topB"
style=
"height: 20px;align-items: center;"
>
<span
style=
'font-size: 11px;color: #1C1E1F;'
>
{{
intervalDay
}}
</span>
<image
src=
"../../static/images/sanjiao.png"
mode=
"aspectFill"
style=
"width: 55px;height: 4px;"
></image>
</view>
<view
class=
"topB"
@
click=
""
>
<span
class=
'ztext'
>
{{
ETime
.
month
}}
月
{{
ETime
.
day
}}
日
</span>
<span
class=
'titext'
>
{{
ETime
.
week
+
' '
+
ETime
.
hour
+
':'
+
ETime
.
minute
}}
</span>
</view>
</div>
<view
style=
"padding: 10px 0 0; background: #fff;width: 100%;border-bottom: 1px solid #E2E2E2;"
>
<u-tabs
:list=
"list"
:is-scroll=
"false"
:current=
"current"
@
change=
"change"
:active-color=
"mainColor"
></u-tabs>
</view>
<div
style=
'display: flex;width: 100%;'
>
<div
class=
"left-slider"
>
<sidebar
:active=
"tic"
name=
"Name"
:active-color=
"mainColor"
:border=
"false"
:list=
"classList"
@
change=
"changeHandler"
></sidebar>
</div>
<div
class=
"right-slider"
>
<u-empty
v-if=
"g.length == 0"
text=
"暂无相关车辆信息"
mode=
"data"
></u-empty>
<scroll-view
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
style=
" height: calc(100vh - (44px+10px+50px)) ;width: calc(100vw - 85px);"
>
<view
style=
"width: 100%;display: flex;flex-direction: column;align-items: center;padding: 10px;"
>
<view
class=
"c_list_item"
v-for=
"(x, i) in g"
:key=
"i"
>
<view
class=
"itemb"
>
<view
class=
"c_t_l"
>
<image
:src=
"x.cover_pic"
mode=
"aspectFill"
style=
"width: 100%;height: 100%;"
></image>
</view>
<view
class=
"c_t_r"
>
<span
class=
'ctr_name'
>
{{
x
.
name
}}
</span>
<span
style=
'font-size: 11px;color: #111111;'
>
{{
x
.
guidecartype
}}
· 可乘坐
{{
x
.
goods_stock
}}
人 ·
{{
x
.
carcolorName
}}
</span>
</view>
</view>
<view
class=
"itemb"
style=
"justify-content: space-between;margin-top: 10px;"
>
<view
class=
"itemb"
>
<image
:src=
"x.guidephoto"
mode=
"aspectFill"
style=
"width: 30px;height: 30px;border-radius: 15px;"
></image>
<view
style=
"display: flex;flex-direction: column;justify-content: space-between;height: 30px;margin-left: 8px;"
>
<view
class=
"itemb"
>
<span
style=
'font-size: 11px;color: #111111;'
>
{{
x
.
guidename
}}
</span>
<view
style=
"background-image: linear-gradient( to right,#FF8585, #EE4454);color: #FFF;font-size: 10px;border-radius: 1px;margin-left: 5px;padding: 0 2px;"
>
{{
x
.
guidescore
}}
</view>
</view>
<view
class=
"itemb"
style=
'font-size: 11px;color: #666666;'
>
<view
class=
"itemb"
>
<image
src=
"../../static/images/sidao/time.png"
mode=
"aspectFill"
style=
"width: 11px;height: 11px;margin-right: 2px;"
></image>
<span
>
从业
{{
x
.
guideworkyears
}}
年
</span>
<image
src=
"../../static/images/sidao/time.png"
mode=
"aspectFill"
style=
"width: 9px;height: 11px;margin-left: 5px;margin-right: 2px"
></image>
<span>
{{
x
.
guidetelephone
}}
</span>
</view>
</view>
</view>
</view>
<view
style=
"display: flex;flex-direction: column;align-items: flex-end;"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">¥
{{
x
.
price
}}
/天
</view>
<view
style=
" color: #999999;font-size: 11px; "
>
总价¥
{{
x
.
price
*
msg
.
RideNum
}}
</view>
</view>
</view>
<view
class=
"line"
></view>
</view>
</view>
</scroll-view>
</div>
</div>
</div>
</
template
>
<
script
>
import
sidebar
from
"../../components/sidebar/index.vue"
;
export
default
{
components
:
{
sidebar
,
},
data
()
{
return
{
mainColor
:
""
,
activeStyle
:
""
,
pageTitle
:
"订车"
,
classList
:[],
current
:
0
,
tic
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
Name
:
""
,
GoodsType
:
1
,
OrderBy
:
1
,
StartTime
:
''
,
EndTime
:
''
,
CarType
:
0
,
LineName
:
''
,
LineDescription
:
''
,
RideNum
:
0
,
CarClass
:
''
,
CarBrandId
:
0
,
RegionIds
:
0
},
list
:
[{
name
:
'综合排序'
},
{
name
:
'品牌'
}],
STime
:
''
,
ETime
:
''
,
intervalDay
:
''
,
g
:
[],
page_count
:
1
,
status
:
"loadmore"
,
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loading
:
"努力加载中"
,
nomore
:
"没有更多了"
,
},
};
},
components
:
{
sidebar
,
},
onLoad
(
options
)
{
if
(
options
&&
options
.
item
){
let
item
=
JSON
.
parse
(
decodeURIComponent
(
options
.
item
))
this
.
msg
.
CarClass
=
item
.
CarClass
this
.
msg
.
CarType
=
item
.
CarType
this
.
msg
.
EndTime
=
item
.
EndTime
this
.
msg
.
LineDescription
=
item
.
LineDescription
this
.
msg
.
LineName
=
item
.
LineName
this
.
msg
.
RegionIds
=
item
.
RegionIds
this
.
msg
.
RideNum
=
item
.
RideNum
this
.
msg
.
StartTime
=
item
.
StartTime
}
if
(
options
&&
options
.
STime
){
this
.
STime
=
JSON
.
parse
(
decodeURIComponent
(
options
.
STime
))
}
if
(
options
&&
options
.
ETime
){
this
.
ETime
=
JSON
.
parse
(
decodeURIComponent
(
options
.
ETime
))
}
if
(
options
&&
options
.
intervalDay
){
this
.
intervalDay
=
options
.
intervalDay
}
if
(
options
&&
options
.
tic
){
this
.
tic
=
options
.
tic
}
this
.
getCarClassList
()
this
.
init
();
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
activeStyle
=
`background:
${
this
.
mainColor
}
;`
;
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
,
});
},
methods
:
{
init
(){
uni
.
showLoading
({
title
:
"加载中"
,
});
this
.
request2
(
{
url
:
'/api/AppletGuideCar/GetAppletGoodsPageListForZY'
,
data
:
this
.
msg
},
res
=>
{
uni
.
hideLoading
();
if
(
res
.
resultCode
==
1
){
res
.
data
.
pageData
=
[
{
"id"
:
367471
,
"sign"
:
""
,
"name"
:
"超高性比价|九寨沟•黄龙•灌县古城•都江堰•平乐古镇6日游|当地特色美食"
,
"cover_pic"
:
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/uploads/mall1285/20200403/2fe8017933680b58437f8f98c9cbec6c.jpg"
,
"video_url"
:
""
,
"original_price"
:
3000.00
,
"unit"
:
null
,
"page_url"
:
"/pages/goods/goods?id=367471"
,
"is_negotiable"
:
2
,
"is_level"
:
1
,
"level_price"
:
200.0000
,
"price"
:
"2000.00"
,
"price_content"
:
"¥2000.00"
,
"is_sales"
:
1
,
"sales"
:
"已售0件"
,
"attr_groups"
:[
],
"attr"
:[],
"goods_stock"
:
4
,
"goods_num"
:
4
,
"marketingLogo"
:
"
\
u0022
\\\
u0022{
\\\\\\\
u0022iswords
\\\\\\\
u0022:0,
\\\\\\\
u0022words
\\\\\\\
u0022:
\\\\\\\
u0022
\\\\\\\
u0022,
\\\\\\\
u0022wordsColor
\\\\\\\
u0022:
\\\\\\\
u0022
\\\\\\\
u0022,
\\\\\\\
u0022wordsBack
\\\\\\\
u0022:
\\\\\\\
u0022
\\\\\\\
u0022,
\\\\\\\
u0022ico
\\\\\\\
u0022:
\\\\\\\
u0022
\\\\\\\
u0022}
\\\
u0022
\
u0022"
,
"carclass"
:
null
,
"carcolorName"
:
"红色"
,
"guidename"
:
"晓东"
,
"guideworkyears"
:
6.00
,
"guidescore"
:
0.00
,
"guidetelephone"
:
"1515151515151"
,
"guidephoto"
:
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/1599127018000_23.jpeg"
}
]
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
pageData
);
this
.
page_count
=
res
.
data
.
pageCount
;
if
(
this
.
page_count
==
1
)
{
this
.
status
=
"nomore"
;
}
}
}
);
},
getCarClassList
(){
this
.
request2
(
{
url
:
"/api/AppletGuideCar/GetCarClassList"
,
data
:
{},
},
(
res
)
=>
{
this
.
classList
=
res
.
data
;
let
obj
=
{
Name
:
"全部"
,
Id
:
0
}
this
.
classList
.
unshift
(
obj
)
}
);
},
changeHandler
(
val
){
this
.
tic
=
val
;
this
.
msg
.
CarClass
=
this
.
classList
[
val
].
ID
;
this
.
msg
.
pageIndex
=
1
;
this
.
g
=
[];
this
.
init
()
},
change
(
val
){
console
.
log
(
val
)
this
.
current
=
val
},
onItemSelect
(){
},
lower
(
e
)
{
if
(
this
.
msg
.
pageIndex
<
this
.
page_count
)
{
this
.
msg
.
pageIndex
++
;
this
.
status
=
"loading"
;
this
.
init
();
}
else
{
this
.
status
=
"nomore"
;
}
},
},
};
</
script
>
<
style
>
.guidecarList
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
}
.guidecarList
.left-slider
{
width
:
85px
;
height
:
100%
;
background
:
#f5f5f5
;
}
.guidecarList
.right-slider
{
/* padding: 10px; */
height
:
100%
;
width
:
1px
;
flex
:
1
;
}
.g_top
{
width
:
92%
;
height
:
45px
;
border-radius
:
22.5px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-around
;
background
:
#FAF8F9
;
padding
:
0
20px
;
}
.guidecarList
.topB
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
/* align-items: center; */
}
.guidecarList
.titext
{
font-size
:
22
rpx
;
color
:
#929292
;
}
.guidecarList
.ztext
{
font-size
:
28
rpx
;
color
:
#1C1E1F
;
}
.guidecarList
.c_list_item
{
width
:
96%
;
display
:
flex
;
flex-direction
:
column
;
}
.guidecarList
.itemb
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.c_list_item
.c_t_l
{
width
:
111px
;
height
:
62px
;
}
.c_list_item
.c_t_r
{
display
:
flex
;
flex-direction
:
column
;
height
:
62px
;
padding
:
5px
10px
;
justify-content
:
space-around
;
}
.c_t_r
.ctr_name
{
width
:
300
rpx
;
font-size
:
15px
;
color
:
#111111
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
font-weight
:
bold
;
}
.c_t_r
.price
{
font-size
:
14px
;
color
:
#ff4544
;
}
.guidecarList
.line
{
width
:
100%
;
height
:
1px
;
margin-top
:
10px
;
background
:
#E2E2E2
;
}
</
style
>
pages/guidecar/index.vue
View file @
5ce8dc1b
...
...
@@ -34,7 +34,7 @@
</view>
<view
class=
"topB"
v-if=
"info.IsShowCarpooling==1&& msg.CarType==5"
style=
"align-items: center;"
>
<span
class=
'titext'
>
是否拼车
</span>
<u-switch
v-model=
"
iscarpool"
size=
'30'
></u-switch>
<u-switch
v-model=
"
msg.IsSpell"
size=
'30'
active-value=
"1"
inactive-value=
"2"
></u-switch>
</view>
</view>
<view
class=
"c_row"
>
...
...
@@ -55,6 +55,17 @@
<input
class=
"uni-input"
v-model=
"msg.RideNum"
style=
"width: 50px;text-align: center;"
/>
</view>
</view>
<view
class=
"c_row"
v-if=
"msg.CarType==5"
>
<view
class=
"topB"
>
<span
class=
'titext'
>
线路名称
</span>
<input
class=
"uni-input"
v-model=
"msg.LineName"
style=
"width: 80px;"
placeholder=
"请输入"
/>
</view>
<view
class=
"topB"
>
<span
class=
'titext'
>
关联城市或景点
</span>
<input
class=
"uni-input"
v-model=
"msg.LineDescription"
style=
"width: 80px;"
placeholder=
"请输入"
/>
</view>
<view
class=
"topB"
style=
"width: 50px;"
></view>
</view>
<view
class=
"c_row"
v-if=
"info.IsShowDate==1"
>
<view
class=
"topB"
@
click=
"showStart=true,timeType=1,defaultTime = msg.StartTime"
>
<span
class=
'ztext'
>
{{
STime
.
month
}}
月
{{
STime
.
day
}}
日
</span>
...
...
@@ -74,7 +85,7 @@
<image
:src=
"info.TipsIco"
mode=
"aspectFill"
style=
"width: 13px;height: 11px;"
></image>
<span
style=
'font-size: 11px;color: #121212;margin-left: 5px;'
>
{{
info
.
Tips
}}
</span>
</view>
<view
class=
"btnstyle"
:style=
"
{'color':info.ButtonTextColor,'background':info.ButtonColor,'border-radius':info.ButtonFilletPX+'px'}">
<view
class=
"btnstyle"
:style=
"
{'color':info.ButtonTextColor,'background':info.ButtonColor,'border-radius':info.ButtonFilletPX+'px'}"
@click="goList"
>
{{
info
.
ButtonText
}}
</view>
</view>
...
...
@@ -141,7 +152,6 @@
</view>
</view>
</scroll-view>
</view>
</u-popup>
<u-picker
v-model=
"showStart"
mode=
"time"
:params=
"params"
@
confirm=
'btnStart'
:default-time=
'defaultTime'
></u-picker>
...
...
@@ -149,10 +159,10 @@
</
template
>
<
script
>
import
AddressParse
from
'../address/zh-address-parse.min.js'
export
default
{
data
(){
return
{
info
:{},
contentHeight
:
0
,
mainColor
:
''
,
...
...
@@ -176,12 +186,13 @@
msg
:{
StartTime
:
''
,
//取车时间
EndTime
:
''
,
//还车时间
CarType
:
''
,
//服务类型
CarType
:
0
,
//服务类型
LineName
:
''
,
//线路名称
LineDescription
:
''
,
//关联城市/景点
RideNum
:
0
,
//出行人数
CarClass
:
''
,
//车辆类型
RegionIds
:
''
,
//地区(省市区:1,2,3)
RideNum
:
1
,
//出行人数
CarClass
:
0
,
//车辆类型
RegionIds
:
0
,
//地区(省市区:1,2,3)
IsSpell
:
2
,
//是否拼座 1是 2否
},
params
:
{
//时间的配置
year
:
true
,
...
...
@@ -213,10 +224,11 @@
this
.
ETime
=
obj
;
this
.
msg
.
StartTime
=
obj
.
year
+
'-'
+
obj
.
month
+
'-'
+
obj
.
day
+
' '
+
obj
.
hour
+
':'
+
obj
.
minute
+
':00'
;
this
.
msg
.
EndTime
=
obj
.
year
+
'-'
+
obj
.
month
+
'-'
+
obj
.
day
+
' '
+
obj
.
hour
+
':'
+
obj
.
minute
+
':00'
;
},
onLoad
(
options
){
this
.
init
()
//获取司导首页配置
this
.
get
Get
CarClassList
()
//车辆分类下拉
this
.
getCarClassList
()
//车辆分类下拉
this
.
getOrderListExportEnumList
()
//获取出行类型
},
methods
:{
...
...
@@ -235,7 +247,7 @@
}
);
},
get
Get
CarClassList
(){
getCarClassList
(){
this
.
request2
(
{
url
:
"/api/AppletGuideCar/GetCarClassList"
,
...
...
@@ -246,7 +258,9 @@
this
.
classList
.
forEach
(
x
=>
{
x
.
checked
=
false
})
this
.
carName
=
this
.
classList
[
0
].
Name
;
this
.
msg
.
CarClass
=
this
.
classList
[
0
].
Id
;
this
.
classList
[
0
].
checked
=
true
}
);
},
...
...
@@ -261,7 +275,9 @@
this
.
EnumList
.
forEach
(
x
=>
{
x
.
checked
=
false
})
this
.
EnumName
=
this
.
EnumList
[
0
].
Name
;
this
.
msg
.
CarType
=
this
.
EnumList
[
0
].
Id
;
this
.
EnumList
[
0
].
checked
=
true
}
);
},
...
...
@@ -356,14 +372,53 @@
success
:
function
(
res
)
{
console
.
log
(
res
)
that
.
address
=
res
.
address
let
parseResult
=
AddressParse
(
that
.
address
,
0
)
let
nameList
=
[
parseResult
.
province
,
parseResult
.
city
,
parseResult
.
area
];
that
.
getDestination
(
nameList
);
}
});
},
getDestination
(
nameList
)
{
this
.
request2
(
{
url
:
'/api/AppletUser/GetDestinationListByNames'
,
data
:
{
area
:
nameList
}
},
res
=>
{
console
.
log
(
'res'
,
res
);
if
(
res
.
data
.
length
==
3
){
this
.
msg
.
RegionIds
=
res
.
data
[
0
].
ID
+
','
+
res
.
data
[
1
].
ID
+
','
+
res
.
data
[
2
].
ID
}
else
{
this
.
msg
.
RegionIds
=
res
.
data
[
0
].
ID
+
','
+
res
.
data
[
1
].
ID
+
',0'
}
}
);
},
gocity
(){
uni
.
navigateTo
({
url
:
'/pages/guidecar/pickcarcity'
})
},
goList
(){
let
that
=
this
let
tic
=
0
;
that
.
classList
.
forEach
((
x
,
i
)
=>
{
if
(
x
.
Id
==
that
.
msg
.
CarClass
){
tic
=
i
+
1
console
.
log
(
tic
)
}
})
uni
.
navigateTo
({
url
:
"/pages/guidecar/guidecarList?item="
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
msg
))
+
'&STime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
STime
))
+
'&ETime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
ETime
))
+
'&intervalDay='
+
that
.
intervalDay
+
'&tic='
+
tic
});
}
}
...
...
pages/guidecar/pickcarcity.vue
View file @
5ce8dc1b
...
...
@@ -20,7 +20,8 @@
{{
item
.
RegionName
}}
</view>
</view>
<template>
<div
style=
'height: calc(100vh - 50px);'
>
<u-index-list
:scrollTop=
"scrollTop"
>
<view
v-for=
"(item, index) in indexList"
:key=
"index"
>
<u-index-anchor
:index=
"item.ti"
/>
...
...
@@ -30,7 +31,8 @@
</view>
</u-index-list>
</
template
>
</div>
</view>
</view>
...
...
@@ -132,7 +134,6 @@
background
:
#FFFFFF
;
}
.pickcarcity
.qcity
{
}
.pickcarcity
.list-cell
{
display
:
flex
;
...
...
static/images/sidao/phtos.png
0 → 100644
View file @
5ce8dc1b
927 Bytes
static/images/sidao/time.png
0 → 100644
View file @
5ce8dc1b
870 Bytes
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