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
6594c46c
Commit
6594c46c
authored
Sep 15, 2020
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
司导提交
parent
43abc5f1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1119 additions
and
36 deletions
+1119
-36
guidecarShare.vue
pages/guidecar/components/guidecarShare.vue
+279
-0
guidecarGoodsdetails.vue
pages/guidecar/guidecarGoodsdetails.vue
+517
-32
guidecarList.vue
pages/guidecar/guidecarList.vue
+1
-1
guidedetails.vue
pages/guidecar/guidedetails.vue
+254
-0
index.vue
pages/guidecar/index.vue
+4
-3
place_order.vue
pages/guidecar/place_order.vue
+64
-0
No files found.
pages/guidecar/components/guidecarShare.vue
0 → 100644
View file @
6594c46c
<
template
>
<u-popup
mode=
"bottom"
:border-radius=
"20"
:popup=
"false"
v-model=
"value"
:maskCloseAble=
"true"
length=
"auto"
:safeAreaInsetBottom=
"true"
@
close=
"popupClose"
:z-index=
"9999"
close-icon=
"close"
>
<view
class=
"share-box"
:style=
"
{ paddingBottom: bianyi ? '50rpx' : '0' }">
<view
class=
"title"
>
分享商品
</view>
<scroll-view
scroll-y
class=
"share_b"
>
<view
class=
"goodname"
>
{{
goodName
}}
</view>
<view
class=
"img-box"
>
<view
class=
"box"
>
<image
v-for=
"(x, i) in images"
:key=
"i"
:src=
"x.pic_url"
class=
"img"
mode=
"aspectFill"
@
click=
"previewImage(i)"
/>
</view>
<view
v-if=
"advertising!=null && advertising !='' "
style=
"margin-top: 10px;line-height: 1.5;font-size: 28rpx;color:#333"
>
<span>
广告词:
{{
advertising
}}
</span>
<u-button
size=
"mini"
shape=
"circle"
style=
'margin-left: 10px;'
@
click=
"paste(advertising)"
>
复制
</u-button>
</view>
</view>
</scroll-view>
<view
class=
"op-box"
>
<view
class=
"left"
>
<text
@
click=
"copyHandler"
>
复制文本
</text>
<text
@
click=
"savePicHandler"
style=
"text-align: center;"
>
保存图片
</text
>
<text
@
click=
"genernalHandler"
style=
"text-align: right;"
>
生成海报
</text
>
</view>
<view
class=
"right"
>
<text>
分享到
</text>
<image
src=
"/static/images/icon/quan.png"
style=
"width: 24px; height: 24px;"
@
click=
"sendQuanHandler"
/>
<!-- #ifdef MP-WEIXIN -->
<button
open-type=
"share"
style=
"border: none; outline: none;"
>
<image
src=
"/static/images/icon/friend.png"
style=
"width: 24px; height: 24px;"
/>
</button>
<!-- #endif -->
</view>
</view>
</view>
<u-top-tips
ref=
"uTips"
></u-top-tips>
</u-popup>
</
template
>
<
script
>
export
default
{
model
:
{},
props
:
{
value
:
{
type
:
Boolean
,
default
:
true
,
},
goodId
:
{
type
:
Number
,
default
:
0
,
},
goodName
:
{
type
:
String
,
default
:
""
,
},
advertising
:
{
type
:
String
,
default
:
""
,
},
images
:
{
type
:
Array
,
default
:
[],
},
},
data
()
{
return
{
bianyi
:
false
,
};
},
mounted
()
{
this
.
bianyi
=
this
.
$uiConfig
.
is_bang
;
},
methods
:
{
popupClose
(){
this
.
$emit
(
'close'
)
},
savePicHandler
()
{
uni
.
showLoading
({
title
:
"正在下载图片"
,
});
let
arr
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
images
));
this
.
downLoadImage
(
arr
);
},
genernalHandler
()
{
//this.goodId
uni
.
navigateTo
({
url
:
"/pages/goods/draw?id="
+
this
.
goodId
,
});
},
sendQuanHandler
()
{
this
.
copyHandler
();
setTimeout
(()
=>
{
this
.
savePicHandler
();
},
1000
);
},
downLoadImage
(
arr
)
{
let
that
=
this
;
uni
.
downloadFile
({
url
:
arr
[
0
].
pic_url
,
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
uni
.
saveImageToPhotosAlbum
({
filePath
:
res
.
tempFilePath
,
success
:
function
()
{
arr
.
splice
(
0
,
1
);
if
(
arr
.
length
>
0
)
{
that
.
downLoadImage
(
arr
);
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"下载成功"
,
});
}
},
fail
:
function
(
e
)
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
},
});
}
else
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
}
},
});
},
copyHandler
()
{
uni
.
setClipboardData
({
data
:
this
.
goodName
,
});
},
paste
(
value
){
uni
.
setClipboardData
({
data
:
value
,
});
},
previewImage
(
i
)
{
uni
.
previewImage
({
urls
:
this
.
imgs
,
current
:
i
,
longPressActions
:
{
itemList
:
[
"发送给朋友"
,
"保存图片"
,
"收藏"
],
success
:
function
(
data
)
{},
fail
:
function
(
err
)
{
console
.
log
(
err
.
errMsg
);
},
},
});
},
},
};
</
script
>
<
style
>
.share-box
{
position
:
relative
;
padding
:
20
rpx
;
padding-bottom
:
0
;
}
.share-box
.title
{
font-size
:
40
rpx
;
color
:
#000
;
margin-bottom
:
50
rpx
;
font-weight
:
600
;
}
.share-box
.goodname
{
font-size
:
28
rpx
;
line-height
:
1.5
;
text-overflow
:
-o-ellipsis-lastline
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
color
:
#333
;
}
.share-box
.img-box
{
margin-top
:
40
rpx
;
padding-bottom
:
40
rpx
;
display
:
block
;
border-bottom
:
2
rpx
solid
#f1f1f1
;
overflow-x
:
auto
;
}
.share-box
.img-box
.box
{
white-space
:
nowrap
;
}
.share-box
.img-box
.box
.img
{
display
:
inline-block
;
width
:
252
rpx
;
height
:
252
rpx
;
border-radius
:
8
rpx
;
margin-right
:
20
rpx
;
}
.share-box
.op-box
{
display
:
flex
;
margin
:
20
rpx
0
;
align-items
:
center
;
font-size
:
14px
;
color
:
gray
;
}
.share-box
.op-box
.left
{
display
:
flex
;
flex
:
1
;
width
:
1
rpx
;
align-items
:
center
;
}
.share-box
.op-box
.left
text
{
flex
:
1
;
text-align
:
left
;
width
:
1
rpx
;
}
.share-box
.op-box
.right
{
margin-left
:
20
rpx
;
border-left
:
2
rpx
solid
#f1f1f1
;
display
:
flex
;
align-items
:
center
;
}
.share-box
.op-box
.right
text
,
.share-box
.op-box
.right
image
{
margin-left
:
20
rpx
;
}
.share-box
.op-box
.right
button
{
border
:
none
;
outline
:
none
;
padding
:
0
;
width
:
68
rpx
;
height
:
48
rpx
;
margin
:
0
;
line-height
:
unset
;
}
.share-box
.op-box
.right
button
::after
{
border
:
none
;
}
.share-box
.share_b
{
padding
:
0
;
max-height
:
300px
;
overflow
:
hidden
;
overflow-y
:
auto
;
display
:
block
;
}
</
style
>
pages/guidecar/guidecarGoodsdetails.vue
View file @
6594c46c
<
template
>
<
template
>
<view
class=
"guidecarOrderdetails"
:style=
"
{'height':contentHeight}">
<view
class=
"guidecarOrderdetails"
:style=
"
{'height':contentHeight}">
<view
class=
"u-skeleton-rect"
>
<view
class=
"u-skeleton"
v-if=
"isExsitGoods"
style=
"background: #FFF;"
>
<swiper
<view
class=
"g_top"
>
indicator-dots
<view
class=
"row"
>
:autoplay=
"false"
<u-icon
name=
"location"
:size=
"32"
color=
"#EE4454"
></u-icon>
:interval=
"1000"
<span>
成都站
</span>
style=
"height:100vw;"
<view
style=
"width: 2px;color: #E7E7E7;height: 20px;margin:0 10px;"
></view>
>
</view>
<block
v-for=
"(item, index) in g.pic_url"
:key=
"index"
>
<view
class=
'row'
style=
"justify-content: space-between;width: 220px;"
>
<swiper-item>
<view
class=
"topB"
@
click=
""
>
<video
@
click=
"startPlay(item)"
style=
"width:100%;height:100%"
id=
"myVideo"
v-if=
"item.type==1"
:src=
"item.pic_url"
<span
class=
'ztext'
>
9月5日
</span>
:autoplay=
"false"
loop
muted
show-play-btn
:enable-progress-gesture=
"true"
<span
class=
'titext'
>
周三 18:20:00
</span>
:controls=
"true"
:show-progress=
"true"
:show-mute-btn=
"true"
objectFit=
"cover"
></video>
</view>
<image
@
click=
"previewImage(index)"
style=
"width:100%;height:100%;"
v-else
:src=
"item.pic_url"
mode=
""
></image>
<view
class=
"topB"
style=
"height: 20px;align-items: center;"
>
</swiper-item>
<span
style=
'font-size: 11px;color: #1C1E1F;'
>
6天
</span>
</block>
<image
src=
"../../static/images/sanjiao.png"
mode=
"aspectFill"
style=
"width: 55px;height: 4px;"
></image>
</swiper>
</view>
<view
class=
"topB"
@
click=
""
>
<span
class=
'ztext'
>
9月11日
</span>
<span
class=
'titext'
>
周三 18:20:00
</span>
</view>
</view>
</view>
<view
class=
"u-skeleton-rect"
>
<swiper
indicator-dots
:autoplay=
"false"
:interval=
"1000"
style=
"height:200px;"
>
<block
v-for=
"(item, index) in g.pic_url"
:key=
"index"
>
<swiper-item>
<video
@
click=
"startPlay(item)"
style=
"width:100%;height:100%"
id=
"myVideo"
v-if=
"item.type==1"
:src=
"item.pic_url"
:autoplay=
"false"
loop
muted
show-play-btn
:enable-progress-gesture=
"true"
:controls=
"true"
:show-progress=
"true"
:show-mute-btn=
"true"
objectFit=
"cover"
></video>
<image
@
click=
"previewImage(index)"
style=
"width:100%;height:100%;"
v-else
:src=
"item.pic_url"
mode=
""
></image>
</swiper-item>
</block>
</swiper>
</view>
<view
class=
"g-info"
>
<view
class=
"g-name u-skeleton-rect"
>
<view
v-if=
"g.marketingLogo.iswords&&g.marketingLogo.iswords==1 && g.marketingLogo.words!=''"
class=
"Logo"
:style=
"
{color: g.marketingLogo.wordsColor,
background:g.marketingLogo.wordsBack ,}"
>
{{
g
.
marketingLogo
.
words
}}
</view>
<image
v-if=
"g.marketingLogo.iswords&&g.marketingLogo.iswords==2&& g.marketingLogo.ico!=''"
mode=
"heightFix"
:src=
"g.marketingLogo.ico"
style=
" height: 12px;margin-right: 5px"
/>
{{
g
.
name
}}
</view>
<view
class=
"g-price-box"
>
<view
class=
"left"
>
<view
class=
"price u-skeleton-rect"
:style=
"
{ color: mc }">
<text
class=
"small"
>
¥
</text>
<text
class=
"numfont"
>
{{
g
.
price
}}
/
</text>
<text
class=
"small"
>
天
</text>
</view>
<view
class=
"sell u-skeleton-rect"
>
<text
class=
"oprice"
v-if=
"setting.is_underline_price == 1"
>
{{
g
.
original_price
}}
</text>
</view>
</view>
<view
class=
"right u-skeleton-rect"
@
click=
"openShare"
v-if=
"isAllowShare == 1"
>
<image
src=
"@/static/images/icon/icon-share.png"
class=
"share-icon"
/>
<text>
分享
</text>
</view>
</view>
</view>
<view
class=
"sku-box"
style=
"justify-content: space-between;"
@
click=
"goguide(1)"
>
<view
class=
"row"
>
<span
class=
'skub_text'
>
导游信息
</span>
<view
class=
"row"
style=
"margin-left: 20px;"
>
<image
:src=
"g.guide_photo"
style=
"width: 36px; height: 36px;margin-right: 10px"
mode=
"widthFix"
></image>
<view
class=
"column"
style=
"height: 36px;justify-content: space-between;"
>
<view
class=
"row"
>
<span>
{{
g
.
guide_name
}}
</span>
<view
class=
"guiyears"
>
工龄
{{
g
.
guide_workyears
}}
年
</view>
</view>
<view
class=
"row"
>
<u-rate
:current=
"g.guide_score"
active-color=
"#FF8C10"
inactive-color=
"#b2b2b2"
active-icon=
"star"
inactive-icon=
"star-o"
size=
"20"
:disabled=
"true"
></u-rate>
</view>
</view>
</view>
</view>
<u-icon
name=
"arrow"
:size=
"32"
color=
"#111"
></u-icon>
</view>
<view
class=
"sku-box u-skeleton-rect"
style=
"align-items: flex-start;"
>
<view
class=
"label"
style=
"margin-top: 5px;"
>
活动
</view>
<view
class=
"content"
style=
"display: flex;flex-direction: column"
>
<view
style=
"display: flex;flex-direction: row;align-items: center;margin-bottom: 5px;"
v-if=
"g.goods_marketing_award.integral.title != ''"
>
<u-tag
text=
"送积分"
type=
"error"
/>
<text
style=
"margin-left: 5px; font-size: 12px;"
>
{{
g
.
goods_marketing_award
.
integral
.
title
}}
</text>
</view>
<view
style=
"display: flex;flex-direction: row;align-items: center"
v-if=
"g.goods_marketing_award.PresentFXGradeMsg != ''"
@
click=
"goVIP"
>
<u-tag
text=
"送会员"
type=
"error"
/>
<text
style=
"margin-left: 5px; font-size: 12px;"
>
{{
g
.
goods_marketing_award
.
PresentFXGradeMsg
}}
</text>
</view>
</view>
</view>
<view
class=
"sku-box"
style=
"justify-content: space-between;"
@
click=
"goguide(2)"
>
<view
class=
"row"
>
<span
class=
'skub_text'
>
车辆信息
</span>
<view
class=
"row"
style=
"margin-left: 20px;"
>
{{
g
.
car_name
}}
<view
class=
"carxinx"
v-if=
"g.car_model!=''"
>
{{
g
.
car_model
}}
</view>
</view>
</view>
<u-icon
name=
"arrow"
:size=
"32"
color=
"#111"
></u-icon>
</view>
<view
class=
"sku-box"
style=
"justify-content: space-between;"
>
<view
class=
"row"
>
<span
class=
'skub_text'
>
服务类型
</span>
<view
class=
"row"
style=
"margin-left: 20px;"
>
{{
g
.
car_type_name
}}
</view>
</view>
</view>
<view
class=
"sku-box"
style=
"justify-content: space-between;"
>
<view
class=
"row"
>
<span
class=
'skub_text'
>
是否拼坐
</span>
<view
class=
"row"
style=
"margin-left: 20px;"
>
{{
g
.
is_spell
==
1
?
'是'
:
'否'
}}
</view>
</view>
</view>
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
v-if=
"comments.length == 0 && setting.is_comment == 1"
>
<view
class=
"label"
>
暂无评论信息
</view>
</view>
<view
class=
"comment"
v-if=
"comments.length > 0"
>
<view
class=
"chead"
>
<u-section
:bold=
"false"
:sub-color=
"secondary"
:show-split=
"false"
:title=
"`商品评价($
{comments.length})`"
sub-title="查看更多"
@click="clickCommentHandler"
font-size="24"
>
</u-section>
</view>
<view
class=
"content"
>
<view
class=
"u-box"
>
<view
class=
"user"
>
<u-avatar
:src=
"comments[0].UserPhotoPath"
:size=
"50"
></u-avatar>
<text
style=
"margin-left: 10px;"
>
{{
comments
[
0
].
UserName
}}
</text>
<u-rate
:current=
"comments[0].CommentScore"
active-color=
"#FA3534"
inactive-color=
"#b2b2b2"
active-icon=
"star"
inactive-icon=
"star-o"
size=
"20"
:disabled=
"true"
></u-rate>
</view>
<view
class=
"timer"
>
{{
comments
[
0
].
CreateDate
}}
</view>
</view>
<view
class=
"ucontent"
>
{{
comments
[
0
].
Content
}}
</view>
</view>
</view>
<view
class=
"actionsheet"
:style=
"
{ 'padding-bottom': bian ? '28px' : '0px' }">
<view
class=
"actionsheet-item"
style=
"height: 100%;"
>
<view
style=
"width: 22px; margin: auto;margin-left: 15px;"
><u-icon
name=
"service-o"
size=
"44"
color=
"#4578FF"
></u-icon></view>
<text
style=
"color: #727272;font-size: 12px;margin-left: 3px;"
>
客服
</text>
<button
style=
'position: absolute;left: 10px;top:0;opacity: 0;width: 50px;'
open-type=
"contact"
:send-message-title=
"g.name"
:send-message-path=
"path"
:send-message-img=
"g.pic_url[0].pic_url"
:show-message-card=
"true"
>
0
</button>
<view
style=
"width: 2px;height: 70%;background: #FAF8F9;margin: 0 10px;"
></view>
<span
style=
'font-size: 12px;'
>
总价
</span>
<view
style=
'display: flex;flex-direction: row;align-items: flex-end;'
>
<text
class=
"btnsmall"
:style=
"
{ color: mc }">¥
</text>
<text
class=
"btnnumfont"
:style=
"
{ color: mc }"
>
{{
g
.
price
*
g
.
ride_num
}}
</text>
</view>
<text
style=
'font-size: 12px;margin-left: 5px;'
>
(
{{
g
.
price
}}
*
{{
g
.
ride_num
}}
)
</text>
</view>
<view
class=
'btnstyle'
>
预订
</view>
</view>
<u-divider
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"transparent"
>
商品详情
</u-divider>
<view
class=
"details"
>
<h-parse
:content=
"detailContent"
@
navigate=
"clickDescription"
></h-parse>
</view>
<share
:good-id=
"GoodsId"
v-if=
"showShare"
:good-name=
"g.name"
:images=
"g.pic_url"
:advertising=
"g.advertising"
@
close=
"closeShare"
></share>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
hParse
from
"@/components/u-parse/parse.vue"
;
import
share
from
"./components/guidecarShare.vue"
;
export
default
{
export
default
{
components
:
{
hParse
,
share
},
data
()
{
data
()
{
return
{
return
{
pageTitle
:
"详情"
,
pageTitle
:
"详情"
,
GoodsId
:
367471
,
GoodsId
:
367471
,
g
:{},
g
:{},
imgs
:[]
imgs
:[],
isExsitGoods
:
true
,
mc
:{},
setting
:
{},
detailContent
:
''
,
isAllowShare
:
1
,
showShare
:
false
,
comments
:
[],
bian
:
false
,
path
:
''
,
}
}
},
},
onLoad
(
option
){
onLoad
(
option
){
...
@@ -36,14 +260,19 @@
...
@@ -36,14 +260,19 @@
this
.
GoodsId
=
option
.
GoodsId
this
.
GoodsId
=
option
.
GoodsId
}
}
this
.
init
()
//商品详情
this
.
init
()
//商品详情
this
.
getAppletGoodsCommentPageList
()
//获取商品评论数
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
let
uid
=
u
.
UserId
?
u
.
UserId
:
0
;
this
.
path
=
'/pages/index/index?id='
+
this
.
GoodsId
+
"&user_id="
+
uid
+
'&JumpType=3'
;
},
},
created
(){
created
(){
this
.
mc
=
this
.
$uiConfig
.
mainColor
;
this
.
secondary
=
this
.
$uiConfig
.
secondary
;
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
(
-
40
)
+
'px'
;
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
(
-
40
)
+
'px'
;
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
setting
=
uni
.
getStorageSync
(
"basedata"
).
mall
.
setting
;
this
.
secondary
=
this
.
$uiConfig
.
secondary
;
this
.
bian
=
this
.
$uiConfig
.
is_bang
},
},
mounted
()
{
mounted
()
{
...
@@ -65,16 +294,51 @@
...
@@ -65,16 +294,51 @@
},
},
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
resultCode
==
1
){
uni
.
hideLoading
();
uni
.
hideLoading
();
this
.
g
=
res
.
data
.
goods
;
this
.
g
=
res
.
data
.
goods
;
this
.
g
.
pic_url
.
forEach
((
x
)
=>
{
this
.
g
.
pic_url
.
forEach
((
x
)
=>
{
this
.
imgs
.
push
(
x
.
pic_url
);
this
.
imgs
.
push
(
x
.
pic_url
);
});
});
this
.
isAllowShare
=
res
.
data
.
goods
.
isAllowShare
;
//1为可以分享 2为不能分享
if
(
this
.
isAllowShare
==
2
)
{
//隐藏分享的按钮
wx
.
hideShareMenu
({
menus
:
[
"shareAppMessage"
,
"shareTimeline"
],
});
}
var
richtext
=
this
.
g
.
detail
;
// richtext = richtext.replace(
// /
<
img
/
g
,
// '
<
img
style
=
"margin-top:-4px;width:100%"
'
// );
this.detailContent = richtext;
}else{
this.isExsitGoods = false;
}
}
}
);
);
},
},
getAppletGoodsCommentPageList(){
this.request2(
{
url: '
/
api
/
AppletGuideCar
/
GetAppletGoodsCommentPageList
',
data: {
GoodsId:this.GoodsId,
pageIndex:1,
pageSize:10,
CommentGrade:0,
}
},
(res) => {
this.comments = res.data.pageData;
}
);
},
clickDescription(e) {
console.log(e);
},
//点击跳转
//点击跳转
startPlay(item){
startPlay(item){
uni.navigateTo({ url: '
/
pages
/
video
/
index
?
GoodsId
=
'+this.id+'
&
VideoUrl
=
'+item.pic_url })
uni.navigateTo({ url: '
/
pages
/
video
/
index
?
GoodsId
=
'+this.id+'
&
VideoUrl
=
'+item.pic_url })
...
@@ -100,7 +364,17 @@
...
@@ -100,7 +364,17 @@
},
},
});
});
},
},
closeShare() {
this.showShare = false;
},
openShare() {
this.showShare = true;
},
goguide(type){//跳转导游详情
uni.navigateTo({
url:'
/
pages
/
guidecar
/
guidedetails
?
g
=
'+encodeURIComponent(JSON.stringify(this.g))+'
&
type
=
'+type
})
}
}
}
}
}
...
@@ -108,7 +382,218 @@
...
@@ -108,7 +382,218 @@
<
style
>
<
style
>
.guidecarOrderdetails
{
.guidecarOrderdetails
{
background
:
#FFFFFF
;
height
:
100%
;
background
:
#f5f5f5
;
padding-bottom
:
55px
;
}
}
.guidecarOrderdetails
.g-info
{
background
:
#fff
;
padding
:
10px
;
}
.guidecarOrderdetails
.g-info
.g-price-box
{
display
:
flex
;
align-items
:
flex-end
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.left
{
flex
:
1
;
width
:
1px
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.left
.price
{
margin
:
15px
0
;
font-size
:
24px
;
font-weight
:
bold
;
height
:
31px
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.left
.price
.small
{
font-size
:
16px
;
}
.guidecarOrderdetails
.btnsmall
{
font-size
:
16px
;
margin-left
:
8px
;
}
.guidecarOrderdetails
.btnnumfont
{
font-size
:
24px
;
font-weight
:
bold
;
}
.guidecarOrderdetails
.numfont
{
font-family
:
"oswald"
;
font-weight
:
unset
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.left
.sell
{
font-size
:
12px
;
color
:
gray
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.left
.sell
.oprice
{
text-decoration
:
line-through
;
margin-right
:
12px
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.right
{
width
:
30px
;
margin-left
:
20px
;
height
:
100%
;
font-size
:
12px
;
color
:
#333
;
}
.guidecarOrderdetails
.g-info
.g-price-box
.right
.share-icon
{
width
:
22px
;
height
:
22px
;
margin-bottom
:
12
rpx
;
}
.guidecarOrderdetails
.sku-box
{
margin
:
10px
0
;
background
:
#fff
;
display
:
flex
;
padding
:
15px
10px
;
align-items
:
center
;
}
.guidecarOrderdetails
.sku-box
.label
{
font-size
:
12px
;
color
:
gray
;
margin-right
:
15px
;
}
.guidecarOrderdetails
.details
{
padding
:
10px
;
}
.guidecarOrderdetails
.sku-box
.content
{
width
:
1px
;
flex
:
1
;
color
:
#000
;
font-size
:
12px
;
}
.guidecarOrderdetails
.sku-box
.content
.sku-chosen
{
display
:
flex
;
align-items
:
center
;
}
.guidecarOrderdetails
.sku-box
.content
.sku-chosen
.arrow
{
width
:
20px
;
}
.guidecarOrderdetails
.sku-box
.content
.sku-chosen
.sku
{
font-size
:
12px
;
width
:
1
rpx
;
flex
:
1
;
}
.guidecarOrderdetails
.sku-box
.content
.suk-item
{
margin-top
:
10px
;
display
:
flex
;
}
.guidecarOrderdetails
.sku-box
.content
.suk-item
.item
{
margin-right
:
5px
;
background
:
#f5f5f5
;
height
:
24px
;
line-height
:
24px
;
font-size
:
12px
;
padding
:
0
5px
;
border-radius
:
3px
;
overflow
:
hidden
;
color
:
#999
;
}
.guidecarOrderdetails
.sku-box
.content
.suk-item
.item.img
{
padding
:
0
;
width
:
24px
;
}
.guidecarOrderdetails
.news
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
10px
0
;
padding
:
15px
10px
;
background
:
#fff
;
}
.guidecarOrderdetails
.skub_text
{
font-size
:
14px
;
color
:
#868686
;
}
.guidecarOrderdetails
.row
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
.guidecarOrderdetails
.column
{
display
:
flex
;
flex-direction
:
column
;
}
.guidecarOrderdetails
.guiyears
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
padding
:
1px
3px
;
background
:
#4578FF
;
font-size
:
9px
;
color
:
#FFF
;
margin-left
:
5px
;
}
.guidecarOrderdetails
.carxinx
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
padding
:
1px
3px
;
background
:
#DBE4FF
;
font-size
:
9px
;
color
:
#4578FF
;
margin-left
:
5px
;
}
.guidecarOrderdetails
.actionsheet
{
display
:
flex
;
background
:
#fff
;
position
:
fixed
;
bottom
:
0
;
left
:
0
;
right
:
0
;
z-index
:
3
;
height
:
50px
;
align-items
:
center
;
justify-content
:
space-between
;
}
.guidecarOrderdetails
.actionsheet-item
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.guidecarOrderdetails
.btnstyle
{
width
:
135px
;
height
:
100%
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
font-size
:
16px
;
color
:
#FFF
;
background-image
:
linear-gradient
(
to
right
,
#FF8585
,
#EE4454
);
}
.guidecarOrderdetails
.g_top
{
width
:
96%
;
height
:
45px
;
border-radius
:
22.5px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-around
;
background
:
#FAF8F9
;
padding
:
0
20px
;
margin
:
10px
2%
;
}
.guidecarOrderdetails
.topB
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
/* align-items: center; */
}
.guidecarOrderdetails
.titext
{
font-size
:
22
rpx
;
color
:
#929292
;
}
.guidecarOrderdetails
.ztext
{
font-size
:
28
rpx
;
color
:
#1C1E1F
;
}
</
style
>
</
style
>
pages/guidecar/guidecarList.vue
View file @
6594c46c
...
@@ -139,7 +139,7 @@ export default {
...
@@ -139,7 +139,7 @@ export default {
},
},
screenList
:[],
screenList
:[],
contents
:[
contents
:[
{
'ID'
:
0
,
Name
:
'
不限
'
},
{
'ID'
:
0
,
Name
:
'
全部
'
},
{
'ID'
:
1
,
Name
:
'综合升序'
},
{
'ID'
:
1
,
Name
:
'综合升序'
},
{
'ID'
:
2
,
Name
:
'综合降序'
},
{
'ID'
:
2
,
Name
:
'综合降序'
},
{
'ID'
:
3
,
Name
:
'价格升序'
},
{
'ID'
:
3
,
Name
:
'价格升序'
},
...
...
pages/guidecar/guidedetails.vue
0 → 100644
View file @
6594c46c
<
template
>
<view
class=
"guidedetails"
>
<view
class=
"guide"
v-if=
'type==1'
>
<view
class=
"guide-top"
>
<image
:src=
"g.guide_photo"
style=
"width: 60px; height: 60px;margin-right: 10px"
mode=
"widthFix"
></image>
<view
class=
"column"
style=
"height: 36px;justify-content: space-between;"
>
<view
class=
"row"
>
<span>
{{
g
.
guide_name
}}
</span>
</view>
<view
class=
"row"
>
<u-rate
:current=
"g.guide_score"
active-color=
"#FF8C10"
inactive-color=
"#b2b2b2"
active-icon=
"star"
inactive-icon=
"star-o"
size=
"20"
:disabled=
"true"
></u-rate>
</view>
</view>
</view>
<view
class=
"guide-info"
>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
工龄:
</span>
<span>
{{
g
.
guide_workyears
}}
年
</span>
</view>
<!--
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
服务人数:
</span>
<span>
{{
g
.
guide_workyears
}}
年
</span>
</view>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
出单:
</span>
<span>
{{
g
.
guide_workyears
}}
单
</span>
</view>
-->
</view>
<view
class=
"guide-info"
>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
个人简介:
</span>
</view>
</view>
<view
style=
'padding: 10px;'
>
<h-parse
:content=
"detailContent"
@
navigate=
"clickDescription"
></h-parse>
</view>
</view>
<view
class=
"guide"
v-if=
'type==2'
>
<view
class=
"u-skeleton-rect"
>
<swiper
indicator-dots
:autoplay=
"false"
:interval=
"1000"
style=
"height:170px;width: 300px;"
>
<block
v-for=
"(item, index) in g.pic_url"
:key=
"index"
>
<swiper-item>
<video
@
click=
"startPlay(item)"
style=
"width:100%;height:100%"
id=
"myVideo"
v-if=
"item.type==1"
:src=
"item.pic_url"
:autoplay=
"false"
loop
muted
show-play-btn
:enable-progress-gesture=
"true"
:controls=
"true"
:show-progress=
"true"
:show-mute-btn=
"true"
objectFit=
"cover"
></video>
<image
@
click=
"previewImage(index)"
style=
"width:100%;height:100%;"
v-else
:src=
"item.pic_url"
mode=
""
></image>
</swiper-item>
</block>
</swiper>
</view>
<view
style=
"margin-top: 15px ;font-size: 16px;"
>
{{
g
.
car_model
!=
''
?
g
.
car_model
:
'无'
}}
</view>
<view
style=
"margin-top: 5px;"
>
<u-rate
:current=
"g.car_score"
active-color=
"#FF8C10"
inactive-color=
"#b2b2b2"
active-icon=
"star"
inactive-icon=
"star-o"
size=
"20"
:disabled=
"true"
></u-rate>
</view>
<view
style=
"width: 98%;height: 1px;background: #E2E2E2;margin-top: 10px;"
></view>
<view
class=
"guide-info"
>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
购买年限:
</span>
<span>
{{
g
.
car_buyyear
}}
</span>
</view>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
颜色:
</span>
<span>
{{
g
.
carcolor_name
}}
</span>
</view>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
座位数:
</span>
<span>
{{
g
.
ride_num
}}
座
</span>
</view>
<view
class=
"guide-info-item"
>
<span
class=
'info-text'
>
分类:
</span>
<span>
{{
g
.
guide_workyears
}}
</span>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
import
hParse
from
"@/components/u-parse/parse.vue"
;
export
default
{
components
:
{
hParse
,
// share
},
data
()
{
return
{
mainColor
:
""
,
activeStyle
:
""
,
pageTitle
:
"导游详情"
,
type
:
1
,
//1为
g
:{},
detailContent
:
''
,
imgs
:[]
};
},
onLoad
(
options
)
{
if
(
options
&&
options
.
g
){
this
.
g
=
JSON
.
parse
(
decodeURIComponent
(
options
.
g
))
}
if
(
options
&&
options
.
type
){
this
.
type
=
options
.
type
;
if
(
this
.
type
==
1
){
uni
.
setNavigationBarTitle
({
title
:
'导游详情'
,
});
}
else
{
uni
.
setNavigationBarTitle
({
title
:
'车辆详情'
,
});
}
}
this
.
g
.
pic_url
.
forEach
((
x
)
=>
{
this
.
imgs
.
push
(
x
.
pic_url
);
});
let
richtext
=
this
.
g
.
guide_introduction
;
setTimeout
(()
=>
{
this
.
detailContent
=
richtext
;
},
10
)
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
activeStyle
=
`background:
${
this
.
mainColor
}
;`
;
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
,
});
},
methods
:
{
clickDescription
(
e
)
{
console
.
log
(
e
);
},
//点击跳转
startPlay
(
item
){
uni
.
navigateTo
({
url
:
'/pages/video/index?GoodsId='
+
this
.
id
+
'&VideoUrl='
+
item
.
pic_url
})
},
previewImage
(
i
)
{
uni
.
previewImage
({
urls
:
this
.
imgs
,
current
:
i
,
longPressActions
:
{
itemList
:
[
"发送给朋友"
,
"保存图片"
,
"收藏"
],
success
:
function
(
data
)
{
console
.
log
(
"选中了第"
+
(
data
.
tapIndex
+
1
)
+
"个按钮,第"
+
(
data
.
index
+
1
)
+
"张图片"
);
},
fail
:
function
(
err
)
{
console
.
log
(
err
.
errMsg
);
},
},
});
},
},
};
</
script
>
<
style
>
.guidedetails
{
height
:
100%
;
background
:
#f5f5f5
;
padding
:
20px
0
;
}
.guidedetails
.guide
{
width
:
94%
;
margin-left
:
3%
;
border-radius
:
10px
;
background
:
#FFF
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
padding
:
15px
;
}
.guidedetails
.guide-top
{
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.guidedetails
.row
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
.guidedetails
.column
{
display
:
flex
;
flex-direction
:
column
;
}
.guidedetails
.guide-info
{
display
:
flex
;
flex-direction
:
row
;
flex-wrap
:
wrap
;
align-items
:
center
;
margin-top
:
20px
;
width
:
100%
;
}
.guidedetails
.guide-info-item
{
width
:
50%
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.guidedetails
.info-text
{
font-size
:
14px
;
color
:
#727272
;
margin-right
:
10px
;
padding
:
10px
0
;
}
</
style
>
pages/guidecar/index.vue
View file @
6594c46c
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<view
class=
"topB"
v-if=
"info.IsShowCity==1"
@
click=
"gocity"
>
<view
class=
"topB"
v-if=
"info.IsShowCity==1"
@
click=
"gocity"
>
<span
class=
'titext'
>
取车城市
</span>
<span
class=
'titext'
>
取车城市
</span>
<view
style=
"display: flex;flex-direction: row;align-items: center;"
>
<view
style=
"display: flex;flex-direction: row;align-items: center;"
>
<span
class=
'ztext'
>
成都
</span><u-icon
name=
"arrow-down"
size=
"28"
color=
"#C8C8C8"
></u-icon>
<span
class=
'ztext'
>
{{
Pickcar
}}
</span><u-icon
name=
"arrow-down"
size=
"28"
color=
"#C8C8C8"
></u-icon>
</view>
</view>
</view>
</view>
<view
class=
"topB"
style=
"width: 150px;align-items: flex-start;"
v-if=
"info.IsShowAddress==1"
@
click=
"openmap"
>
<view
class=
"topB"
style=
"width: 150px;align-items: flex-start;"
v-if=
"info.IsShowAddress==1"
@
click=
"openmap"
>
...
@@ -179,6 +179,7 @@
...
@@ -179,6 +179,7 @@
value
:
''
,
value
:
''
,
defaultTime
:
''
,
defaultTime
:
''
,
showStart
:
false
,
showStart
:
false
,
Pickcar
:
'成都'
,
//取车城市
STime
:{},
//显示的出行时间
STime
:{},
//显示的出行时间
ETime
:{},
//显示的结束时间
ETime
:{},
//显示的结束时间
intervalDay
:
''
,
//间隔天数
intervalDay
:
''
,
//间隔天数
...
@@ -381,7 +382,7 @@
...
@@ -381,7 +382,7 @@
getDestination
(
nameList
)
{
getDestination
(
nameList
)
{
this
.
request2
(
this
.
request2
(
{
{
url
:
'/api/Applet
Use
r/GetDestinationListByNames'
,
url
:
'/api/Applet
GuideCa
r/GetDestinationListByNames'
,
data
:
{
data
:
{
area
:
nameList
area
:
nameList
}
}
...
@@ -415,7 +416,7 @@
...
@@ -415,7 +416,7 @@
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/guidecar/guidecarList?item="
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
msg
))
url
:
"/pages/guidecar/guidecarList?item="
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
msg
))
+
'&STime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
STime
))
+
'&ETime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
ETime
))
+
'&STime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
STime
))
+
'&ETime='
+
encodeURIComponent
(
JSON
.
stringify
(
that
.
ETime
))
+
'&intervalDay='
+
that
.
intervalDay
+
'&tic='
+
tic
+
'&intervalDay='
+
that
.
intervalDay
+
'&tic='
+
tic
+
'&address='
+
that
.
address
});
});
}
}
...
...
pages/guidecar/place_order.vue
0 → 100644
View file @
6594c46c
<
template
>
<view
class=
"place_order"
>
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
mainColor
:
""
,
activeStyle
:
""
,
pageTitle
:
"确认订单"
,
g
:{},
msg
:{
DetailList
:[
{
GoodsId
:
0
,
Number
:
0
,},
],
TripSTime
:
''
,
District
:
0
,
City
:
0
,
Province
:
0
,
ShoppingAddress
:
''
,
User_Coupon_Id
:
0
,
Use_Integral
:
0
,
}
};
},
onLoad
(
options
)
{
if
(
options
&&
options
.
g
){
this
.
g
=
JSON
.
parse
(
decodeURIComponent
(
options
.
g
))
}
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
activeStyle
=
`background:
${
this
.
mainColor
}
;`
;
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
,
});
},
methods
:
{
},
};
</
script
>
<
style
>
.place_order
{
height
:
100%
;
background
:
#f5f5f5
;
}
</
style
>
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