index.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <PageWrapper :class="prefixCls" title="卡片列表">
  3. <template #headerContent>
  4. 基于Vue Next, TypeScript, Ant Design Vue实现的一套完整的企业级后台管理系统。
  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="ion:document-text-outline" color="#1890ff" /><span>文档</span></a>
  9. </div>
  10. </template>
  11. <div :class="`${prefixCls}__content`">
  12. <a-list>
  13. <a-row :gutter="16">
  14. <template v-for="(item, index) in list" :key="index">
  15. <a-col :span="6">
  16. <a-list-item>
  17. <a-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 Vue实现的一套完整的企业级后台管理系统
  24. </div>
  25. </a-card>
  26. </a-list-item>
  27. </a-col>
  28. </template>
  29. </a-row>
  30. </a-list>
  31. </div>
  32. </PageWrapper>
  33. </template>
  34. <script lang="ts">
  35. import { defineComponent } from 'vue';
  36. import Icon from '/@/components/Icon/index';
  37. import { cardList } from './data';
  38. import { PageWrapper } from '/@/components/Page';
  39. import { Card, Row, Col, List } from 'ant-design-vue';
  40. export default defineComponent({
  41. components: {
  42. Icon,
  43. PageWrapper,
  44. [Card.name]: Card,
  45. [List.name]: List,
  46. [List.Item.name]: List.Item,
  47. [Row.name]: Row,
  48. [Col.name]: Col,
  49. },
  50. setup() {
  51. return {
  52. prefixCls: 'list-card',
  53. list: cardList,
  54. };
  55. },
  56. });
  57. </script>
  58. <style lang="less" scoped>
  59. .list-card {
  60. &__link {
  61. margin-top: 10px;
  62. font-size: 14px;
  63. a {
  64. margin-right: 30px;
  65. }
  66. span {
  67. margin-left: 5px;
  68. }
  69. }
  70. &__card {
  71. width: 100%;
  72. margin-bottom: -8px;
  73. .ant-card-body {
  74. padding: 16px;
  75. }
  76. &-title {
  77. margin-bottom: 5px;
  78. font-size: 16px;
  79. font-weight: 500;
  80. color: @text-color;
  81. .icon {
  82. margin-top: -5px;
  83. margin-right: 10px;
  84. font-size: 38px !important;
  85. }
  86. }
  87. &-detail {
  88. padding-top: 10px;
  89. padding-left: 30px;
  90. font-size: 14px;
  91. color: @text-color-secondary;
  92. }
  93. }
  94. }
  95. </style>