|
@@ -37,7 +37,7 @@
|
|
|
</view> -->
|
|
|
|
|
|
<view class="newTop">
|
|
|
- <view class="newTopCont">
|
|
|
+ <view class="newTopCont" v-if="vipData.cardCode">
|
|
|
<image src="../../static/timg/icon_vip.png" mode="" class="topVipIcon"></image>
|
|
|
<span style="padding-right: 10rpx;padding-left: 10rpx;">卡号</span>
|
|
|
<span>{{vipData.cardCode}}</span>
|
|
@@ -53,12 +53,84 @@
|
|
|
|
|
|
|
|
|
<!-- 计次 -->
|
|
|
- <view class="mainBox" v-if="tabIndex==1">
|
|
|
+ <view class="mainBox" ><!-- v-if="tabIndex==1" -->
|
|
|
+
|
|
|
+ <!-- 卡制度 -->
|
|
|
+ <view v-for="(item,index) in vipData.f2ccard" class="ftwoccard">
|
|
|
+ <view class="itemBox" v-if="AmountQtyJsFcard(item.detail)">
|
|
|
+ <view class="itemTop">
|
|
|
+ <view class="itemName">
|
|
|
+ <span class="titleType2" >卡</span>
|
|
|
+ {{item.card.cardName}}
|
|
|
+ </view>
|
|
|
+ <view class="fcardJt" v-if="item.detail.length>0" :class="{active:item.open}" @click="changeState(item)">
|
|
|
+ <image v-if="item.open==false" src="../../static/img/icon_arrow_down.png"
|
|
|
+ mode="" style="width: 34rpx;height: 22rpx;"></image>
|
|
|
+ <image v-if="item.open==true" src="../../static/img/icon_arrow_up.png"
|
|
|
+ mode="" style="width: 34rpx;height: 22rpx;"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="fcardBottom" :class="{fcardBottomactive:item.open}">
|
|
|
+ <view class="fcardCardCode">{{item.card.cardCode}}</view>
|
|
|
+ <view class="fcardCardCode">{{item.card.expireTime.slice(0,10)}}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view v-if="item.open">
|
|
|
+ <!-- 不展示剩余为0项 -->
|
|
|
+ <view class="itemBg " v-if="dis&&v.lastCount!=0" v-for="(v,index2) in item.detail" :key="index2">
|
|
|
+ <view class="nameTop" v-if="v.type==2"><span class="type">项目</span> {{v.bizName}}</view>
|
|
|
+ <view class="nameTop" v-if="v.type==1"><span class="type">商品</span> {{v.bizName}}</view>
|
|
|
+ <view class="itemBgFcard">
|
|
|
+ <view class="discountTypeBox">
|
|
|
+ <view class="fcardType" v-if="v.discountType==2">会员价</view>
|
|
|
+ <view class="fcardType" v-if="v.discountType==1">折扣</view>
|
|
|
+ <view class="discountNum" v-if="v.discountType==2">{{v.discountNum}}</view>
|
|
|
+ <view class="discountNum" v-if="v.discountType==1">{{v.discountNum}}折</view>
|
|
|
+ </view>
|
|
|
+ <view class="timeBottom">
|
|
|
+ <view>剩余/总:<span
|
|
|
+ style="color: #FF3B30;">{{v.lastCount}}</span>/{{v.useCount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 展示所有 -->
|
|
|
+ <view class="itemBg " v-if="!dis" v-for="(v,index2) in item.detail" :key="index2">
|
|
|
+ <view class="nameTop" v-if="v.type==2"><span class="type">项目</span> {{v.bizName}}</view>
|
|
|
+ <view class="nameTop" v-if="v.type==1"><span class="type">商品</span> {{v.bizName}}</view>
|
|
|
+ <view class="itemBgFcard">
|
|
|
+ <view class="discountTypeBox">
|
|
|
+ <view class="fcardType" v-if="v.discountType==2">会员价</view>
|
|
|
+ <view class="fcardType" v-if="v.discountType==1">折扣</view>
|
|
|
+ <view class="discountNum" v-if="v.discountType==2">{{v.discountNum}}</view>
|
|
|
+ <view class="discountNum" v-if="v.discountType==1">{{v.discountNum}}折</view>
|
|
|
+ </view>
|
|
|
+ <view class="timeBottom">
|
|
|
+ <view>剩余/总:<span
|
|
|
+ style="color: #FF3B30;">{{v.lastCount}}</span>/{{v.useCount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
|
|
|
<view v-for="(item,index) in vipData.cardTimeList">
|
|
|
<view v-if="AmountQtyJs(item.list)" class="itemBox">
|
|
|
<view class="itemTop">
|
|
|
- <view class="itemName">{{item.PackName}}</view>
|
|
|
+ <view class="itemName">
|
|
|
+ <span class="titleType">计次</span>
|
|
|
+ {{item.PackName}}
|
|
|
+ </view>
|
|
|
<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
|
|
|
</view>
|
|
|
<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
|
|
@@ -111,7 +183,7 @@
|
|
|
</view>
|
|
|
|
|
|
<!-- 无数据空白页 -->
|
|
|
- <nodata v-if="vipData.cardTimeList.length==0"></nodata>
|
|
|
+ <!-- nodata v-if="vipData.cardTimeList.length==0"></nodata> -->
|
|
|
|
|
|
<!-- 使用条款-->
|
|
|
<view class="shiyongBox" v-if="shiyongShow" @click="shiyongShow=false">
|
|
@@ -126,51 +198,43 @@
|
|
|
<view v-else class="shiyongno">使用条款暂无内容</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 储值 -->
|
|
|
- <view class="mainBox" v-if="tabIndex==2">
|
|
|
- <view class="btnBox" @click="disCz=!disCz">
|
|
|
- <image v-if="disCz" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
|
|
|
- </image>
|
|
|
- <image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
|
|
|
- </image>
|
|
|
- <view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
+ <!-- 储值 -->
|
|
|
<view v-for="(item,index) in vipData.carMoneyList">
|
|
|
<!-- 不展示剩余为0项 -->
|
|
|
<view v-if="disCz&&item.Money!=0" class="itemBox">
|
|
|
<view class="itemTop">
|
|
|
- <view class="itemName">{{item.PacKName}}</view>
|
|
|
+ <view class="itemName">
|
|
|
+ <span class="titleType">储值</span>
|
|
|
+ {{item.PacKName}}
|
|
|
+ </view>
|
|
|
<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
|
|
|
</view>
|
|
|
<view class="moneyBox"><span style="font-size: 24rpx; color: #FF3B30; padding-top: 2rpx;">¥</span><span class="money">{{item.Money}}</span> <span
|
|
|
- style="color: #999999;font-size: 24rpx;">( 充{{item.ChargeMoney}}送{{item.GiftMoney}} )</span>
|
|
|
+ style="color: #3C3C3C;font-size: 24rpx;">(充{{item.ChargeMoney}}送{{item.GiftMoney}})</span>
|
|
|
</view>
|
|
|
<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
|
|
|
<view class="shopName">{{item.ShopName}}</view>
|
|
|
-
|
|
|
+
|
|
|
|
|
|
<image v-if="item.open==false" src="../../static/img/icon_arrow_down.png"
|
|
|
mode="" style="width: 34rpx;height: 22rpx;"></image>
|
|
|
<image v-if="item.open==true" src="../../static/img/icon_arrow_up.png"
|
|
|
mode="" style="width: 34rpx;height: 22rpx;"></image>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
<view class="itemBg" v-if="item.open" v-for="(v,index2) in item.payList" :key="index2">
|
|
|
-
|
|
|
+
|
|
|
<view class="timeBottom">
|
|
|
- <view class="time" v-if="v.CreateTime">{{v.CreateTime}}</view>
|
|
|
-
|
|
|
-
|
|
|
- <view v-if="v.Type==2">-{{v.Money}}</view>
|
|
|
- <view class="count" v-else>+{{v.Money}}</view>
|
|
|
+ <view class="time" style="color: #666666;" v-if="v.CreateTime">{{v.CreateTime}}</view>
|
|
|
+
|
|
|
+
|
|
|
+ <view style="color: #3C3C3C;font-weight: 500;" v-if="v.Type==2">-{{v.Money}}</view>
|
|
|
+ <view class="count" style="font-weight: 500;" v-else>+{{v.Money}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
</view>
|
|
|
|
|
|
<!-- 展示所有 -->
|
|
@@ -180,7 +244,7 @@
|
|
|
<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
|
|
|
</view>
|
|
|
<view class="moneyBox"><span style="font-size: 24rpx; color: #FF3B30; padding-top: 2rpx;">¥</span><span class="money">{{item.Money}}</span> <span
|
|
|
- style="color: #999999;font-size: 24rpx;">( 充{{item.ChargeMoney}}送{{item.GiftMoney}} )</span>
|
|
|
+ style="color: #3C3C3C;font-size: 24rpx;">(充{{item.ChargeMoney}}送{{item.GiftMoney}})</span>
|
|
|
</view>
|
|
|
<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
|
|
|
<view class="shopName">{{item.ShopName}}</view>
|
|
@@ -195,22 +259,40 @@
|
|
|
<view class="itemBg" v-if="item.open" v-for="(v,index2) in item.payList" :key="index2">
|
|
|
|
|
|
<view class="timeBottom">
|
|
|
- <view class="time" v-if="v.CreateTime">{{v.CreateTime}}</view>
|
|
|
+ <view class="time" style="color: #666666;" v-if="v.CreateTime">{{v.CreateTime}}</view>
|
|
|
|
|
|
|
|
|
- <view v-if="v.Type==2">-{{v.Money}}</view>
|
|
|
- <view class="count" v-else>+{{v.Money}}</view>
|
|
|
+ <view v-if="v.Type==2" style="font-weight: 500;color: #3C3C3C;">-{{v.Money}}</view>
|
|
|
+ <view class="count" style="font-weight: 500;" v-else>+{{v.Money}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
+ <!-- 储值 -->
|
|
|
+ <view class="mainBox" v-if="tabIndex==2"><!-- -->
|
|
|
+ <view class="btnBox" @click="disCz=!disCz">
|
|
|
+ <image v-if="disCz" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
|
|
|
+ </image>
|
|
|
+ <image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
|
|
|
+ </image>
|
|
|
+ <view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
|
|
|
</view>
|
|
|
|
|
|
+
|
|
|
<!-- 无数据空白页 -->
|
|
|
- <nodata v-if="vipData.carMoneyList.length==0"></nodata>
|
|
|
+ <!-- <nodata v-if="vipData.carMoneyList.length==0"></nodata> -->
|
|
|
|
|
|
<!-- 使用条款-->
|
|
|
<view class="shiyongBox" v-if="shiyongShow" @click="shiyongShow=false">
|
|
@@ -305,6 +387,20 @@
|
|
|
|
|
|
return state
|
|
|
},
|
|
|
+ AmountQtyJsFcard (item) {
|
|
|
+ var state = false
|
|
|
+ if (this.dis) {
|
|
|
+ item.forEach(v => {
|
|
|
+ if (v.lastCount != 0) {
|
|
|
+ state = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ state = true
|
|
|
+ }
|
|
|
+
|
|
|
+ return state
|
|
|
+ },
|
|
|
useCl(useComment) {
|
|
|
this.useComment = useComment;
|
|
|
this.shiyongShow = true;
|
|
@@ -332,6 +428,11 @@
|
|
|
item['open'] = false
|
|
|
}
|
|
|
})
|
|
|
+ list.f2ccard.forEach((item, index) => {
|
|
|
+ for (const key in item) {
|
|
|
+ item['open'] = false
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
this.vipData = list
|
|
|
|
|
@@ -395,6 +496,44 @@
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
+.ftwoccard .active{
|
|
|
+ margin-bottom: 0rpx;
|
|
|
+}
|
|
|
+.fcardBottomactive{
|
|
|
+ padding-bottom: 20rpx;
|
|
|
+}
|
|
|
+.titleType2{
|
|
|
+ width: 32rpx;height: 32rpx; color: #FFFFFF;font-size: 24rpx;background: #FF8113;
|
|
|
+border-radius: 4rpx;margin-right: 8rpx;text-align: center;line-height: 32rpx;
|
|
|
+display: inline-block;font-weight: 400;
|
|
|
+}
|
|
|
+.titleType{
|
|
|
+ color: #FFFFFF;font-size: 24rpx;font-weight: 400;height: 32rpx;
|
|
|
+ padding:0px 4rpx;background: #FF8113;line-height: 32rpx;
|
|
|
+border-radius: 4rpx;margin-right: 8rpx;
|
|
|
+}
|
|
|
+.discountTypeBox{
|
|
|
+ display: flex;line-height: 30rpx;
|
|
|
+}
|
|
|
+.fcardType{
|
|
|
+ background: #fff1ea;color: #FF4F00;
|
|
|
+ border-radius: 5rpx;
|
|
|
+ line-height: 32rpx;
|
|
|
+ padding: 0 6rpx;
|
|
|
+ font-size: 22rpx;
|
|
|
+ height: 30rpx;
|
|
|
+ display: block;
|
|
|
+}
|
|
|
+.discountNum{
|
|
|
+ font-weight: 500;
|
|
|
+ color: #FF4F00;
|
|
|
+ font-size: 26rpx;
|
|
|
+ padding-left: 10rpx;
|
|
|
+}
|
|
|
+.fcardBottom{
|
|
|
+ display: flex;justify-content: space-between;color: #999999;font-size: 24rpx;
|
|
|
+ padding-top: 12rpx;
|
|
|
+}
|
|
|
.topVipIcon{
|
|
|
width: 41rpx;height: 40rpx;
|
|
|
}
|
|
@@ -526,10 +665,11 @@
|
|
|
background-color: #F4F5F7;
|
|
|
padding: 24rpx;
|
|
|
min-height: 100vh;
|
|
|
+ padding-top: 1rpx;
|
|
|
}
|
|
|
|
|
|
.btnBox {
|
|
|
- display: flex;background: #F4F5F7;
|
|
|
+ display: flex;background: #FFFFFF;
|
|
|
border-radius: 24rpx 24rpx 0rpx 0rpx;
|
|
|
padding: 26rpx 24rpx;
|
|
|
margin-top: -24rpx;
|
|
@@ -539,7 +679,7 @@
|
|
|
.itemBox {
|
|
|
background-color: #FFFFFF;
|
|
|
border-radius: 10rpx;
|
|
|
- padding: 30rpx 20rpx;
|
|
|
+ padding: 24rpx 20rpx;
|
|
|
margin-top: 20rpx;
|
|
|
}
|
|
|
|
|
@@ -562,8 +702,7 @@
|
|
|
}
|
|
|
|
|
|
.itemName {
|
|
|
-
|
|
|
- font-size: 30rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
font-weight: bold;
|
|
|
color: #333333;
|
|
|
line-height: 42rpx;
|
|
@@ -575,7 +714,7 @@
|
|
|
background: #FFFFFF;
|
|
|
border-radius: 28rpx;
|
|
|
border: 1rpx solid #DDDDDD;
|
|
|
- color: #666666;
|
|
|
+ color: #3C3C3C;
|
|
|
font-size: 24rpx;
|
|
|
text-align: center;
|
|
|
line-height: 52rpx;
|
|
@@ -583,10 +722,11 @@
|
|
|
|
|
|
.shopName {
|
|
|
border-radius: 5rpx;
|
|
|
- border: 1rpx solid #DDDDDD;
|
|
|
+ /* border: 1rpx solid #DDDDDD; */
|
|
|
color: #999999;
|
|
|
font-size: 24rpx;
|
|
|
padding: 2rpx 12rpx;
|
|
|
+ padding-left: 0rpx;
|
|
|
/* max-width: 300rpx;
|
|
|
overflow: hidden;
|
|
|
white-space: nowrap;
|
|
@@ -598,31 +738,33 @@
|
|
|
padding: 30rpx 0rpx;
|
|
|
border-top: 1rpx solid #EEEEEE;
|
|
|
}
|
|
|
+ .itemBgFcard{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
.itemBg:last-child{
|
|
|
padding-bottom: 0;
|
|
|
}
|
|
|
.nameTop {
|
|
|
-
|
|
|
+ display: flex;
|
|
|
font-size: 28rpx;
|
|
|
font-weight: 400;
|
|
|
color: #333333;
|
|
|
- line-height: 40rpx;
|
|
|
+ line-height: 34rpx;
|
|
|
margin-bottom: 20rpx;
|
|
|
}
|
|
|
|
|
|
.type {
|
|
|
- width: 72rpx;
|
|
|
- height: 36rpx;
|
|
|
+ height: 26rpx;
|
|
|
border-radius: 5rpx;
|
|
|
border: 1rpx solid #F19D01;
|
|
|
-
|
|
|
margin-right: 10rpx;
|
|
|
-
|
|
|
font-size: 24rpx;
|
|
|
color: #F19D01;
|
|
|
- line-height: 36rpx;
|
|
|
- padding: 2rpx 12rpx;
|
|
|
+ line-height: 30rpx;
|
|
|
+ padding: 2rpx 0;
|
|
|
text-align: center;
|
|
|
+ width: 60rpx;
|
|
|
}
|
|
|
|
|
|
.timeBottom {
|