Blame view

juvenile-prosecution-vue/src/components/ChartCard.vue 2.02 KB
6c637641   wxy   no message
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
  <template>
    <a-card :loading="loading" :body-style="{ padding: '20px 24px 8px' }" :bordered="false">
      <div class="chart-card-header">
        <div class="meta">
          <span class="chart-card-title">{{ title }}</span>
          <span class="chart-card-action">
            <slot name="action"></slot>
          </span>
        </div>
        <div class="total"><span>{{ total }}</span></div>
      </div>
      <div class="chart-card-content">
        <div class="content-fix">
          <slot></slot>
        </div>
      </div>
      <div class="chart-card-footer">
        <div class="field">
          <slot name="footer"></slot>
        </div>
      </div>
    </a-card>
  </template>
  
  <script>
    export default {
      name: "ChartCard",
      props: {
        title: {
          type: String,
          default: ''
        },
        total: {
          type: String,
          default: ''
        },
        loading: {
          type: Boolean,
          default: false
        }
      }
    }
  </script>
  
  <style lang="less" scoped>
    .chart-card-header {
      position: relative;
      overflow: hidden;
      width: 100%;
  
      .meta {
        position: relative;
        overflow: hidden;
        width: 100%;
        color: rgba(0, 0, 0, .45);
        font-size: 14px;
        line-height: 22px;
      }
    }
  
    .chart-card-action {
      cursor: pointer;
      position: absolute;
      top: 0;
      right: 0;
    }
  
    .chart-card-footer {
      border-top: 1px solid #e8e8e8;
      padding-top: 9px;
      margin-top: 8px;
  
      > * {
        position: relative;
      }
  
      .field {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
      }
    }
  
    .chart-card-content {
      margin-bottom: 12px;
      position: relative;
      height: 46px;
      width: 100%;
  
      .content-fix {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
      }
    }
  
    .total {
      overflow: hidden;
      text-overflow: ellipsis;
      word-break: break-all;
      white-space: nowrap;
      color: #000;
      margin-top: 4px;
      margin-bottom: 0;
      font-size: 30px;
      line-height: 38px;
      height: 38px;
    }
  </style>