deming/pageB/sdetails/index.vue

1284 lines
32 KiB
Vue
Raw Normal View History

2020-06-15 00:49:26 +00:00
<template>
<view class="sdetails">
2020-08-06 12:42:03 +00:00
<u-swiper :list="list" height="500" border-radius="0" mode="dot" @click="viewImage"></u-swiper>
2020-07-24 11:48:57 +00:00
<view class="spike-view" v-if="type == 3">
2020-07-21 13:02:28 +00:00
<view class="left">
<view class="price">
2020-08-10 09:38:54 +00:00
<view class="now-price">{{ groupbuyInfo.groupbuy_price || '0.00' }}</view>
<view class="origin-price">{{ groupbuyInfo.goods_price || '0.00' }}</view>
2020-07-21 13:02:28 +00:00
</view>
2020-08-10 09:38:54 +00:00
<view class="num">剩余数量{{ groupbuyInfo.inventory - groupbuyInfo.groupbuy_buy_quantity || '0' }}</view>
2020-07-21 13:02:28 +00:00
</view>
2020-08-08 10:15:07 +00:00
<view class="right" v-if="!isSrartSpike || !isEndSpike">
<view class="title">{{ isSrartSpike ? '结束倒计时' : '秒杀倒计时' }}</view>
2020-07-21 13:02:28 +00:00
<view class="time">{{ spikeTime }}</view>
</view>
2020-07-27 09:59:47 +00:00
<view class="right" v-else>
<view class="title">时间已结束</view>
</view>
2020-07-21 13:02:28 +00:00
</view>
2020-06-15 00:49:26 +00:00
<view class="info">
2020-07-20 09:17:41 +00:00
<view class="title u-line-2">
2020-08-14 12:45:11 +00:00
<text class="store-name" @click="toStorePage(goodsInfo.store_id)">{{ goodsInfo.store_name }}</text>
2020-08-01 08:36:48 +00:00
<text class="goods-name">{{ goodsInfo.goods_name }}</text>
2020-06-15 00:49:26 +00:00
</view>
2020-08-06 09:52:25 +00:00
<view class="price-collect">
2020-08-12 07:24:13 +00:00
<view class="pic" v-if="type == 2">
2020-08-10 09:38:54 +00:00
<text>{{ goodsInfo.pintuan_price || '0.00' }}</text>
<s>{{ goodsInfo.goods_price || '0.00' }}</s>
2020-08-06 09:52:25 +00:00
</view>
2020-08-12 07:24:13 +00:00
<view class="pic" v-else-if="type == 1">
<text>{{ goodsInfo.goods_price || '0.00' }}</text>
2020-08-18 07:28:22 +00:00
<s>{{ goodsInfo.goods_marketprice || '0.00' }}</s>
2020-08-12 07:24:13 +00:00
</view>
2020-08-11 10:24:56 +00:00
<view class="collect" @click="switchCollect(goodsInfo.is_collect)">
2020-08-15 09:16:11 +00:00
<u-icon name="star-fill" color="#FF7807" size="28" v-if="goodsInfo.is_collect == 1"></u-icon>
<u-icon name="star" color="#474747" size="28" v-else></u-icon>
<text>{{ goodsInfo.is_collect == 1 ? '已收藏' : '收藏' }}</text>
2020-08-06 09:52:25 +00:00
</view>
</view>
2020-08-31 09:04:15 +00:00
<view class="shuliang">
<text>历史销售数量{{goodsInfo.goods_salenum}}</text>
<text>库存仅剩数量{{goodsInfo.goods_storage}}</text>
</view>
2020-06-15 00:49:26 +00:00
</view>
<view class="hr"></view>
2020-06-29 09:24:57 +00:00
<!-- <navs :value="领券"></navs> -->
2020-07-24 11:48:57 +00:00
<navs :value="'产品规格'" @click.native="showSpec=true"></navs>
2020-07-23 06:56:20 +00:00
<!-- <navs :value="'产品颜色'"></navs> -->
<!-- <navs :value="'选择尺码'"></navs> -->
2020-07-24 11:48:57 +00:00
<view class="comment">
<view class="title">
2020-09-01 02:39:59 +00:00
<view class="left">商品评价{{ evaluate.evaluate_num || '0' }}</view>
2020-07-24 11:48:57 +00:00
<view class="right" @click="viewComment">
<text>查看全部</text>
<image src="/static/image/common/1.png"></image>
</view>
</view>
<comment :reply="false" :content="evaluate" v-if="evaluate.evaluate_num"></comment>
2020-08-01 08:36:48 +00:00
<view class="comment-none" v-else>暂无评价</view>
2020-07-24 11:48:57 +00:00
</view>
2020-07-20 09:17:41 +00:00
<view class="hr"></view>
<view class="group-user" v-if="groupUser.length">
<view class="top">
<view class="title">{{ groupUser.length }}人正在拼团可直接参与</view>
2020-07-21 13:02:28 +00:00
<view class="view-more" @click="showGroupUser=true">
2020-07-20 09:17:41 +00:00
<text>查看全部</text>
<image src="/static/image/common/1.png"></image>
</view>
</view>
<view class="bottom">
2020-07-25 09:51:01 +00:00
<view class="left" @click="showGroupUser=true" v-if="user_suc.length">
2020-07-20 09:17:41 +00:00
<view class="avatar">
2020-07-22 10:51:48 +00:00
<image v-for="(user, i) in user_suc" :src="user[0].member_avatar" :key="i"></image>
2020-07-20 09:17:41 +00:00
</view>
2020-07-22 10:51:48 +00:00
<view class="all" @click="showGroupUser=true">
2020-07-20 09:17:41 +00:00
<text>查看全部</text>
<image src="/static/image/common/1.png"></image>
</view>
</view>
<view class="right">
2020-07-21 13:02:28 +00:00
<view class="launch-user" @click="showGroupUser=true">
2020-07-20 09:17:41 +00:00
<image :src="groupUser[0][0].member_avatar"></image>
<text class="u-line-1">{{ groupUser[0][0].member_nickname }}</text>
</view>
<view class="involvement-user">
2020-07-21 13:02:28 +00:00
<view class="item" v-for="(user, i) in groupUser.slice(1, 5)" :key="i" @click="showGroupUser=true">
2020-07-20 09:17:41 +00:00
<image :src="user[0].member_avatar"></image>
<text class="u-line-1">{{ user[0].member_nickname }}</text>
</view>
</view>
</view>
</view>
</view>
2020-07-24 12:35:28 +00:00
<u-popup v-model="showGroupUser" mode="center" z-index="10078">
2020-07-21 13:02:28 +00:00
<view class="launch-container">
<view class="title u-line-1">正在拼团</view>
<scroll-view class="launch-view">
<view class="launch-user">
<view class="item" v-for="(user, i) in groupUser" :src="user[0].member_avatar" :key="i" @click="involvemenGroup(user)">
<image class="avatar" :src="user[0].member_avatar"></image>
<view class="name u-line-1">{{ user[0].member_nickname }}</view>
</view>
2020-07-24 12:35:28 +00:00
<view class="pintuan-none" v-if="!groupUser.length">暂无拼团</view>
2020-07-21 13:02:28 +00:00
</view>
</scroll-view>
<image class="close" src="/static/image/common/17.png" @click="showGroupUser=false"></image>
</view>
</u-popup>
2020-08-09 10:39:35 +00:00
<u-popup v-model="showInvolvementUser" mode="center" z-index="10078">
2020-07-21 13:02:28 +00:00
<view class="involvement-container" v-if="involvemenGroupInfo.length">
2020-08-13 03:54:44 +00:00
<view class="title">参与<text class="user-name u-line-1">{{ involvemenGroupInfo[0].member_nickname }}</text>的拼团</view>
2020-07-21 13:02:28 +00:00
<view class="involvement-view">
<view class="item" v-for="(user, i) in involvemenGroupInfo" :key="i">
<image class="avatar" :src="user.member_avatar"></image>
<view class="name u-line-1">{{ user.member_nickname }}</view>
</view>
</view>
2020-07-23 06:56:20 +00:00
<view class="involvement-btn" @click="settlementOrder({ type: 'involvement' })">参与拼团</view>
2020-07-21 13:02:28 +00:00
<image class="close" src="/static/image/common/17.png" @click="showInvolvementUser=false"></image>
</view>
</u-popup>
2020-06-15 00:49:26 +00:00
<view class="xiangqing">
<view class="heng"></view>
<view class="title">商品详情</view>
<view class="heng"></view>
</view>
2020-06-29 09:24:57 +00:00
<view class="rich">
2020-08-24 03:44:58 +00:00
<view class="goods-video" v-if="list.length && goodsInfo.video" @click="playVideo">
<image class="video-play" src="/static/videoPlay.png"></image>
<view class="blacks"></view>
<image class="video-img" :src="list[0].image" mode="aspectFill"></image>
</view>
2020-06-29 09:24:57 +00:00
<rich-text :nodes="goodsInfo.mobile_body"></rich-text>
</view>
2020-07-24 11:48:57 +00:00
<!-- 选择规格数量 -->
<u-popup v-model="showSpec" mode="bottom">
<scroll-view scroll-y="true" class="spec-popup">
<view>
<view class="head">
<image class="image" :src="goodsInfo.goods_image"></image>
<view class="info">
2020-08-18 02:06:20 +00:00
<view class="goods-name u-line-2">{{goodsInfo.goods_name}}</view>
2020-08-11 02:23:04 +00:00
<text v-if="type == 1">{{ goodsInfo.goods_price }}</text>
<text v-else-if="type == 2">{{ goodsInfo.pintuan_price }}</text>
<text v-else-if="type == 3">{{ groupbuyInfo.groupbuy_price }}</text>
2020-07-24 11:48:57 +00:00
</view>
</view>
2020-08-14 07:46:43 +00:00
<guige @sel="self" ref="guige" v-for="(item,index) in goodsInfo.spec_value" :key="index" :title="goodsInfo.spec_name[index]" :item="item" :default="goodsInfo.goods_spec"></guige>
2020-07-24 11:48:57 +00:00
<view class="num">
<text>购买数量</text>
2020-08-11 03:12:32 +00:00
<u-number-box v-model="goodsNumber" :min="1"></u-number-box>
2020-07-24 11:48:57 +00:00
</view>
2020-08-14 06:04:16 +00:00
<!-- <view style="height:100rpx"></view> -->
2020-07-24 11:48:57 +00:00
</view>
</scroll-view>
</u-popup>
<!-- 普通商品 tool -->
<view class="tloos" v-if="type == 1">
2020-08-06 09:52:25 +00:00
<view class="navs" @click="toOthersPage('pageC/merchant/index?id=' + storeInfo.store_id)" v-if="!showSpec">
2020-07-24 11:48:57 +00:00
<image src="/static/image/common/18.png"></image>
店铺
</view>
<view class="navs" style="margin-right:30rpx" v-if="!showSpec" @click="customers()">
2020-07-24 11:48:57 +00:00
<image src="/static/image/common/19.png"></image>
客服
</view>
2020-07-27 09:59:47 +00:00
<view class="button" style="background:rgba(253,211,96,0.6);" v-if="goodsInfo.goods_try == 1" @click="tryDress">试穿试送</view>
2020-07-24 11:48:57 +00:00
<view class="button" style="background:rgba(253,211,96,1);" @click="addCart">加入购物车</view>
<view class="button" style="background:rgba(255,120,15,1);" @click="settlementOrder">立即购买</view>
</view>
2020-07-20 09:17:41 +00:00
<!-- 拼团 tool -->
<view class="group-tool" v-if="type==2">
2020-07-22 10:51:48 +00:00
<view class="launch" @click="settlementOrder">发起拼团</view>
2020-07-21 13:02:28 +00:00
<view class="involvement" @click="showGroupUser=true">参与拼团</view>
</view>
2020-07-24 11:48:57 +00:00
<!-- 秒杀 tool -->
2020-07-21 13:02:28 +00:00
<view class="spike-tool" v-if="type==3">
2020-08-06 09:52:25 +00:00
<view class="left" v-if="!showSpec">
2020-08-05 09:38:11 +00:00
<view @click="toOthersPage('pageC/merchant/index?id=' + storeInfo.store_id)">
2020-07-21 13:02:28 +00:00
<image src="/static/image/common/18.png"></image>
<text>店铺</text>
</view>
2020-08-07 03:40:13 +00:00
<view @click="customers()">
2020-07-21 13:02:28 +00:00
<image src="/static/image/common/19.png"></image>
<text>客服</text>
</view>
</view>
2020-08-08 10:15:07 +00:00
<!-- <view class="btn" v-if="isSrartSpike && !isEndSpike && groupbuyInfo.inventory > groupbuyInfo.groupbuy_buy_quantity" @click="spikeGoods">立即秒杀</view> -->
<view class="btn cannot" v-if="!isSrartSpike">秒杀未开始</view>
<view class="btn cannot" v-else-if="isEndSpike">时间已结束</view>
<view class="btn cannot" v-else-if="groupbuyInfo.inventory == groupbuyInfo.groupbuy_buy_quantity">已售空</view>
<view class="btn" v-else @click="spikeGoods">立即秒杀</view>
2020-07-20 09:17:41 +00:00
</view>
2020-07-24 11:48:57 +00:00
<!-- <tloos @buy="buy" @xuanze="xuanze" :id="id" :info="goodsInfo" :type="type"></tloos> -->
2020-08-11 10:24:56 +00:00
<u-toast ref="uToast" :z-index='200000' />
2020-06-15 00:49:26 +00:00
</view>
</template>
<script>
2020-07-24 11:48:57 +00:00
import comment from "@/components/comment/index";
import navs from "../components/sdetails/navs";
import guige from "../components/sdetails/guige"
import tloos from "../components/sdetails/tloos";
2020-07-20 09:17:41 +00:00
export default {
2020-07-24 11:48:57 +00:00
name: "sdetails",
2020-06-29 09:24:57 +00:00
data() {
return {
2020-07-20 09:17:41 +00:00
list: [], // 轮播图列表
2020-08-05 09:38:11 +00:00
goodsInfo: {}, // 商品信息
2020-08-08 10:15:07 +00:00
storeInfo: {}, // 店铺信息
2020-07-24 11:48:57 +00:00
glist: [], // 规格列表
2020-08-11 07:38:43 +00:00
id: 0, // 商品id
2020-07-21 13:02:28 +00:00
type: '', // 商品类型 商品详情 1普通 2拼团 3秒杀 4优惠券
2020-07-20 09:17:41 +00:00
groupUser: [], // 拼团用户
2020-07-22 10:51:48 +00:00
user_suc: [], // 拼团成功用户
2020-07-21 13:02:28 +00:00
showGroupUser: false, // 拼团
showInvolvementUser: false, // 参团
involvemenGroupInfo: [], // 参团的人
groupbuyInfo: {}, // 秒杀详情
2020-08-08 10:15:07 +00:00
spikeTime: '00:00:00', // 秒杀倒计时(距离开始/距离结束)
isSrartSpike: false, // 是否开始秒杀
isEndSpike: false, // 是否超过秒杀时间
2020-07-24 11:48:57 +00:00
timer: '', // 秒杀时间定时器
spec_id: '', // 规格 id, 下单用的
evaluate: {}, // 评价内容
showSpec: false, // 是否显示选择规格
2020-08-08 10:15:07 +00:00
goodsNumber: 1, // 购买商品数量
2020-07-24 11:48:57 +00:00
sel: "", // 拼接的规格
2020-08-03 10:38:04 +00:00
quanxuan: false, // 规格是否选择
2020-08-08 10:15:07 +00:00
debounce: true, // 防止多次提交订单
2020-08-11 07:38:43 +00:00
storeid:0, // 店铺 id
pintuan_id: '', // 拼团 id
groupbuy_id: '', // 秒杀 id
2020-06-29 09:24:57 +00:00
}
},
2020-07-24 11:48:57 +00:00
components: {
comment,
2020-06-15 00:49:26 +00:00
navs,
2020-07-24 11:48:57 +00:00
tloos,
guige,
},
watch: {
sel(value){
this.xuanze(value);
},
2020-08-09 03:27:15 +00:00
showSpec(value) {
if(!value) {
this.quanxuan = false;
}
}
2020-07-23 12:58:56 +00:00
},
2020-07-24 11:48:57 +00:00
onLoad(option) {
// this.init();
// console.log(option);
2020-08-07 03:59:08 +00:00
// this.type = Number(option.type);
// this.type = 1;
2020-07-24 11:48:57 +00:00
this.id = option.id;
2020-08-07 03:59:08 +00:00
// 先请求普通商品详情获取商品类型再渲染页面
2020-08-14 07:46:43 +00:00
this.ordinaryDetails();
2020-06-29 09:24:57 +00:00
},
2020-07-24 12:35:28 +00:00
onShow() {
2020-08-03 10:38:04 +00:00
this.debounce = true;
2020-07-24 12:35:28 +00:00
this.showSpec = false;
this.showGroupUser = false;
this.showInvolvementUser = false;
2020-08-06 09:52:25 +00:00
this.getGoodsDetails(this.id);
2020-07-24 12:35:28 +00:00
},
2020-08-01 08:36:48 +00:00
onNavigationBarButtonTap(e) {
if(e.index == 0) this.$u.route('/pageC/cart/index');
},
2020-07-21 13:02:28 +00:00
beforeDestroy() {
clearInterval(this.timer);
},
2020-06-29 09:24:57 +00:00
methods: {
2020-08-07 03:40:13 +00:00
customers(){
2020-08-10 09:30:41 +00:00
console.log(this.$store.state.hasLogin)
2020-08-10 09:03:15 +00:00
if(!this.$store.state.hasLogin){
this.$refs.uToast.show({
title: "请先登录",
type: 'warning'
2020-08-07 03:40:13 +00:00
})
2020-08-10 09:03:15 +00:00
}else{
function Friend(uuid, name, avatar,time = "", text = "",date = "") {
this.uuid = uuid;
this.name = name;
this.avatar = avatar;
this.online = false;
this.unReadMessage = 0;
this.text = text;
this.time = time;
this.date = date
}
2020-08-11 02:23:04 +00:00
// console.log(123)
2020-08-10 09:03:15 +00:00
this.$u.api.getAtwillUserInfo({
id:this.storeid
}).then((res)=>{
console.log(res)
2020-08-14 02:07:33 +00:00
let user = new Friend(res.data.member_id,res.data.store_name,res.data.member_avatar)
2020-08-10 09:03:15 +00:00
this.$u.route({
url:"/pageD/privateChat/privateChat",
params:{
id:JSON.stringify(user)
}
})
}).catch((err)=>{
console.log(err)
})
}
2020-08-07 03:40:13 +00:00
},
2020-07-24 11:48:57 +00:00
setSwiperList(list) {
let img = [];
list.forEach(item => {
2020-07-20 09:17:41 +00:00
let temp = {
2020-08-04 12:09:21 +00:00
image: item[1]
2020-07-20 09:17:41 +00:00
}
2020-07-24 11:48:57 +00:00
img.push(temp);
2020-07-20 09:17:41 +00:00
})
2020-07-24 11:48:57 +00:00
this.list = img;
2020-07-20 09:17:41 +00:00
},
2020-07-22 10:51:48 +00:00
spikeGoods() {
2020-07-23 06:56:20 +00:00
this.settlementOrder()
2020-07-22 10:51:48 +00:00
},
2020-08-08 10:15:07 +00:00
setSpikeTime() {
const startTime = this.groupbuyInfo.groupbuy_starttime;
const endTime = this.groupbuyInfo.groupbuy_endtime;
let time = startTime;
2020-07-21 13:02:28 +00:00
this.timer = setInterval(() => {
2020-08-08 10:15:07 +00:00
// 秒杀是否开始 秒杀开始后开始结束时间的倒计时
if(startTime * 1000 - new Date().getTime() > 0) {
this.isSrartSpike = false;
} else {
this.isSrartSpike = true;
time = endTime;
}
// 秒杀是否结束
if(endTime * 1000 - new Date().getTime() <= 0) {
this.isEndSpike = true;
}
2020-07-22 10:51:48 +00:00
let spikeTime = time * 1000 - new Date().getTime();
// 计算天数
const days = Math.floor(spikeTime/(24*3600*1000));
2020-07-21 13:02:28 +00:00
//计算出小时数
2020-07-22 10:51:48 +00:00
const leave1 = spikeTime % (24*3600*1000) // 计算天数后剩余的毫秒数
let hours = Math.floor(leave1/(3600*1000));
2020-07-21 13:02:28 +00:00
//计算相差分钟数
2020-07-22 10:51:48 +00:00
const leave2 = leave1 % (3600*1000) // 计算小时数后剩余的毫秒数
2020-07-21 13:02:28 +00:00
const minutes = Math.floor(leave2 / (60*1000))
//计算相差秒数
2020-07-22 10:51:48 +00:00
const leave3 = leave2 % (60*1000) // 计算分钟数后剩余的毫秒数
2020-07-21 13:02:28 +00:00
const seconds = Math.round(leave3 / 1000)
2020-07-22 10:51:48 +00:00
// 把天数算在小时里
hours = days * 24 + hours;
2020-07-21 13:02:28 +00:00
this.spikeTime = hours + ':' + minutes + ':' + seconds;
// console.log(this.spikeTime);
}, 1000)
},
2020-07-24 11:48:57 +00:00
addCart() {
2020-08-08 10:15:07 +00:00
if(!this.showSpec) {
this.showSpec = true;
return false;
}
2020-08-11 02:23:04 +00:00
// 如果没有规格设规格已全选
if(this.goodsInfo.spec_value == null) {
this.quanxuan = true;
}
if(!this.quanxuan) {
this.$refs.uToast.show({
title: '请选择规格'
})
return false;
}
2020-07-24 11:48:57 +00:00
this.$u.api.addCart({
goods_id: this.id,
quantity: this.goodsNumber,
}).then(res => {
this.$refs.uToast.show({
title: res.message,
2020-08-11 01:46:05 +00:00
duration: 1000,
callback: () => {
if(res.errCode == 0) {
this.showSpec = false;
}
}
2020-07-24 11:48:57 +00:00
})
})
},
purchase() {
this.settlementOrder();
},
2020-08-14 07:46:43 +00:00
getGoodsDetails() {
2020-07-24 11:48:57 +00:00
switch (this.type) {
2020-08-07 09:34:59 +00:00
case 1:
2020-08-14 07:46:43 +00:00
this.ordinaryDetails();
2020-08-07 09:34:59 +00:00
break;
2020-07-24 11:48:57 +00:00
case 2:
2020-08-11 07:38:43 +00:00
this.pinTuanDetails();
2020-07-24 11:48:57 +00:00
break;
case 3:
2020-08-11 07:38:43 +00:00
this.spikeGoodsDetails();
2020-07-24 11:48:57 +00:00
break;
default:
break;
}
},
2020-08-03 10:38:04 +00:00
// 普通商品详情
2020-08-14 07:46:43 +00:00
ordinaryDetails() {
this.$u.api.getGoodsDetails({ id: this.id }).then(res => {
2020-07-23 12:58:56 +00:00
if (res.errCode == 0) {
2020-07-24 11:48:57 +00:00
this.evaluate = res.data.goods_evaluate_info;
2020-07-23 12:58:56 +00:00
this.goodsInfo = res.data.goods;
2020-08-05 09:38:11 +00:00
this.storeInfo = res.data.store;
2020-08-04 12:09:21 +00:00
this.setSwiperList(res.data.goods_image);
2020-07-23 12:58:56 +00:00
this.glist = res.data.spec_list;
2020-08-11 07:38:43 +00:00
this.storeid = res.data.store.store_id;
2020-08-07 03:59:08 +00:00
this.type = res.data.view_type;
2020-08-07 09:34:59 +00:00
this.setTitle();
if(this.type == 1) {
this.id = res.data.goods.goods_id;
} else if(this.type == 2) {
2020-08-11 07:38:43 +00:00
this.id = res.data.goods.goods_id;
this.pintuan_id = res.data.goods.pintuan_id;
this.getGoodsDetails();
2020-08-07 09:34:59 +00:00
} else if(this.type == 3) {
2020-08-11 07:38:43 +00:00
this.id = res.data.goods.goods_id;
this.groupbuy_id = res.data.groupbuy_id;
this.getGoodsDetails();
2020-08-07 09:34:59 +00:00
}
2020-07-23 12:58:56 +00:00
}
})
},
2020-08-03 10:38:04 +00:00
// 拼团详情
2020-08-11 07:38:43 +00:00
pinTuanDetails() {
2020-08-24 03:44:58 +00:00
// console.log(this.id);
2020-07-24 11:48:57 +00:00
this.$u.api.getPinTuanDetails({
2020-08-11 07:38:43 +00:00
pintuan_id: this.pintuan_id,
goods_id: this.id,
2020-07-24 11:48:57 +00:00
}).then(res => {
if(res.errCode == 0) {
this.evaluate = res.data.data.goods_evaluate_info;
this.goodsInfo = res.data.data.goods;
2020-08-11 07:38:43 +00:00
this.pintuan_id = res.data.data.pintuan_id;
2020-08-04 12:09:21 +00:00
this.setSwiperList(res.data.data.goods_image);
2020-07-24 11:48:57 +00:00
this.glist = res.data.data.spec_list;
this.user_suc = res.data.data.user_suc;
this.groupUser =res.data.data.user;
2020-08-07 09:34:59 +00:00
// console.log(this.groupUser);
2020-07-24 11:48:57 +00:00
}
})
},
2020-08-03 10:38:04 +00:00
// 秒杀详情
2020-08-11 07:38:43 +00:00
spikeGoodsDetails() {
2020-07-24 11:48:57 +00:00
this.$u.api.getSpikeInfo({
2020-08-11 07:38:43 +00:00
groupbuy_id: this.groupbuy_id,
goods_id: this.id,
2020-07-24 11:48:57 +00:00
}).then(res => {
if(res.errCode == 0) {
this.groupbuyInfo = res.data.groupbuyInfo;
2020-08-11 07:38:43 +00:00
this.groupbuy_id = res.data.groupbuyInfo.groupbuy_id;
2020-07-24 11:48:57 +00:00
this.evaluate = res.data.goodsInfo.goods_evaluate_info;
this.goodsInfo = res.data.goodsInfo.goods;
2020-08-04 12:09:21 +00:00
this.setSwiperList(res.data.goodsInfo.goods_image);
2020-08-08 10:15:07 +00:00
this.setSpikeTime();
2020-07-24 11:48:57 +00:00
}
})
},
2020-07-27 09:59:47 +00:00
// 试穿
tryDress() {
2020-08-08 10:15:07 +00:00
if(!this.showSpec) {
this.showSpec = true;
return false;
}
2020-07-27 09:59:47 +00:00
this.$u.route({
url: '/pageB/triedDress/index',
params: {
2020-08-07 09:34:59 +00:00
id: this.goodsInfo.goods_id,
2020-07-27 09:59:47 +00:00
}
})
},
2020-08-11 10:24:56 +00:00
// 验证能否拼团
async pintuanVerify({ pintuan_id, pintuangroup_headid }) {
const res = await this.$u.api.pintuanVerify({
pintuan_id: pintuan_id,
pintuangroup_headid: pintuangroup_headid,
})
if(res.errCode != 0) {
this.$refs.uToast.show({
title: res.message,
});
}
return res.errCode;
},
2020-07-23 06:56:20 +00:00
/*
2020-07-24 11:48:57 +00:00
* @description 下单 订单步骤1展示结算数据
2020-08-01 08:36:48 +00:00
* @params {Number} type involvement 拼团或者 默认开团
2020-07-24 11:48:57 +00:00
* @params {Number} num 数量
* @params {Number} ifcart 结算方式 1:购物车 0:直接结算立即购买/拼团/秒杀
2020-07-23 06:56:20 +00:00
**/
2020-08-12 10:38:14 +00:00
async settlementOrder({type, num = this.goodsNumber, ifcart = 0} = {}) {
2020-08-09 06:23:59 +00:00
if(type != 'involvement') {
if(!this.showSpec) {
this.showSpec = true;
return false;
}
if(!this.showSpec) {
this.showSpec = true;
return false;
}
// 如果没有规格设规格已全选
if(this.goodsInfo.spec_value == null) {
this.quanxuan = true;
}
if(!this.quanxuan) {
this.$refs.uToast.show({
title: '请选择规格'
})
return false;
}
2020-08-09 03:27:15 +00:00
}
2020-08-03 10:38:04 +00:00
if(!this.debounce) return;
2020-07-21 13:02:28 +00:00
let params = {
2020-07-24 11:48:57 +00:00
ifcart: ifcart,
2020-07-23 06:56:20 +00:00
cart_id: [this.goodsInfo.goods_id + '|' + num],
2020-07-21 13:02:28 +00:00
}
2020-07-22 10:51:48 +00:00
if(this.type == 2) {
if(type == 'involvement') {
2020-08-11 10:24:56 +00:00
// 验证能否拼团
2020-08-12 10:38:14 +00:00
const whether = await this.pintuanVerify({
2020-08-11 10:24:56 +00:00
pintuan_id: this.pintuan_id,
pintuangroup_headid: this.involvemenGroupInfo[0].user_id
}).then(status => {
if(status != 0) return true;
2020-08-12 10:38:14 +00:00
else return false;
2020-08-11 10:24:56 +00:00
})
2020-08-12 10:38:14 +00:00
if(whether) return false;
2020-08-06 09:52:25 +00:00
this.$store.commit('setGroupHeadId', this.involvemenGroupInfo[0].user_id);
2020-07-22 10:51:48 +00:00
Object.assign(params, {
2020-08-11 07:38:43 +00:00
pintuan_id: this.pintuan_id,
2020-08-03 11:51:05 +00:00
pintuangroup_id: this.involvemenGroupInfo[0].pintuangroup_id,
2020-07-22 10:51:48 +00:00
})
2020-07-21 13:02:28 +00:00
} else {
2020-07-22 10:51:48 +00:00
Object.assign(params, {
2020-08-11 07:38:43 +00:00
pintuan_id: this.pintuan_id,
2020-07-22 10:51:48 +00:00
})
2020-07-21 13:02:28 +00:00
}
2020-07-22 10:51:48 +00:00
}
2020-08-11 10:24:56 +00:00
this.debounce = false;
2020-07-22 10:51:48 +00:00
this.$u.api.settlementOrder(params).then(res => {
2020-07-21 13:02:28 +00:00
if(res.errCode == 0) {
2020-08-11 01:46:05 +00:00
// console.log('type' + this.type);
2020-07-22 10:51:48 +00:00
this.$store.commit('setOrderType', this.type);
2020-07-21 13:02:28 +00:00
this.$store.commit('updateOrderInfo', res.data)
this.$u.route({
url: '/pageC/cart/ConfirmOrder'
})
2020-08-03 10:38:04 +00:00
} else {
2020-08-13 07:41:03 +00:00
this.$refs.uToast.show({
title: res.message,
});
2020-08-03 10:38:04 +00:00
this.debounce = true;
2020-07-21 13:02:28 +00:00
}
2020-07-20 09:17:41 +00:00
})
},
2020-07-24 11:48:57 +00:00
// 参团
2020-07-21 13:02:28 +00:00
involvemenGroup(user) {
this.involvemenGroupInfo = user;
this.showGroupUser = false;
this.showInvolvementUser = true;
2020-07-22 10:51:48 +00:00
// console.log(this.involvemenGroupInfo);
2020-07-21 13:02:28 +00:00
},
2020-07-24 11:48:57 +00:00
self(){
// console.log(this.$refs.guige)
let index = 0;
let arr = [];
for(let i in this.goodsInfo.spec_value){
// console.log(i)
// console.log(this.$refs.guige[index++].select)
// index++;
let sel = this.$refs.guige[index++].select
if(sel != 0){
arr.push(sel)
}
2020-08-14 07:46:43 +00:00
}
// console.log(arr)
// 后台的 spec 是按升序排的
arr.sort((a, b) => a - b);
2020-08-09 03:27:15 +00:00
// console.log(arr)
2020-07-24 11:48:57 +00:00
if(arr.length == index){
this.sel = arr.join("|")
2020-08-09 03:27:15 +00:00
this.quanxuan = true;
2020-07-24 11:48:57 +00:00
// console.log(this.sel)
2020-08-09 03:27:15 +00:00
}
// console.log(this.quanxuan);
2020-07-24 11:48:57 +00:00
},
2020-07-07 06:45:57 +00:00
xuanze(id){
2020-07-24 11:48:57 +00:00
// console.log(id)
2020-08-09 06:23:59 +00:00
// 选择完规格后设商品type = 1
2020-08-10 09:38:54 +00:00
// this.type = 1;
2020-08-11 07:38:43 +00:00
// 改变 goods_id
2020-08-14 07:46:43 +00:00
// console.log(this.glist);
2020-07-24 11:48:57 +00:00
this.id = this.glist[id];
2020-08-14 07:46:43 +00:00
// console.log(this.id);
2020-08-11 07:38:43 +00:00
this.getGoodsDetails();
2020-07-20 09:17:41 +00:00
},
2020-07-24 11:48:57 +00:00
// 设置页面标题
2020-07-20 09:17:41 +00:00
setTitle() {
let title = '';
switch (this.type) {
case 1:
2020-07-23 06:56:20 +00:00
title = '商品详情';
2020-07-20 09:17:41 +00:00
break;
case 2:
title = '拼团商品详情';
break;
2020-07-22 10:51:48 +00:00
case 3:
title = '秒杀商品详情';
2020-07-20 09:17:41 +00:00
break;
default:
2020-08-08 04:07:50 +00:00
title = '商品详情';
2020-07-20 09:17:41 +00:00
break;
}
uni.setNavigationBarTitle({
title: title
});
},
2020-08-05 09:38:11 +00:00
toOthersPage(url) {
this.$u.route(url);
},
2020-07-24 11:48:57 +00:00
viewComment() {
this.$u.route({
url: 'pageB/comment/index',
params: {
id: this.goodsInfo.goods_id
}
})
2020-08-06 12:42:03 +00:00
},
// 查看轮播图
viewImage(index) {
let arr = [];
this.list.forEach(item => {
arr.push(item.image);
})
uni.previewImage({
urls: arr,
current: arr[index]
})
2020-08-07 03:59:08 +00:00
},
2020-08-15 09:16:11 +00:00
switchCollect(status = 0) {
2020-08-11 10:24:56 +00:00
if(status == 1) {
2020-08-07 03:59:08 +00:00
this.removeFavorite();
} else {
this.addFavoriteGoods();
}
},
addFavoriteGoods() {
2020-08-15 09:16:11 +00:00
// // 尝试登录
// if (!this.$store.state.hasLogin) {
// uni.navigateTo({
// url: "pageA/login/login"
// })
// return false;
// }
2020-08-07 09:34:59 +00:00
this.$u.api.addFavoriteGoods({ fid: this.goodsInfo.goods_id }).then(res => {
2020-08-07 03:59:08 +00:00
if(res.errCode == 0) {
this.getGoodsDetails(this.id);
} else {
this.$u.toast(res.message);
}
})
},
removeFavorite() {
2020-08-07 09:34:59 +00:00
this.$u.api.removeFavorite({ fid: this.goodsInfo.goods_id, type: 'goods' }).then(res => {
2020-08-07 03:59:08 +00:00
if(res.errCode == 0) {
this.getGoodsDetails(this.id);
} else {
this.$u.toast(res.message);
}
})
2020-08-14 12:45:11 +00:00
},
toStorePage(id) {
this.$u.route('pageC/merchant/index', {
id: id
});
},
2020-08-24 03:44:58 +00:00
playVideo() {
console.log(this.goodsInfo.video);
2020-08-24 06:13:12 +00:00
this.$u.route('/pageB/playVideo/index', {
url: this.goodsInfo.video
});
2020-08-24 03:44:58 +00:00
}
2020-06-29 09:24:57 +00:00
},
2020-06-15 00:49:26 +00:00
}
</script>
<style lang="scss" scoped>
2020-07-21 13:02:28 +00:00
.sdetails {
2020-06-29 09:24:57 +00:00
padding-bottom: 98rpx;
2020-07-21 13:02:28 +00:00
position: relative;
2020-07-24 11:48:57 +00:00
background-color: #EEEBEE;
2020-07-21 13:02:28 +00:00
.spike-view {
position: absolute;
2020-08-09 11:08:12 +00:00
top: 400rpx;
2020-07-21 13:02:28 +00:00
left: 0;
width: 100%;
height: 104rpx;
background: rgba(255,120,15,1);
opacity: 0.96;
color:rgba(255,255,255,1);
display: flex;
align-items: center;
.left {
height: 104rpx;
flex: 1;
padding-left: 30rpx;
display: flex;
flex-direction: column;
justify-content: center;
.price {
margin-bottom: 22rpx;
display: flex;
align-items: center;
.now-price {
font-size: 32rpx;
font-weight: bold;
margin-right: 16rpx;
}
.origin-price {
font-size: 26rpx;
2020-07-22 10:51:48 +00:00
text-decoration: line-through;
2020-07-21 13:02:28 +00:00
}
}
.num {
font-size: 22rpx;
font-weight: 500;
}
}
.right {
height: 104rpx;
width: 232rpx;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&::before {
position: absolute;
left: 0;
content: "";
width: 2rpx;
height: 104rpx;
background:rgba(255,255,255,1);
}
font-size: 26rpx;
font-weight: 500;
2020-08-08 10:15:07 +00:00
.time {
margin-top: 18rpx;
2020-07-21 13:02:28 +00:00
}
}
}
.info {
2020-07-24 11:48:57 +00:00
background:rgba(255,255,255,1);
2020-06-15 00:49:26 +00:00
padding: 30rpx;
2020-07-24 11:48:57 +00:00
margin-bottom: 20rpx;
2020-06-15 00:49:26 +00:00
.title{
flex-wrap: wrap;
2020-06-29 09:24:57 +00:00
margin-bottom: 30rpx;
2020-08-01 08:36:48 +00:00
.store-name {
display: inline-block;
2020-07-31 00:45:30 +00:00
padding: 8rpx 10rpx;
margin: 0 10rpx 4rpx 0;
vertical-align: middle;
font-size: 20rpx;
color: #fff;
border-radius: 30rpx;
2020-08-01 08:36:48 +00:00
background-color: #FF780F;
margin-bottom: 10rpx;
}
.goods-name {
line-height: 1.5;
}
2020-08-31 09:04:15 +00:00
2020-06-15 00:49:26 +00:00
}
2020-08-31 09:04:15 +00:00
.shuliang{
padding-top: 33rpx;
font-size: 24rpx;
color:#656565;
display: flex;
justify-content: space-between;
}
2020-08-06 09:52:25 +00:00
.price-collect {
display: flex;
align-items: center;
justify-content: space-between;
.pic{
>text{
font-size: 32rpx;
color: #FF3131;
}
>s{
font-size: 26rpx;
color: #999;
display: inline-block;
margin-left: 30rpx;
}
}
.collect {
margin-left: auto;
display: flex;
align-items: center;
> text {
margin-left: 12rpx;
}
}
}
2020-06-15 00:49:26 +00:00
}
2020-07-24 11:48:57 +00:00
.comment {
margin-top: 20rpx;
background:rgba(255,255,255,1);
padding: 30rpx;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 30rpx;
.left {
font-size: 30rpx;
color: rgba(51,51,51,1);
}
.right {
font-size: 24rpx;
color: rgba(153,153,153,1);
> image {
width: 8rpx;
height: 16rpx;
margin-left: 10rpx;
}
}
}
.comment-none {
font-size: 26rpx;
text-align: center;
margin-top: 30rpx;
}
}
2020-07-21 13:02:28 +00:00
.hr {
2020-06-15 00:49:26 +00:00
width: 100%;
height: 20rpx;
background-color: #ececec;
}
2020-07-20 09:17:41 +00:00
.group-user {
2020-07-24 11:48:57 +00:00
background: rgba(255,255,255,1);
2020-07-20 09:17:41 +00:00
padding: 30rpx;
.top {
margin-bottom: 28rpx;
display: flex;
align-items: center;
justify-content: space-between;
.title {
font-size: 30rpx;
color: rgba(51,51,51,1);
}
.view-more {
font-size: 24rpx;
color: rgba(153,153,153,1);
> image {
margin-left: 10rpx;
width: 8rpx;
height: 16rpx;
}
}
}
.bottom {
display: flex;
align-items: center;
font-size: 22rpx;
color: rgba(153,153,153,1);
.left {
margin-right: 40rpx;
.avatar {
width: 120rpx;
height: 60rpx;
margin-bottom: 16rpx;
position: relative;
@mixin avatar($left, $index) {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
position: absolute;
top: 0;
left: $left;
z-index: $index;
}
> image {
&:first-child {
background-color: aliceblue;
@include avatar($left: 0rpx, $index: 7);
}
&:nth-child(2) {
background-color: aquamarine;
@include avatar($left: 30rpx, $index: 8);
}
&:nth-child(3) {
background-color: antiquewhite;
@include avatar($left: 60rpx, $index: 9);
}
}
}
.all {
> image {
margin-left: 10rpx;
width: 8rpx;
height: 16rpx;
}
}
}
.right {
display: flex;
image {
background-color: aquamarine;
width: 60rpx;
height: 60rpx;
margin-bottom: 15rpx;
border-radius: 50%;
}
.launch-user {
margin-right: 40rpx;
text-align: center;
> text {
width: 98rpx;
display: block;
}
}
.involvement-user {
display: flex;
align-items: center;
.item {
text-align: center;
> text {
display: block;
width: 72rpx;
}
&:not(:last-child) {
margin-right: 30rpx;
}
}
}
}
}
}
2020-07-21 13:02:28 +00:00
.launch-container {
width: 558rpx;
height: 655rpx;
background: rgba(255,255,255,1);
border-radius: 20rpx;
position: relative;
overflow: hidden;
.title {
text-align: center;
padding: 40rpx 0;
font-size: 32rpx;
color: rgba(51,51,51,1);
position: relative;
&::after {
content: '';
position: absolute;
width: 558rpx;
height: 2rpx;
background: rgba(234,234,234,1);
bottom: 0;
left: 0;
}
}
.launch-view {
height: 500rpx;
box-sizing: border-box;
padding: 30rpx 50rpx;
.launch-user {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
justify-content: flex-start;
.item {
width: 96rpx;
height: 96rpx;
text-align: center;
margin-bottom: 30rpx;
.avatar {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
margin-bottom: 15rpx;
}
.name {
font-size: 22rpx;
color: rgba(153,153,153,1);
}
&:not(:nth-child(3n)) {
margin-right: 80rpx;
}
}
2020-07-24 12:35:28 +00:00
.pintuan-none {
font-size: 36rpx;
color: #333;
margin: 100rpx auto 0;
}
2020-07-21 13:02:28 +00:00
}
}
.close {
position: absolute;
width: 47rpx;
height: 47rpx;
top: 10rpx;
right: 20rpx;
border-radius: 50%;
}
}
.involvement-container {
width: 558rpx;
height: 486rpx;
background: rgba(255,255,255,1);
border-radius: 20rpx;
position: relative;
overflow: hidden;
.title {
text-align: center;
padding: 40rpx 0;
font-size: 32rpx;
color: rgba(51,51,51,1);
position: relative;
2020-08-13 03:54:44 +00:00
display: flex;
align-items: center;
justify-content: center;
.user-name {
display: inline-block;
max-width: 200rpx;
}
2020-07-21 13:02:28 +00:00
&::after {
content: '';
position: absolute;
width: 558rpx;
height: 2rpx;
background: rgba(234,234,234,1);
bottom: 0;
left: 0;
}
}
.involvement-view {
display: flex;
justify-content: center;
margin: 40rpx 0 70rpx;
.item {
width: 100rpx;
text-align: center;
margin-right: 10rpx;
.avatar {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
margin-bottom: 15rpx;
}
.name {
font-size: 22rpx;
color: rgba(153,153,153,1);
}
}
}
.involvement-btn {
width: 400rpx;
height: 88rpx;
background: rgba(255,120,15,1);
border-radius: 44rpx;
font-size: 30rpx;
color:rgba(255,255,255,1);
text-align: center;
line-height: 88rpx;
margin: 0 auto;
}
.close {
position: absolute;
width: 47rpx;
height: 47rpx;
top: 10rpx;
right: 20rpx;
border-radius: 50%;
}
}
2020-06-15 00:49:26 +00:00
.xiangqing{
display: flex;
height: 85rpx;
background-color: #ececec;
align-items: center;
justify-content: center;
.heng{
width: 79rpx;
height: 2rpx;
background-color: #a9a9a9;
}
font-size: 28rpx;
color: #999;
.title{
margin: 0 20rpx;
}
}
2020-06-29 09:24:57 +00:00
.rich {
width: 100%;
2020-08-24 03:44:58 +00:00
.goods-video {
position: relative;
.video-img {
width: 100%;
}
.blacks {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.35);
z-index: 8;
}
.video-play {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100rpx;
height: 100rpx;
z-index: 9;
}
}
2020-06-29 09:24:57 +00:00
}
2020-07-20 09:17:41 +00:00
.group-tool {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 98rpx;
display: flex;
font-size: 32rpx;
color: rgba(255,255,255,1);
2020-07-24 12:35:28 +00:00
z-index: 10076;
2020-08-06 02:48:21 +00:00
background-color: #FFFFFF;
2020-07-20 09:17:41 +00:00
.launch {
flex: 1;
background: rgba(253,211,96,1);
line-height: 98rpx;
text-align: center;
}
.involvement {
flex: 1;
background: rgba(255,120,15,1);
line-height: 98rpx;
text-align: center;
}
}
2020-07-21 13:02:28 +00:00
.spike-tool {
2020-08-09 11:08:12 +00:00
z-index: 10076;
display: flex;
2020-07-21 13:02:28 +00:00
position: fixed;
bottom: 0;
left: 0;
width: 100%;
2020-08-09 11:08:12 +00:00
height: 100rpx;
2020-08-06 02:48:21 +00:00
background-color: #FFFFFF;
2020-07-21 13:02:28 +00:00
.left {
width: 190rpx;
display: flex;
align-items: center;
justify-content: space-around;
> view {
text-align: center;
> image {
width: 35rpx;
height: 35rpx;
margin-bottom: 15rpx;
}
> text {
display: block;
font-size: 24rpx;
color: rgba(102,102,102,1);
}
}
}
.btn {
flex: 1;
2020-08-09 11:08:12 +00:00
height: 104rpx;
line-height: 104rpx;
2020-07-21 13:02:28 +00:00
text-align: center;
font-size: 32rpx;
color: rgba(255,255,255,1);
background: rgba(255,120,15,1);
}
.cannot {
background: rgba(221,221,221,1);
}
}
2020-07-24 11:48:57 +00:00
.tloos{
background-color: #fff;
display: flex;
position: fixed;
width: 100%;
2020-09-05 04:32:58 +00:00
bottom: 0;
left: 0;
padding-bottom: env(safe-area-inset-bottom);
2020-08-17 06:57:58 +00:00
// border-top: 1rpx solid #ececec;
2020-07-24 12:35:28 +00:00
z-index: 10076;
2020-07-24 11:48:57 +00:00
.navs{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 24rpx;
color: #666;
flex-shrink: 0;
margin-left: 30rpx;
>image{
width: 35rpx;
height: 35rpx;
margin-bottom: 15rpx;
}
}
.button{
width: 100%;
height: 100%;
line-height: 98rpx;
text-align: center;
color: #fff;
}
}
.spec-popup {
padding: 30rpx;
2020-08-14 06:04:16 +00:00
margin-bottom: 130rpx;
2020-07-24 11:48:57 +00:00
box-sizing: border-box;
2020-08-14 06:04:16 +00:00
// height: 600rpx;
max-height: 60vh;
.head {
2020-07-24 11:48:57 +00:00
display: flex;
margin-bottom: 30rpx;
.image{
width: 195rpx;
height: 195rpx;
border-radius: 10rpx;
flex-shrink: 0;
}
.info{
display: flex;
padding: 21rpx 0;
justify-content: space-between;
margin-left: 27rpx;
flex-direction: column;
2020-08-18 02:06:20 +00:00
.goods-name {
height: 76rpx;
line-height: 38rpx;
2020-07-24 11:48:57 +00:00
font-size: 28rpx;
color: #333;
}
2020-08-18 02:06:20 +00:00
> text:last-child {
2020-07-24 11:48:57 +00:00
font-size: 30rpx;
color: #ff3131;
}
2020-08-31 09:04:15 +00:00
2020-07-24 11:48:57 +00:00
}
}
2020-08-14 06:04:16 +00:00
.num {
2020-07-24 11:48:57 +00:00
height: 84rpx;
display: flex;
border-bottom: #ececec solid 2rpx;
justify-content: space-between;
align-items: center;
2020-08-14 06:04:16 +00:00
> text {
2020-07-24 11:48:57 +00:00
font-size: 26rpx;
color: #666;
}
}
}
2020-06-15 00:49:26 +00:00
}
</style>