HistoryList.vue 2.54 KB
<template>
  <v-card id="HistoryList" flat >
    <v-list class="list">
      <v-list-tile class="ListItem ListHeader">
        <v-list-tile-content class="ListItemCell">{{type === 'borrow' ? '出借人' : '借款人'}}</v-list-tile-content>
        <v-list-tile-content class="ListItemCell">借款金额</v-list-tile-content>
        <v-list-tile-content class="ListItemCell">时间</v-list-tile-content>
        <v-list-tile-content class="ListItemCell">状态</v-list-tile-content>
      </v-list-tile>
      <v-list-tile class="ListItem" v-for="(item, index) in list" :key="index">
        <v-list-tile-content class="ListItemAvatar ListItemCell">
          <img v-if="item.avatar" :src="item.avatar" alt="" />
          <i v-if="!item.avatar" class="material-icons icon iconfont icon-face"></i>
          <span>{{item.name}}</span>
        </v-list-tile-content>
        <v-list-tile-content class="ListItemCell">{{item.amount}}</v-list-tile-content>
        <v-list-tile-content class="ListItemCell">{{item.time}}</v-list-tile-content>
        <v-list-tile-content class="ListItemCell">{{item.status}}</v-list-tile-content>
      </v-list-tile>
    </v-list>
    <div v-if="!list.length" class="emptyImg">
      <img src="/listBG.png" alt="">
    </div>
  </v-card>
</template>

<script>
export default {
  props: {
    list: {
      type: Array,
      default: ()=>([])
    },
    type: {
      type: String,
      default: () => ('borrow')
    }
  }
}
</script>

<style lang="scss" scoped>
  #HistoryList {
    width: 100vw;

    .list {
      background-color: $toolbar-grey;
      padding: 0;
      .ListHeader {
        border-top: 1px solid #979797;
      }
      .ListItem {
        height: 2rem;
        border-bottom: 1px solid #979797;

        /deep/ .list__tile {
          height: 2rem;
          color: $light-gold;
          padding: 0;
          
          .ListItemCell {
            align-items: center;
            width: 25%;
          }
        }
        .ListItemAvatar {
          flex-direction: row;
          height: 2rem;
          align-items: center;

          span {
            height: 2rem;
            line-height: 2rem;
            margin-left: 0.3rem;
          }

          img {
            height: 80%;
            display: block
          }

          i {
            color: $light-gold;            
          }
        }
      }
    }
    .emptyImg {
      background-color: $background-black;
      width: 100vw;
      padding: 2.4rem 0 0 0;
      img {
        width: 8.2rem;
        display: block;
        margin: auto;
      }
    }
  }
</style>