ProjectItem.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <div class="project-item-container">
  3. <el-row type="flex" align="middle" justify="center" style="font-size: 14px;">
  4. <el-col :span="6" type="flex" align="middle" justify="center">
  5. <el-badge :value="project.statusVO.text" class="item" :type="project.statusVO.style">
  6. <img class="project-cover" src="@/assets/img/home_ban1.jpg">
  7. </el-badge>
  8. </el-col>
  9. <el-col :span="6" type="flex" align="middle" justify="center">{{project.name}}</el-col>
  10. <!--<el-col :span="4">{{project.id}}</el-col>-->
  11. <el-col :span="3" type="flex" align="middle" justify="center">
  12. <span style="font-size: 10px;"
  13. v-bind:class="['badge']"
  14. >{{project.platform}}</span>
  15. </el-col>
  16. <el-col :span="3" type="flex" align="middle" justify="center">
  17. <div class="badge">¥{{project.budget}}</div>
  18. </el-col>
  19. <el-col :span="3" type="flex" align="middle" justify="center">
  20. <div>{{project.joinCount}}</div>
  21. </el-col>
  22. <el-col :span="4" type="flex" align="middle" justify="center">
  23. <el-badge v-if="project.needHandle" is-dot class="item">
  24. <span class="btn btn-small btn-info" @click="goToProjectDetail(project.id)">查看详情</span>
  25. </el-badge>
  26. <span v-if="!project.needHandle" class="btn btn-small btn-info" @click="goToProjectDetail(project.id)">查看详情</span>
  27. </el-col>
  28. </el-row>
  29. </div>
  30. </template>
  31. <script>
  32. import PlatformType from '@/constants/enum/platform-type'
  33. export default {
  34. name: 'Project-Item',
  35. props: {
  36. projectItem: {}
  37. },
  38. data () {
  39. return {
  40. project: this.projectItem,
  41. platformType: PlatformType
  42. }
  43. },
  44. mounted () {
  45. // this.project.platform.map(item => {
  46. // this.platformType.push(PlatformType[item]);
  47. // });
  48. },
  49. methods: {
  50. goToProjectDetail (id) {
  51. console.log(id)
  52. this.$router.push({name: 'Project', params: {projectId: id}})
  53. }
  54. }
  55. }
  56. </script>
  57. <style lang="less" scoped>
  58. .project-item-container {
  59. /*padding: 20px;*/
  60. padding-top: 10px;
  61. padding-bottom: 10px;
  62. border: 1px solid #eee;
  63. margin-top: 5px;
  64. margin-bottom: 5px;
  65. span {
  66. display: inline-block;
  67. }
  68. }
  69. .project-cover {
  70. width: 200px;
  71. height: 130px;
  72. vertical-align: middle;
  73. }
  74. .project-title {
  75. font-weight: 700;
  76. }
  77. .project-td {
  78. //padding: 15px;
  79. }
  80. .el-row {
  81. margin-bottom: 20px;
  82. &:last-child {
  83. margin-bottom: 0;
  84. }
  85. }
  86. .el-col {
  87. border-radius: 4px;
  88. }
  89. .bg-purple-dark {
  90. background: #99a9bf;
  91. }
  92. .bg-purple {
  93. background: #d3dce6;
  94. }
  95. .bg-purple-light {
  96. background: #e5e9f2;
  97. }
  98. .grid-content {
  99. border-radius: 4px;
  100. min-height: 36px;
  101. }
  102. .row-bg {
  103. //padding: 10px 0;
  104. background-color: #f9fafc;
  105. }
  106. </style>