RecommendProjectCard.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <ContentModuleCard class="recommend-project-card bg-white">
  3. <div class="header-title" slot="title">
  4. <span class="j-icon" :class="[titleIcon]"></span>
  5. <span class="header-title-text">{{ title }}</span>
  6. <span class="highlight-text total-number">{{ totalNumber }}</span>
  7. </div>
  8. <template #header-actions>
  9. <slot name="header-actions">
  10. <div class="action-item">
  11. <AppIcon name="jiankong" v-if="true" color="#9b9ca3"></AppIcon>
  12. <AppIcon name="yijiankong" v-else color="#9b9ca3"></AppIcon>
  13. <span class="action-text">监控</span>
  14. </div>
  15. </slot>
  16. </template>
  17. <div class="info-list-main">
  18. <ProjectCell
  19. v-for="(item, index) in list"
  20. :key="index"
  21. :title="item.title"
  22. :keys="['信息']"
  23. :tags="item.tags"
  24. :time="item.time"
  25. v-visited:issued="item.id"
  26. @click="toDetail(item)"
  27. ></ProjectCell>
  28. </div>
  29. <div class="show-more clickable bg-white" slot="footer">查看更多</div>
  30. </ContentModuleCard>
  31. </template>
  32. <script>
  33. import ContentModuleCard from '@/views/article/ui/ContentModuleCard.vue'
  34. import { AppIcon, ProjectCell } from '@/ui'
  35. console.log()
  36. export default {
  37. name: 'RecommendProjectCard',
  38. components: {
  39. ContentModuleCard,
  40. ProjectCell,
  41. AppIcon
  42. },
  43. props: {
  44. title: {
  45. type: String,
  46. default: ''
  47. },
  48. titleIcon: {
  49. type: String,
  50. default: 'icon-ent-info'
  51. },
  52. totalNumber: {
  53. type: [Number, String],
  54. default: 0
  55. }
  56. },
  57. data() {
  58. return {
  59. list: [
  60. {
  61. id: '11111',
  62. tags: ['河南-郑州市-金水区', '建筑工程', '预告'],
  63. title:
  64. '淮安市高级职业技术学校台式电脑采购项目淮安市高级职业技术学校台式电脑采购项目',
  65. time: 1709366382763
  66. },
  67. {
  68. id: '2222',
  69. tags: ['河南-郑州市-金水区', '建筑工程', '预告'],
  70. title:
  71. '淮安市高级职业技术学校台式电脑采购项目淮安市高级职业技术学校台式电脑采购项目',
  72. time: 1709366382763
  73. },
  74. {
  75. id: '3333',
  76. tags: ['河南-郑州市-金水区', '建筑工程', '预告'],
  77. title:
  78. '淮安市高级职业技术学校台式电脑采购项目淮安市高级职业技术学校台式电脑采购项目',
  79. time: 1709366382763
  80. }
  81. ]
  82. }
  83. },
  84. created() {},
  85. methods: {
  86. toDetail(item) {
  87. console.log(item)
  88. }
  89. }
  90. }
  91. </script>
  92. <style lang="scss" scoped>
  93. .header-title {
  94. display: flex;
  95. align-items: center;
  96. }
  97. .header-title-text {
  98. margin: 0 8px;
  99. }
  100. .total-number {
  101. font-weight: 400;
  102. }
  103. .action-item {
  104. display: flex;
  105. align-items: center;
  106. }
  107. .show-more {
  108. display: flex;
  109. align-items: center;
  110. justify-content: center;
  111. height: 48px;
  112. font-size: 14px;
  113. line-height: 20px;
  114. color: $main;
  115. }
  116. </style>