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.
353 lines
9.1 KiB
353 lines
9.1 KiB
<template>
|
|
<view class="store-detail">
|
|
<view v-if="!loading">
|
|
<view class="flex">
|
|
<image class="img-logo" :src="info.logo" mode="aspectFill"></image>
|
|
</view>
|
|
<view class="detail-contetn">
|
|
<view class="content-h border-btm flex al-item-center">
|
|
<view class="h-l">
|
|
<view class="title">{{ info.name }}</view>
|
|
<view class="text-n fs12">{{ followCount || 0 }}人关注</view>
|
|
</view>
|
|
<view class="su"></view>
|
|
<view class="h-r flex ">
|
|
<view class="h-r__info flex flex-colum al-item-center" @click="followFn">
|
|
<!-- <image class="follow-icon" v-if="!shopInfo.isFollow" :src="event_rul + '/static/theme/follow-icon.svg'" mode="widthFix"></image> -->
|
|
<text class="iconfont" :class="{'isFollow icon-aixin_shixin': info.isFollow, 'icon-aixin': !info.isFollow}" style="font-size: 44rpx;color: #CE0000;"></text>
|
|
<text class="follow-tx fs12">{{info.isFollow ? "已关注" : "关注"}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="content-t border-btm flex al-item-center" v-show="info.content">
|
|
<view class="flex" style="width: 64rpx;"><text class="iocns iconfont icon-icon-themes-coupon"></text></view>
|
|
<view class="flex flex-colum ">
|
|
<view class="title">店铺简介</view>
|
|
<view class="text fs12">{{ info.content }}</view>
|
|
</view>
|
|
</view>
|
|
<view class="content-t border-btm flex al-item-center" v-show="info.address">
|
|
<view class="flex" style="width: 64rpx;"><text class="iocns iconfont icon-icon-location"></text></view>
|
|
<view class="flex flex-colum ">
|
|
<view class="title">店铺地址</view>
|
|
<view class="text fs12">{{ info.address }}</view>
|
|
</view>
|
|
</view>
|
|
<view class="content-t border-btm flex al-item-center" v-show="info.createtime">
|
|
<view class="flex" style="width: 64rpx;"><text class="iocns iconfont icon-rilitianchong"></text></view>
|
|
<view class="flex flex-colum ">
|
|
<view class="title">开店时间</view>
|
|
<view class="text fs12">{{ info.createtime }}</view>
|
|
</view>
|
|
</view>
|
|
<view class="content-t border-btm flex al-item-center" v-show="info.start_hours || info.end_hours">
|
|
<view class="flex" style="width: 64rpx;"><text class="iocns iconfont icon-icon-clock"></text></view>
|
|
<view class="flex flex-colum ">
|
|
<view class="title">营业时间</view>
|
|
<view class="text fs12">{{ info.start_hours || "" }}-{{ info.end_hours || "" }}</view>
|
|
</view>
|
|
</view>
|
|
<view class="content-t flex al-item-center" v-show="info.tel">
|
|
<view class="flex" style="width: 64rpx;"><text class="iocns iconfont icon-icon-phone"></text></view>
|
|
<view class="flex flex-colum ">
|
|
<view class="title">联系电话</view>
|
|
<view class="text fs12">{{ info.tel }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<button class="btn" @tap="goback">去看看全部商品</button>
|
|
</view>
|
|
<loading v-else></loading>
|
|
<!-- 悬浮按钮 -->
|
|
<drag-button></drag-button>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
var app = getApp();
|
|
import { mapState } from "vuex";
|
|
export default {
|
|
data() {
|
|
return {
|
|
info: {},
|
|
loading: false,
|
|
event_rul: app.globalData.event_url,
|
|
followCount: 0,
|
|
shopData: uni.getStorageSync('header_data') || {},
|
|
};
|
|
},
|
|
computed: {
|
|
...mapState(['opt'])
|
|
},
|
|
created() {
|
|
this.loading = true;
|
|
},
|
|
mounted() {
|
|
this.getInfo();
|
|
},
|
|
methods: {
|
|
goback() {
|
|
uni.navigateBack(1);
|
|
},
|
|
followFn() {
|
|
var that = this;
|
|
|
|
// 暂时写死follow_id:27,正确为 follow_id: that.opt.bid
|
|
app.post(
|
|
"ApiMy/addFollow",
|
|
{ follow_id: that.opt.bid || "", type: "store" },
|
|
function (res) {
|
|
if (res) {
|
|
uni.showToast({
|
|
title: res.msg,
|
|
icon: "none",
|
|
});
|
|
}
|
|
that.getInfo()
|
|
setTimeout(() => {
|
|
that.$set(that.shopData,'attention',that.info.fans_count);
|
|
that.$set(that.shopData,'isFollow',that.info.isFollow);
|
|
uni.setStorage({
|
|
key: "header_data",
|
|
data: that.shopData,
|
|
});
|
|
}, 200);
|
|
}
|
|
);
|
|
},
|
|
// 获取详情信息
|
|
getInfo() {
|
|
var that = this;
|
|
// 暂时写死id: 27,正确为 id: that.opt.bid
|
|
app.get(
|
|
"ApiBusiness/newIndex",
|
|
{ id: that.opt.bid || "" },
|
|
function (res) {
|
|
that.info = res.business;
|
|
that.followCount = res.followCount
|
|
that.loading = false;
|
|
}
|
|
);
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.store-detail {
|
|
letter-spacing: 2rpx;
|
|
color: #333;
|
|
|
|
.img-logo {
|
|
width: 100%;
|
|
height: 400rpx;
|
|
}
|
|
.detail-contetn {
|
|
padding: 0 40rpx;
|
|
background-color: #fff;
|
|
.content-h {
|
|
padding: 28rpx 0;
|
|
|
|
.h-l {
|
|
width: 452rpx;
|
|
padding-right: 10rpx;
|
|
.title {
|
|
font-weight: 500;
|
|
font-size: 34rpx;
|
|
}
|
|
.text-n {
|
|
padding-top: 14rpx;
|
|
color: #666;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
.su {
|
|
width: 2rpx;
|
|
height: 56rpx;
|
|
background-color: #CE0000;
|
|
}
|
|
.h-r {
|
|
width: 180rpx;
|
|
justify-content: flex-end;
|
|
&__info {
|
|
width: 80rpx;
|
|
}
|
|
.icon-aixin {
|
|
color: #666666;
|
|
&.isFollow {
|
|
color: #CE0000;
|
|
}
|
|
}
|
|
|
|
.follow-icon {
|
|
width: 44rpx;
|
|
}
|
|
.follow-tx {
|
|
color: #666;
|
|
}
|
|
}
|
|
}
|
|
|
|
.content-t {
|
|
padding: 20rpx 0;
|
|
|
|
.iocns {
|
|
font-size: 40rpx;
|
|
color: #CE0000;
|
|
}
|
|
.t-img {
|
|
width: 40rpx;
|
|
}
|
|
|
|
.title {
|
|
font-weight: 500;
|
|
}
|
|
.text {
|
|
font-weight: 500;
|
|
padding-top: 8rpx;
|
|
color: #666;
|
|
}
|
|
}
|
|
}
|
|
.btn {
|
|
font-size: 36rpx;
|
|
// font-weight: bold;
|
|
width: 630rpx;
|
|
margin: 90rpx auto;
|
|
border-radius: 400rpx;
|
|
height: 90rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background-image: linear-gradient(to right, #AECB00, #8DB400);
|
|
color: #fff;
|
|
}
|
|
.border-btm {
|
|
border-bottom: 2rpx solid #ECECEC;
|
|
}
|
|
|
|
// .attention {
|
|
// padding: 30rpx 20rpx;
|
|
|
|
// .attention-box {
|
|
// padding: 30rpx 20rpx;
|
|
// background: #fff;
|
|
// display: flex;
|
|
// align-items: center;
|
|
// justify-content: space-between;
|
|
// box-sizing: border-box;
|
|
// border-radius: 10rpx;
|
|
|
|
// .attention-l {
|
|
// display: flex;
|
|
// align-items: center;
|
|
|
|
// .attention-l-img {
|
|
// width: 120rpx;
|
|
// height: 120rpx;
|
|
// border-radius: 16rpx;
|
|
// flex-shrink: 0;
|
|
// }
|
|
// .attention-l-text {
|
|
// height: 100%;
|
|
// padding-left: 20rpx;
|
|
// display: flex;
|
|
// flex-direction: column;
|
|
// .attention-l-title {
|
|
// font-size: 30rpx;
|
|
// font-weight: bold;
|
|
// }
|
|
// .attention-l-text-s {
|
|
// padding-top: 10rpx;
|
|
// display: flex;
|
|
// align-items: center;
|
|
// font-size: 24rpx;
|
|
// color: #bdbdbd;
|
|
|
|
// .icon_arrow_right {
|
|
// padding-left: 20rpx;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// .attention-r {
|
|
// width: 120rpx;
|
|
// height: 54rpx;
|
|
// line-height: 54rpx;
|
|
// text-align: center;
|
|
// flex-shrink: 0;
|
|
// border-radius: 8rpx;
|
|
// &.isFollow {
|
|
// background-color: #efbd6f;
|
|
// color: #FFF;
|
|
// }
|
|
// &.followed {
|
|
// color: #efbd6f;
|
|
// position: relative;
|
|
// &::before {
|
|
// content: "";
|
|
// position: absolute;
|
|
// left: 0;
|
|
// width: 200%;
|
|
// height: 200%;
|
|
// border: 2rpx solid #efbd6f;
|
|
// box-sizing: border-box;
|
|
// transform: scale(0.5,0.5);
|
|
// border-radius: 16rpx;
|
|
// transform-origin: 0 0;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// .store-detail-conten {
|
|
// padding: 0 20rpx;
|
|
// .detail-conten-b {
|
|
// display: flex;
|
|
// flex-direction: column;
|
|
// border-radius: 10rpx;
|
|
// background-color: #fff;
|
|
|
|
// .detail-conten-c {
|
|
// min-height: 400rpx;
|
|
// padding: 0 20rpx;
|
|
// display: flex;
|
|
// flex-direction: column;
|
|
// justify-content: space-evenly;
|
|
// }
|
|
// .detail-conten-t {
|
|
// display: flex;
|
|
// // align-items: center;
|
|
// .detail-conten-t-tilt {
|
|
// width: 150rpx;
|
|
// font-weight: bold;
|
|
// font-size: 30rpx;
|
|
// }
|
|
|
|
// .detail-conten-t-text {
|
|
// flex: 1;
|
|
// // color: #bdbdbd;
|
|
// padding-top: 4rpx;
|
|
// // font-weight: bold;
|
|
// color: #111111;
|
|
// }
|
|
// }
|
|
|
|
// .btn {
|
|
// font-size: 30rpx;
|
|
// font-weight: bold;
|
|
// width: 650rpx;
|
|
// margin: 30rpx auto;
|
|
// border-radius: 400rpx;
|
|
// height: 70rpx;
|
|
// display: flex;
|
|
// justify-content: center;
|
|
// align-items: center;
|
|
// background-image: linear-gradient(to right, #fbd89e, #eec071);
|
|
// color: #fff;
|
|
// }
|
|
// }
|
|
// }
|
|
}
|
|
</style>
|
|
|