Commit 6594c46c authored by Mac's avatar Mac

司导提交

parent 43abc5f1
<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: 20rpx;
padding-bottom: 0;
}
.share-box .title {
font-size: 40rpx;
color: #000;
margin-bottom: 50rpx;
font-weight: 600;
}
.share-box .goodname {
font-size: 28rpx;
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: 40rpx;
padding-bottom: 40rpx;
display: block;
border-bottom: 2rpx solid #f1f1f1;
overflow-x: auto;
}
.share-box .img-box .box {
white-space: nowrap;
}
.share-box .img-box .box .img {
display: inline-block;
width: 252rpx;
height: 252rpx;
border-radius: 8rpx;
margin-right: 20rpx;
}
.share-box .op-box {
display: flex;
margin: 20rpx 0;
align-items: center;
font-size: 14px;
color: gray;
}
.share-box .op-box .left {
display: flex;
flex: 1;
width: 1rpx;
align-items: center;
}
.share-box .op-box .left text {
flex: 1;
text-align: left;
width: 1rpx;
}
.share-box .op-box .right {
margin-left: 20rpx;
border-left: 2rpx solid #f1f1f1;
display: flex;
align-items: center;
}
.share-box .op-box .right text,
.share-box .op-box .right image {
margin-left: 20rpx;
}
.share-box .op-box .right button {
border: none;
outline: none;
padding: 0;
width: 68rpx;
height: 48rpx;
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>
<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: 12rpx;
}
.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: 1rpx;
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: 22rpx;
color: #929292;
}
.guidecarOrderdetails .ztext{
font-size: 28rpx;
color: #1C1E1F;
}
</style> </style>
...@@ -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:'价格升序'},
......
<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>
...@@ -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/AppletUser/GetDestinationListByNames', url: '/api/AppletGuideCar/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
}); });
} }
......
<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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment