<template>
  <div>
    <div class="boxlist">
      <div class="box box1">
        <div class="boxtitle">
          <span>图书借阅统计</span>
          <i class="el-icon-data-line statIcon"></i>
        </div>
        <div class="bline"></div>
        <div class="boxcontentsubtitle">借出</div>
        <div class="boxcontent">
          <div class="boxcontentitem">
            <div class="boxcontentitem-big">
              {{totaldata.borrow.total}}
            </div>
            <div style="display: flex;justify-content: space-around;">
              <div class="boxcontentitem-small">

              </div>
              <div class="boxcontentitem-small">
                <span>{{totaldata.borrow.rate.toFixed(2)+'%'}}</span>
                <span>借出量</span>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="box box2">
        <div class="boxtitle">

          <span>图书统计</span>
          <i class="el-icon-user statIcon"></i>
        </div>
        <div class="bline"></div>
        <div class="boxcontentsubtitle">书籍</div>
        <div class="boxcontent">
          <div class="boxcontentitem">
            <div class="boxcontentitem-big">
              {{totaldata.book.total}}
            </div>
            <div style="display: flex;justify-content: space-around;">
              <div class="boxcontentitem-small">

                <span>{{totaldata.book.no_return}}</span>
                <span>未归还</span>
              </div>
              <div class="boxcontentitem-small">
                <span>{{totaldata.book.rate.toFixed(2)+'%'}} </span>
                <span>{{(totaldata.book.rate>0?'上升':(totaldata.book.rate==0?'-':'下降'))}}</span>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="box box3">
        <div class="boxtitle">
          <span>人员统计</span>
          <i class="el-icon-s-custom statIcon"></i>
        </div>
        <div class="bline"></div>
        <div class="boxcontentsubtitle">借阅人</div>
        <div class="boxcontent">
          <div class="boxcontentitem">
            <div class="boxcontentitem-big">
              {{totaldata.person.total}}人
            </div>
            <div style="display: flex;justify-content: space-around;">
              <div class="boxcontentitem-small">

              </div>
              <div class="boxcontentitem-small">
                {{totaldata.person.rate.toFixed(2)+'%'}}
                <span>{{(totaldata.person.rate>0?'上升':(totaldata.person.rate==0?'-':'下降'))}}</span>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
  import CountTo from 'vue-count-to'

  export default {
    props: {
      countsData: {
        type: Object
      },
      totaldata: {
        type: Object,
        default: {
          "borrow": {
            "total": 5,
            "rate": 0
          },
          "book": {
            "total": 2,
            "no_return": 0,
            "rate": 0
          },
          "person": {
            "total": 5,
            "rate": 100
          }
        }
      }
    },
    components: {
      CountTo
    },
    methods: {
      handleRoute(type) {
        this.$emit('handleRoute', type)
      },
      toCaculateper(f1, f2) {
        return ((f1 / (f2 == 0 ? 1 : f2)) * 100).toFixed(2) + "%"
      }
    }
  }
</script>

<style lang="scss" scoped>
  .boxlist {
    display: flex;
  }

  .statIcon {
    font-size: 24px;
  }

  .index_icon {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 3.5625rem;
  }

  .index_bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }


  .boxcontentitem-small {
    font-size: 16px;
    display: flex;
    flex-direction: column;
  }


  .box {
    position: relative;
    width: 33%;
    margin-left: 0.5%;
    margin-right: 0.5%;
    margin-bottom: 2.375rem;
    box-shadow: 0px 8px 15px 0px rgba(212, 84, 32, 0.3100);
    border-radius: 8px;
    box-sizing: border-box;
    opacity: 0.8;
    padding: 1.25rem 0;

    .boxcontentsubtitle {
      color: #FFFFFF;
      text-align: center;
      display: flex;
      justify-content: center;
      font-size: 1.0625rem;
      margin-top: 1.25rem;
    }

    .boxfooter {
      font-size: 1.0625rem;
      font-family: Source Han Sans CN;
      font-weight: 400;
      color: #FFFFFF;
      display: flex;
      justify-content: center;
    }

    .boxtitle {
      font-size: 20px;
      font-family: Source Han Sans CN;
      font-weight: 400;
      color: #FFFFFF;
      padding: 0 1.25rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .boxcontent {
      display: flex;
      //justify-content: space-around;
      align-items: center;

      .boxline {
        width: 1px;
        height: 4.0625rem;
        background: #FFFFFF00;
        opacity: 0.3;
        margin-left: 2.0625rem;
        margin-right: 2.0625rem;
      }



      .boxcontentitem {
        display: flex;
        flex-direction: column;
        font-size: 19px;
        font-family: Source Han Sans CN;
        font-weight: 400;
        color: #FFFFFF;
        text-align: center;
        min-width: 100%;

        .boxcontentitem-big {
          font-size: 2.625rem;
          font-family: Arial;
          font-weight: 400;
          color: #FFFFFF;
        }
      }


    }
  }

  .box1 {
    background: linear-gradient(134deg, #D1AC7B, #DFC69C);

    .boxcline {
      width: 100%;
      background: #DFC69C;
      height: 0.125rem;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem;
    }
  }

  .bline {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 60%);
    height: 0.25rem;
    width: 100%;
    margin-top: 1.25rem;
  }

  .box2 {
    background: linear-gradient(134deg, #9193BC, #B7B9D4);

    .boxcline {
      width: 100%;
      background: #B7B9D4;
      height: 0.125rem;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem;
    }
  }

  .box3 {

    background: linear-gradient(-55deg, #F6A868, #F4C59E);

    .boxcline {
      width: 100%;
      background: #F4C59E;
      height: 0.125rem;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem;
    }
  }

  .box4 {

    background: linear-gradient(-55deg, #64A48E, #9ECABB);

    .boxcline {
      width: 100%;
      background: #9ECABB;
      height: 0.125rem;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem;
    }
  }

  .panel-group {
    // margin-top: 18px;
    margin-left: -2% !important;
    margin-right: -3% !important;

    .card-panel-col {
      margin: 0 2%;

      margin-bottom: 32px;
    }

    .card-panel {
      height: 130px;
      cursor: pointer;
      font-size: 12px;
      position: relative;
      overflow: hidden;
      color: #666;
      text-align: center;
      // 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: #fff;
      }

      .icon-message {
        color: #fff;
      }

      .icon-money {
        color: #fff;
      }

      .icon-shopping {
        color: #fff
      }

      .card-panel-icon-wrapper {
        float: right;
        margin: 22px 0 0 14px;
        padding: 16px;
        transition: all 0.38s ease-out;
        border-radius: 6px;
      }

      .card-panel-icon {
        float: left;
        font-size: 42px;
      }

      .card-panel-description {
        // float: right;
        font-weight: bold;
        margin: 16px 12px;

        .card-panel-text {
          line-height: 25px;
          color: rgb(255, 255, 255);
          font-size: 26px;
          margin-bottom: 20px;
          width: 70%;
          text-align: left;
        }

        p {
          text-align: left;
          font-size: 19px;
        }

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