171 lines
4.4 KiB
Vue
171 lines
4.4 KiB
Vue
<template>
|
||
<view class='bf' :style="{marginTop:`${co.marginTop}${u}`,
|
||
marginBottom:`${co.marginBottom}${u}`,
|
||
marginLeft:`${co.marginLR}${u}`,
|
||
marginRight:`${co.marginLR}${u}`,
|
||
borderRadius:`${co.circle}${u}`,
|
||
backgroundColor:`${co.colorBg}`}">
|
||
<!-- <view :class="'p3'">
|
||
<mg-cell cname="p0" bgc="transparent" last='1'
|
||
:btt="co.title||'门店信息'" bttc='f32 wei' color="#fff" ftc='f24 c6' hc='1'></mg-cell>
|
||
</view> -->
|
||
<view class="infop" v-if="sjxx.shopData">
|
||
<view class="f34 wei">{{sjxx.shopData.name}}</view>
|
||
<view class="flex f24">
|
||
<view>主营商品:{{sjxx.shopData.mainDishes}}</view>
|
||
<view class="ml20">¥{{sjxx.shopData.perCapita}}/人</view>
|
||
</view>
|
||
<view v-if="sjxx.shopData && sjxx.shopData.environment.length" class="mt20">
|
||
<scroll-view class='f-1 ws-n f26' scroll-x='true'>
|
||
<view v-for="(v,i) in sjxx.shopData.environment" @click="yl(i)" :key="i" class="dis-in mobdli mr20">
|
||
<mg-img :src='v' class="img"/>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
<view class="flex f24 c3 mt20 f-bt">
|
||
<view class="f-c"><text class="iconfont iconsj c9 mr10 f28"></text>营业时间:{{yysj}} </view>
|
||
<view class="ml20 f24 f-c" @click="go({t: 1,url: '/yb_wm/shop/out/sjjs?info=' + encodeURIComponent(JSON.stringify(sjxx.shopData))})">更多信息<text class="iconfont iconright c9 arrow ml5 f28"></text></view>
|
||
</view>
|
||
<view class="mt20 f-bt">
|
||
<view class="c3 f24 f-1">
|
||
<view class="f-1"><text class="iconfont iconditu c9 mr10 f28"></text>{{sjxx.shopData.address}}</view>
|
||
<view class="f-1"><text class="iconfont icondh1 c9 mr10 f26"></text>门店电话:{{sjxx.shopData.storeTel}}</view>
|
||
</view>
|
||
<view class="f-y-c f-0">
|
||
<view class="t-c c3">
|
||
<view @click="util.ckWz(sjxx.shopData)" class="iconfont icondtdh f36 iccolor"></view>
|
||
<view class="f20">一键导航</view>
|
||
</view>
|
||
<view class="t-c ml30 c3">
|
||
<text @click="util.makeTel(sjxx.shopData.storeTel)" class="iconfont icondh f36 iccolor"></text>
|
||
<view class="f20">联系电话</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view v-else class="bf p3 t-c">
|
||
<view class="pb20 c9 f-c">
|
||
<text class="iconfont icondjs mr10 f28"></text>
|
||
<text>暂无商家</text>
|
||
</view>
|
||
</view> -->
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
mapState,
|
||
mapActions
|
||
} from 'vuex'
|
||
import mgCoupon from '@/components/common/mg-coupon.vue'
|
||
export default {
|
||
name: 'searchBox',
|
||
components: {
|
||
mgCoupon,
|
||
},
|
||
props: {
|
||
co: {
|
||
type: Object,
|
||
default: function() {
|
||
return {
|
||
infoTitle: "",
|
||
isBottom: 0,
|
||
reverseTwo: 0,
|
||
topMargin: 0,
|
||
}
|
||
}
|
||
},
|
||
storeInfo: {},
|
||
u: {
|
||
type: String,
|
||
default: 'px'
|
||
},
|
||
color: {
|
||
type: String,
|
||
default: ''
|
||
},
|
||
// sjqb: Array,
|
||
},
|
||
data() {
|
||
return {
|
||
list: [],
|
||
sjqb: [],
|
||
}
|
||
},
|
||
computed:{
|
||
...mapState(['sjxx']),
|
||
yysj() {
|
||
let text = ''
|
||
let info = this.sjxx.moreSet
|
||
if (info && info.timeType == 1) {
|
||
text = '24小时营业'
|
||
} else if (info && info.timeType == 2 && info.timeArr) {
|
||
text = `${info.timeArr[0].startTime}-${info.timeArr[0].ciri?'次日':''}${info.timeArr[0].endTime}`
|
||
if (info.timeArr[1]) {
|
||
text += ' ' +
|
||
`${info.timeArr[1].startTime}-${info.timeArr[1].ciri?'次日':''}${info.timeArr[1].endTime}`
|
||
}
|
||
if (info.timeArr[2]) {
|
||
text += ' ' +
|
||
`${info.timeArr[2].startTime}-${info.timeArr[2].ciri?'次日':''}${info.timeArr[2].endTime}`
|
||
}
|
||
}
|
||
return text
|
||
},
|
||
imgs() {
|
||
return this.sjxx.shopData && this.sjxx.shopData.environment && this.sjxx.shopData.environment.map(v => this.getImgS(v))
|
||
},
|
||
},
|
||
watch: {
|
||
storeInfo: {
|
||
async handler(newVal) {
|
||
if (this.storeInfo.id) {
|
||
let lc = getApp().globalData.gdlocation
|
||
await this.getSjxx({
|
||
storeId: this.storeInfo.id,
|
||
// item: this.outin,
|
||
lat: lc.latitude,
|
||
lng: lc.longitude,
|
||
})
|
||
}
|
||
// console.log('newVal', newVal)
|
||
},
|
||
immediate: true
|
||
},
|
||
},
|
||
async created() {},
|
||
methods: {
|
||
...mapActions(["getSjxx"]),
|
||
yl(i) {
|
||
this.util.preImg({
|
||
idx: i,
|
||
urls: this.imgs,
|
||
})
|
||
},
|
||
onClick() {
|
||
this.$emit('click')
|
||
}
|
||
},
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.cbg{
|
||
background:#FB6F3E;
|
||
}
|
||
.mobdli {
|
||
width: 230rpx;
|
||
height: 160rpx;
|
||
.img {
|
||
width: 100%;
|
||
height: 120rpx;
|
||
}
|
||
}
|
||
.infop{
|
||
padding: 20rpx;
|
||
}
|
||
.iccolor{
|
||
color: #464646;
|
||
}
|
||
</style>
|