时味苏州
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.

1131 lines
26 KiB

4 months ago
<template>
<view class="bg" id="bg" v-if="info">
4 months ago
<view class="scroll-all-box" id="menus">
<view :class="'scroll-menus fixed-menus'">
<view :class="'scroll-menu-item' + (type == 1 ? ' active' : '')" @click="changeMenu(1)">基本信息</view>
<view :class="'scroll-menu-item' + (type == 2 ? ' active' : '')" @click="changeMenu(2)">产品详情</view>
</view>
</view>
<view style="height: 88rpx"></view>
<view class="swipe-box info-box-query" id="box1">
4 months ago
<swiper class="swiper" :autoplay="true" :interval="3000" :duration="1000"
@change="swiperChange" circular>
<swiper-item v-if="info && info.videourl">
<video :src="showImg(info.videourl)" id="detailVideo"
:poster="showImg(info.headimg)"
@error="videoErrorCallback" controls
style="width: 100%;height: 100%;" object-fit="cover"
></video>
</swiper-item>
4 months ago
<swiper-item v-for="(item, index) in info.listimg" :key="item.id">
<view class="swiper-item">
<image class="item-img" :src="showImg(item)" mode="aspectFill"></image>
</view>
</swiper-item>
</swiper>
4 months ago
<!-- <view class="swiper-pointer">
4 months ago
<view :class="['cricle',swiperCurrent==i?'active':'']" v-for="(item,i) in info.listimg" :key="i"></view>
4 months ago
</view> -->
4 months ago
</view>
4 months ago
<view class="w-full relative " >
2 months ago
<view class="price-box " style="padding-bottom: 27rpx;">
4 months ago
<view class="flex flex-between" style="font-weight: 500;font-size: 24rpx;color: #666666;">
<view >
<text class="present-price">{{ info.price / 100 }}</text>
/
4 months ago
</view>
7 days ago
<view>
<text v-if="supplierInfo&&supplierInfo.sill_money>0" style="padding-right: 8rpx;">全店满{{supplierInfo.sill_money/100||0}}包邮 |</text>
7 days ago
<text>已售{{info.sales_number || 0}}</text>
</view>
4 months ago
</view>
4 months ago
4 months ago
<view class="title text-overflowRows">{{ info.title }}</view>
4 months ago
<view class="title text-overflowRows" style="font-weight: 500;font-size: 24rpx;color: #999999;">{{ info.subtitle }}</view>
2 months ago
<view class="tag no-scrollbar" v-if="info.delivery_method">
<view class="tag-item" v-for="(item, index) in info.delivery_method_str" :key="index">
支持{{ item }}
4 months ago
</view>
</view>
1 month ago
<view class="cert-box" style="padding-top: 1rpx;" v-if="certObj">
<view v-for="(item,key) in certObj" :key="key" class="cert-item flex-between" @click="viewImage(item)">
<image v-if="key==1" src="https://static.ticket.sz-trip.com/uploads/20250916/927117700e11004a0c332b535bb249b6.png"></image>
<image v-if="key==2" src="https://static.ticket.sz-trip.com/uploads/20250916/de42d3e5c17462615e6f22246c3ea24f.png"></image>
<image v-if="key==3" src="https://static.ticket.sz-trip.com/uploads/20250916/b63681844b2b85aec5e087cf89d5acf5.png"></image>
<image v-if="key==4" src="https://static.ticket.sz-trip.com/uploads/20250916/001b09bc6e33251f1817c3af71e1e8ff.png"></image>
<view class="cert-content flex-1 w-1rpx flex-between">
<view class="cert-text flex-1 w-1rpx" style="padding-left: 13rpx;">
1 month ago
<view v-if="key==1">绿色食品</view>
<view v-if="key==2">中国有机产品</view>
<view v-if="key==3">江苏食用农产品合格证</view>
<view v-if="key==4">农产品地理标志</view>
<view style="padding-top: 10rpx;">{{item.number}}</view>
</view>
<view class="view-icon flex-shrink-0">
查看<uni-icons type="right" color="#6A8A2D" size="12"></uni-icons>
</view>
</view>
</view>
</view>
4 months ago
</view>
2 months ago
<view class="price-box display-tag text-overflow" v-if="info.display_tags">
限制{{info.display_tags.split(',').join(' | ')}}
</view>
<view style="width: 100%;height: 20rpx;background: #F7F7F7;"></view>
<commentListVue v-if="id" :prodId="id"></commentListVue>
4 months ago
2 months ago
<view class="price-box supplier-box" style="margin-top: 20rpx;" v-if="supplierInfo">
<image v-if="supplierInfo.headimg" class="supplier-image" :src="supplierInfo.headimg"></image>
<view class="supplier-content">
<view class="text-overflowRows">{{supplierInfo.shop_name}}</view>
<view class="tags" v-if="supplierInfo.display_tags">
<view class="tags-item" v-for="(item,i) in supplierInfo.display_tags.split(',')" :key="i">
{{item}}
</view>
</view>
</view>
<view class="supplier-btn" @click="goShopDetail(supplierInfo.id)">
进店
</view>
</view>
4 months ago
<view class="price-box info-box-query" id="box2" style="margin-top: 20rpx;">
4 months ago
<view class="pro-title">产品详情</view>
<view class="notice" >
<view class="rich-text" v-html="formateRichText(info.content)"></view>
4 months ago
</view>
</view>
</view>
4 months ago
<view class="btn-list" >
<view class="left-box flex-between">
<view class="img-box" v-if="supplierInfo" @click="goShopDetail(supplierInfo.id)">
<image src="https://static.ticket.sz-trip.com/uploads/20250820/ead79154bae29fde0cd05b41539a1a74.png" mode="aspectFill"></image>
<view class="text">店铺</view>
</view>
4 months ago
<button id="contact" open-type="contact" bindcontact="handleContact" session-from="sessionFrom">
<view class="img-box">
<image src="https://static.ticket.sz-trip.com/uploads/20250820/194e12115940d2c67619a2d1fd9120c3.png" mode="aspectFill"></image>
<view class="text">客服</view>
4 months ago
</view>
</button>
<view class="img-box" style="position: relative;" @click="goCartPage()">
<image src="https://static.ticket.sz-trip.com/uploads/20250820/17eeecf12ba9fdc56bce3b84fd5fb45f.png" mode="aspectFill"></image>
<view class="text">购物车</view>
<view class="cartNum" v-if="cartNum">{{cartNum}}</view>
</view>
4 months ago
</view>
<view class="btn-post">
<view class="left-btn-buy" @click="openPop(true)">加入购物车</view>
<view class="right-btn-buy" @click="openPop(false)">立即购买</view>
</view>
</view>
4 months ago
4 months ago
4 months ago
<uni-popup ref="popup" type="bottom" @change="changPopShow" :safe-area="false" style="position: relative;z-index: 99;">
4 months ago
<view class="popup-content" v-if="sku.length>0">
4 months ago
<view style="padding: 0rpx 39rpx 50rpx 39rpx;">
4 months ago
<view @click="closePopup" style="padding: 31rpx 0 0 639rpx;width: 50rpx;height: 80rpx;">
<uni-icons type="closeempty" size="24"></uni-icons>
</view>
<view class="bottom-productImg">
3 weeks ago
<image :src="showImg(sku[productIndex].headimg)" alt=""></image>
4 months ago
<view class="right-content">
<view class="bottom-productPrice com-price">{{(sku[productIndex].price||0)/100}}</view>
<view class="bottom-content">已选择{{sku[productIndex].sku_name}}</view>
3 weeks ago
<view class="buy-num com-flex-tao">
<view class="number-btn">
<view>
<text @click="delNumber">-</text>
</view>
<view style="flex: 1;">{{ buyNum }}</view>
<view>
<text @click="addNumber">+</text>
</view>
</view>
</view>
4 months ago
</view>
</view>
<view>
4 months ago
<view class="sp">规格</view>
<view class="sp-container" style="">
3 weeks ago
<view style="position:relative;max-width: 100%;" v-for="(botItem,botIndex) in sku" :key="botIndex">
4 months ago
<view :class="['botProduct','text-overflow',{'noStore':botItem.store==0},{'botProducts':productIndex==botIndex}]"
@click="changeProduct(botItem,botIndex)">
3 weeks ago
<image :src="showImg(botItem.headimg)"></image>
<view class="sku-name">{{botItem.sku_name}}</view>
4 months ago
</view>
<view class="noStore-text" v-if="botItem.store==0">
不可购买
</view>
</view>
</view>
</view>
3 weeks ago
<view class="flex-between" style="padding-top: 20rpx;" v-if="sku[productIndex]&&addCart">
2 months ago
配送方式
<view class="flex-center" >
<view class="flex-center" v-if="sku[productIndex].use_type!=1" @click="changeSelectSkuPost(1)">
<view class="select-cycle" v-show="sku[productIndex].user_type!==1"></view>
<view class="select-cycle selected" v-show="sku[productIndex].user_type===1">
<image src="https://static.ticket.sz-trip.com/uploads/20250617/c87afc2e461a01af35c71fb46ef0859d.png">
</view>
<view style="padding:0 30rpx 0 10rpx;">邮寄</view>
</view>
<view class="flex-center" v-if="sku[productIndex].use_type!=0" @click="changeSelectSkuPost(2)">
<view class="select-cycle" v-show="sku[productIndex].user_type!==2"></view>
<view class="select-cycle selected" v-show="sku[productIndex].user_type===2">
<image src="https://static.ticket.sz-trip.com/uploads/20250617/c87afc2e461a01af35c71fb46ef0859d.png">
</view>
<view style="padding:0 30rpx 0 10rpx;">自提</view>
</view>
<view class="flex-center" v-if="sku[productIndex].is_delivery" @click="changeSelectSkuPost(3)">
<view class="select-cycle" v-show="sku[productIndex].user_type!==3"></view>
<view class="select-cycle selected" v-show="sku[productIndex].user_type===3">
<image src="https://static.ticket.sz-trip.com/uploads/20250617/c87afc2e461a01af35c71fb46ef0859d.png">
</view>
<view style="padding:0 10rpx;">配送</view>
</view>
</view>
</view>
4 months ago
</view>
4 months ago
<view class="sp-bottom-btn">
<view class="btn" @click="openPop">{{addCart?"加入购物车":"立即购买"}}</view>
</view>
</view>
4 months ago
</uni-popup>
</view>
</template>
<script>
import commentListVue from '../../components/commentList.vue';
4 months ago
import cartDataVue from '../../components/cartData.vue'
export default {
components: {cartDataVue,commentListVue},
4 months ago
data() {
return {
4 months ago
down: false,
type: 1,
fixed: false,
4 months ago
swiperCurrent: 0,
id: null,
info: null,
sku: [],
productIndex: 0,
showLength: 0,
buyNum: 1,
popShow: false,
4 months ago
addCart: false,
4 months ago
cartNum: 0,
2 months ago
supplierInfo: null,
4 months ago
1 month ago
certObj: null,
4 months ago
};
},
4 months ago
onPageScroll(e){
let query = uni.createSelectorQuery()
if (this.down) {
return
}else{
this.down = true
query.selectAll(".info-box-query").boundingClientRect(res=>{
let i = res.findLastIndex(v=>v.top-100<=0)
if (i>=0) {
this.type = i+1
}
}).exec()
this.down = false
}
},
4 months ago
onLoad(option) {
this.id = option.id;
this.getInfo();
4 months ago
this.getCartList()
4 months ago
},
methods: {
videoErrorCallback(e) {
uni.showModal({
content: e.target.errMsg,
showCancel: false
})
},
1 month ago
viewImage (item) {
let image = "";
if (item.image) {
image = this.showImg(item.image)
uni.previewImage({
urls: [image]
})
}
},
4 months ago
changPopShow (e) {
this.popShow = e.show
},
getInfo() {
this.Post({id: this.id},
'/api/product/get_product_detail').then(res => {
if (res.code !== 1) {
uni.showToast({
title: '商品不存在或已下架',
icon: 'none'
})
setTimeout(() => {
this.goBack()
}, 2000)
return
}
2 months ago
let data = res.data;
if (data.delivery_method) {
data.delivery_method_str = this.getDeliveryMethodStr(data.delivery_method,)
}
console.log(data)
this.info = data;
this.sku = data.sku || []
1 month ago
if (res.data.product_certification_data) {
try {
this.certObj = JSON.parse(res.data.product_certification_data)
console.log(this.certObj["1"])
} catch (e) {}
}
2 months ago
this.getSupplierInfo(res.data.supplier_id)
this.shareParam = {title: this.info.title, imageUrl: this.info.headimg}
4 months ago
});
},
2 months ago
getSupplierInfo (supplier_id) {
this.Post({supplier_id: supplier_id},
'/api/supplier/get_supplier_detail').then(res => {
if (res.code == 1) {
this.supplierInfo = res.data;
}
});
},
goShopDetail(id) {
uni.navigateTo({
url:"/subPackages/search/shopResult?id="+id
})
},
4 months ago
//数量加减
addNumber() {
this.buyNum += 1;
},
delNumber() {
if (this.buyNum <= 1) {
return;
}
this.buyNum -= 1;
},
closePopup() {
this.$refs.popup.close()
},
// false 下单 true 加入购物车
openPop(flag) {
if (!this.sku||this.sku.length<=0) {
uni.showToast({
title:'暂无可选规格',
icon:'none'
})
return
}
if (!this.popShow) {
4 months ago
this.addCart = flag
4 months ago
this.$refs.popup.open()
} else {
4 months ago
if (this.addCart) {
4 months ago
this.addToCart()
} else {
this.order()
}
}
},
order(item) {
let goods = this.sku[this.productIndex]
goods.buyNum = this.buyNum
let orderInfo = [{
pInfo: this.info,
sInfo: goods,
// post: 0,
}]
2 months ago
let data = {
list1: orderInfo,list2:[], list3: []
}
4 months ago
2 months ago
this.$store.commit("changeTechanOrderList", data);
4 months ago
uni.navigateTo({
url: '/subPackages/techan/order'
});
},
addToCart () {
4 months ago
let goods = this.sku[this.productIndex]
2 months ago
if (![1,2,3].includes(goods.user_type)) {
uni.showToast({
title: "请选择配送方式",
icon:"none"
})
return
}
4 months ago
goods.buyNum = this.buyNum
2 months ago
this.Post({sku_id: goods.id,num: this.buyNum,delivery_method: goods.user_type},'/api/cart/add_sku').then(res => {
4 months ago
if (res.code == 1) {
4 months ago
uni.showToast({title: res.msg,icon: 'none'});
4 months ago
uni.$emit("updateDataByConnect", {msgType:'updateCartDataInfo',data:null})
4 months ago
this.closePopup()
4 months ago
this.getCartList()
4 months ago
// this.$refs.cartDataVueRef.openPop()
}
});
},
4 months ago
4 months ago
changeProduct(item,index) {
if (item.store==0) {
uni.showToast({
title:"库存不足!",
icon:'none'
})
return
}
this.productIndex = index
},
2 months ago
changeSelectSkuPost (val) {
let sInfo = this.sku[this.productIndex]
if (sInfo) {
this.$set(sInfo, "user_type",val)
}
},
4 months ago
// 购物车
4 months ago
getCartList () {
2 months ago
this.Post({noForceLogin: true},'/api/cart/get_cart_count').then(res=>{
4 months ago
this.cartNum = res.data || 0
4 months ago
})
4 months ago
},
swiperChange (e) {
this.swiperCurrent = e.detail.current
},
4 months ago
changeMenu(e) {
this.down = true
let index = e;
let that = this
const query = uni.createSelectorQuery(); //创建节点查询器
query.select('#box'+index).boundingClientRect(); //选择toViewid获取位置信息
query.selectViewport().scrollOffset(); //获取页面查询位置的
query.exec(function (res) {
console.log(res)
let scrollTop = res[0].top + res[1].scrollTop;
uni.pageScrollTo({
scrollTop: scrollTop-50,
duration: 200,
fail: (e)=>{
console.log(e)
},
complete: ()=>{
that.type = index
setTimeout(()=>{that.down = false},1000)
}
});
});
},
4 months ago
},
onReachBottom() {
}
};
</script>
<style lang="scss" scoped>
.bg {
min-height: 100vh;
overflow-x: hidden;
4 months ago
background: #F7F7F7;;
4 months ago
padding-bottom: 210rpx;
}
view {
box-sizing: border-box;
}
.swipe-box {
2 months ago
height: 750rpx;
4 months ago
position: relative;
.swiper {
2 months ago
height: 750rpx;
4 months ago
position: relative;
.swiper-item {
width: 100%;
2 months ago
height: 750rpx;
4 months ago
.item-img {
width: 750rpx;
2 months ago
height: 750rpx;
4 months ago
}
}
}
.swiper-pointer{
position: absolute;
right: 10rpx;
bottom: 40rpx;
display: flex;
}
.cricle{
width: 14rpx;
height: 14rpx;
background: rgba(255,255,255,0.3);
border-radius: 50%;
margin-left: 10rpx;
}
.cricle.active{
background: white;
}
}
button {
margin: 0;
padding: 0;
outline: none;
border-radius: 0;
background-color: transparent;
line-height: inherit;
}
button::after {
border: none;
}
.swipe-box {
2 months ago
height: 750rpx;
4 months ago
position: relative;
.swiper-item-num {
width: 90rpx;
height: 40rpx;
background: rgba(0, 0, 0, 0.5);
border-radius: 20rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #ffffff;
text-align: center;
line-height: 40rpx;
position: absolute;
right: 30rpx;
bottom: 50rpx;
}
}
.swiper {
2 months ago
height: 750rpx;
4 months ago
position: relative;
.swiper-item {
width: 100%;
2 months ago
height: 750rpx;
4 months ago
.item-img {
width: 750rpx;
2 months ago
height: 750rpx;
4 months ago
}
}
}
.pro-title{
font-weight: bold;
4 months ago
font-size: 35rpx;
color: #010101;
4 months ago
}
.price-box {
width: 100%;
background: #ffffff;
4 months ago
padding: 40rpx 24rpx;
4 months ago
4 months ago
.present-price {
font-size: 42rpx;
font-family: PingFang SC;
font-weight: bold;
color: #C3282E;
&:before {
content: '¥';
display: inline-block;
font-size: 26rpx;
4 months ago
}
}
4 months ago
4 months ago
.tag {
margin:24rpx 0 15rpx 0;
display: flex;
align-items: center;
flex-wrap: nowrap;
overflow-x: auto;
.tag-item {
margin-right: 14rpx;
font-family: PingFangSC;
4 months ago
padding: 7rpx 14rpx;
4 months ago
flex-shrink: 0;
4 months ago
border-radius: 5rpx 4rpx 4rpx 5rpx;
border: 1px solid #6A8A27;
4 months ago
font-weight: 500;
font-size: 24rpx;
4 months ago
color: #6A8A27;
4 months ago
}
}
.title {
margin-top: 20rpx;
font-family: PingFang;
font-weight: bold;
font-size: 31rpx;
color: #000000;
}
}
4 months ago
.limit{
border-top: 1px solid #D8D8D8;
padding: 27rpx 24rpx;
width: 100%;
background: #FFFFFF;
}
4 months ago
.notice {
4 months ago
padding: 35rpx 0;
4 months ago
width: 100%;
}
.tab {
width: 750rpx;
height: 88rpx;
background: #ffffff;
box-shadow: 0px 1rpx 0px 0px rgba(227, 229, 232, 1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 32rpx;
position: fixed;
top: 0;
.tab-item {
height: 88rpx;
position: relative;
line-height: 88rpx;
.tab-text {
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #393b3e;
}
.act-text {
font-size: 30rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #000000;
}
.tab-line {
width: 60rpx;
height: 6rpx;
background: #08c59b;
border-radius: 3rpx;
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-30rpx, 0);
}
}
}
.btn-list {
position: fixed;
4 months ago
z-index: 50;
4 months ago
bottom: 0;
width: 750rpx;
4 months ago
height: 140rpx;
4 months ago
background: #FFFFFF;
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(6, 0, 1, 0.1);
display: flex;
justify-content: space-between;
2 months ago
padding: 30rpx 26rpx 0 ;
4 months ago
.left-box {
display: flex;
align-items: flex-start;
flex: 1;
width: 100rpx;
padding-right: 50rpx;
4 months ago
.bottom-price{
display: flex;
align-items: baseline;
font-family: PingFang SC;
font-weight: bold;
font-size: 27rpx;
color: #F84A56;
padding-top: 20rpx;
.bottom-price-yuan{
font-size: 40rpx;
}
}
.bottom-detail-icon{
font-size: 24rpx;
display: flex;
align-items: center;
}
.img-box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
image {
width: 44rpx;
height: 44rpx;
4 months ago
}
.text {
font-size: 24rpx;
font-family: PingFangSC;
font-weight: 400;
color: #666666;
}
}
}
.btn-buy {
width: 293rpx;
height: 78rpx;
background: #C3282E;
border-radius: 40rpx;
text-align: center;
line-height: 78rpx;
font-size: 32rpx;
font-family: PingFangSC;
font-weight: 500;
color: #FFFFFF;
}
}
.popup-content {
background-color: white;
height: auto;
border-radius: 20rpx 20rpx 0 0;
4 months ago
4 months ago
.bottom-productImg {
display: flex;
margin-bottom: 23rpx;
4 months ago
flex-shrink: 0;
3 weeks ago
image {
width: 173.33rpx;
height: 173.33rpx;
background: #666666;
border-radius: 13rpx;
}
4 months ago
}
.right-content {
3 weeks ago
padding-left: 14rpx;
4 months ago
flex: 1;
width: 1rpx;
3 weeks ago
.bottom-productPrice {
font-size: 40rpx;
color: #FC524B;
&:before {
content: "¥";
font-size: 26rpx;
}
}
.bottom-content {
width: 100%;
font-size: 27rpx;
font-family: PingFang SC;
font-weight: 400;
color: #666666;
4 months ago
}
}
3 weeks ago
4 months ago
.botProduct {
position: relative;
3 weeks ago
min-height: 67rpx;
border-radius: 13rpx;
margin-bottom: 34rpx;
max-width: 100%;
padding-right:15rpx;
3 weeks ago
min-width: 320rpx;
3 weeks ago
background: #EFEFEF;
display: flex;
align-items: center;
box-sizing: border-box;
color: #333;
width: fit-content;
&>image{
width: 67rpx;
height: 67rpx;
border-radius: 13rpx;
flex-shrink: 0;
}
.sku-name{
flex: 1;
padding-left: 15rpx;
white-space: normal;
font-size: 27rpx;
3 weeks ago
word-break: break-all;
3 weeks ago
}
4 months ago
}
.noStore{
background-color: rgba(239, 239, 239, 1);
color: rgba(153, 153, 153, 1);
}
.noStore-text{
width: 113rpx;
height: 43rpx;
background: #C0C0C0;
border-radius: 7rpx 0rpx 7rpx 0rpx;
text-align: center;
line-height: 43rpx;
position: absolute;
right: -14rpx;
top: -20rpx;
font-size: 23rpx;
font-family: PingFangSC;
font-weight: 400;
color: #FFFFFF;
}
.botProducts {
3 weeks ago
color: #6A8A27;
border: 1px solid #6A8A27;
4 months ago
}
.buy-num {
3 weeks ago
font-weight: 500;
font-size: 31rpx;
color: #000000;
4 months ago
color: #333333;
4 months ago
display: flex;
align-items: center;
4 months ago
justify-content: space-between;
3 weeks ago
width: 233rpx;
height: 53rpx;
background: #EFEFEF;
border-radius: 13rpx;
margin-top: 25rpx;
.number-btn {
display: flex;
height: 100%;
width: 100%;
view {
display: flex;
justify-content: center;
align-items: center;
width: 69rpx;
height: 100%;
}
}
4 months ago
}
.buy-btn {
width: 670rpx;
height: 78rpx;
text-align: center;
line-height: 78rpx;
background: linear-gradient(90deg, #F84A56, #FF9834);
border-radius: 40rpx;
font-size: 34rpx;
font-family: PingFangSC;
font-weight: 500;
color: #FFFFFF;
}
.btn-box {
width: 750rpx;
height: 151rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(6, 0, 1, 0.1);
display: flex;
align-items: center;
justify-content: center;
}
4 months ago
4 months ago
.sp {
width: 100%;
height: 30rpx;
font-size: 32rpx;
font-family: PingFangSC;
font-weight: 400;
color: #060001;
line-height: 30rpx;
border-top: solid 2rpx #ccc;
4 months ago
margin: 32rpx 0 60rpx;
4 months ago
padding-top: 30rpx;
4 months ago
}
4 months ago
.sp-container{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
3 weeks ago
min-height: 400rpx;
max-height: 600rpx;
4 months ago
overflow-y: auto;
overflow-x: hidden;
3 weeks ago
align-content: flex-start
4 months ago
}
.sp-bottom-btn{
width: 750rpx;
height: 151rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(6, 0, 1, 0.1);
display: flex;
align-items: center;
justify-content: center;
.btn{
width: 697rpx;
height: 73rpx;
background: #6A8A2D;
border-radius: 11rpx;
font-weight: bold;
font-size: 32rpx;
color: #FFFFFF;
text-align: center;
line-height: 73rpx;
}
}
4 months ago
4 months ago
}
4 months ago
4 months ago
4 months ago
.btn-post{
4 months ago
font-size: 31rpx;
4 months ago
font-family: PingFangSC;
4 months ago
font-weight: bold;
4 months ago
color: #FFFFFF;
4 months ago
line-height: 60rpx;
4 months ago
text-align: center;
display: flex;
flex-shrink: 0;
4 months ago
.left-btn-buy{
2 months ago
width: 200rpx;
height: 75rpx;
line-height: 75rpx;
4 months ago
color: #6A8A27;
background: #D3E8A7;
2 months ago
border-radius: 20rpx 0rpx 0rpx 20rpx;
4 months ago
}
.right-btn-buy{
2 months ago
width: 200rpx;
height: 75rpx;
line-height: 75rpx;
4 months ago
background: #6A8A27;
2 months ago
border-radius: 0rpx 20rpx 20rpx 0rpx;
4 months ago
}
}
4 months ago
.add-cart-icon{
width: 80rpx;
height: 80rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0,0,0,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: fixed;
4 months ago
bottom: 200rpx;
4 months ago
right: 20rpx;
z-index: 10;
image{
width: 43.33rpx;
height: 42rpx;
}
}
4 months ago
.scroll-all-box {
background-color: #fff;
7 days ago
4 months ago
.scroll-menus {
padding: 0 40rpx;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 29rpx;
color: #333;
height: 84rpx;
padding-bottom: 12rpx;
.scroll-menu-item {
position: relative;
line-height: 84rpx;
flex: 1;
flex-shrink: 0;
text-align: center;
font-weight: bold;
font-size: 31rpx;
color: #010101;
}
.scroll-menu-item.active::after {
content: '1';
font-size: 0;
display: block;
position: absolute;
width: 73rpx;
height: 6rpx;
border-radius: 3rpx;
background: #6A8A27;
left: 50%;
margin-left: -37rpx;
bottom: 0rpx;
}
}
.fixed-menus {
position: fixed;
top: 0;
left: 0;
right: 0;
background: white;
z-index: 1;
7 days ago
// #ifdef H5
top: 86rpx;
// #endif
4 months ago
}
}
2 months ago
.select-cycle{
width: 40rpx;
height: 40rpx;
border-radius: 50%;
border: 1px solid #999999;
image{
width: 100%;
height: 100%;
}
}
.select-cycle.selected {
border: none;
image{
width: 40rpx;
height: 40rpx;
border-radius: 50%;
}
}
.display-tag{
font-weight: 500;
font-size: 24rpx;
color: #111111;
padding: 27rpx;
border-top: 1px solid #D8D8D8;
}
2 months ago
.supplier-box{
display: flex;
align-items: center;
padding: 28rpx 23rpx;
.supplier-image{
width: 113.07rpx;
height: 113.07rpx;
border-radius: 50%;
flex-shrink: 0 ;
}
.supplier-content{
flex: 1;
width: 1px;
padding: 0 50rpx 0 20rpx;
height: 113.07rpx;
display: flex;
flex-direction: column;
justify-content: center;
font-weight: bold;
font-size: 32rpx;
color: #010101;
}
.supplier-btn{
flex-shrink: 0;
width: 133rpx;
height: 55rpx;
background: #6A8A2D;
border-radius: 13rpx;
font-weight: 500;
font-size: 31rpx;
color: #FFFFFF;
text-align: center;
line-height: 55rpx;
}
.tags{
display: flex;
width: 100%;
overflow: hidden;
padding-top: 10rpx;
.tags-item{
padding: 4rpx 10rpx;
font-weight: 500;
font-size: 24rpx;
color: #6A8A27;
border-radius: 5rpx 4rpx 4rpx 5rpx;
border: 1px solid #6A8A27;
margin-right: 15rpx;
}
}
}
.cartNum{
width: 28rpx;
height: 28rpx;
background: #DC2525;
border-radius: 50%;
border: 1px solid #DC2525;
font-weight: normal;
font-size: 23rpx;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: -10rpx;
right: -6rpx;
}
.cert-item{
width: 100%;
height: 93.33rpx;
padding: 3.33rpx 23rpx 3.33rpx 3.33rpx;
background: #EBF4D7;
font-weight: 500;
font-size: 24rpx;
color: #6A8A2D;
border-radius: 7rpx;
margin-top: 13rpx;
image{
height: 100%;
width: 86.67rpx;
flex-shrink: 0;
}
}
4 months ago
</style>