index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div :class="prefixCls">
  3. <a-page-header title="卡片列表" :ghost="false">
  4. 基于Vue Next, TypeScript, Ant Design实现的一套完整的企业级后台管理系统。
  5. <div :class="`${prefixCls}__link`">
  6. <a><Icon icon="bx:bx-paper-plane" color="#1890ff" /><span>开始</span></a>
  7. <a><Icon icon="carbon:warning" color="#1890ff" /><span>简介</span></a>
  8. <a><Icon icon="gg:loadbar-doc" color="#1890ff" /><span>文档</span></a>
  9. </div>
  10. </a-page-header>
  11. <div :class="`${prefixCls}__content`">
  12. <List>
  13. <a-row :gutter="16">
  14. <template v-for="(item, index) in list" :key="index">
  15. <a-col :span="6">
  16. <ListItem>
  17. <Card :hoverable="true" :class="`${prefixCls}__card`">
  18. <div :class="`${prefixCls}__card-title`">
  19. <Icon class="icon" v-if="item.icon" :icon="item.icon" :color="item.color" />
  20. {{ item.title }}
  21. </div>
  22. <div :class="`${prefixCls}__card-detail`">
  23. 基于Vue Next, TypeScript, Ant Design实现的一套完整的企业级后台管理系统
  24. </div>
  25. </Card>
  26. </ListItem>
  27. </a-col>
  28. </template>
  29. </a-row>
  30. </List>
  31. </div>
  32. </div>
  33. </template>
  34. <script lang="ts">
  35. import { defineComponent } from 'vue';
  36. import { List, Card } from 'ant-design-vue';
  37. import Icon from '/@/components/Icon/index';
  38. import { cardList } from './data';
  39. export default defineComponent({
  40. components: { Icon, List, ListItem: List.Item, Card },
  41. setup() {
  42. return {
  43. prefixCls: 'list-card',
  44. list: cardList,
  45. };
  46. },
  47. });
  48. </script>
  49. <style lang="less" scoped>
  50. .list-card {
  51. &__link {
  52. margin-top: 10px;
  53. font-size: 14px;
  54. a {
  55. margin-right: 30px;
  56. }
  57. span {
  58. margin-left: 5px;
  59. }
  60. }
  61. &__content {
  62. padding: 12px 24px;
  63. // background: #fff;
  64. }
  65. &__card {
  66. width: 100%;
  67. margin-bottom: -8px;
  68. .ant-card-body {
  69. padding: 16px;
  70. }
  71. &-title {
  72. margin-bottom: 5px;
  73. font-size: 16px;
  74. font-weight: 500;
  75. color: rgba(0, 0, 0, 0.85);
  76. .icon {
  77. margin-top: -5px;
  78. margin-right: 10px;
  79. font-size: 38px !important;
  80. }
  81. }
  82. &-detail {
  83. padding-top: 10px;
  84. padding-left: 30px;
  85. font-size: 14px;
  86. color: rgba(0, 0, 0, 0.5);
  87. }
  88. }
  89. }
  90. </style>