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