275 lines
8.6 KiB
Vue
275 lines
8.6 KiB
Vue
<template>
|
||
<view class="" v-if="istrue">
|
||
<!-- model -->
|
||
<view v-show="show" @click="show=false"
|
||
style="width: 100%;height: 100vh;position: fixed;z-index: 1;background: rgba(0,0,0,.6);">
|
||
</view>
|
||
<view :class="['t1','ptb20','bgwhite','flex_around','flex_items']">
|
||
<view v-for="(item,index) in list" :key="index" class="flex_column flex_items">
|
||
<text :class="['f28','bold',current==index?'chose':'nochose']"
|
||
@click="change(index)">{{item.name}}</text>
|
||
<view v-if="index==current" class="mt10"
|
||
style="height: 6rpx;width:30rpx;background: linear-gradient(157deg, #FFBCA0 0%, #FF8A5D 100%);">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- main -->
|
||
<view>
|
||
<view v-if="current==0" class="jj">
|
||
<view>
|
||
<!-- t2 -->
|
||
<view class="mt30">
|
||
<image :src="info.main_image" style="width: 100%;height: 740rpx;" mode=""></image>
|
||
</view>
|
||
<!-- t3 -->
|
||
<view class="p30 bgwhite">
|
||
<!-- <view v-if="info.immediate_reduction_price!=0" class="flex_items flex_center"
|
||
style="width: 180rpx;height: 48rpx;background: linear-gradient(90deg, #FC563A 0%, #FF9348 100%);border-radius: 0rpx 38rpx 38rpx 0rpx;">
|
||
<text class="f32" style="color: #fff;">立省{{info.immediate_reduction_price}}分</text>
|
||
</view> -->
|
||
<view class="bold mt30" style="color: #333;">{{info.name}}</view>
|
||
<view class="flex_between flex_items mt20">
|
||
<view class="flex_start flex_items">
|
||
<text class="bold f32" style="color: #EA5404;">{{info.price}}积分</text>
|
||
<view class="pos ml20">
|
||
<text class="f26" style="color: #B2B2B2;">{{info.real_price}}积分</text>
|
||
<view class="abs" style="width: 100%;height:2rpx;background:#b8b8b8;top:22rpx;">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="f26" style="color: #b2b2b2;">
|
||
已兑:9999件
|
||
</view> -->
|
||
</view>
|
||
<view class="flex_between flex_items pb30 mt30 bbe9s">
|
||
<text class="f28" style="color: #333333;">规格</text>
|
||
<text class="f24" style="color: #666;">{{info.spec_name}}</text>
|
||
<u-icon name="arrow-right" color="#666666" size="15"></u-icon>
|
||
</view>
|
||
<view class="flex_between flex_items pb30 mt30 bbe9s">
|
||
<text class="f28" style="color: #333333;">商家</text>
|
||
<text class="f24" style="color: #666;">成都蓝色网络科技有限公司</text>
|
||
<u-icon name="arrow-right" color="#666666" size="15"></u-icon>
|
||
</view>
|
||
<view class="pt30 flex_start flex_items">
|
||
<image :src="imgUrl+'zs.png'" style="width: 24rpx;height: 24rpx;" mode=""></image>
|
||
<text class="f24 ml10" style="color: #666;">正品保障</text>
|
||
<image :src="imgUrl+'zs.png'" class="ml35" style="width: 24rpx;height: 24rpx;" mode="">
|
||
</image>
|
||
<text class="f24 ml10" style="color: #666;">积分兑换</text>
|
||
</view>
|
||
</view>
|
||
<!-- t4 -->
|
||
<view class="t4 p30 bgwhite mt30">
|
||
<view class="bold f40" style="color: #3D3D3D;">宝贝详情</view>
|
||
<!-- <view v-html="info.introduce" class="ql-editor"></view> -->
|
||
<view class="flex_column flex_items mt20">
|
||
<image v-for="(item,index) in info.detail_image" :key="index" :src="item"
|
||
style="width: 100%;" mode="widthFix"></image>
|
||
</view>
|
||
</view>
|
||
<view style="height: 130rpx;width: 100%;"></view>
|
||
</view>
|
||
</view>
|
||
<view v-if="current==1">
|
||
<view class="bgwhite p30">
|
||
<view class="flex_start flex_items p30 bbe9s">
|
||
<text class="f28" style="color: #333333;">商品</text>
|
||
<view class="f26 ml35" style="color: #666666;width:520rpx;">{{info.name}}</view>
|
||
</view>
|
||
<view class="flex_start flex_items p30 bbe9s">
|
||
<text class="f28" style="color: #333333;">公司</text>
|
||
<text class="f26 ml35" style="color: #666666;">成都蓝色网络科技有限公司</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="current==2">
|
||
<xz></xz>
|
||
</view>
|
||
</view>
|
||
<!-- t5 -->
|
||
<view class="bgwhite p30 flex_start flex_items" style="position: fixed;width: 100%;left: 0;bottom: 0;">
|
||
<view class="flex_start flex_items">
|
||
<image :src="imgUrl+'dd.png'" style="width: 40rpx;height: 40rpx;" mode=""></image>
|
||
<text class="f24 bold" style="color: #333333;" @click="gomyorder">我的订单</text>
|
||
<view @click="goup" class="flex_center flex_items ml35"
|
||
style="width: 494rpx;height: 72rpx;background: linear-gradient(90deg, #FF898E 0%, #F43139 100%);border-radius: 68rpx 68rpx 68rpx 68rpx;">
|
||
<text style="color: #fff;" class="f28">立即兑换</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- myorder -->
|
||
<view v-show="show" class="bgwhite dk">
|
||
<view class="plr50 ptb50 flex_column">
|
||
<text class="f28">商品参数</text>
|
||
<view class="mt40 flex_start flex_items">
|
||
<view>
|
||
<image :src="info.main_image" style="width: 178rpx;height: 178rpx;border-radius: 12rpx;"
|
||
mode="">
|
||
</image>
|
||
</view>
|
||
<view class="ml20 flex_column" style="height: 178rpx;">
|
||
<!-- <view v-if="info.immediate_reduction_price!=0" class="f-center"
|
||
style="width: 180rpx;height: 48rpx;background: linear-gradient(90deg, #FC563A 0%, #FF9348 100%);border-radius: 0rpx 38rpx 38rpx 0rpx;">
|
||
<text class="f32" style="color: #fff;">立省{{info.immediate_reduction_price}}分</text>
|
||
</view> -->
|
||
<view class="flex_between flex_items">
|
||
<view style="color: #EA5404;" class="f32 mt30 bold">{{info.price}}积分</view>
|
||
<view class="pos ml20 mt30" style="width: 120rpx;color: #D9D9D9;">
|
||
<text class="f26" style="color: #B2B2B2;">{{info.real_price}}积分</text>
|
||
<view class="abs" style="width: 100%;height:2rpx;background:#b8b8b8;top:22rpx;">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="flex_start flex_items f26 mt30" style="color: #888888;">
|
||
<text>已选择:{{tags[curindex]}}</text>
|
||
<!-- style="margin-left: 100rpx;" -->
|
||
<text class="" style="margin-left: 50rpx;">库存:{{info.stock}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<text class="f28 mt40">规格</text>
|
||
<view v-if="info.spec_name!=null" class="mt30 flex_warp flex_items">
|
||
<view v-for="(item,index) in tags" :key="index"
|
||
:class="['f-center','ptb10','plr30','mr30',index==curindex?'chosem':'nochosem']"
|
||
@click="chosem(index)">{{item}}
|
||
</view>
|
||
</view>
|
||
<view @click="okdiu" class="flex_items flex_center mt80"
|
||
style="width: 638rpx;height: 108rpx;background: linear-gradient(90deg, #FF898E 0%, #F43139 100%);border-radius: 54rpx;color: #fff;">
|
||
<text class="f32 bold">确认兑换</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<Ywatermark :info="'蓝色兄弟'"></Ywatermark>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import xz from "./xz.vue"
|
||
export default {
|
||
data() {
|
||
return {
|
||
list: [{
|
||
name: '商品简介'
|
||
}, {
|
||
name: '商品参数'
|
||
}, {
|
||
name: '购买须知',
|
||
}],
|
||
current: 0,
|
||
curindex: 0,
|
||
show: false,
|
||
tags: [{
|
||
tt: "10元"
|
||
}, {
|
||
tt: "20元"
|
||
}, {
|
||
tt: "特惠微信100元立减金"
|
||
}, ],
|
||
istrue: false,
|
||
id: "",
|
||
info: {},
|
||
imgUrl: ""
|
||
}
|
||
},
|
||
components: {
|
||
xz
|
||
},
|
||
onLoad(options) {
|
||
this.id = options.id
|
||
this.imgUrl = this.api.imgUrl
|
||
this.getData()
|
||
},
|
||
methods: {
|
||
getData() {
|
||
uni.showLoading({
|
||
title: "加载中..."
|
||
})
|
||
this.api.getdetail({
|
||
id: this.id,
|
||
}).then((res) => {
|
||
console.log(res)
|
||
if (res.data.code == 200) {
|
||
this.info = res.data.data
|
||
this.info.detail_image = JSON.parse(this.info.detail_image)
|
||
this.tags = []
|
||
this.tags.push(res.data.data.spec_name)
|
||
uni.hideLoading()
|
||
this.istrue = true
|
||
} else {
|
||
uni.showToast({
|
||
icon: "none",
|
||
title: res.data.message
|
||
})
|
||
}
|
||
})
|
||
},
|
||
change(index) {
|
||
this.current = index;
|
||
},
|
||
goup() {
|
||
this.show = true
|
||
},
|
||
chosem(index) {
|
||
this.curindex = index
|
||
},
|
||
gomyorder() {
|
||
uni.switchTab({
|
||
url: "/pages/order/index"
|
||
})
|
||
},
|
||
okdiu() {
|
||
let data = {
|
||
img: this.info.main_image,
|
||
name: this.info.name,
|
||
price: this.info.price,
|
||
real_price: this.info.real_price,
|
||
id: this.info.id
|
||
}
|
||
uni.navigateTo({
|
||
url: "/pages/product/Pay?data=" + JSON.stringify(data)
|
||
})
|
||
}
|
||
},
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
page {
|
||
background: #f5f5f5 !important;
|
||
}
|
||
|
||
.chose {
|
||
color: #003A6E;
|
||
}
|
||
|
||
.nochose {
|
||
color: #888888;
|
||
}
|
||
|
||
.dk {
|
||
z-index: 2;
|
||
width: 100%;
|
||
bottom: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
position: fixed;
|
||
border-top-left-radius: 12rpx;
|
||
border-top-right-radius: 12rpx;
|
||
}
|
||
|
||
.nochosem {
|
||
background: #F2F2F7;
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
color: #666666;
|
||
font-size: 22rpx;
|
||
}
|
||
|
||
.chosem {
|
||
background: #F5393A;
|
||
color: #fff;
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
font-size: 22rpx;
|
||
}
|
||
</style> |