trajectory.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <view class="trajectory">
  3. <view class="title">访问轨迹</view>
  4. <time-axis v-for="item in trajectoryList" :key="item.id">
  5. <template #title>
  6. <text>{{item.time}}</text>
  7. </template>
  8. <template #content>
  9. <view class="time-axis-content">
  10. <image :src="item.image || '../../../../static/temp/icon-new@2x.png'" class="axis-product" mode=""></image>
  11. <view class="axis-product-info">
  12. <view class="product-title">【{{item.title}}】</view>
  13. <view class="product-info">{{item.content}}</view>
  14. </view>
  15. </view>
  16. </template>
  17. </time-axis>
  18. </view>
  19. </template>
  20. <script>
  21. import TimeAxis from './time-axis.vue'
  22. export default {
  23. props: {
  24. trajectoryList: {
  25. type: Array,
  26. default: () => ([
  27. {}
  28. ])
  29. }
  30. },
  31. components: {
  32. TimeAxis
  33. },
  34. data() {
  35. return {}
  36. }
  37. }
  38. </script>
  39. <style lang="scss">
  40. .trajectory {
  41. margin: 24rpx auto;
  42. width: 702rpx;
  43. background-color: #fff;
  44. border-radius: 16rpx;
  45. padding: 40rpx 32rpx;
  46. box-sizing: border-box;
  47. .title {
  48. color: #333333;
  49. font-size: 28rpx;
  50. font-weight: bold;
  51. margin-bottom: 30rpx;
  52. }
  53. }
  54. .axis-product {
  55. width: 136rpx;
  56. height: 136rpx;
  57. object-fit: contain;
  58. }
  59. .axis-product-info {
  60. display: flex;
  61. flex-direction: column;
  62. justify-content: space-between;
  63. height: 136rpx;
  64. width: 426rpx;
  65. color: #333333;
  66. font-size: 26rpx;
  67. margin-left: 24rpx;
  68. }
  69. .time-axis-content {
  70. display: flex;
  71. align-items: center;
  72. }
  73. </style>