NewsList.vue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <CollapseContainer class="news-list" title="动态" :canExpan="false">
  3. <ScrollContainer>
  4. <List>
  5. <template v-for="item in newList" :key="item.id">
  6. <ListItem class="news-list__item">
  7. <ListItemMeta>
  8. <template #avatar>
  9. <img src="/@/assets/images/header.jpg" class="news-list__item-avatar" />
  10. </template>
  11. <template #description>
  12. <div class="news-list__item-desc">
  13. <div class="news-list__item-time mb-1"> {{ item.sendTime }}</div>
  14. <div class="news-list__item-title mb-1">
  15. <span class="news-list__item-light">{{ item.sender }}&nbsp;</span>申请迭代
  16. <span class="news-list__item-light">&nbsp;{{ item.title }}&nbsp;</span>发布
  17. </div>
  18. <div class="news-list__item-cnte p-2">
  19. <span class="news-list__item-cnte__title"> {{ item.cnteId }}</span>
  20. <br />
  21. Status: {{ item.cnteStas }}
  22. <br />
  23. Repository: {{ item.cnteRepo }}
  24. <br />
  25. </div>
  26. </div>
  27. </template>
  28. </ListItemMeta>
  29. </ListItem>
  30. </template>
  31. </List>
  32. </ScrollContainer>
  33. </CollapseContainer>
  34. </template>
  35. <script lang="ts">
  36. import { defineComponent } from 'vue';
  37. import { List } from 'ant-design-vue';
  38. import { CollapseContainer, ScrollContainer } from '/@/components/Container/index';
  39. import { newList } from '../data';
  40. export default defineComponent({
  41. components: {
  42. List,
  43. ListItem: List.Item,
  44. ListItemMeta: List.Item.Meta,
  45. CollapseContainer,
  46. ScrollContainer,
  47. },
  48. setup() {
  49. return { newList };
  50. },
  51. });
  52. </script>
  53. <style lang="less" scoped>
  54. .news-list {
  55. &__item {
  56. &-avatar {
  57. width: 35px;
  58. height: 35px;
  59. border-radius: 50%;
  60. }
  61. &-title {
  62. font-size: 14px;
  63. line-height: 22px;
  64. color: #000;
  65. opacity: 0.65;
  66. }
  67. &-time {
  68. font-size: 14px;
  69. line-height: 22px;
  70. color: #000;
  71. opacity: 0.45;
  72. }
  73. &-light {
  74. font-size: 14px;
  75. line-height: 22px;
  76. color: #000;
  77. opacity: 0.85;
  78. }
  79. &-cnte {
  80. background: #eef3fb;
  81. border-radius: 2px;
  82. opacity: 0.6;
  83. &__title {
  84. font-size: 14px;
  85. line-height: 22px;
  86. color: rgba(0, 0, 0, 0.85);
  87. }
  88. }
  89. }
  90. }
  91. </style>