<template> 
 | 
  <el-row :gutter="40" class="panel-group"> 
 | 
    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> 
 | 
      <div class="card-panel" @click="handleSetLineChartData('newVisitis')"> 
 | 
        <div class="card-panel-icon-wrapper icon-people"> 
 | 
          <svg-icon icon-class="peoples" class-name="card-panel-icon" /> 
 | 
        </div> 
 | 
        <div class="card-panel-description"> 
 | 
          <div class="card-panel-text"> 
 | 
            访客 
 | 
          </div> 
 | 
          <count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" /> 
 | 
        </div> 
 | 
      </div> 
 | 
    </el-col> 
 | 
    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> 
 | 
      <div class="card-panel" @click="handleSetLineChartData('messages')"> 
 | 
        <div class="card-panel-icon-wrapper icon-message"> 
 | 
          <svg-icon icon-class="message" class-name="card-panel-icon" /> 
 | 
        </div> 
 | 
        <div class="card-panel-description"> 
 | 
          <div class="card-panel-text"> 
 | 
            消息 
 | 
          </div> 
 | 
          <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" /> 
 | 
        </div> 
 | 
      </div> 
 | 
    </el-col> 
 | 
    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> 
 | 
      <div class="card-panel" @click="handleSetLineChartData('purchases')"> 
 | 
        <div class="card-panel-icon-wrapper icon-money"> 
 | 
          <svg-icon icon-class="money" class-name="card-panel-icon" /> 
 | 
        </div> 
 | 
        <div class="card-panel-description"> 
 | 
          <div class="card-panel-text"> 
 | 
            金额 
 | 
          </div> 
 | 
          <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" /> 
 | 
        </div> 
 | 
      </div> 
 | 
    </el-col> 
 | 
    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> 
 | 
      <div class="card-panel" @click="handleSetLineChartData('shoppings')"> 
 | 
        <div class="card-panel-icon-wrapper icon-shopping"> 
 | 
          <svg-icon icon-class="shopping" class-name="card-panel-icon" /> 
 | 
        </div> 
 | 
        <div class="card-panel-description"> 
 | 
          <div class="card-panel-text"> 
 | 
            订单 
 | 
          </div> 
 | 
          <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> 
 | 
        </div> 
 | 
      </div> 
 | 
    </el-col> 
 | 
  </el-row> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import CountTo from 'vue-count-to' 
 | 
  
 | 
export default { 
 | 
  components: { 
 | 
    CountTo 
 | 
  }, 
 | 
  methods: { 
 | 
    handleSetLineChartData(type) { 
 | 
      this.$emit('handleSetLineChartData', type) 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.panel-group { 
 | 
  margin-top: 18px; 
 | 
  
 | 
  .card-panel-col { 
 | 
    margin-bottom: 32px; 
 | 
  } 
 | 
  
 | 
  .card-panel { 
 | 
    height: 108px; 
 | 
    cursor: pointer; 
 | 
    font-size: 12px; 
 | 
    position: relative; 
 | 
    overflow: hidden; 
 | 
    color: #666; 
 | 
    background: #fff; 
 | 
    box-shadow: 4px 4px 40px rgba(0, 0, 0, .05); 
 | 
    border-color: rgba(0, 0, 0, .05); 
 | 
  
 | 
    &:hover { 
 | 
      .card-panel-icon-wrapper { 
 | 
        color: #fff; 
 | 
      } 
 | 
  
 | 
      .icon-people { 
 | 
        background: #40c9c6; 
 | 
      } 
 | 
  
 | 
      .icon-message { 
 | 
        background: #36a3f7; 
 | 
      } 
 | 
  
 | 
      .icon-money { 
 | 
        background: #f4516c; 
 | 
      } 
 | 
  
 | 
      .icon-shopping { 
 | 
        background: #34bfa3 
 | 
      } 
 | 
    } 
 | 
  
 | 
    .icon-people { 
 | 
      color: #40c9c6; 
 | 
    } 
 | 
  
 | 
    .icon-message { 
 | 
      color: #36a3f7; 
 | 
    } 
 | 
  
 | 
    .icon-money { 
 | 
      color: #f4516c; 
 | 
    } 
 | 
  
 | 
    .icon-shopping { 
 | 
      color: #34bfa3 
 | 
    } 
 | 
  
 | 
    .card-panel-icon-wrapper { 
 | 
      float: left; 
 | 
      margin: 14px 0 0 14px; 
 | 
      padding: 16px; 
 | 
      transition: all 0.38s ease-out; 
 | 
      border-radius: 6px; 
 | 
    } 
 | 
  
 | 
    .card-panel-icon { 
 | 
      float: left; 
 | 
      font-size: 48px; 
 | 
    } 
 | 
  
 | 
    .card-panel-description { 
 | 
      float: right; 
 | 
      font-weight: bold; 
 | 
      margin: 26px; 
 | 
      margin-left: 0px; 
 | 
  
 | 
      .card-panel-text { 
 | 
        line-height: 18px; 
 | 
        color: rgba(0, 0, 0, 0.45); 
 | 
        font-size: 16px; 
 | 
        margin-bottom: 12px; 
 | 
      } 
 | 
  
 | 
      .card-panel-num { 
 | 
        font-size: 20px; 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
} 
 | 
  
 | 
@media (max-width:550px) { 
 | 
  .card-panel-description { 
 | 
    display: none; 
 | 
  } 
 | 
  
 | 
  .card-panel-icon-wrapper { 
 | 
    float: none !important; 
 | 
    width: 100%; 
 | 
    height: 100%; 
 | 
    margin: 0 !important; 
 | 
  
 | 
    .svg-icon { 
 | 
      display: block; 
 | 
      margin: 14px auto !important; 
 | 
      float: none !important; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</style> 
 |