mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			210 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | ||
| 	<view class="mix-empty" :style="{backgroundColor: backgroundColor}">
 | ||
| 		<view v-if="type==='cart'" class="cart column center">
 | ||
| 			<image class="icon" src="/static/empty/cart.png"></image>
 | ||
| 			<text class="title">{{ hasLogin ? '空空如也' : '先去登录嘛' }}</text>
 | ||
| 			<text class="text">别忘了买点什么犒赏一下自己哦</text>
 | ||
| 			<view class="btn center" @click="onCartBtnClick">
 | ||
| 				<text>{{ hasLogin ? '随便逛逛' : '去登录' }}</text>
 | ||
| 			</view>
 | ||
| 		</view>
 | ||
| 		<view v-else-if="type==='address'" class="address column center">
 | ||
| 			<image class="icon" src="/static/empty/address.png"></image>
 | ||
| 			<text class="text">找不到您的收货地址哦,先去添加一个吧~</text>
 | ||
| 			<view class="btn center" @click="navTo('manage')">
 | ||
| 				<text class="mix-icon icon-jia2"></text>
 | ||
| 			</view>
 | ||
| 		</view>
 | ||
| 		<view v-else-if="type==='favorite'" class="favorite column center">
 | ||
| 			<image class="icon" src="/static/empty/favorite.png"></image>
 | ||
| 			<text class="text">收藏夹空空的,先去逛逛吧~</text>
 | ||
| 			<view class="btn center" @click="switchTab('/pages/tabbar/home')">
 | ||
| 				<text>随便逛逛</text>
 | ||
| 			</view>
 | ||
| 		</view>
 | ||
| 		<view v-else class="default column center">
 | ||
| 			<image class="icon" src="/static/empty/default.png"></image>
 | ||
| 			<text class="text">{{ text }}</text>
 | ||
| 		</view>
 | ||
| 	</view>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| 	/**
 | ||
| 	 * 缺省显示
 | ||
| 	 * @prop text 缺省文字提示
 | ||
| 	 * @prop type 缺省类型
 | ||
| 	 * @prop backgroundColor 缺省页面背景色
 | ||
| 	 */
 | ||
| 	export default {
 | ||
| 		computed: {
 | ||
| 			hasLogin(){
 | ||
| 				return !!this.$store.getters.hasLogin;
 | ||
| 			}
 | ||
| 		},
 | ||
| 		props: {
 | ||
| 			text: {
 | ||
| 				type: String,
 | ||
| 				default: '暂时没有数据'
 | ||
| 			},
 | ||
| 			type: {
 | ||
| 				type: String,
 | ||
| 				default: ''
 | ||
| 			},
 | ||
| 			backgroundColor: {
 | ||
| 				type: String,
 | ||
| 				default: 'rgba(0,0,0,0)'
 | ||
| 			}
 | ||
| 		},
 | ||
| 		methods: {
 | ||
| 			onCartBtnClick(){
 | ||
| 				if(this.hasLogin){
 | ||
| 					uni.switchTab({
 | ||
| 						url: '/pages/tabbar/home'
 | ||
| 					})
 | ||
| 				}else{
 | ||
| 					this.navTo('/pages/auth/login');
 | ||
| 				}
 | ||
| 			},
 | ||
| 			switchTab(url){
 | ||
| 				uni.switchTab({
 | ||
| 					url
 | ||
| 				})
 | ||
| 			}
 | ||
| 		}
 | ||
| 	}
 | ||
| </script>
 | ||
| 
 | ||
| <style scoped lang="scss">
 | ||
| 	.mix-empty{
 | ||
| 		position: fixed;
 | ||
| 		left: 0;
 | ||
| 		right: 0;
 | ||
| 		top: 0;
 | ||
| 		bottom: 0;
 | ||
| 		display: flex;
 | ||
| 		flex-direction: column;
 | ||
| 		align-items: center;
 | ||
| 		animation: show .5s 1;
 | ||
| 	}
 | ||
| 	@keyframes show{
 | ||
| 		from {
 | ||
| 			opacity: 0;
 | ||
| 		}
 | ||
| 		to {
 | ||
| 			opacity: 1;
 | ||
| 		}
 | ||
| 	}
 | ||
| 	.default{
 | ||
| 		padding-top: 26vh;
 | ||
| 		/* #ifdef H5 */
 | ||
| 		padding-top: 30vh;
 | ||
| 		/* #endif */
 | ||
| 		
 | ||
| 		.icon{
 | ||
| 			width: 460rpx;
 | ||
| 			height: 342rpx;
 | ||
| 		}
 | ||
| 		.text{
 | ||
| 			margin-top: 10rpx;
 | ||
| 			font-size: 28rpx;
 | ||
| 			color: #999;
 | ||
| 		}
 | ||
| 	}
 | ||
| 	.cart{
 | ||
| 		padding-top: 14vh;
 | ||
| 		/* #ifdef H5 */
 | ||
| 		padding-top: 18vh;
 | ||
| 		/* #endif */
 | ||
| 		
 | ||
| 		.icon{
 | ||
| 			width: 320rpx;
 | ||
| 			height: 320rpx;
 | ||
| 		}
 | ||
| 		.title{
 | ||
| 			margin: 50rpx 0 26rpx;
 | ||
| 			font-size: 34rpx;
 | ||
| 			color: #333;
 | ||
| 		}
 | ||
| 		.text{
 | ||
| 			font-size: 28rpx;
 | ||
| 			color: #aaa;
 | ||
| 		}
 | ||
| 		.btn{
 | ||
| 			width: 320rpx;
 | ||
| 			height: 80rpx;
 | ||
| 			margin-top: 80rpx;
 | ||
| 			text-indent: 2rpx;
 | ||
| 			letter-spacing: 2rpx;
 | ||
| 			font-size: 32rpx;
 | ||
| 			color: #fff;
 | ||
| 			border-radius: 100rpx;
 | ||
| 			background: linear-gradient(to bottom right, #ffb2bf, $base-color);
 | ||
| 		}
 | ||
| 	}
 | ||
| 	.address{
 | ||
| 		padding-top: 6vh;
 | ||
| 		/* #ifdef H5 */
 | ||
| 		padding-top: 10vh;
 | ||
| 		/* #endif */
 | ||
| 		
 | ||
| 		.icon{
 | ||
| 			width: 380rpx;
 | ||
| 			height: 380rpx;
 | ||
| 		}
 | ||
| 		.text{
 | ||
| 			width: 400rpx;
 | ||
| 			margin-top: 40rpx;
 | ||
| 			font-size: 30rpx;
 | ||
| 			color: #999;
 | ||
| 			text-align: center;
 | ||
| 			line-height: 1.6;
 | ||
| 		}
 | ||
| 		.btn{
 | ||
| 			position: fixed;
 | ||
| 			left: 50%;
 | ||
| 			bottom: 120rpx;
 | ||
| 			width: 110rpx;
 | ||
| 			height: 110rpx;
 | ||
| 			background-color: $base-color;
 | ||
| 			border-radius: 100rpx;
 | ||
| 			transform: translateX(-50%);
 | ||
| 			box-shadow: 2rpx 2rpx 10rpx rgba(255, 83, 111, .5);
 | ||
| 		}
 | ||
| 		.icon-jia2{
 | ||
| 			font-size: 50rpx;
 | ||
| 			color: #fff;
 | ||
| 		}
 | ||
| 	}
 | ||
| 	.favorite{
 | ||
| 		padding-top: 6vh;
 | ||
| 		/* #ifdef H5 */
 | ||
| 		padding-top: 10vh;
 | ||
| 		/* #endif */
 | ||
| 		
 | ||
| 		.icon{
 | ||
| 			width: 360rpx;
 | ||
| 			height: 360rpx;
 | ||
| 		}
 | ||
| 		.text{
 | ||
| 			width: 400rpx;
 | ||
| 			margin-top: 40rpx;
 | ||
| 			font-size: 30rpx;
 | ||
| 			color: #999;
 | ||
| 			text-align: center;
 | ||
| 			line-height: 1.6;
 | ||
| 		}
 | ||
| 		.btn{
 | ||
| 			width: 320rpx;
 | ||
| 			height: 80rpx;
 | ||
| 			margin-top: 40rpx;
 | ||
| 			text-indent: 2rpx;
 | ||
| 			letter-spacing: 2rpx;
 | ||
| 			font-size: 32rpx;
 | ||
| 			color: #fff;
 | ||
| 			border-radius: 100rpx;
 | ||
| 			background: linear-gradient(to bottom right, #ffb2bf, $base-color);
 | ||
| 		}
 | ||
| 	}
 | ||
| </style>
 | 
