瑶都万能墙
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

241 lines
4.3 KiB

<template>
<view class="postDetail">
<navbar leftClick @leftClick="$utils.navigateBack" title="详情" />
<view class="swipe">
<uv-swiper :list="detail.images" indicator height="540rpx"></uv-swiper>
</view>
<view class="box">
<view class="title">
{{ detail.name }}
<view class="spot">
3A景区
</view>
</view>
<view class="pig">
江华同志故居位于永州市江华瑶族自治县大石桥...
</view>
<hr />
<view class="mie">
<view class="dog">
开园时间 830-17.30
</view>
<view class="look">
入园须知
</view>
<uv-icon name="arrow-right"></uv-icon>
</view>
<hr />
<!-- <view class="createBy">
<view class="">
// 发布时间:{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
</view>
</view> -->
<!-- <view class="createBy">
<view class="">
地址{{ detail.address }}
</view>
</view> -->
<addressSpot :address="detail.address" :latitude="detail.latitude" :longitude="detail.longitude" />
</view>
<view style="background-color: #fff;margin-top: 20rpx;">
<uv-tabs :list="tags"
:activeStyle="{color : '#000', fontWeight : 900}"
lineColor="#5baaff"
lineHeight="8rpx"
lineWidth="50rpx"
:scrollable="false"
@click="tabsClick"></uv-tabs>
</view>
<view class="content" v-if="tagIndex == 1">
<uv-parse :content="detail.details"></uv-parse>
</view>
<commentList v-if="tagIndex == 0" @getData="getData" :list="list" :params="params" />
</view>
</template>
<script>
import mixinsList from '@/mixins/list.js'
import commentList from '../components/list/comment/commentList.vue'
export default {
mixins: [mixinsList],
components: {
commentList
},
data() {
return {
detail: {},
mixinsListApi: 'getCommentPage',
params: {
type: '3',
orderId: '',
name: '',
},
id: 0,
tags : [
{
name : '景区评论'
},
{
name : '景区详情'
},
],
tagIndex : 0,
}
},
onLoad(options) {
// this.$route.query的参数
console.log(options)
this.id = options.id
this.queryParams.type = this.params.type
this.queryParams.orderId = options.id
this.params.orderId = options.id
},
onPullDownRefresh() {
this.getDetail()
},
onShow() {
this.getDetail()
},
onShareAppMessage(res) {
return {
title: this.detail.name,
path: '/pages_order/scenicSpot/scenicSpotDetail?id=' + this.id
}
},
methods: {
tabsClick({index}){
this.tagIndex = index
},
click(item) {
console.log('item', item);
},
getDetail() {
this.$api('getScenicDetail', {
id: this.id
}, res => {
uni.stopPullDownRefresh()
if (res.code == 200) {
this.params.name = res.result.name
this.detail = res.result
this.detail.images = res.result.images && res.result.images.split(',')
}
})
},
}
}
</script>
<style lang="scss" scoped>
.postDetail {
.box {
padding: 20rpx;
width: 100vw;
background-color: #fff;
box-sizing: border-box;
.title {
display: flex;
font-size: 34rpx;
font-weight: 600;
color: #000;
.spot {
margin: 0rpx 20rpx;
padding: 5rpx;
background-color: $uni-color;
border-radius: 10rpx;
color: #fff;
font-size: 30rpx;
letter-spacing: 5rpx;
}
}
.pig {
margin: 50rpx 0rpx;
font-size: 25rpx;
color: $uni-color;
}
.mie {
display: flex;
justify-content: space-between;
.dog {
margin: 30rpx 0rpx;
font-size: 25rpx;
color: $uni-color;
}
.look {
margin: 30rpx 0rpx;
margin-left: 320rpx;
font-size: 25rpx;
}
}
hr {
opacity: 0.5;
}
.createBy {
display: flex;
margin-top: auto;
margin-bottom: 10rpx;
font-size: 24rpx;
margin-top: 20rpx;
color: #555;
&>view {
display: flex;
align-items: center;
justify-content: center;
padding-right: 20rpx;
}
}
.ditu {
display: flex;
justify-content: space-between;
.weizhi {
font-size: 25rpx;
margin-top: 25rpx;
opacity: 0.7;
}
}
.controls {
margin-top: 30rpx;
}
}
.content {
padding: 30rpx;
margin-top: 30rpx;
font-size: 28rpx;
background-color: #fff;
padding-bottom: 100rpx;
}
}
</style>