TaskItem.vue 2.0 KB

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