| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 | 
							- <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>
 
 
  |