ProjectItem.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div class="project-item-container">
  3. <span class="col-xl-2 col-lg-3 col-md-4 col-sm-1">
  4. <img class="project-cover" src="@/assets/img/home_ban1.jpg">
  5. </span>
  6. <span class="project-title col-md-2 col-sm-10">{{project.name}}</span>
  7. <span class="project-title col-md-2 col-sm-10">{{project.id}}</span>
  8. <span class="col-md-2 col-sm-10">
  9. <span
  10. v-bind:class="['badge',{ 'ios-platform': item=='0','android-platform': item=='1','web-platform': item=='2'}]"
  11. v-for="item in project.platform"
  12. >{{platformType[item]}}</span>
  13. </span>
  14. <span class="col-md-1 col-sm-5">¥{{project.price}}</span>
  15. <span class="project-td">
  16. <span class="btn btn-medium btn-info" @click="goToProjectDetail(projectId)">查看详情</span>
  17. </span>
  18. </div>
  19. </template>
  20. <script>
  21. import PlatformType from '@/constants/enum/platform-type'
  22. export default {
  23. name: 'Project-Item',
  24. props: {
  25. projectItem: {}
  26. },
  27. data () {
  28. return {
  29. project: this.projectItem,
  30. platformType: PlatformType
  31. }
  32. },
  33. mounted () {
  34. // this.project.platform.map(item => {
  35. // this.platformType.push(PlatformType[item]);
  36. // });
  37. },
  38. methods: {
  39. goToProjectDetail (id) {
  40. console.log(id)
  41. this.$router.push({name: 'Project', params: {projectId: id}})
  42. }
  43. }
  44. }
  45. </script>
  46. <style lang="less" scoped>
  47. .project-item-container {
  48. padding: 20px;
  49. border: 1px solid #eee;
  50. margin: 15px 5px;
  51. span {
  52. display: inline-block;
  53. }
  54. }
  55. .project-cover {
  56. width: 200px;
  57. height: 130px;
  58. vertical-align: middle;
  59. }
  60. .project-title {
  61. font-weight: 700;
  62. }
  63. .project-td {
  64. padding: 15px;
  65. }
  66. </style>