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.
1526 lines
31 KiB
1526 lines
31 KiB
<template>
|
|
<view class="detail">
|
|
|
|
<u-navbar>
|
|
<view class="slot-wrap">
|
|
<input type="text" @click="toSearch()" disabled placeholder="iPhone15" class="searInput" />
|
|
</view>
|
|
</u-navbar>
|
|
|
|
<view class="head">
|
|
<view class="share">
|
|
<view class="sp"></view>
|
|
<button open-type="share"></button>
|
|
<image src="/static/detail/share.png" mode="" class="shareIcon" @click="shareImg"></image>
|
|
</view>
|
|
<view class="swiper">
|
|
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay"
|
|
:interval="interval" :duration="duration">
|
|
<swiper-item v-for="(item,index) in goods.goods_images" :key="index">
|
|
<image :src="item.preview_url" mode="" class="goodsImg"></image>
|
|
</swiper-item>
|
|
|
|
</swiper>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="goodsInfo">
|
|
<view class="goodsPrice">
|
|
<view class="left">
|
|
<view class="leftPrice">
|
|
<text>¥</text>{{goods.goods_price_min}}
|
|
</view>
|
|
<view class="sellPrice" v-if="goods.goods_price_min_dealer">
|
|
<text class="sellLeft">分销价</text>¥{{goods.goods_price_min_dealer}}
|
|
</view>
|
|
</view>
|
|
<view class="right">
|
|
<view class="rightPrice">
|
|
¥{{goods.line_price_min}}
|
|
</view>
|
|
<view class="rightInfo">
|
|
降价通知
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- v-if="userInfo.user_type==10" -->
|
|
<view class="pro">
|
|
<view class="proMem">
|
|
<text v-if="userInfo.user_type==10">Plus</text>
|
|
<text v-if="userInfo.user_type==20">分销</text>
|
|
PRO会员
|
|
</view>
|
|
<view class="proInfo">
|
|
开通<text v-if="userInfo.user_type==10">Plus</text>
|
|
<text v-if="userInfo.user_type==20">分销</text>会员预计再省
|
|
</view>
|
|
<view class="proBtn" @click="goMember">
|
|
立即开通
|
|
</view>
|
|
</view>
|
|
<view class="goodsDetail">
|
|
<view class="goodsName">
|
|
{{goods.goods_name}}
|
|
</view>
|
|
<view class="goodsOpera">
|
|
<view class="goodsNum" @click="copyNum" v-if="goods.skuList.length>0">
|
|
<text>{{goods.skuList[0].goods_sku_id}}</text>
|
|
<image src="/static/detail/copy.png" mode=""></image>
|
|
</view>
|
|
<view class="operaImg">
|
|
<image src="/static/detail/tip.png" mode="" class="tips"></image>
|
|
<image src="/static/detail/ys.png" mode="" class="ys"></image>
|
|
</view>
|
|
</view>
|
|
<view class="rank" @click="goRanking" v-if="goods.paihang>0">
|
|
<text>排行榜 {{goods.category.name}}热搜榜第{{goods.paihang}}名</text>
|
|
<image src="/static/detail/rightIcon.png" mode=""></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="orderInfo">
|
|
<!-- -->
|
|
<view class="chosed" @click="choseSku" v-if="goods.spec_type == 20">
|
|
<view class="title">已选</view>
|
|
<view class="info" v-for="(item, index) in goods.specList" :key="index">{{ item.spec_name }}</view>
|
|
</view>
|
|
<view class="chosed">
|
|
<view class="title">送至</view>
|
|
<view class="info">
|
|
<view class="infoLeft">
|
|
现货
|
|
<image src="../../static/detail/rightIcon.png" mode=""></image>
|
|
</view>
|
|
<view class="address">
|
|
{{addressInfo.region?addressInfo.region.province +'-'+addressInfo.region.city+'-'+addressInfo.region.region:''}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="chosed">
|
|
<view class="serve">
|
|
<view class="serveInfo">
|
|
服务
|
|
</view>
|
|
<view class="span">
|
|
|
|
</view>
|
|
</view>
|
|
<view class="business">
|
|
<view class="busSour">
|
|
<text>商家来源:平台认证商户</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="chosed" v-if="serveList.length>0">
|
|
<view class="title">服务</view>
|
|
<!-- <image src="/static/detail/buy.png" mode="" class="buy"></image> -->
|
|
<view class="info" v-for="(item,index) in serveList" :key="index">{{item.name}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="about">
|
|
<view class="aboutHead">
|
|
<view class="aboutSuggest">
|
|
相关推荐
|
|
</view>
|
|
<!-- <view class="more">
|
|
查看更多
|
|
</view> -->
|
|
</view>
|
|
<view class="goodsList">
|
|
<view class="goodsItem" v-for="(item,index) in suggestGoodsList" :key="index" @click="toDetail(item.goods_id)">
|
|
<view class="img">
|
|
<image :src="item.goods_image" mode="" class="goodsImg"></image>
|
|
</view>
|
|
<view class="goodsName ">
|
|
{{item.goods_name}}
|
|
</view>
|
|
<view class="price">
|
|
¥{{item.goods_price_min}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="detail-content" v-html="goods.content"></view>
|
|
<view class="footer">
|
|
<view class="fooLeft">
|
|
<view class="footerCus firstBtn">
|
|
<view class="cusIcon">
|
|
<image src="/static/detail/customer.png" mode=""></image>
|
|
</view>
|
|
<view class="customer">
|
|
客服
|
|
</view>
|
|
<button open-type="contact"></button>
|
|
</view>
|
|
<view class="footerCus " @click="shoppingCart">
|
|
<view class="cusIcon">
|
|
<image src="/static/detail/car.png" mode=""></image>
|
|
</view>
|
|
<view class="customer car">
|
|
购物车
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="fooRight">
|
|
<view class="addCar" v-if="!isPre" @click="addCar">
|
|
加入购物车
|
|
</view>
|
|
<view class="buyNow" v-if="!isPre" @click="buyNow">
|
|
立即购买
|
|
</view>
|
|
<view class="buyNow" @click="onReservation" v-if="isPre">
|
|
立即预约
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="dia" v-if="openDialog">
|
|
<view class="preSuc" v-if="shareType=='pre'">
|
|
<view class="preImg">
|
|
<image src="../../static/order/ld.png" mode="" class="ldImg"></image>
|
|
</view>
|
|
<view class="preTitle">
|
|
预约成功
|
|
</view>
|
|
<view class="iKnow" @click="onKonw">
|
|
查看预约记录
|
|
</view>
|
|
</view>
|
|
<view class="setMs" v-if="shareType=='setPrice'">
|
|
<view class="msprice">
|
|
设置秒杀价格
|
|
</view>
|
|
<view class="msLine">
|
|
<u-line class="u-line"></u-line>
|
|
</view>
|
|
<view class="msp">
|
|
<text>秒杀价:</text>
|
|
<input type="text" placeholder="秒杀价格可低于成本价" class="inp" />
|
|
</view>
|
|
<view class="qj">
|
|
<text class="msQj">秒杀区间:</text>
|
|
<view class="date">
|
|
<view class="beginTime timeCommn">
|
|
开始时间
|
|
</view>
|
|
-
|
|
<view class="timeCommn endTime">
|
|
结束时间
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="msLimit">
|
|
<text>秒杀限购:</text>
|
|
<switch @change="switch1Change" />
|
|
</view>
|
|
<view class="peoLimit">
|
|
<text>每人限购</text>
|
|
<view class="num">
|
|
1
|
|
</view>
|
|
<text>次</text>
|
|
</view>
|
|
<view class="operaBtn">
|
|
<view class="cancel btnComm">
|
|
取消
|
|
</view>
|
|
<view class="sureBtn btnComm">
|
|
确定
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shareWechat" v-if="shareType=='share'">
|
|
<view class="shareGoods">
|
|
<image src="/static/detail/tv.png" mode="" class="shareImg"></image>
|
|
</view>
|
|
<view class="shareInfo">
|
|
<view class="shareGoodsInfo">
|
|
{{goods.goods_name}}
|
|
</view>
|
|
<view class="sharePrice">
|
|
¥{{goods.goods_price_min}}
|
|
</view>
|
|
</view>
|
|
<view class="shareOpera">
|
|
<view class="operaItem" @click="copyText(goods.goods_name)">
|
|
<view class="imgIcon">
|
|
<u-icon name="order" class="iconIm"></u-icon>
|
|
</view>
|
|
<view class="shareText" >
|
|
复制文案
|
|
</view>
|
|
</view>
|
|
<view class="operaItem" @click="goShare">
|
|
<view class="imgIcon weChatIcon">
|
|
<u-icon name="order" class="iconIm"></u-icon>
|
|
</view>
|
|
<view class="shareText">
|
|
<button open-type="share" @click="shareWechat">微信好友</button>
|
|
</view>
|
|
</view>
|
|
<view class="operaItem">
|
|
<view class="imgIcon hb">
|
|
<u-icon name="order" class="iconIm"></u-icon>
|
|
</view>
|
|
<view class="shareText">
|
|
生成海报
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shareCancel" @click="shareCancel">
|
|
取消
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<SkuPopup v-if="!isLoading" v-model="showSkuPopup" :skuMode="skuMode" :goods="goods" @addCart="onAddCart" />
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import * as GoodsApi from '@/api/goods'
|
|
import * as goodsCar from '@/api/cart.js'
|
|
import SkuPopup from './components/SkuPopup'
|
|
import * as address from '@/api/address.js'
|
|
export default {
|
|
components: {
|
|
SkuPopup
|
|
},
|
|
data() {
|
|
return {
|
|
skuMode: 1,
|
|
goodShow:false,
|
|
showSkuPopup: false,
|
|
allPicture: '',
|
|
keyword: '',
|
|
diaShow: false,
|
|
searchValue: '',
|
|
isPre: false,
|
|
pre_id: '',
|
|
setPrice: false,
|
|
openDialog: false,
|
|
goodsId: '',
|
|
goods: {
|
|
skuList: []
|
|
},
|
|
suggestGoodsList: [],
|
|
userInfo: {},
|
|
addressList: [],
|
|
addressInfo: {},
|
|
serveList:[],
|
|
token:'',
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
console.log(options,"oo")
|
|
this.isPre = options.isPre?options.isPre:null
|
|
this.goodsId = options.goodsId?options.goodsId:null
|
|
this.pre_id = options.pre_id?options.pre_id:null;
|
|
// this.goodsId=options.goodsId;
|
|
},
|
|
onShow() {
|
|
if(uni.getStorageSync('AccessToken')){
|
|
this.getAddressList()
|
|
this.getSuggestGoods()
|
|
this.getServeList()
|
|
this.userInfo = uni.getStorageSync('userInfo');
|
|
}else{
|
|
this.userInfo = {}
|
|
}
|
|
this.getGoodsDetail()
|
|
},
|
|
methods: {
|
|
copyText(val){
|
|
// 获取要复制的文本内容
|
|
let text = val;
|
|
|
|
uni.setClipboardData({
|
|
data: text,
|
|
success(res) {
|
|
console.log('成功复制到剪贴板');
|
|
},
|
|
fail(err) {
|
|
console.error('复制失败', err);
|
|
}
|
|
});
|
|
|
|
|
|
},
|
|
shareWechat(){
|
|
uni.share({
|
|
provider: "weixin",
|
|
scene: "WXSceneSession",
|
|
type: 2,
|
|
imageUrl: this.goods.goods_image,
|
|
success: function (res) {
|
|
console.log("success:" + JSON.stringify(res));
|
|
},
|
|
fail: function (err) {
|
|
console.log("fail:" + JSON.stringify(err));
|
|
}
|
|
});
|
|
},
|
|
shareImg(){
|
|
this.openDialog =true
|
|
this.shareType= 'share'
|
|
},
|
|
preNow(){
|
|
const that = this
|
|
let params={
|
|
goods_id:that.goods.goods_id,
|
|
pre_id:1
|
|
}
|
|
GoodsApi.presale(params).then(res => {
|
|
if (res.status == 200) {
|
|
that.$toast(res.message)
|
|
}
|
|
})
|
|
.catch()
|
|
},
|
|
getServeList(){
|
|
const that = this
|
|
let params = {
|
|
goodsId:that.goodsId
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
GoodsApi.serveList(params).then(res => {
|
|
if (res.status == 200) {
|
|
that.serveList = res.data.list
|
|
}
|
|
})
|
|
.catch()
|
|
})
|
|
},
|
|
// 预约成功去列表
|
|
onKonw(){
|
|
uni.navigateTo({
|
|
url:'/pages/news/park/recordHistory'
|
|
})
|
|
},
|
|
async onReservation() {
|
|
let {
|
|
status,
|
|
message,
|
|
data
|
|
} = await GoodsApi.presale({
|
|
goods_id: this.goodsId,
|
|
pre_id: this.pre_id
|
|
});
|
|
if (status == 200) {
|
|
this.openDialog=true
|
|
this.diaShow=true
|
|
}
|
|
},
|
|
// 选择商品规格
|
|
getAddressList() {
|
|
const that = this
|
|
return new Promise((resolve, reject) => {
|
|
address.list().then(res => {
|
|
if (res.status == 200) {
|
|
that.addressList = res.data.list
|
|
console.log('58555559999',that.addressList)
|
|
that.getDefaultAddress()
|
|
}
|
|
})
|
|
.catch()
|
|
})
|
|
},
|
|
getDefaultAddress() {
|
|
console.log('5855555')
|
|
const that = this
|
|
return new Promise((resolve, reject) => {
|
|
address.defaultId().then(res => {
|
|
if (res.status == 200) {
|
|
for (var i = 0; i < that.addressList.length; i++) {
|
|
if (res.data.defaultId == that.addressList[i].address_id) {
|
|
that.addressInfo = that.addressList[i];
|
|
|
|
console.log(that.addressInfo,'获取地址')
|
|
}
|
|
}
|
|
}
|
|
})
|
|
.catch()
|
|
})
|
|
},
|
|
toSearch() {
|
|
uni.navigateTo({
|
|
url: "/pages/search/index"
|
|
})
|
|
},
|
|
choseSku() {
|
|
this.showSkuPopup = true
|
|
},
|
|
// 获取商品信息
|
|
getGoodsDetail() {
|
|
const that = this
|
|
return new Promise((resolve, reject) => {
|
|
GoodsApi.detail(this.goodsId)
|
|
.then(result => {
|
|
let info = result.data.detail;
|
|
info.content = info.content
|
|
.replace(/style=""/g,'')
|
|
.replace(/<img src=/g,'<img style="width: 100%; display:block" src=')
|
|
// that.goods = info;
|
|
Object.keys(info).forEach(item=>{
|
|
this.$set(this.goods,item,info[item])
|
|
// that.goods[item] = info[item]
|
|
})
|
|
console.log(that.goods)
|
|
that.allPicture = info.goods_images.length
|
|
})
|
|
.catch()
|
|
})
|
|
},
|
|
getSuggestGoods() {
|
|
// 获取推荐商品列表
|
|
const that = this
|
|
GoodsApi.recommended()
|
|
.then(result => {
|
|
console.log(result, '获取推荐商品列表')
|
|
that.suggestGoodsList = result.data.goodsList
|
|
})
|
|
.catch()
|
|
},
|
|
goHome() {
|
|
uni.switchTab({
|
|
url: '/pages/index/index'
|
|
})
|
|
},
|
|
goRanking() {
|
|
// 跳转排行榜
|
|
uni.navigateTo({
|
|
url: '/pages/activity/charts'
|
|
})
|
|
},
|
|
goMember() {
|
|
if(!uni.getStorageSync("AccessToken")) {
|
|
uni.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
return ;
|
|
}
|
|
uni.navigateTo({
|
|
url: '/pages/member/index'
|
|
})
|
|
},
|
|
shoppingCart() {
|
|
// 购物车
|
|
uni.switchTab({
|
|
url: '/pages/cart/index'
|
|
})
|
|
},
|
|
addCar() {
|
|
if(!uni.getStorageSync("AccessToken")) {
|
|
uni.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
return ;
|
|
}
|
|
// 加入购物车
|
|
const that = this
|
|
goodsCar.add(that.goods.goods_id, (that.goods.skuList && that.goods.skuList.length >0?that.goods.skuList[0].goods_sku_id:''), that.goods.spec_type == 20 ? 1 : 1)
|
|
.then(res => {
|
|
if (res.status == 200) {
|
|
that.$toast(res.message)
|
|
}
|
|
})
|
|
.catch()
|
|
},
|
|
buyNow() {
|
|
if(!uni.getStorageSync("AccessToken")) {
|
|
uni.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
return ;
|
|
}
|
|
// 立即下单
|
|
console.log(this.token,'登录信息')
|
|
// if(!this.token){
|
|
// this.$toast('请登录')
|
|
// uni.navigateTo({
|
|
// url:'/pages/login/index'
|
|
// })
|
|
// }
|
|
if(this.goods.stock_total==0){
|
|
return this.$toast('库存不足,请选择其他商品购买')
|
|
}
|
|
const item = JSON.stringify(this.goods)
|
|
|
|
uni.navigateTo({
|
|
url: '/pages/sureOrder/index?goodsID=' +encodeURIComponent(item)
|
|
})
|
|
},
|
|
shareCancel() {
|
|
//
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.detail {
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
&-content{
|
|
padding: 30rpx;
|
|
font-size: 26rpx;
|
|
line-height: 50rpx;
|
|
width: 710rpx;
|
|
margin: 0 auto;
|
|
margin-top: 30rpx;
|
|
background-color: #fff;
|
|
box-sizing: border-box;
|
|
}
|
|
}
|
|
.slot-wrap {
|
|
width: 400rpx;
|
|
margin-left: 60rpx;
|
|
height: 58rpx;
|
|
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
|
background-color: #F3F3F3;
|
|
display: flex;
|
|
align-items: center;
|
|
padding-left: 20rpx;
|
|
|
|
}
|
|
|
|
.search {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.icon {
|
|
width: 34rpx;
|
|
height: 38rpx;
|
|
margin: 0 22rpx 0 76rpx;
|
|
}
|
|
|
|
.searInput {
|
|
width: 428rpx;
|
|
height: 58rpx;
|
|
background: #F3F3F3;
|
|
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.seaIcon {
|
|
width: 28rpx;
|
|
height: 28rpx;
|
|
margin: 0 0 0 26rpx;
|
|
}
|
|
|
|
.input {
|
|
flex: 1;
|
|
padding-left: 20rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.share {
|
|
z-index: 22;
|
|
top: 128rpx;
|
|
width: 54rpx;
|
|
height: 54rpx;
|
|
position: absolute;
|
|
right: 30rpx;
|
|
.sp {
|
|
width: 54rpx;
|
|
height: 54rpx;
|
|
display: none;
|
|
}
|
|
button{
|
|
width: 100%;
|
|
height: 100%;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: 2;
|
|
opacity: 0;
|
|
}
|
|
.shareIcon {
|
|
width: 54rpx;
|
|
height: 54rpx;
|
|
margin-right: 28rpx;
|
|
}
|
|
}
|
|
|
|
.swiper {
|
|
width: 726rpx;
|
|
height: 458rpx;
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
opacity: 1;
|
|
left: 0;
|
|
right: 0;
|
|
margin: auto;
|
|
|
|
.goodsImg {
|
|
margin-left: 30rpx;
|
|
// width: 666rpx;
|
|
// height: 398rpx;
|
|
}
|
|
|
|
.goods {
|
|
width: 100%;
|
|
height: 100%;
|
|
white-space: nowrap;
|
|
|
|
.goodsItem {
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
display: inline-block;
|
|
position: relative;
|
|
|
|
.goodsImg {
|
|
margin-left: 30rpx;
|
|
width: 666rpx;
|
|
height: 398rpx;
|
|
}
|
|
|
|
.num {
|
|
|
|
text-align: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
.numSp {
|
|
width: 82rpx;
|
|
height: 56rpx;
|
|
}
|
|
|
|
.numInfo {
|
|
width: 82rpx;
|
|
height: 56rpx;
|
|
background: #262626;
|
|
border-radius: 50% 0 0 50%;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 56rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
.goodsInfo {
|
|
width: 720rpx;
|
|
max-height: 484rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
opacity: 1;
|
|
margin: 30rpx 0 0 16rpx;
|
|
|
|
.goodsPrice {
|
|
background-image: url('/static/detail/priceback.png');
|
|
width: 720rpx;
|
|
height: 136rpx;
|
|
background-size: 100% 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
|
|
.left {
|
|
margin: 18rpx 0 0 28rpx;
|
|
|
|
.leftPrice {
|
|
width: 140rpx;
|
|
height: 64rpx;
|
|
font-size: 46rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 64rpx;
|
|
|
|
text {
|
|
width: 20rpx;
|
|
height: 64rpx;
|
|
font-size: 32rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 64rpx;
|
|
margin-right: 8rpx;
|
|
}
|
|
}
|
|
|
|
.sellPrice {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 34rpx;
|
|
|
|
.sellLeft {
|
|
width: 72rpx;
|
|
margin-right: 8rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.right {
|
|
margin-right: 50rpx;
|
|
|
|
.rightPrice {
|
|
width: 102rpx;
|
|
height: 48rpx;
|
|
font-size: 34rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 48rpx;
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
.rightInfo {
|
|
width: 136rpx;
|
|
height: 44rpx;
|
|
font-size: 34rpx;
|
|
font-family: YouSheBiaoTiHei;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 34rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.pro {
|
|
background-image: url('/static/detail/pro.png');
|
|
background-size: 100% 100%;
|
|
width: 690rpx;
|
|
height: 82rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
margin: 20rpx 0 0 10rpx;
|
|
|
|
.proMem {
|
|
width: 142rpx;
|
|
height: 40rpx;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #966542;
|
|
line-height: 33rpx;
|
|
margin-left: 18rpx;
|
|
padding-right: 24rpx;
|
|
border-right: 2rpx solid #EFD4B4;
|
|
}
|
|
|
|
.proInfo {
|
|
width: 304rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #966542;
|
|
line-height: 34rpx;
|
|
margin: 0 38rpx 0 26rpx;
|
|
}
|
|
|
|
.proBtn {
|
|
width: 126rpx;
|
|
height: 50rpx;
|
|
background: #9F744D;
|
|
border-radius: 82rpx 82rpx 82rpx 82rpx;
|
|
opacity: 1;
|
|
text-align: center;
|
|
line-height: 50rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
}
|
|
|
|
.goodsDetail {
|
|
.goodsName {
|
|
width: 672rpx;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
line-height: 50rpx;
|
|
margin: 28rpx 0 0 28rpx;
|
|
|
|
}
|
|
|
|
.goodsOpera {
|
|
margin-left: 28rpx;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
.goodsNum {
|
|
text {
|
|
display: inline-block;
|
|
width: 168rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #8A8A8A;
|
|
line-height: 34rpx;
|
|
margin-right: 4rpx;
|
|
}
|
|
|
|
image {
|
|
width: 28rpx;
|
|
height: 28rpx;
|
|
}
|
|
}
|
|
|
|
.operaImg {
|
|
image {
|
|
width: 49rpx;
|
|
height: 49rpx;
|
|
}
|
|
|
|
.tips {
|
|
margin-right: 6rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.rank {
|
|
margin: 22rpx 0 18rpx 28rpx;
|
|
width: 670rpx;
|
|
height: 58rpx;
|
|
background: #FFF3EE;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0 28rpx;
|
|
|
|
text {
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FF1130;
|
|
line-height: 58rpx;
|
|
}
|
|
|
|
image {
|
|
width: 14rpx;
|
|
height: 14rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.orderInfo {
|
|
width: 720rpx;
|
|
height: 256rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
opacity: 1;
|
|
margin: 16rpx 0 0 20rpx;
|
|
padding: 24rpx 22rpx 12rpx 32rpx;
|
|
|
|
.chosed {
|
|
margin-bottom: 18rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.buy {
|
|
width: 112rpx;
|
|
height: 22rpx;
|
|
margin-right: 10rpx;
|
|
}
|
|
|
|
.title {
|
|
width: 48rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #C4C4C4;
|
|
line-height: 34rpx;
|
|
margin-right: 38rpx;
|
|
}
|
|
|
|
.info {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #3D3D3D;
|
|
line-height: 34rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.infoLeft {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FE3636;
|
|
line-height: 34rpx;
|
|
|
|
image {
|
|
width: 14rpx;
|
|
height: 14rpx;
|
|
margin: 0 10rpx 0 8rpx;
|
|
}
|
|
}
|
|
|
|
.address {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #3D3D3D;
|
|
line-height: 34rpx;
|
|
|
|
}
|
|
}
|
|
|
|
.serve {
|
|
.serveInfo {
|
|
width: 48rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #C4C4C4;
|
|
line-height: 34rpx;
|
|
margin-right: 38rpx;
|
|
}
|
|
|
|
.span {
|
|
width: 48rpx;
|
|
height: 34rpx;
|
|
}
|
|
}
|
|
|
|
.business {
|
|
.busSour {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #3D3D3D;
|
|
line-height: 34rpx;
|
|
}
|
|
|
|
.busName {
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #3D3D3D;
|
|
line-height: 34rpx;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
.about {
|
|
width: 720rpx;
|
|
// height: 730rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
opacity: 1;
|
|
margin: 14rpx 0 0rpx 20rpx;
|
|
padding: 24rpx 0 0 36rpx;
|
|
|
|
.aboutHead {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
.aboutSuggest {
|
|
width: 112rpx;
|
|
height: 40rpx;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
line-height: 40rpx;
|
|
}
|
|
|
|
.more {
|
|
width: 96rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #909090;
|
|
line-height: 34rpx;
|
|
margin-right: 20rpx;
|
|
|
|
}
|
|
}
|
|
|
|
.goodsList {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-top: 30rpx;
|
|
padding-bottom: 20rpx;
|
|
overflow: hidden;
|
|
.goodsItem {
|
|
margin-right: 18rpx;
|
|
.img {
|
|
width: 204rpx;
|
|
height: 168rpx;
|
|
background: #FBFBFB;
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
.goodsImg {
|
|
width: 190rpx;
|
|
height: 144rpx;
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.goodsName {
|
|
width: 184rpx;
|
|
height: 80rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
line-height: 40rpx;
|
|
display: -webkit-box;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: normal !important;
|
|
word-wrap: break-word;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-box-align: start;
|
|
-webkit-box-pack: center;
|
|
}
|
|
|
|
.price {
|
|
width: 66rpx;
|
|
height: 44rpx;
|
|
font-size: 32rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #ED2B00;
|
|
line-height: 38rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.vacancy {
|
|
width: 100%;
|
|
height: 150rpx;
|
|
}
|
|
|
|
.footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: 130rpx;
|
|
background: #FFFFFF;
|
|
box-shadow: -6rpx 14rpx 48rpx 0rpx rgba(0, 0, 0, 0.25);
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
text-align: center;
|
|
justify-content: space-between;
|
|
|
|
.fooLeft {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.fooRight {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.firstBtn {
|
|
margin-left: 60rpx;
|
|
}
|
|
|
|
.footerCus {
|
|
margin-right: 44rpx;
|
|
text-align: center;
|
|
position: relative;
|
|
.cusIcon {
|
|
width: 38rpx;
|
|
height: 38rpx;
|
|
margin: 0 auto;
|
|
image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
button{
|
|
width: 100%;
|
|
height: 100%;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: 2;
|
|
opacity: 0;
|
|
}
|
|
.customer {
|
|
width: 40rpx;
|
|
height: 28rpx;
|
|
font-size: 20rpx;
|
|
font-weight: 400;
|
|
color: #3D3D3D;
|
|
line-height: 40rpx;
|
|
}
|
|
|
|
.car {
|
|
width: 60rpx;
|
|
}
|
|
}
|
|
|
|
.addCar {
|
|
width: 196rpx;
|
|
height: 78rpx;
|
|
background: #FF9E2B;
|
|
border-radius: 42rpx 42rpx 42rpx 42rpx;
|
|
opacity: 1;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
line-height: 78rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.buyNow {
|
|
width: 212rpx;
|
|
height: 78rpx;
|
|
background: linear-gradient(102deg, #FE5E06 0%, #F3221A 100%);
|
|
border-radius: 42rpx 42rpx 42rpx 42rpx;
|
|
opacity: 1;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
line-height: 78rpx;
|
|
text-align: center;
|
|
margin-left: 8rpx;
|
|
}
|
|
}
|
|
|
|
.dia {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(69, 69, 69, 0.44);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
text-align: center;
|
|
|
|
.preSuc {
|
|
width: 560rpx;
|
|
height: 400rpx;
|
|
background: linear-gradient(180deg, #FFE4E4 0%, #FFFFFF 100%);
|
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
.preImg {
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
position: relative;
|
|
top: -50rpx;
|
|
|
|
.ldImg {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.preTitle {
|
|
height: 44rpx;
|
|
font-size: 32rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #000000;
|
|
line-height: 38rpx;
|
|
margin-top: 32rpx;
|
|
}
|
|
|
|
.iKnow {
|
|
width: 312rpx;
|
|
height: 72rpx;
|
|
background: #F55349;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
opacity: 1;
|
|
text-align: center;
|
|
line-height: 72rpx;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
margin-top: 70rpx;
|
|
}
|
|
}
|
|
|
|
.setMs {
|
|
width: 656rpx;
|
|
height: 690rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
|
opacity: 1;
|
|
|
|
.msprice {
|
|
width: 100%;
|
|
height: 44rpx;
|
|
font-size: 32rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 600;
|
|
color: #262626;
|
|
line-height: 38rpx;
|
|
text-align: center;
|
|
margin-top: 24rpx;
|
|
margin-bottom: 26rpx;
|
|
}
|
|
|
|
.msLine {
|
|
margin-bottom: 30rpx;
|
|
}
|
|
|
|
.msp {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: 30rpx;
|
|
|
|
.inp {
|
|
width: 440rpx;
|
|
height: 72rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
|
opacity: 1;
|
|
border: 2rpx solid #EBEBEB;
|
|
margin-left: 20rpx;
|
|
line-height: 72rpx;
|
|
}
|
|
}
|
|
|
|
.qj {
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #262626;
|
|
line-height: 33rpx;
|
|
margin-bottom: 34rpx;
|
|
|
|
.msQj {
|
|
position: relative;
|
|
left: -218rpx;
|
|
}
|
|
|
|
.date {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-top: 16rpx;
|
|
|
|
.timeCommn {
|
|
width: 260rpx;
|
|
height: 68rpx;
|
|
background: #F1F1F1;
|
|
border-radius: 62rpx 62rpx 62rpx 62rpx;
|
|
opacity: 1;
|
|
line-height: 68rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #929292;
|
|
padding-left: 34rpx;
|
|
}
|
|
|
|
.beginTime {
|
|
margin-right: 16rpx;
|
|
}
|
|
|
|
.endTime {
|
|
margin-left: 20rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.msLimit {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 0 38rpx 0 42rpx;
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #262626;
|
|
line-height: 33rpx;
|
|
}
|
|
|
|
.peoLimit {
|
|
display: flex;
|
|
margin-left: 42rpx;
|
|
align-items: center;
|
|
|
|
.num {
|
|
width: 106rpx;
|
|
height: 60rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
|
opacity: 1;
|
|
border: 2rpx solid #EBEBEB;
|
|
text-align: center;
|
|
line-height: 60rpx;
|
|
margin: 0 18rpx 0 16rpx;
|
|
}
|
|
}
|
|
|
|
.operaBtn {
|
|
display: flex;
|
|
justify-content: center;
|
|
margin-top: 52rpx;
|
|
|
|
.btnComm {
|
|
width: 216rpx;
|
|
height: 70rpx;
|
|
background: #EEEEEE;
|
|
border-radius: 44rpx 44rpx 44rpx 44rpx;
|
|
opacity: 1;
|
|
line-height: 70rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.sureBtn {
|
|
width: 214rpx;
|
|
height: 74rpx;
|
|
background: linear-gradient(180deg, #FD5D06 0%, #F3211A 100%);
|
|
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
|
opacity: 1;
|
|
text-align: center;
|
|
line-height: 74rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
margin-left: 24rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.shareWechat {
|
|
width: 656rpx;
|
|
height: 884rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
|
opacity: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-top: 24rpx;
|
|
|
|
.shareGoods {
|
|
margin-left: 28rpx;
|
|
width: 604rpx;
|
|
height: 382rpx;
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
opacity: 1;
|
|
|
|
image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.shareInfo {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 12rpx;
|
|
|
|
.shareGoodsInfo {
|
|
width: 410rpx;
|
|
height: 120rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
line-height: 33rpx;
|
|
}
|
|
|
|
.sharePrice {
|
|
height: 64rpx;
|
|
font-size: 46rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 500;
|
|
color: #FF645A;
|
|
line-height: 54rpx;
|
|
}
|
|
}
|
|
|
|
.shareOpera {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
margin-top: 36rpx;
|
|
margin-bottom: 46rpx;
|
|
|
|
.operaItem {
|
|
.imgIcon {
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
background: linear-gradient(180deg, #EC6244 0%, #FA938C 100%);
|
|
border-radius: 50%;
|
|
opacity: 1;
|
|
line-height: 88rpx;
|
|
text-align: center;
|
|
color: #fff;
|
|
|
|
.iconIm {
|
|
font-size: 32rpx;
|
|
}
|
|
}
|
|
|
|
.weChatIcon {
|
|
background: #28C445;
|
|
}
|
|
|
|
.hb {
|
|
background: linear-gradient(180deg, #53A2EE 0%, #6FB2F4 100%);
|
|
}
|
|
|
|
.shareText {
|
|
width: 96rpx;
|
|
height: 34rpx;
|
|
font-size: 24rpx;
|
|
font-family: PingFang SC, PingFang SC;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
line-height: 28rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.shareCancel {
|
|
width: 556rpx;
|
|
height: 82rpx;
|
|
background: #EEEEEE;
|
|
border-radius: 44rpx 44rpx 44rpx 44rpx;
|
|
opacity: 1;
|
|
font-size: 28rpx;
|
|
font-weight: 500;
|
|
color: #585858;
|
|
line-height: 82rpx;
|
|
text-align: center;
|
|
left: 0;
|
|
right: 0;
|
|
margin: auto;
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|