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.
 
 
 
 
 
 

1382 lines
33 KiB

<template>
<view>
<uni-nav-bar :statusBar="true" left-icon="left" color="#000000" :leftWidth="navWidth" :rightWidth="navWidth" :fixed="true" @clickLeft="back">
<view class="input-view">
<uni-icons class="input-uni-icon" type="search" size="18" color="#999" />
<navigator url="/pages/index/search">
<input confirm-type="search" class="nav-bar-input" type="text" placeholder="search" />
</navigator>
</view>
<block slot="right">
<view class="nav_right">
<uni-badge :text="5" type="error" absolute="rightTop">
<image src="../../static/img/shop_cart.png" mode=""></image>
</uni-badge>
</view>
</block>
</uni-nav-bar>
<view class="uni-margin-wrap">
<uni-swiper-dot :info="goodsDate.gallery_list" :current="current" field="content" mode="nav" class="page_padding " :class="isVedio?'showVedio':''" >
<swiper class="swiper" @change="gridSwiper" :circular="true">
<swiper-item v-for="(item,index ) in goodsDate.gallery_list" :key="index">
<view class="swiper-item">
<image :src="item.img_url" class="swiper-item-image" mode="" @click="clickImg(index)"></image>
<!-- <img src="" alt="" class="swiper-item-image"> -->
<!-- <image src="../../static/img/play.png" class="vedio_play" mode="" ></image> -->
</view>
</swiper-item>
<!-- <swiper-item>
<view class="swiper-item uni-bg-green">
<view class="vedioControl">
<image src="/static/img/suspend.png" mode="" class="vedioControl_play"></image>
<view class="vedioControl_progress">
<progress :percent="50" stroke-width="3" activeColor="#B22234" />
<image src="/static/img/vedio_progress.png" mode="" class="vedio_progress"></image>
</view>
<view>00:14</view>
<image src="/static/img/zoom.png" mode="" class="vedioControl_zoom"></image>
</view>
<image src="/static/img/mute.png" mode="" class="vedio_mute"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-blue">C</view>
</swiper-item> -->
</swiper>
</uni-swiper-dot>
</view>
<view class="special" v-if="goodsDate.is_promote==1">
<view class="special_left">
<image src="../../static/img/naozhong.png" mode=""></image>
<text>Flash Sale</text>
</view>
<view class="special_right">
<text>End in</text>
<uni-countdown :showDay="false" :hour="23" :minute="0" :second="0" splitorColor="#FFFFFF" color="#FFFFFF" background-color="#B22234" class="countdown" />
<image src="../../static/img/right2.png" mode=""></image>
</view>
</view>
<view class="goods_info">
<view class="goods_info_price">
<text>US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</text>
<view class="info_price_right">
<image src="/static/img/like.png" mode="" v-show="goodsDate.is_attention==0" @click="addLike(goodsDate.id)"></image>
<image src="../../static/img/like1.png" mode="" v-show="goodsDate.is_attention==1" @click="removeLike(goodsDate.id)"></image>
<image src="../../static/img/share.png" mode=""></image>
</view>
</view>
<view>{{goodsDate.goods_name}} </view>
<view class="evaluate">
<uni-rate size="18" :disabled="true" disabledColor="red" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false" />
<view class="evaluate_text">{{goodsDate.comment_summary[0].commentcount==0?'0.0':'4.0'}}</view>
<text>({{goodsDate.comment_summary[0].commentcount}}reviews)</text>
</view>
<view class="variations">
<view class="variations_title">
<view class="variations_title_left">Variations</view>
<text>{{colorNum}}color</text>
</view>
<view >
<view v-for="(item,index) in goodsDate.attr_list" :key="index" class="variations_select">
<!-- <view class="variations_select_varieties" >
<view class="select_varieties_image" v-for="(item,index) in 3" :key="index"></view>
</view> -->
<view class="variations_select_size">
<view class="select_size_item" v-for="(item1,index1) in item.goods_attrs" :key="index1">{{item1.attr_value}}</view>
<!-- <view class="select_size_item">35</view>
<view class="select_size_item">M</view>
<view class="select_size_item">L</view> -->
</view>
</view>
</view>
</view>
</view>
<view class="promotion" v-if="goodsDate.is_promote==1">
<view class="promotion_title">Promotion</view>
<view class="promotion_content">
<view class="promotion_content_item">
<image src="/static/img/goods_lable.png" mode=""></image>
<view class="promotion_item_right">
<view class="title">5% OFF</view>
<text>ON ORDERS OF $39+</text>
</view>
</view>
<view class="promotion_content_item">
<image src="/static/img/goods_lable.png" mode=""></image>
<view class="promotion_item_right">
<view class="title">US5% OFF</view>
<text>ON ORDERS OF $39+</text>
</view>
</view>
</view>
</view>
<view class="transport">
<view class="goods_title">Shipping to {{addressDate.country_name || 'United States'}}</view>
<view class="goods_title title_Mtop">
<view class="goods_title_left">
<image src="/static/img/transport.png" mode=""></image>
<text>Delivery</text>
</view>
</view>
<scroll-view class="spike1 " scroll-x="true" :show-scrollbar="false">
<view class="spike1_item" v-for="(item,index) in 3" :key="index" >
<view class="spike1_item_title">
<view >
stankard shipping: <text class="text_black">US$12.5</text>
</view>
<view >
free on orders <text class="text_red">US$59</text>
</view>
<view >Estimated to be deliverd on </view>
<view >15/05/2022-04/05/2022.</view>
</view>
</view>
</scroll-view>
<view class="security">
<view class="goods_title" @click="isSecurity=true">
<view class="goods_title_left">
<image src="/static/img/security.png" mode=""></image>
<text>Shipping security</text>
</view>
<view class="goods_title_right">
<image src="../../static/img/right.png" mode=""></image>
</view>
</view>
<view class="security_content">
<ul>
<li>Safe Payments </li>
<li>Safe Payments </li>
</ul>
<ul>
<li>Secure Logistics </li>
<li>Secure Logistics </li>
</ul>
</view>
</view>
<view class="description goods_title">
<view class="goods_title_left">
<text>Description</text>
</view>
<view class="goods_title_right">
<!-- <view>#Iron #Pearls,Flowers #Fashionable</view> -->
<view>{{goodsDate.tags}}</view>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view>
</view>
<view class="reviews">
<view class="goods_title" @click="goReview">
<view class="goods_title_left">
<text>Reviews({{goodsDate.comment_summary[0].commentcount}})</text>
</view>
<view class="goods_title_right">
<image src="../../static/img/right.png" mode=""></image>
</view>
</view>
<view class="allReviews">
<text>{{goodsDate.comment_summary[0].commentcount==0?'0.0':'4.0'}}</text>
<uni-rate size="40" :disabled="true" disabledColor="red" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false"/>
</view>
<template v-if="goodsDate.comment_summary[0].commentcount==0">
<view class="reviews_no">No comment yet</view>
</template>
<template v-else>
<view class="reviews_item" v-for="(item,index) in goodsDate.comment_list" :key="index">
<view class="reviews_item_title">
<view class="reviews_title_user">
<text>{{item.user_name}}</text>
<uni-rate size="18" :disabled="true" disabledColor="red" :value="4" active-color="red" :is-fill="false"/>
</view>
<view class="reviews_title_time">{{item.add_time}}</view>
</view>
<view class="reviews_item_color">{{item.commentlabels}}</view>
<view class="reviews_item_content">{{item.content}}</view>
<view class="reviews_item_image">
<view class="reviews_image_content" v-for="(item,index) in 2" :key="index"></view>
</view>
</view>
</template>
</view>
<view class="productImage">
<template v-if="goodsDate.goods_desc">
<view class="productImage_title">Product lmage gallery</view>
<view class="productImage_image" v-html="goodsDate.goods_desc">
<!-- {{goodsDate.goods_desc}} -->
<!-- <image :src="goodsDate.goods_img" mode=""></image> -->
</view>
</template>
<view class="recommend recommend1" v-if="goodsDate.category_list">
<view class="recommend_title">Other options</view>
<scroll-view class="spike1 " scroll-x="true" :show-scrollbar="false">
<view class="spike1_item1" v-for="(item,index) in 8" :key="index" >
<view class="spike1_item_img"></view>
<view class="spike1_item_bottom">
<text>US$314.00</text>
</view>
</view>
</scroll-view>
</view>
<view class="productImage_image1">
<image :src="goodsDate.goods_thumb" mode=""></image>
</view>
<view class="recommend">
<view class="recommend_title">You might also like</view>
<view class="recommend_content">
<view class="recommend_content_item" v-for="(item,index) in catList " :key="index" @click="goDetails(item.id)">
<view class="recommend_content_item_image">
<image :src="item.thumb" mode=""></image>
</view>
<text>{{item.short_name}}</text>
<view class="recommend_content_item_pric">US${{item.is_promote==0? item.shop_price :item.promote_price}}</view>
</view>
</view>
</view>
</view>
<view class="footer">
<view class="footer_left">
<text>US${{goodsDate.is_promote==0? goodsDate.shop_price *cartQuery.goods_number:goodsDate.promote_price *cartQuery.goods_number}}</text>
</view>
<view class="footer_right">
<button @click="isCart=true">ADD TO CART</button>
</view>
</view>
<view class="mask" @click="isCart=false,isSecurity=false" v-show="isCart || isSecurity"></view>
<view class="order_popup" v-show="isSecurity">
<view class="order_popup_title">
<text>Shipping security</text>
<image src="../../static/img/close1.png" mode="" @click="isShow=false"></image>
</view>
<view class="securityDetails">
<view class="securityDetails_item">
<view class="securityDetails_item_title">Support 7-day return and replacement</view>
<view>
If there are quality problems or spillage damage within 7
days after receiving the goods, you can apply for return
and replacement Processing
</view>
</view>
<view class="securityDetails_item">
<view class="securityDetails_item_title">Private service</view>
<view>
The package is tightly packed and there is no sensitive
information on the express list
</view>
</view>
<view class="securityDetails_item">
<view class="securityDetails_item_title">Genuine guarantee</view>
<view>
t is guaranteed that there is no problem. All goods are
original and genuine products and brand authorized sales,
so as to eliminate one Cut fake goods to ensure your
shopping
</view>
</view>
</view>
</view>
<view class="addCard" v-show="isCart">
<image src="/static/img/close1.png" mode="" class="addCard_close" @click="isCart=false"></image>
<scroll-view class="spike1 " scroll-x="true" :show-scrollbar="false">
<image :src="item.img_url" mode="" class="addCard_scroll" v-for="(item,index) in goodsDate.gallery_list" :key="index" @click="clickImg(index)"></image>
</scroll-view>
<view class="addCard_body">
<view >{{goodsDate.goods_name}} </view>
<view class="addCard_price">US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</view>
<view v-for="(item,index) in goodsDate.attr_list" :key="item.attr_id">
<view >{{item.attr_name}}</view>
<view class="color_select variations_select_size">
<view class="select_size_item"
v-for="(item1,index1) in item.goods_attrs"
:key="item1.goods_attr_id"
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''"
@click="selectAttr(item.attr_id,item1.goods_attr_id,index)">
{{item1.attr_value}}
</view>
<!-- <view class="color_select_item" v-for="(item,index) in 3" :key="index" :class="index==0?'active_color':''">
<view class="color_select_item_zoom">
<image src="../../static/img/zoom.png" mode=""></image>
</view>
<image src="../../static/img/logo.png" mode=""></image>
<view class="color_select_item_bottom">021【Blue】</view>
</view> -->
</view>
</view>
<!-- <view >Size</view>
<view class="variations_select_size">
<view class="select_size_item">34</view>
<view class="select_size_item">35</view>
<view class="select_size_item">36</view>
<view class="select_size_item">37</view>
<view class="select_size_item">38</view>
<view class="select_size_item">M</view>
<view class="select_size_item">L</view>
</view> -->
<view class="quantity">
<text>Quantity</text>
<uni-number-box background="#FFFFFF" v-model="cartQuery.goods_number" :min="1"></uni-number-box>
</view>
<button @click="addCart">ADD TO CART</button>
</view>
</view>
</view>
</template>
<script>
import {defaultRequest,defaultRequest2,defaultRequest4} from '../../api/index.js'
export default {
data() {
return {
navWidth:'80rpx',
current:0,
isVedio:false,
isSecurity:false,
query:{
_action:'getgoodsdetail',
goods_id:''
},
info: [],
isCart:false,
goodsDate:{
comment_summary:[
{comment_summary:'',commentlabel: ""}
],
gallery_list:[
{content:''}
],
},
user_info:{},
addressDate:{},
colorNum:0,
//选择规格的数组
goods_attr_list:[],
// 获取该分类的其他商品的请求参数
catQuery:{
_action:'getgoods',
cat:'',
page_index:1,
page_size:10
},
catList:[],
isReachBottom:true,
// 添加到购物车请求参数
cartQuery:{
_action:'addtocart',
goods_id:'',
goods_parent_id:0,
goods_number:1,
goods_attr_id:'',
goods_is_package:0
}
}
},
methods:{
// 跳转到评论详情
goReview(){
uni.navigateTo({
url:'../account/myReview?goods_id='+this.query.goods_id
})
},
// 添加到购物车
addCart(){
if(this.goods_attr_list.length==0){
uni.showToast({
title:'Please select the product specification',
icon:'none'
})
return
}else{
let goods_attr_id=''
this.goods_attr_list.map(item=>{
if(item.goods_attr_id!=''){
goods_attr_id+=item.goods_attr_id+','
}
})
if(goods_attr_id==''){
uni.showToast({
title:'Please select the product specification',
icon:'none'
})
return
}
this.cartQuery.goods_attr_id=goods_attr_id.substring(0,goods_attr_id.lastIndexOf(','));
}
defaultRequest2(this.cartQuery).then(res=>{
console.info(res)
if(res.error==0){
if(res.data[0].success){
uni.showToast({
title:'Successfully added',
icon:'none'
})
}else{
uni.showToast({
title:res.data[0].message,
icon:'none'
})
}
}
})
},
// 点击预览图片
clickImg(index) {
wx.previewImage({
urls: this.info, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
current: index, // 当前显示图片的http链接,默认是第一个
indicator:'number',
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
// 其他商品详情
goDetails(id){
uni.navigateTo({
url:'index?goods_id='+id
})
},
// 获取该分类的其他商品
getCatList(type){
defaultRequest4(this.catQuery).then(res=>{
console.info(res)
if(res.error==0){
if(res.data){
if(type==0){
this.catList=res.data
}else{
this.catList=this.catList.concat(res.data)
}
}else{
this.isReachBottom=false
uni.showToast({
title: 'No more data yet',
icon:'none'
})
this.catQuery.page_index--
}
}
uni.hideNavigationBarLoading();
})
},
// 选择规格
selectAttr(attr_id,goods_attr_id,index){
let data={attr_id:attr_id,goods_attr_id:goods_attr_id}
if(this.goods_attr_list.length==0){
this.goods_attr_list.push(data)
}else{
// 判断是否有新的规格加入
let isNew=false
for(let i in this.goods_attr_list){
let item=this.goods_attr_list[i]
if(item.attr_id==attr_id){
if(item.goods_attr_id==goods_attr_id){
this.goods_attr_list[i].goods_attr_id=''
}else{
this.goods_attr_list[i].goods_attr_id=goods_attr_id
}
isNew=false
break
}else{
isNew=true
}
}
if(isNew){
this.goods_attr_list.splice(index,0,data)
}
}
},
// 添加收藏
addLike(id){
let data={_action:'setfaviouritegoods',goods_id:this.query.goods_id}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
title:res.message,
icon:'none'
})
this.goodsDate.is_attention=1
}
})
},
// 取消收藏
removeLike(id){
let data={_action:'unsetfaviouritegoods',goods_id:this.query.goods_id}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
title:res.message,
icon:'none'
})
this.goodsDate.is_attention=0
}
})
},
// 添加商品足迹
setFavorites(){
let data={_action:'setgoodsbrowsehistory',goods_id:this.query.goods_id}
defaultRequest2(data).then(res=>{
console.info(res)
})
},
// 获取默认地址
getDefaultAddress(){
let data={_action:'getdefaultconsignee'}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
this.addressDate=res.data
}
})
},
// 获取商品详情数据
getDate(){
defaultRequest(this.query).then(res=>{
console.info(res)
if(res.error==0){
this.goodsDate=res.data
this.goodsDate.gallery_list.map(item=>{
item.content=''
this.info.push(item.img_url)
})
if(this.goodsDate.attr_list){
this.goodsDate.attr_list.map(item=>{
if(item.attr_name=="Color"){
this.colorNum=item.goods_attrs.length
}
let data={goods_attr_id:'',attr_id:item.attr_id}
this.goods_attr_list.push(data)
})
}else{
this.goods_attr_list=[]
}
this.catQuery.cat=res.data.cat_id
this.getCatList(0)
}
})
},
//当录播有视屏时
gridSwiper(e){
// if(e.detail.current==1){
// this.isVedio=true
// }else{
// this.isVedio=false
// }
this.current = e.detail.current
},
back(){
uni.navigateBack()
}
},
onLoad(e) {
this.query.goods_id=e.goods_id
this.cartQuery.goods_id=e.goods_id
this.getDate()
this.user_info=uni.getStorageSync('user_info')
if(this.user_info.isLogin){
this.setFavorites()
this.getDefaultAddress()
}
},
// 上拉加载
onReachBottom(){
if(!this.isReachBottom)return
if(this.catQuery.page_index>=5){
uni.hideNavigationBarLoading();
uni.showToast({
title: 'No more data yet',
icon:'none'
})
}else{
this.catQuery.page_index++
this.getCatList(1)
}
},
onPullDownRefresh(){
uni.stopPullDownRefresh()
}
}
</script>
<style>
page{
background-color: #F6F5FA;
padding-bottom: 150rpx;
background-color: white;
}
</style>
<style lang="scss" scoped>
$nav-height: 30px;
.reviews_no{
padding: 30rpx;
text-align: center;
font-weight: bold;
}
.showVedio{
/deep/ .uni-swiper__dots-nav{
display: none;
}
}
/deep/ .uni-swiper__dots-nav{
background:none;
justify-content: center;
.uni-swiper__dots-nav-item{
padding: 6rpx 24.67rpx;
background-color: rgba(0, 0, 0, 0.2);
border-radius: 25rpx;
}
}
.securityDetails{
padding-top: 50.67rpx;
padding-bottom: 120rpx;
padding-left: 54.67rpx;
padding-right: 45.33rpx;
.securityDetails_item{
margin-bottom: 52rpx;
font-size: 24.67rpx;
font-weight: 400;
color: #999999;
&:last-child{
margin-bottom: 0;
}
.securityDetails_item_title{
position: relative;
color: #333333;
font-size: 30rpx;
font-weight: 500;
margin-bottom: 10.33rpx;
&:before{
content: "";
width: 6rpx;
height: 6rpx;
position: absolute;
border-radius: 50%;
background-color: #999999;
left: -25.67rpx;
top: 50%;
margin-top: -3rpx;
}
}
}
}
.variations_select_size{
margin-left: 20.67rpx;
display: flex;
flex-wrap: wrap;
.select_size_item{
background-color: #F8F8F8;
min-width: 121.33rpx;
height: 54.67rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 12.67rpx;
color: #666666;
font-size: 24rpx;
margin-right: 18.67rpx;
border: 1px solid #F8F8F8;
padding: 0 10rpx;
margin-bottom: 16.67rpx;
// &:nth-child(-n+2){
// margin-bottom: 16.67rpx;
// }
}
}
.addCard{
z-index: 999;
position: fixed;
bottom: 0;
left: 0;
background-color: white;
padding-left: 29.33rpx;
box-sizing: border-box;
padding-top: 54.67rpx;
width: 100%;
font-size: 30.67rpx;
font-weight: 400;
padding-bottom: 44.67rpx;
.addCard_close{
width: 21.33rpx;
height: 21.33rpx;
position: absolute;
right: 12.67rpx;
top: 12.67rpx;
}
.spike1{
margin-top: 0;
margin-bottom: 34rpx;
padding-bottom: 0;
border-bottom: none;
.addCard_scroll{
width: 286.67rpx;
height: 286.67rpx;
margin-left: 10.67rpx;
&:first-child{
margin-left: 0;
}
&:last-child{
margin-right: 15rpx;
}
}
}
.addCard_body{
padding-right: 31.33rpx;
.addCard_price{
font-size: 44rpx;
font-weight: 500;
margin-top: 27.33rpx;
margin-bottom: 51.33rpx;
}
.color_select{
display: flex;
font-size: 16.67rpx;
color: #666666;
flex-wrap: wrap;
margin-bottom: 59.33rpx;
.color_select_item{
margin-top: 22rpx;
position: relative;
background-color: #F9F7FA;
border-radius: 6.67rpx;
margin-right: 12.67rpx;
width: 134.67rpx;
image{
width: 134.67rpx;
height: 133.33rpx;
border-radius: 6.67rpx 6.67rpx 0 0;
}
.color_select_item_zoom{
width: 15.33rpx;
height: 15.33rpx;
background-color: rgba(0, 0, 0, 0.3);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
right: 12.67rpx;
top: 9.33rpx;
z-index: 99;
image{
width: 7.33rpx;
height: 7.33rpx;
}
}
.color_select_item_bottom{
padding: 12rpx 12rpx;
text-align: center;
}
}
.active_color{
color: #B22234;
background-color: white;
border: 1px solid #B22234;
}
}
.variations_select_size{
margin-left: 0;
margin-top: 26.67rpx;
margin-bottom: 40.67rpx;
.select_size_item{
margin-bottom: 16.67rpx !important;
&:nth-child(4n+4){
margin-right: 0;
}
}
}
.quantity{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 43.33rpx;
.uni-numbox{
border: 1px solid #999999;
border-radius: 14rpx;
height: 42.67rpx;
/deep/ .uni-numbox__minus{
border-radius: 14rpx;
}
/deep/.uni-numbox__plus{
border-radius: 14rpx;
}
/deep/.uni-numbox__value{
border-left: 1px solid #999999;
border-right: 1px solid #999999;
height: 100%;
width: 63.33rpx;
font-size: 21.33rpx;
}
}
}
button{
width: 100%;
height: 73.33rpx;
line-height: 73.33rpx;
background-color: #191919;
color: white;
font-weight: bold;
font-size: 26.67rpx;
}
}
}
.spike1{
white-space: nowrap;
width: 100%;
margin-top: 36.67rpx;
padding-bottom: 34rpx;
border-bottom: 1px solid #E2E2E2;
::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
}
.spike1_item{
width: 410rpx;
background-color: #F6F6F6;
padding: 21.33rpx 24.67rpx;
margin-right: 19.33rpx;
font-size: 20rpx;
display: inline-block;
color: #737373;
&:last-child{
margin-right: 0;
}
view{
margin-bottom: 10rpx;
}
.spike1_item_title{
font-weight: bold;
.text_black{
color: black;
display: inline-block;
margin-left: 10rpx;
}
.text_red{
color: #B22234;
display: inline-block;
margin-left: 10rpx;
}
}
}
.spike1_item1{
color: #191919;
font-size: 29.33rpx;
margin-right: 16.67rpx;
width: 200rpx;
display: inline-block;
font-weight: bold;
.spike1_item_img{
width: 200rpx;
height: 200rpx;
background-color: #999999;
}
.spike1_item_bottom{
padding-left: 9.33rpx;
margin-top: 22.67rpx;
.spike1_item_text{
color: #9D9D9D;
font-size: 21.33rpx;
text-decoration: line-through;
}
.spike1_item_text1{
color: #9D9D9D;
font-size: 21.33rpx;
}
}
.spike1_item_bottom1{
padding-left: 9.33rpx;
margin-top: 19.33rpx;
font-weight: bold;
.spike1_item_text{
color: #000000;
font-size: 16rpx;
font-weight: 400;
margin-bottom: 20.67rpx;
white-space: break-spaces;
}
}
}
.spike1_item:last-child{
margin-right: 0;
}
}
.goods_title{
display: flex;
align-items: center;
justify-content: space-between;
font-size: 29.33rpx;
font-weight: 600;
.goods_title_left{
display: flex;
align-items: center;
image{
width: 33.33rpx;
height: 33.33rpx;
margin-right: 14rpx;
}
}
.goods_title_right{
color: #737373;
display: flex;
align-items: center;
font-size: 24rpx;
font-weight: 400;
image{
width: 24rpx;
height: 24rpx;
margin-left: 22rpx;
}
}
}
.uni-margin-wrap{
width: 100%;
.swiper {
height: 750rpx;
.swiper-item {
display: block;
height: 750rpx;
// line-height: 750rpx;
text-align: center;
color: white;
position: relative;
.swiper-item-image{
width: 100%;
height: 100%;
}
.vedioControl{
position: absolute;
bottom: 18.67rpx;
width: 100%;
box-sizing: border-box;
padding-left: 36rpx;
padding-right: 31.33rpx;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 24rpx;
color: white;
.vedioControl_progress{
position: relative;
width: 476rpx;
progress{
width: 100%;
}
.vedio_progress{
width: 30rpx;
height: 30rpx;
position: absolute;
left: 50%;
margin-left: -15rpx;
top: 50%;
margin-top: -15rpx;
}
}
.vedioControl_play{
width: 52rpx;
height: 52rpx;
}
.vedioControl_zoom{
width: 30.67rpx;
height: 30.67rpx;
}
}
}
.vedio_mute{
width: 56rpx;
height: 56rpx;
position: absolute;
right: 22.67rpx;
bottom: 94.67rpx;
}
.vedio_play{
width: 100rpx;
height: 100rpx;
position: absolute;
top: 50%;
margin-top: -50rpx;
left: 50%;
margin-left: -50rpx;
}
.uni-bg-red{
background-color: red;
}
.uni-bg-green{
background-color: green;
}
.uni-bg-blue{
background-color: blue;
}
}
}
.uni-navbar{
font-size: 32rpx;
font-weight: bold;
.input-view {
/* #ifndef APP-PLUS-NVUE */
display: flex;
/* #endif */
flex-direction: row;
// width: 500rpx;
flex: 1;
background-color: #F7F7F7;
height: $nav-height;
border-radius: 15px;
padding: 0 15px;
flex-wrap: nowrap;
margin: 7px 0;
line-height: $nav-height;
}
.input-uni-icon {
line-height: $nav-height;
}
.nav-bar-input {
height: $nav-height;
line-height: $nav-height;
/* #ifdef APP-PLUS-NVUE */
width: 370rpx;
/* #endif */
padding: 0 5px;
font-size: 12px;
background-color: #F7F7F7;
font-weight: 500;
}
.nav_right{
padding-right: 30rpx;
image{
width: 44rpx;
height: 44rpx;
}
}
}
.goods_info{
padding: 0 26.67rpx;
padding-top: 60.67rpx;
padding-bottom: 35.33rpx;
border-bottom: #F7F7F7 13.33rpx solid;
font-size: 30.67rpx;
font-weight: 400;
.goods_info_price{
display: flex;
align-items: center;
font-size: 44rpx;
justify-content: space-between;
margin-bottom: 45.33rpx;
.info_price_right{
display: flex;
align-items: center;
image{
width: 40rpx;
height: 40rpx;
&:last-child{
margin-left: 27.33rpx;
}
}
}
}
.evaluate{
margin-top: 34.67rpx;
display: flex;
align-items: center;
font-size: 24rpx;
padding-bottom: 33.33rpx;
border-bottom: 1px solid #E2E2E2;
margin-bottom: 35.33rpx;
.evaluate_text{
font-weight: 500;
color: #B22234;
margin: 0 10rpx;
}
}
.variations{
font-size: 29.33rpx;
.variations_title{
display: flex;
align-items: center;
margin-bottom: 34.67rpx;
.variations_title_left{
font-weight: bold;
margin-right: 35rpx;
}
}
.variations_select{
display: flex;
align-items: center;
.variations_select_varieties{
display: flex;
.select_varieties_image{
width: 126.67rpx;
height: 126.67rpx;
margin-right: 9.33rpx;
background-color: #999999;
&:last-child{
margin-right: 0;
}
}
}
}
}
}
.promotion{
padding-top: 36rpx;
padding-left: 30.67rpx;
border-bottom: #F7F7F7 13.33rpx solid;
padding-bottom: 35.33rpx;
.promotion_title{
font-size: 29.33rpx;
font-weight: bold;
margin-bottom: 34rpx;
}
.promotion_content{
display: flex;
align-items: center;
color: #B22234;
font-size: 18rpx;
.promotion_content_item{
background-color: #FBFAF8;
padding: 20rpx 0;
padding-left: 22.67rpx;
display: flex;
align-items: center;
padding-right: 18rpx;
margin-right: 18.67rpx;
image{
width: 57.33rpx;
height: 57.33rpx;
}
.promotion_item_right{
margin-left: 8.67rpx;
.title{
font-weight: 600;
}
}
}
}
}
.transport{
padding: 0 26.67rpx;
padding-top: 37.33rpx;
border-bottom: #F7F7F7 13.33rpx solid;
.title_Mtop{
margin-top: 25.33rpx;
}
.security{
padding-top: 36rpx;
padding-bottom: 32.67rpx;
border-bottom: 1px solid #E2E2E2;
.security_content{
margin-top: 26rpx;
padding-left: 50rpx;
font-size: 24rpx;
font-weight: 400;
ul{
display: flex;
align-items: center;
padding-left: 0;
margin-bottom: 18.67rpx;
&:last-child{
margin-bottom: 0;
}
li{
margin-right: 64.67rpx;
}
}
}
}
.description{
padding: 34.67rpx 0;
}
}
.reviews{
border-bottom: #F7F7F7 13.33rpx solid;
padding: 0 26.67rpx;
padding-top: 36rpx;
.allReviews{
background-color: #F7F7F7;
display: flex;
align-items: center;
padding-left: 26.67rpx;
border-radius: 6.67rpx;
font-size: 66.67rpx;
font-weight: 800;
margin-top: 32.67rpx;
height: 118.67rpx;
text{
display: inline-block;
margin-right: 42rpx;
}
}
}
.productImage{
.productImage_title{
padding: 35.33rpx 36.67rpx;
font-size: 29.33rpx;
font-weight: bold;
}
.productImage_image{
width: 100%;
min-height: 788rpx;
margin-bottom: 62rpx;
// background-color: #999999;
image{
width: 100%;
height: 100%;
}
}
.productImage_image1{
width: 100%;
height: 532rpx;
// background-color: #999999;
image{
width: 100%;
height: 100%;
}
}
.recommend1{
padding-top: 0;
padding-right: 0;
.spike1{
border-bottom: none;
}
}
}
.footer{
padding: 42rpx 0;
padding-left: 27.33rpx;
padding-right: 19.33rpx;
background-color: white;
position: fixed;
bottom: 0;
width: 100%;
box-sizing: border-box;
border-top: 1px solid #F6F5FA;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 36rpx;
.footer_left{
font-weight: bold;
display: flex;
align-items: center;
}
.footer_right{
display: flex;
align-items: center;
font-weight: 400;
button{
height: 73.33rpx;
line-height: 73.33rpx;
background-color: #191919;
margin: 0;
font-size: 26.67rpx;
color: white;
border-radius: 0;
width: 383.33rpx;
}
}
}
.special{
background-image: url('@/static/img/special_bg.png');
background-size: 100% 100%;
width: 100%;
height: 72rpx;
display: flex;
align-items: center;
font-size: 32rpx;
color: white;
padding-left: 29.33rpx;
padding-right: 22rpx;
justify-content: space-between;
font-weight: bold;
box-sizing: border-box;
.special_left{
display: flex;
align-items: center;
font-family: Source Han Sans CN;
image{
width: 40rpx;
height: 40rpx;
margin-right: 16rpx;
}
}
.special_right{
display: flex;
align-items: center;
image{
width: 24rpx;
height: 24rpx;
}
.countdown{
margin: 0 12.67rpx;
}
}
}
</style>