109 lines
3.3 KiB
Vue
109 lines
3.3 KiB
Vue
<template>
|
|
<view>
|
|
<status-container titlet="产品详情" returnc="#FFFFFF">
|
|
<view slot="content" style="margin-top: -20rpx;">
|
|
<view class="bacf boxshowb">
|
|
<swiper-pu newBottom="20rpx" newHeight="520rpx" :bannerList="bannerList"></swiper-pu>
|
|
<view class="pad-zy30 pad-sx24">
|
|
<view class="fon26 col26">{{shopInfo.name}}</view>
|
|
<view class="col-e42417 dis ae fon24 mar-s20">
|
|
<view class="bold">¥{{shopInfo.price}}</view>
|
|
<view class="tline-through fon20 col-969696 mar-z10">¥{{shopInfo.original_price}}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="bacf mar-s30 pad-zy30 pad-x30">
|
|
<view class="bbot pad-x10 pad-s30">
|
|
<span class="fon28 bold posir pad-x10">
|
|
产品介绍
|
|
<view class="posia-xzy" style="height: 6rpx;background-color: #e42417;bottom: -2rpx;"></view>
|
|
</span>
|
|
</view>
|
|
<view class="pad-s30">
|
|
<rich-text :nodes="richText"></rich-text>
|
|
</view>
|
|
</view>
|
|
<!-- 底部按钮 -->
|
|
<view class="posixzy bacf pad-zy30 disjbac pad-sx20">
|
|
<view class="fon30 bold col-e42417">¥{{shopInfo.price}}</view>
|
|
<view class="disac fon24 colf">
|
|
<view class="radius32 disjcac" style="background-color: #FFFFFF;color: #f37617;border: 2rpx solid #f37617; width: 184rpx;height: 64rpx;">加入购物车</view>
|
|
<view @tap="goConfirmOrder" class="radius32 disjcac mar-z10" style="background-color: #f37617;border: 2rpx solid #f37617;width: 184rpx;height: 64rpx;">立即购买</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</status-container>
|
|
<!-- 购物车图标 -->
|
|
<image @tap="$toolAll.tools.goPage('/pagesB/cart/cart')" class="posi" src="/static/tabbar/icon-cart.png" mode="" lazy-load style="width: 79rpx;height: 79rpx;right: 20rpx;bottom: 160rpx;"></image>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
// 底部组件
|
|
import footTab from '@/components/foot-tabs/foot-tab.vue';
|
|
import list from '@/components/list.vue';
|
|
import pitera from '@/components/nothing/pitera.vue';
|
|
import swiperPu from '@/components/swipers/swiper-pu.vue';
|
|
export default {
|
|
components:{'foot-tab' :footTab,list,pitera,swiperPu},
|
|
data() {
|
|
return {
|
|
richText:'',
|
|
shopId:'',//产品id
|
|
shopInfo:'',//产品详情
|
|
bannerList:[],//产品轮播
|
|
}
|
|
},
|
|
onShow() {
|
|
// 开启banner图自动轮播
|
|
this.$store.commit('setAutoplay',true);
|
|
},
|
|
onHide() {
|
|
// 关闭banner图自动轮播
|
|
this.$store.commit('setAutoplay',false);
|
|
},
|
|
onLoad(op) {
|
|
this.shopId = op.id;
|
|
// 调用产品详情
|
|
this.getDetail();
|
|
},
|
|
methods: {
|
|
// 获取产品详情
|
|
getDetail(){
|
|
this.$requst.post('/api/spu/detail',{id:this.shopId}).then(res=>{
|
|
if(res.code==0){
|
|
// 设置产品详情
|
|
this.shopInfo = res.data.detail;
|
|
// 富文本
|
|
this.richText = this.$toolAll.tools.escape2Html(this.shopInfo.content);
|
|
// 产品详情
|
|
let newImg = [];
|
|
if(this.shopInfo.images){
|
|
newImg = this.shopInfo.images.split(',');
|
|
}
|
|
if(newImg.length){
|
|
newImg.forEach(item=>{
|
|
let obj = {
|
|
imgSrc:item,
|
|
url:'',
|
|
isVideo:false,
|
|
poster:''
|
|
}
|
|
this.bannerList.push(obj);
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 前往确认订单页
|
|
goConfirmOrder(){
|
|
uni.navigateTo({
|
|
url:'/pagesB/confirm-order/confirm-order'
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style></style>
|