|
|
- <template>
- <view class="postDetail">
- <navbar leftClick @leftClick="$utils.navigateBack" title="详情" />
-
- <view class="works" @click="$emit('click')">
- <view class="box" :style="{'--sexcolor' : sex[detail.sex].color}">
- <view class="headPortraitimg">
- <image :src="detail.logoImage"
- @click.stop="previewImage([item.logoImage])"
- mode="aspectFill"></image>
- </view>
- <view class="YaoduUniversalWall">
- <view class="heide">
- <view class="username text-ellipsis">
- {{ detail.title }}
- </view>
- </view>
-
- <view class="Times">
- <view class="TimeMonth">
- 营业时间:{{ detail.workTime }}
- </view>
- </view>
- </view>
- </view>
-
-
- <addressSpot
- :address="detail.address"
- :latitude="detail.latitude"
- :longitude="detail.longitude"
- />
-
- <view class="bottom">
- <view class="browse">
- {{ detail.isBrowse }}浏览
- </view>
- <view class="browse">
- {{ detail.isComment }}条评论
- </view>
- </view>
- </view>
-
- <!-- 分类 -->
- <view class="LabelOptions">
- <uv-tabs :list="category"
- :activeStyle="{color : '#000', fontWeight : 900}"
- lineColor="#5baaff"
- lineHeight="8rpx"
- lineWidth="50rpx"
- :scrollable="false"
- @click="tabsClick"></uv-tabs>
- </view>
-
- <!-- 商城美食 -->
- <view class="goodList"
- v-if="tagIndex == 0">
- <productSelectList
- @getData="getData"
- :list="list"/>
- </view>
-
- <!-- 店铺介绍 -->
- <view class="goodInfo"
- v-if="tagIndex == 1">
-
- <view class="box" :style="{'--sexcolor' : sex[detail.sex].color}">
- <view class="headPortraitimg"
- v-if="detail.shopImage">
- <image :src="detail.shopImage"
- @click.stop="previewImage([item.shopImage])"
- mode="aspectFill"></image>
- </view>
- <view class="YaoduUniversalWall">
- <view class="heide"
- v-if="detail.shopName">
- <view class="username text-ellipsis">
- {{ detail.shopName }}
- </view>
- </view>
-
- <callPhone
- :phone="detail.shopPhone"
- type="3"
- :phoneTitle="detail.title"
- :pid="detail.id"
- title="联系店家" />
- </view>
- </view>
-
- <view class="dynamics"
- v-html="$utils.stringFormatHtml(detail.title)">
- </view>
-
- <view class="Artworkimages">
- <view class="wrokimg" @click.stop="previewImage(detail.detailsImage, i)" :key="i"
- v-for="(img, i) in detail.detailsImage">
- <image :src="img" mode="aspectFill"></image>
- </view>
- </view>
- </view>
-
- <!-- 评论组件 -->
- <commentList
- v-if="tagIndex == 2"
- @getData="getData"
- :list="list"
- :params="params"
- />
-
-
- </view>
- </template>
-
- <script>
- import mixinsSex from '@/mixins/sex.js'
- import mixinsList from '@/mixins/list.js'
- import commentList from '../components/list/comment/commentList.vue'
- // import goodList from '../components/list/gourmet/goodList.vue'
- import productSelectList from '../components/list/gourmet/productSelectList.vue'
- export default {
- mixins: [mixinsSex, mixinsList],
- components: {
- commentList,
- productSelectList,
- },
- data() {
- return {
- category : [
- {
- name : '美食商城',
- value : 0,
- },
- {
- name : '店铺介绍',
- value : 1,
- },
- {
- name : '店铺评论',
- value : 2,
- },
- ],
- detail: {},
- // mixinsListApi : 'getCommentPage',//评论
- mixinsListApi : 'getGoodsList',//美食
- params : {
- type : '4',
- orderId : '',
- name : '',
- },
- id : 0,
- 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
-
- this.queryParams.shopId = options.id
- },
- onShareAppMessage(res) {
- return {
- title: this.detail.title,
- path: '/pages_order/gourmet/gourmetDetail?id=' + this.id
- }
- },
- onPullDownRefresh() {
- this.getDetail()
- },
- onShow() {
- this.getDetail()
- },
- onShareAppMessage(res) {
- // return {
- // title: this.item.title,
- // desc: this.item.content && this.item.content.slice(0, 30),
- // path: '/pages/publish/postDetail?id=' + this.id
- // }
- },
- methods: {
- tabsClick(item) {
- this.tagIndex = item.value
-
- if(this.tagIndex == 0){
- this.list = []
- this.mixinsListApi = 'getGoodsList'
- }else if(this.tagIndex == 2){
- this.list = []
- this.mixinsListApi = 'getCommentPage'
- }
-
- this.getData()
- },
- getDetail() {
- this.$api('getStoreDetail', {
- id: this.id
- }, res => {
- uni.stopPullDownRefresh()
- if (res.code == 200) {
-
- this.params.name = res.result.title
-
- // res.result.image =
- // res.result.image ?
- // res.result.image.split(',') : [],
-
-
- res.result.detailsImage =
- res.result.detailsImage ?
- res.result.detailsImage.split(',') : [],
-
- // res.result.details =
- // res.result.details ?
- // res.result.details.split(',') : []
-
- this.detail = res.result
- }
- })
- },
-
- }
- }
- </script>
-
- <style lang="scss" scoped>
- .postDetail {
- padding-bottom: calc(env(safe-area-inset-bottom) + 100rpx);
- .box {
- display: flex;
- align-items: center;
-
- .headPortraitimg {
- width: 100rpx;
- height: 100rpx;
- border-radius: 15rpx;
- overflow: hidden;
-
- image {
- width: 100%;
- height: 100%;
- }
- }
-
- .YaoduUniversalWall {
- padding: 0rpx 10rpx;
-
- .Times {
- display: flex;
- padding: 5rpx 0rpx;
- font-size: 20rpx;
- margin-top: 10rpx;
-
- .Month {
- margin: 0rpx 15rpx;
- }
- }
-
- }
- }
- .works {
- background-color: #fff;
- padding: 40rpx;
- border-radius: 20rpx;
-
- .personalInformation {
- display: flex;
-
- .inde {
- font-size: 25rpx;
- padding: 0rpx 8rpx;
- }
-
- .authentication {
- font-size: 25rpx;
- }
- }
-
-
-
- .bottom {
- display: flex;
- margin-top: 20rpx;
- font-size: 24rpx;
-
- .browse {
- margin: 0rpx 30rpx;
- color: rgb(132, 132, 132);
- }
-
- .Leavingamessage {
- margin-left: auto;
- display: flex;
- align-items: center;
- }
- }
- }
-
- .LabelOptions{
- background-color: #fff;
- }
-
- .goodList{
- // padding: 0 20rpx;
- }
-
- .goodInfo{
- margin: 20rpx;
- padding: 20rpx;
- background-color: #fff;
- border-radius: 30rpx;
- .dynamics {
- margin-top: 20rpx;
- font-size: 28rpx;
- letter-spacing: 3rpx;
- }
- .Artworkimages {
- display: flex;
- flex-wrap: wrap;
-
- .wrokimg {
- margin: 10rpx;
-
- image {
- height: 190rpx;
- width: 190rpx;
- border-radius: 20rpx;
- }
- }
- }
- }
- }
- </style>
|