zhengyiming
7 天以前 3673993e2eb02c052c40746412adcc088727b12c
packages/components/src/List/IncomeDetailListItem.vue
@@ -1,33 +1,41 @@
<template>
  <div class="income-detail-list-item">
  <div class="income-detail-list-item" :class="{ hasPaddingH }">
    <div class="income-detail-list-item-inner" :class="{ 'border-none': !showBorder }">
      <slot name="title">
        <div class="income-detail-list-item-title">{{ title }}</div>
        <div class="income-detail-list-item-title">
          <div class="income-detail-list-item-title-text">{{ title }}</div>
          <div class="income-detail-list-item-title-value">{{ toThousand(funds) }}</div>
        </div>
      </slot>
      <div class="income-detail-list-item-content">
        <div class="income-detail-list-item-content-item">{{ item }}</div>
        <div class="income-detail-list-item-content-value" v-if="showValue">{{ value }}</div>
        <!-- <div class="income-detail-list-item-content-value" v-if="showValue">{{ value }}</div> -->
      </div>
    </div>
  </div>
</template>
<script setup lang="ts">
import { toThousand } from '@12333/utils';
defineOptions({
  name: 'IncomeDetailListItem',
});
type Props = {
  title?: string;
  funds?: number;
  item?: string;
  value?: string;
  showValue?: boolean;
  showBorder?: boolean;
  hasPaddingH?: boolean;
};
const props = withDefaults(defineProps<Props>(), {
  showValue: true,
  showBorder: true,
  hasPaddingH: false,
});
</script>
@@ -35,7 +43,9 @@
@import '@/styles/common.scss';
.income-detail-list-item {
  padding: 0 boleGetCssVar('size', 'body-padding-h');
  &.hasPaddingH {
    padding: 0 boleGetCssVar('size', 'body-padding-h');
  }
  .income-detail-list-item-inner {
    padding: 24px 0 18px;
@@ -52,26 +62,18 @@
      font-size: 24px;
      color: boleGetCssVar('text-color', 'primary');
      line-height: 34px;
      display: flex;
      justify-content: space-between;
    }
    .income-detail-list-item-content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      .income-detail-list-item-content-item {
        font-weight: 400;
        font-size: 20px;
        color: boleGetCssVar('text-color', 'secondary');
        line-height: 44px;
      }
      .income-detail-list-item-content-value {
        font-weight: 500;
        font-size: 30px;
        color: boleGetCssVar('text-color', 'primary');
        line-height: 44px;
      }
      font-weight: 400;
      font-size: 22px;
      color: boleGetCssVar('text-color', 'secondary');
      line-height: 44px;
    }
  }
}