94 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
| <template>
 | |
|   <view
 | |
|     class="ss-flex-col ss-col-center ss-row-center empty-box"
 | |
|     :style="[{ paddingTop: paddingTop + 'rpx' }]"
 | |
|   >
 | |
|     <view class=""><image class="empty-icon" :src="icon" mode="widthFix"></image></view>
 | |
|     <view class="empty-text ss-m-t-28 ss-m-b-40">
 | |
|       <text v-if="text !== ''">{{ text }}</text>
 | |
|     </view>
 | |
|     <button class="ss-reset-button empty-btn" v-if="showAction" @tap="clickAction">
 | |
|       {{ actionText }}
 | |
|     </button>
 | |
|   </view>
 | |
| </template>
 | |
| 
 | |
| <script setup>
 | |
|   import sheep from '@/sheep';
 | |
|   /**
 | |
|    * 容器组件 - 装修组件的样式容器
 | |
|    */
 | |
| 
 | |
|   const props = defineProps({
 | |
|     // 图标
 | |
|     icon: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     // 描述
 | |
|     text: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     // 是否显示button
 | |
|     showAction: {
 | |
|       type: Boolean,
 | |
|       default: false,
 | |
|     },
 | |
|     // button 文字
 | |
|     actionText: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     // 链接
 | |
|     actionUrl: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     // 间距
 | |
|     paddingTop: {
 | |
|       type: String,
 | |
|       default: '260',
 | |
|     },
 | |
|     //主题色
 | |
|     buttonColor: {
 | |
|       type: String,
 | |
|       default: 'var(--ui-BG-Main)',
 | |
|     },
 | |
|   });
 | |
| 
 | |
|   const emits = defineEmits(['clickAction']);
 | |
| 
 | |
|   function clickAction() {
 | |
|     if (props.actionUrl !== '') {
 | |
|       sheep.$router.go(props.actionUrl);
 | |
|     }
 | |
|     emits('clickAction');
 | |
|   }
 | |
| </script>
 | |
| 
 | |
| <style lang="scss" scoped>
 | |
|   .empty-box {
 | |
|     width: 100%;
 | |
|   }
 | |
|   .empty-icon {
 | |
|     width: 240rpx;
 | |
|   }
 | |
| 
 | |
|   .empty-text {
 | |
|     font-size: 26rpx;
 | |
|     font-weight: 500;
 | |
|     color: #999999;
 | |
|   }
 | |
| 
 | |
|   .empty-btn {
 | |
|     width: 320rpx;
 | |
|     height: 70rpx;
 | |
|     border: 2rpx solid v-bind('buttonColor');
 | |
|     border-radius: 35rpx;
 | |
|     font-weight: 500;
 | |
|     color: v-bind('buttonColor');
 | |
|     font-size: 28rpx;
 | |
|   }
 | |
| </style>
 |