chenrong il y a 1 an
Parent
commit
80c04ccdd4

+ 122 - 32
component/paymentPopup.vue

@@ -66,25 +66,34 @@
 			</view>
 		</uni-popup>
 		<!-- 抽赏结果 -->
-		<uni-popup class="popup" ref="popup2" type="center">
-			<!-- <image class="bk" :src="$fileUrl() + /winningLottery/bk.png" mode="widthFix"></image> -->
+		<uni-popup class="popup2" ref="popup2" type="center">
+			<image class="bk" :src="$fileUrl() + '/winningLottery/bk.png'" mode="widthFix"></image>
 			<view class="lotteryResults">
 				<view class="title">
 					中奖详情
-					<uni-icons class="close" @click="close2()" type="closeempty" size="20"></uni-icons>
+					<!-- <uni-icons class="close" @click="close2()" type="closeempty" size="20"></uni-icons> -->
 				</view>
-				<view class="prizes" v-if="prizes.length > 0">
+				<view class="prizes" >
 					<view class="item" v-for="(item, index) in prizes">
-						<view class="type">
-							{{ $selectDictLabel(rewardType, item.prizeType) }}
-						</view>
-						<image class="img" :src="item.prizeIcon" mode="widthFix"></image>
-						<view class="name">
-							{{ item.prizeName }} × {{item.prizeNum}}
+						<image class="img" :src="item.prizeIcon" mode="aspectFill"></image>
+						<view class="info">
+							<view class="row name">
+								<span style="margin-right: 10px;">{{ item.prizeName }}</span>
+								<span v-if="item.prizeType == 4">随机</span>
+								<span>{{item.prizeNum}}张</span>
+							</view>
+							<view class="row type">
+								{{ $selectDictLabel(rewardType, item.prizeType) }}
+							</view>
 						</view>
 					</view>
+					<Mloading class="loading" text="抽奖中..." v-if="prizes.length == 0" />
+				</view>
+				<image class="Rectangle" :src="$fileUrl() + '/winningLottery/Rectangle.png'" mode="widthFix"></image>
+				<view class="text">
+					已放入背包,可前往背包查看~
 				</view>
-				<Mloading text="抽奖中..." v-else />
+				<image class="close" @click="close2" :src="$fileUrl() + '/winningLottery/icon.png'" mode="widthFix"></image>
 			</view>
 		</uni-popup>
 		<!-- 选则优惠券 -->
@@ -158,6 +167,26 @@
 				},
 				orderId: null,
 				prizes: [],
+				// prizes: [
+				// 	{
+				// 		prizeType: 1,
+				// 		prizeIcon: 'https://mall.rongtongh.cn/storage/raffle1.jpg',
+				// 		prizeName: 'S赏',
+				// 		prizeNum: 12
+				// 	},
+				// 	{
+				// 		prizeType: 4,
+				// 		prizeIcon: 'https://mall.rongtongh.cn/storage/raffle1.jpg',
+				// 		prizeName: 'S赏',
+				// 		prizeNum: 12
+				// 	},
+				// 	{
+				// 		prizeType: 1,
+				// 		prizeIcon: 'https://mall.rongtongh.cn/storage/raffle1.jpg',
+				// 		prizeName: 'S赏',
+				// 		prizeNum: 12
+				// 	}
+				// ],
 				getApiNum: 0,
 				info: {},
 				// 优惠券
@@ -377,10 +406,6 @@
 		}
 	}
 
-	
-
-
-
 	.tip {
 		margin: 10px 20px 0 20px;
 		color: #000000;
@@ -397,26 +422,29 @@
 		margin: 10px auto;
 		width: 210px;
 	}
-	.popup {
+	.popup2 {
 		.bk {
+			position: relative;
+			top: -10vh;
 			width: 100vw;
 		}
 	}
 	.lotteryResults {
-		width: 90vw;
-		// padding-top: 65px;
-		background: #fff;
+		width: 76vw;
+		padding-top: 62px;
+		// background: #fff;
 		border-radius: 10px;
-		// position: absolute;
-		// top: 0;
-		// left: 50%;
-		// transform: translateX(-50%);
+		position: absolute;
+		top: -10vh;
+		left: 50%;
+		transform: translateX(-50%);
 		
 		> .title {
 			text-align: center;
-			padding: 15px;
+			padding: 16px;
+			height: 20px;
 			font-weight: 600;
-			// color: #fff;
+			color: #fff;
 			
 			.close {
 				position: absolute;
@@ -424,21 +452,80 @@
 				top: 15px;
 			}
 		}
+		.Rectangle {
+			width: calc(100% - 1px);
+			position: absolute;
+			bottom: 45px;
+			left: 3px;
+		}
+		.text {
+			width: calc(100% - 1px);
+			height: 50px;
+			line-height: 50px;
+			position: absolute;
+			bottom: 45px;
+			left: 3px;
+			text-align: center;
+			color: #fff;
+			text-shadow: 0px 1px 0px rgba(0,0,0,0.5);
+			font-size: 12px;
+		}
+		.close {
+			width: 30px;
+			height: 30px;
+			margin-top: 50px;
+			position: relative;
+			z-index: 4;
+			left: 50%;
+			transform: translateX(-50%);
+		}
 		.prizes {
-			padding: 10px;
-
+			margin: 30px 15px 10px 19px;
+			position: relative;
+			height: calc(85vw - 30px);
+			background: linear-gradient(180deg, #F77D4D 0%, #FEAE81 100%);
+			border-radius: 8px;
+			padding: 10px 15px;
+			overflow: auto;
+			
+			.loading {
+				position: absolute;
+				top: 50%;
+				left: 50%;
+				transform: translateY(-50%) translateX(-50%);
+			}
+			
 			.item {
-				display: inline-flex;
-				flex-direction: column;
+				display: flex;
+				// flex-direction: column;
 				align-items: center;
 				justify-content: center;
 				text-align: center;
-				margin-right: 5px;
-
+				// margin-right: 5px;
+				background: #fff;
+				padding: 13px 15px;
+				margin-bottom: 10px;
+				border-radius: 8px;
+				
 				.img {
 					width: 70px;
+					height: 70px;
 					border-radius: 5px;
 				}
+				.info {
+					display: flex;
+					flex-direction: column;
+					// align-items: center;
+					justify-content: center;
+					flex: 1;
+					
+					.row {
+						// width: 100%;
+					}
+					.name {
+						font-size: 14px;
+					}
+				}
 			}
 		}
 	}
@@ -474,6 +561,7 @@
 
 			.right {
 				padding: 10px;
+				color: #8E4A21;
 
 				.row {
 					margin-bottom: 4px;
@@ -498,5 +586,7 @@
 	}
 </style>
 <style scoped>
-
+	.popup2 >>> .uni-popup__wrapper {
+		top: -8vh;
+	}
 </style>

+ 9 - 0
pages.json

@@ -203,6 +203,15 @@
                 "enablePullDownRefresh": false
             }
         }
+		,{
+            "path" : "pages/drawCard_fullSet/goods",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "奖品预览",
+                "enablePullDownRefresh": false
+            }
+        }
+		
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",

+ 5 - 0
pages/addressManage/addressManage.vue

@@ -18,6 +18,7 @@
 					<uni-icons color="#00ce65" type="compose" size="25" @click="clickEdit(item)"></uni-icons>
 				</view>
 			</view>
+			<noData v-if="list.length == 0" />
 		</view>
 		<view class="bottom">
 			<button class="m_button" type="default" @click="toAdd">新建地址</button>
@@ -26,11 +27,15 @@
 </template>
 
 <script>
+	import noData from "@/component/noData.vue"
 	import {
 		addressListApi,
 		addressDeleteApi
 	} from "@/api/address.js"
 	export default {
+		components: {
+			noData
+		},
 		data() {
 			return {
 				list: [],

+ 45 - 1
pages/coupon/coupon.vue

@@ -1,5 +1,13 @@
 <template>
 	<view class="container">
+		<view class="tabs">
+			<view :class="['tab', tabActive == 1?'active':'']" @click="tabClick(1)">
+				可使用
+			</view>
+			<view :class="['tab', tabActive == 2?'active':'']" style="margin-left: 10px;" @click="tabClick(2)">
+				不可使用
+			</view>
+		</view>
 		<view class="card" v-for="(item, index) in list">
 			<view class="leftIcon" ></view>
 			<view class="left"  >
@@ -17,19 +25,27 @@
 				</view>
 			</view>
 		</view>
+		<noData v-if="list.length == 0" />
 	</view>
 </template>
 
 <script>
+	import noData from "@/component/noData.vue"
 	import {
 		couponListApi
 	} from "@/api/coupon.js"
 	export default {
+		components: {
+			noData
+		},
 		onLoad() {
-			this.getList()
+			this.$nextTick(() => {
+				this.getList()
+			})
 		},
 		data() {
 			return {
+				tabActive: 1,
 				list: [],
 				params: {
 					limit: 999,
@@ -39,10 +55,21 @@
 			}
 		},
 		methods: {
+			tabClick(index) {
+				this.tabActive = index
+				if (index == 1) {
+					this.params.status = 0
+				} else {
+					this.params.status = 1
+				}
+				this.getList()
+			},
 			getList() {
+				// wx.showLoading()
 				couponListApi(this.params).then(res => {
 					console.log(res, '我的优惠券')
 					this.list = res.data.list
+					// wx.hideLoading()
 				})
 			}
 		}
@@ -50,6 +77,23 @@
 </script>
 
 <style scoped lang="scss">
+	.tabs {
+		display: flex;
+		
+		.tab {
+			width: 68px;
+			height: 24px;
+			font-size: 14px;
+			background: #fff;
+			border-radius: 4px;
+			line-height: 24px;
+			text-align: center;
+		}
+		.active {
+			background: #FEA200;
+			color: #fff;
+		}
+	}
 	.container {
 		background: #eaeaea;
 		padding: 10px;

+ 31 - 11
pages/drawCard_fullSet/drawCard_fullSet.vue

@@ -59,18 +59,18 @@
 		<view class="buttons">
 			<image class="button1" @click="toKnapsack" :src="$fileUrl() + '/drawCard_fullSet/button3.png'" mode="heightFix"></image>
 			<!-- <image class="button1" :src="$fileUrl() + '/drawCard_fullSet/button4.png'" mode="heightFix"></image> -->
-			<image class="button1" :src="$fileUrl() + '/drawCard_fullSet/button5.png'" mode="heightFix"></image>
+			<image class="button1" @click="$navigateTo('/pages/drawCard_fullSet/goods', {raffleId: params.raffleId})" :src="$fileUrl() + '/drawCard_fullSet/button5.png'" mode="heightFix"></image>
 		</view>
-		<view class="winningList" v-if="prizeUserList.length > 0">
+		<view class="winningList" v-if="prizeUserList.length > 0" @click="$navigateTo('/pages/drawCard_fullSet/winningList', {raffleId: params.raffleId})">
 			<image class="winningListTitle" :src="$fileUrl() + '/drawCard_fullSet/icon2.png'" mode="widthFix"></image>
 			<view class="list">
-				<view class="item" v-for="(item, index) in prizeUserList">
+				<view class="item" v-for="(item, index) in prizeUserList.slice(0, 5)">
 					<image class="photo" :src="item.userAvtar" mode="aspectFill"></image>
 					<view class="name">
 						{{ item.userName }}
 					</view>
 				</view>
-				<view class="item" v-if="prizeUserList.length == 5">
+				<view class="item" v-if="prizeUserList.length > 5">
 					<image class="photo" :src="$fileUrl() + '/drawCard_fullSet/icon3.png'" mode="aspectFill"></image>
 					<view class="name" style="color: #6478FD;">
 						查看更多
@@ -190,16 +190,34 @@
 			},
 			getPrizeUserList() {
 				let params = {
-					limit: 5,
+					limit: 999,
 					page: 1,
 					raffleId: this.params.raffleId
 				}
 				prizeUserListApi(params).then(res => {
 					console.log(res, '中奖记录')
-					// for (var i = 0; i < res.data.length; i++) {
-					// 	res.data[i]
-					// }
-					this.prizeUserList = res.data
+					let userIds = []
+					let list = []
+					for (var i = 0; i < res.data.length; i++) {
+						let item = res.data[i]
+						if (userIds.indexOf(item.userId) == -1) {
+							userIds.push(item.userId)
+							console.log(userIds.indexOf(item.userId))
+							let index = userIds.indexOf(item.userId)
+							list[index] = {
+								userId: item.userId,
+								userAvtar: item.userAvtar,
+								userName: item.userName,
+								prizes: [],
+							}
+							list[index].prizes.push(item)
+						} else {
+							let index = userIds.indexOf(item.userId)
+							list[index].prizes.push(item)
+						}
+					}
+					this.userIds = userIds
+					this.prizeUserList = list
 				})
 			},
 			getPrizeList() {
@@ -535,24 +553,26 @@
 			
 			.list {
 				position: relative;
-				padding: 12px;
+				padding: 12px 7px 12px 12px;
 				border-radius: 12px;
 				background: #fff;
 				display: flex;
 				
 				.item {
 					width: calc(100% / 6 - 5px);
-					margin: 0 auto;
+					// margin: 0 auto;
 					position: relative;
 					display: inline-flex;
 					flex-direction: column;
 					justify-content: center;
 					align-items: center;
+					margin-right: 5px;
 					
 					.photo {
 						width: 40px;
 						height: 40px;
 						border-radius: 50%;
+						background: #b6b6b6;
 					}
 					
 					.name {

+ 140 - 0
pages/drawCard_fullSet/goods.vue

@@ -0,0 +1,140 @@
+<template>
+	<view class="container">
+		<view class="prizes" >
+			<image class="title" :src="$fileUrl() + '/first/title.png'" mode="widthFix"></image>
+			<view class="prizesList" v-for="(item, index) in prizeList">
+				<image class="bk" :src="$fileUrl() + '/first/bk2.png'" mode="scaleToFill"></image>
+				<view class="prizesTitle">
+					{{ $selectDictLabel(rewardType, item.type) }}
+				</view>
+				<view class="prizesImgOne" v-if="item.type == 22">
+					<view class="image" v-for="(item2, index2) in item.prizeList">
+						<image :class="item2.leftNum == 0 ? '' : ''" :src="item2.icon" mode="aspectFill"></image>
+					</view>
+				</view>
+				<view class="prizesImg" v-else>
+					<view class="image" v-for="(item2, index2) in item.prizeList">
+						<image :class="item2.leftNum == 0 ? '' : ''" :src="item2.icon" mode="aspectFill"></image>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		rewardType,
+	} from "@/utils/commonConfig.js"
+	import {
+		prizeListApi,
+	} from "@/api/drawCard.js"
+	export default {
+		data() {
+			return {
+				rewardType: rewardType,
+				params: {
+					raffleId: null
+				},
+				prizeList: [],
+			}
+		},
+		onLoad(query) {
+			if (query.raffleId) {
+				this.params.raffleId = query.raffleId
+				this.getPrizeList()
+			}
+		},
+		onShow() {
+			
+		},
+		methods: {
+			getPrizeList() {
+				prizeListApi(this.params).then(res => {
+					console.log(res, '奖池预览')
+					this.prizeList = res.data
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.container {
+		background: #9EC8F9;
+		padding-top: 15px;
+		overflow: auto;
+	}
+	.prizes {
+		.title {
+			width: 103px;
+			margin: 0 auto;
+		}
+	
+		.prizesList {
+			margin: 20px;
+			position: relative;
+			overflow: hidden;
+			// z-index: 5;
+			
+			.bk {
+				width: 100%;
+				height: 100%;
+				position: absolute;
+				top: 0;
+			}
+			.prizesTitle {
+				position: relative;
+				height: 30px;
+				line-height: 30px;
+				width: 100%;
+				margin-left: 1px;
+				margin-top: 15px;
+				padding-left: 15px;
+				color: #fff;
+				font-weight: 800;
+				background: linear-gradient(90deg, rgba(89,166,255,0.8) 0%, rgba(158,200,249,0) 100%);
+			}
+			.prizesImg {
+				position: relative;
+				display: grid;
+				grid-template-columns: 1fr 1fr;
+				margin: 15px;
+				white-space: wrap;
+				text-align: center;
+				// overflow: auto;
+				
+				.image {
+					text-align: center;
+					
+					image {
+						display: inline-block;
+						width: 36vw;
+						height: 36vw;
+						border-radius: 10px;
+						margin: 0 5px;
+					}
+				}
+				
+			}
+			.prizesImgOne {
+				position: relative;
+				display: flex;
+				justify-content: center;
+				margin: 15px;
+				
+				.image {
+					text-align: center;
+					
+					image {
+						display: inline-block;
+						width: 45vw;
+						height: 45vw;
+						border-radius: 10px;
+						margin: 0 5px;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 137 - 12
pages/drawCard_fullSet/winningList.vue

@@ -1,16 +1,25 @@
 <template>
 	<view class="container">
-		<uni-collapse>
-			<uni-collapse-item title="标题文字"
-				thumb="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png">
+		<uni-collapse class="collapse" v-model="collapseArr" @change="change">
+			<uni-collapse-item 
+				class="collapseItem"
+				v-for="(item, index) in prizeUserList"
+				:title="item.userName"
+				:thumb="item.userAvtar"
+				:show-arrow="false"
+			>
+				<template v-slot:title>
+					<view class="collapseTitle">
+						<image class="photo" :src="item.userAvtar" mode="aspectFill"></image>
+						<span class="text">{{item.userName, 'item.userName'}}</span>
+						<image v-if="collapseShow(index)" class="icon" :src="$fileUrl() + '/drawCard_fullSet/icon4.png'" mode="widthFix"></image>
+						<image v-else class="icon" :src="$fileUrl() + '/drawCard_fullSet/icon5.png'" mode="widthFix"></image>
+					</view>
+				</template>
 				<view class="content">
-					<text class="text">折叠内容主体,可自定义内容及样式</text>
-				</view>
-			</uni-collapse-item>
-			<uni-collapse-item title="标题文字"
-				thumb="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png">
-				<view class="content">
-					<text class="text">折叠内容主体,可自定义内容及样式</text>
+					<view class="item" v-for="(item2, index2) in item.prizes">
+						<image class="img" :src="item2.prizeIcon" mode="heightFix"></image>
+					</view>
 				</view>
 			</uni-collapse-item>
 		</uni-collapse>
@@ -18,18 +27,134 @@
 </template>
 
 <script>
+	import {
+		prizeUserListApi
+	} from "@/api/drawCard.js"
+	
 	export default {
 		data() {
-			
+			return {
+				collapseArr: [],
+				params: {
+					limit: 9999,
+					page: 1,
+					raffleId: null
+				},
+				prizeUserList: [],
+				userIds: []
+			}
+		},
+		onLoad(query) {
+			console.log(query, 'query')
+			if (query.raffleId) {
+				this.params.raffleId = query.raffleId
+				this.getPrizeUserList()
+			}
 		},
 		onShow() {
 			
 		},
-		methods: {
+		computed: {
 			
+		},
+		methods: {
+			collapseShow(index) {
+				console.log(this.collapseArr, 'this.collapseArr')
+				let i = index + ""
+				let b = false
+				if (this.collapseArr.indexOf(i) != -1) {
+					b = true
+				}
+				return b	
+			},
+			change() {
+				// console.log(this.collapseArr, 'this.collapseArr')
+			},
+			getPrizeUserList() {
+				prizeUserListApi(this.params).then(res => {
+					console.log(res, '中奖记录')
+					let userIds = []
+					let list = []
+					for (var i = 0; i < res.data.length; i++) {
+						let item = res.data[i]
+						if (userIds.indexOf(item.userId) == -1) {
+							userIds.push(item.userId)
+							console.log(userIds.indexOf(item.userId))
+							let index = userIds.indexOf(item.userId)
+							list[index] = {
+								userId: item.userId,
+								userAvtar: item.userAvtar,
+								userName: item.userName,
+								prizes: [],
+							}
+							list[index].prizes.push(item)
+						} else {
+							let index = userIds.indexOf(item.userId)
+							list[index].prizes.push(item)
+						}
+					}
+					this.userIds = userIds
+					this.prizeUserList = list
+				})
+			},
 		}
 	}
 </script>
 
 <style scoped lang="scss">
+	.collapseItem {
+		background: #fff;
+		border-radius: 8px;
+		margin: 0 10px 10px 10px;
+		position: relative;
+	}
+	.collapseTitle {
+		display: flex;
+		align-items: center;
+		padding: 10px;
+		
+		.photo {
+			width: 40px;
+			height: 40px;
+			margin-right: 8px;
+			border-radius: 50%;
+		}
+		
+		.text {
+			font-size: 12px;
+			color: #333333;
+			font-weight: 600;
+		}
+		.icon {
+			width: 24px;
+			height: 24px;
+			position: absolute;
+			right: 10px;
+		}
+	}
+	.content {
+		display: grid;
+		grid-template-columns: 1fr 1fr 1fr 1fr;
+		grid-gap: 10px;
+		padding: 10px;
+		.item {
+			width: 100%;
+			display: flex;
+			justify-content: center;
+			background: linear-gradient(180deg, #FAF1A7 0%, #FFE456 100%);
+			border-radius: 4px;
+			
+			.img {
+				height: 76px;
+			}
+		}
+	}
+</style>
+<style scoped>
+	.collapse >>> .uni-collapse {
+		background: none;
+	}
+	.collapse >>> .uni-collapse-item__wrap {
+		border-radius: 0 0 8px 8px;
+	}
 </style>

+ 3 - 4
pages/index/index.vue

@@ -3,7 +3,6 @@
 		<image class="headImg" mode="aspectFill" :src="$fileUrl() + '/homeHead.jpeg'"></image>
 		<view class="headBarrage">
 			<l-barrage :data="barrageData" :defer="1" :loopCount="6">
-				<!-- 自定义每条弹幕样式 content 为你传入的数据-->
 				<template #default="{content}">
 					<view class="bullet">{{content.text}}</view>
 				</template>
@@ -30,12 +29,12 @@
 		</view>
 		<view class="buttons">
 			<view class="left">
-				<image :src="$fileUrl() + '/button3.png'" @click="toInvite"></image>
+				<image :src="$fileUrl() + '/button3.png'" @click="toInvite" mode="widthFix"></image>
 			</view>
 			<view class="right">
-				<image :src="$fileUrl() + '/button1.png'"></image>
+				<image :src="$fileUrl() + '/button1.png'" mode="widthFix"></image>
 				<image :src="$fileUrl() + '/button2.png'"
-					@click="$navigateTo('/pages/raffle/raffle')"></image>
+					@click="$navigateTo('/pages/raffle/raffle')" mode="widthFix"></image>
 			</view>
 		</view>
 		<view class="list-title">

+ 6 - 0
pages/knapsack/knapsack.vue

@@ -58,6 +58,7 @@
 						</view>
 					</uni-swipe-action-item>
 				</uni-swipe-action>
+				<noData v-if="list.length == 0" />
 			</view>
 
 			<view class="buttons" v-if="!showCheck">
@@ -156,18 +157,23 @@
 						</span>
 					</view>
 				</view>
+				<noData v-if="list2.length == 0" />
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
+	import noData from "@/component/noData.vue"
 	import {
 		packagePrizeListApi,
 		packageOrderListApi,
 		prizerRecoverApi
 	} from "@/api/knapsack.js"
 	export default {
+		components: {
+			noData
+		},
 		data() {
 			return {
 				showCheck: false,

+ 6 - 0
pages/knapsackTab/knapsack.vue

@@ -58,6 +58,7 @@
 						</view>
 					</uni-swipe-action-item>
 				</uni-swipe-action>
+				<noData v-if="list.length == 0" />
 			</view>
 
 			<view class="buttons" v-if="!showCheck">
@@ -156,18 +157,23 @@
 						</span>
 					</view>
 				</view>
+				<noData v-if="list2.length == 0" />
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
+	import noData from "@/component/noData.vue"
 	import {
 		packagePrizeListApi,
 		packageOrderListApi,
 		prizerRecoverApi
 	} from "@/api/knapsack.js"
 	export default {
+		components: {
+			noData
+		},
 		data() {
 			return {
 				showCheck: false,

+ 8 - 0
pages/mine/mine.vue

@@ -20,6 +20,7 @@
 					</view>
 					<view class="id">
 						ID: <span v-if="hasLogin">{{userId || ''}}</span>
+						<image class="copy" :src="$fileUrl() + '/mine/copy.png'" mode="widthFix"></image>
 					</view>
 				</view>
 			</view>
@@ -195,6 +196,13 @@
 				.id {
 					margin-top: 5px;
 					font-size: 13px;
+					display: flex;
+					align-items: center;
+					
+					.copy {
+						width: 14px;
+						margin-left: 5px;
+					}
 				}
 			}
 		}

+ 5 - 0
pages/winningRecord/winningRecord.vue

@@ -21,10 +21,12 @@
 				</view>
 			</view>
 		</view>
+		<noData v-if="list.length == 0" />
 	</view>
 </template>
 
 <script>
+	import noData from "@/component/noData.vue"
 	import {
 		prizeUserListApi
 	} from "@/api/drawCard.js"
@@ -32,6 +34,9 @@
 		rewardType
 	} from "@/utils/commonConfig.js"
 	export default {
+		components: {
+			noData
+		},
 		data() {
 			return {
 				rewardType: rewardType,

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/knapsack/knapsack.wxml


+ 6 - 0
unpackage/dist/dev/mp-weixin/pages/mine/mine.wxss

@@ -45,6 +45,12 @@
 .user .userInfo .info .id.data-v-dcbcfe34 {
   margin-top: 5px;
   font-size: 13px;
+  display: flex;
+  align-items: center;
+}
+.user .userInfo .info .id .copy.data-v-dcbcfe34 {
+  width: 14px;
+  margin-left: 5px;
 }
 .user .row.data-v-dcbcfe34 {
   display: flex;

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff