会员相关功能更新

This commit is contained in:
GaoHao
2024-08-14 10:47:16 +08:00
parent 05c7b85a75
commit 5550649e8a
17 changed files with 2343 additions and 197 deletions

View File

@@ -9,7 +9,7 @@
</view>
<!-- 顶部面板 -->
<view class="top--panel">
<navseat :opacity='opacity' :titleshow='true' @navigateBacknav='navigateBacknav'
<navseat :opacity='opacity' :search="true" @searchVal="searchVal" :titleshow='true' @navigateBacknav='navigateBacknav'
:navigateBacknavtitle='true'></navseat>
<!-- 顶部面板可添加所需要放在页面顶部的内容代码比如banner图 -->
<image class="panelimgbackground"
@@ -55,34 +55,58 @@
<view class="panelfiveitemfive">
月售{{item.stockNumber}}
</view>
<view class="panelfiveitemsex flex-between">
<view class="panelfiveitemsex_oen">
<text>¥</text>
<text>{{item.lowPrice}}</text>
<text>/</text>
<text v-if="item.suit > 1">{{item.suit}}份起点</text>
<view v-if="item.isPauseSale != 0 " class="flex-between" style="margin-top: 32rpx;margin-bottom: 48rpx;">
<view class="panelfiveitemsex flex-between">
<view class="panelfiveitemsex_oen"><text>¥</text><text>{{item.lowPrice}}</text><text>/</text></view>
</view>
<!-- <u-icon name="plus-circle-fill" color="#E9AB7A" size="40"></u-icon> -->
</view>
<view class="panelfiveitemNum">
<view class="sku-wrap flex-center" v-if="item.productSkuResult != null"
@click.stop="clickspecifications(item,index,index1)">
<text class="t">选规格</text>
<text class="dot num"
v-if="item.cartNumber != '0'">{{item.cartNumber<99?item.cartNumber:'99+'}}</text>
</view>
<view class="Controls" v-else>
<view v-if="item.cartNumber != '0'"
@click.stop="cartadd(item,'-',item.productSkuResult == null ? '单规格':'',$event)">
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
</view>
<text class="num"> {{ item.cartNumber }} </text>
<view @click.stop="cartadd(item,'+',item.productSkuResult == null ? '单规格':'')">
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="panelfiveitemNum" >
<view class="sku-wrap flex-center" style="background-color: #CECECE;">
<text class="t">已售罄</text>
</view>
</view>
</view>
<view v-else class="flex-between" style="margin-top: 32rpx;margin-bottom: 48rpx;">
<view class="panelfiveitemsex flex-between">
<view class="panelfiveitemsex_oen"><text>¥</text><text>{{item.lowPrice}}</text><text>/</text></view>
</view>
<view v-if="item.suit > 1">
<view class="panelfiveitemNum">
<view class="sku-wrap flex-center" @click.stop="clickspecifications(item,index,index1)">
<text class="t">{{item.suit}}份起点</text>
<text class="dot num" v-if="item.cartNumber != '0'">{{item.cartNumber<99?item.cartNumber:'99+'}}</text>
</view>
</view>
</view>
<view v-else >
<view class="panelfiveitemNum">
<view class="sku-wrap flex-center" v-if="item.productSkuResult != null"
@click.stop="clickspecifications(item,index,index1)">
<text class="t">选规格</text>
<text class="dot num"
v-if="item.cartNumber != '0'">{{item.cartNumber<99?item.cartNumber:'99+'}}</text>
</view>
<view class="Controls" v-else>
<view class="btn" v-if="item.cartNumber != '0'">
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click.stop="cartadd(item,'-',item.productSkuResult == null ? '单规格':'',$event)"></view>
</view>
<text class="num"> {{ item.cartNumber }} </text>
<view class="btn">
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click.stop="cartadd(item,'+',item.productSkuResult == null ? '单规格':'')"></view>
</view>
</view>
</view>
</view>
</view>
<view v-if="item.isPauseSale != 0 " style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;background-color: rgba(255,255,255,0.5);"></view>
</view>
</view>
</scroll-view>
@@ -120,35 +144,59 @@
<view v-if="item.name=='热销'" class="topSort" :class="'c'+(index1+1)">TOP{{index1+1}}
</view>
<view class="goods_right">
<!-- <text class="suit" v-if="item1.suit > 1">{{item1.suit}}份起点</text> -->
<view class="name">{{ item1.name }}</view>
<view class="lookBack" v-if="item.name=='热销'">本店回头客第{{index1+1}}</view>
<view class="describe"> {{item1.shortTitle?item1.shortTitle:''}} </view>
<view class="monthlySale">月售{{item1.stockNumber}}</view>
<view class="money"><text class="money_num">{{ item1.lowPrice }}</text>/<text
class="suit" v-if="item1.suit > 1">{{item1.suit}}份起点</text></view>
<view class="flex-end" v-if="item1.productSkuResult != null">
<view class="sku-wrap flex-center"
@click.stop="clickspecifications(item1,index,index1)">
<text class="t">选规格</text>
<text class="dot num"
v-if="item1.cartNumber != '0'">{{item1.cartNumber<99?item1.cartNumber:'99+'}}</text>
<view v-if="item1.isPauseSale != 0 " class="flex-between">
<view class="money"><text class="money_num">{{ item1.lowPrice }}</text>/</view>
<view class="flex-end" >
<view class="sku-wrap flex-center" style="background-color: #CECECE;">
<text class="t">已售罄</text>
</view>
</view>
</view>
<view class="Controls" v-else>
<view v-if="item1.cartNumber != '0'"
@click.stop="cartadd(item1,'-',item1.productSkuResult == null ? '单规格':'',$event)">
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view v-else class="flex-between">
<view class="money"><text class="money_num">{{ item1.lowPrice }}</text>/</view>
<view v-if="item1.suit > 1">
<view class="flex-end" >
<view class="sku-wrap flex-center"
@click.stop="clickspecifications(item1,index,index1)">
<text class="t">{{item1.suit}}份起点</text>
<text class="dot num"
v-if="item1.cartNumber != '0'">{{item1.cartNumber<99?item1.cartNumber:'99+'}}</text>
</view>
</view>
</view>
<text class="num"> {{ item1.cartNumber }} </text>
<view
@click.stop="cartadd(item1,'+',item1.productSkuResult == null ? '单规格':'')">
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view v-else >
<view class="flex-end" v-if="item1.productSkuResult != null">
<view class="sku-wrap flex-center"
@click.stop="clickspecifications(item1,index,index1)">
<text class="t">选规格</text>
<text class="dot num"
v-if="item1.cartNumber != '0'">{{item1.cartNumber<99?item1.cartNumber:'99+'}}</text>
</view>
</view>
<view class="Controls" v-else>
<view class="btn" v-if="item1.cartNumber != '0'">
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click.stop="cartadd(item1,'-',item1.productSkuResult == null ? '单规格':'',$event)"></view>
</view>
<text class="num"> {{ item1.cartNumber }} </text>
<view class="btn">
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click.stop="cartadd(item1,'+',item1.productSkuResult == null ? '单规格':'')"></view>
</view>
</view>
</view>
</view>
</view>
<view v-if="item1.isPauseSale != 0 " style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;background-color: rgba(255,255,255,0.5);"></view>
</view>
</view>
<view class="fill-last" :style="{ 'height':fillHeight + 'px' }"></view>
@@ -205,12 +253,14 @@
<text class="num">{{ item.salePrice }}</text>
</view>
<view class="operation-wrap">
<view class="btn" v-if="item.number" @click="cartListadd(item,index,'-')">
<view class="btn" v-if="item.number" >
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click="cartListadd(item,index,'-')"></view>
</view>
<text class="num" v-if="item.number">{{ item.number }}</text>
<view class="btn" @click="cartListadd(item,index,'+')">
<view class="btn">
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click="cartListadd(item,index,'+')"></view>
</view>
</view>
</view>
@@ -296,14 +346,14 @@
</view>
<view class="operation-wrap">
<view class="btn"
@click="shopAdd(specifications,specifications.indexa,specifications.indexb,'-',specifications.tagSnap == null ? '单规格':'')">
<view class="btn">
<u-icon name="minus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click="shopAdd(specifications,specifications.indexa,specifications.indexb,'-',specifications.tagSnap == null ? '单规格':'')"></view>
</view>
<text class="num">{{amountcartNumber}}</text>
<view class="btn"
@click="shopAdd(specifications,specifications.indexa,specifications.indexb,'+',specifications.tagSnap == null ? '单规格':'')">
<view class="btn" >
<u-icon name="plus-circle-fill" color="#E9AB7A" size="50"></u-icon>
<view class="btnClick" @click="shopAdd(specifications,specifications.indexa,specifications.indexb,'+',specifications.tagSnap == null ? '单规格':'')"></view>
</view>
</view>
</view>
@@ -513,6 +563,10 @@
// e.currentTarget.src
},
searchVal (e) {
console.log(e)
},
/**
* 商品数量增加/减少
* @param {Object} item
@@ -614,7 +668,7 @@
if (res.code == 0) {
this.showShopsku = false;
this.pagemetashow = false;
this.$set(this, 'amountcartNumber', 0)
// this.$set(this, 'amountcartNumber', 0)
}
},
@@ -682,6 +736,9 @@
* @param {Object} index1
*/
async clickspecifications(item1, index, index1, type) {
if ( item1.isPauseSale != 0 ) {
return;
}
this.skuidname = []
this.specifications = item1
this.specifications.indexa = index
@@ -854,7 +911,15 @@
this.showShopsku = true //打开弹框
this.pagemetashow = true
}
this.$set(this, 'amountcartNumber', 0)
this.$set(this, 'amountcartNumber', 0);
if ( this.isSpec ) {
if ( this.skuSuit > 1) {
this.$set(this, 'amountcartNumber', 0);
} else {
this.$set(this, 'amountcartNumber', 1);
}
}
} catch (e) {}
},
@@ -1204,7 +1269,6 @@
}
.panelfiveitemsex {
margin-top: 32rpx;
.panelfiveitemsex_oen {
text:nth-child(1) {
@@ -1241,7 +1305,6 @@
// position: absolute;
// bottom: 82rpx;
// right: 0;
padding-bottom: 48rpx;
display: flex;
align-items: center;
justify-content: flex-end;
@@ -1282,6 +1345,18 @@
.num {
margin: 8rpx 8rpx 0 8rpx;
}
.btn{
display: flex;
align-items: center;
justify-content: center;
position: relative;
.btnClick{
width: 100rpx;
height: 100rpx;
position: absolute;
// bottom: 0;
}
}
}
}
}
@@ -1471,7 +1546,18 @@
padding: 0 16upx;
}
.btn{
display: flex;
align-items: center;
justify-content: center;
position: relative;
.btnClick{
width: 100rpx;
height: 100rpx;
position: absolute;
// bottom: 0;
}
}
}
.addShopping {
@@ -1562,16 +1648,20 @@
}
.btn {
width: 160rpx;
height: 64rpx;
background: #E7AE7B;
border-radius: 36rpx 36rpx 36rpx 36rpx;
border: 2rpx solid #E8AD7B;
height: 100%;
width: 40%;
display: flex;
align-items: center;
justify-content: center;
justify-content: flex-end;
.t {
width: 160rpx;
height: 64rpx;
line-height: 64rpx;
text-align: center;
background: #E7AE7B;
border-radius: 36rpx 36rpx 36rpx 36rpx;
border: 2rpx solid #E8AD7B;
font-weight: bold;
font-size: 28rpx;
color: #FFFFFF;
@@ -1728,8 +1818,19 @@
display: flex;
align-items: center;
justify-content: center;
position: relative;
.btnClick{
width: 100rpx;
height: 100rpx;
position: absolute;
// bottom: 0;
}
.btnClick.l{
right: 0;
}
.btnClick.r{
left: 0;
}
}
}
}
@@ -2016,7 +2117,20 @@
// bottom: 10rpx;
// right: 20rpx;
.num {
margin: auto 8rpx;
margin: auto 16rpx;
}
.btn{
display: flex;
align-items: center;
justify-content: center;
position: relative;
.btnClick{
width: 100rpx;
height: 100rpx;
position: absolute;
// bottom: 0;
}
}
}
}