普兆健康管家前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
3.5 KiB

  1. <template>
  2. <view class="package__view">
  3. <view class="flex package" v-for="packageItem in list" :key="packageItem.id">
  4. <view class="flex flex-column package-info">
  5. <view class="package-info-title">{{ packageItem.title }}</view>
  6. <view class="package-info-desc">{{ packageItem.desc }}</view>
  7. </view>
  8. <view class="package-detail">
  9. <view class="package-detail-item" v-for="item in packageItem.children" :key="item.id">
  10. <view class="package-detail-item-img">
  11. <image class="img" :src="item.url" mode="aspectFill"></image>
  12. </view>
  13. <view class="package-detail-item-label">{{ item.label }}</view>
  14. </view>
  15. </view>
  16. </view>
  17. </view>
  18. </template>
  19. <script>
  20. export default {
  21. data() {
  22. return {
  23. list: [],
  24. }
  25. },
  26. mounted() {
  27. this.list = [
  28. {
  29. id: '001',
  30. title: '儿童体检套餐',
  31. desc: '适合3-12岁的儿童',
  32. children: [
  33. { id: '0011', label: '腹部超声', url: '', },
  34. { id: '0012', label: '视力检查', url: '', },
  35. { id: '0013', label: '骨龄检测', url: '', },
  36. { id: '0014', label: '生长激素水平检测', url: '', },
  37. ],
  38. },
  39. {
  40. id: '002',
  41. title: '青少年体检套餐',
  42. desc: '适用于13-18岁的青少年',
  43. children: [
  44. { id: '0021', label: '身高', url: '', },
  45. { id: '0022', label: '血常规', url: '', },
  46. { id: '0023', label: '胸部 X 光', url: '', },
  47. { id: '0024', label: '心电图检查', url: '', },
  48. ],
  49. },
  50. {
  51. id: '003',
  52. title: '孕产妇体检套餐',
  53. desc: '适用于孕期女性',
  54. children: [
  55. { id: '0031', label: '胎儿超声检查', url: '', },
  56. { id: '0032', label: '唐氏筛查', url: '', },
  57. { id: '0033', label: '糖筛查试验', url: '', },
  58. { id: '0034', label: '血压', url: '', },
  59. ],
  60. },
  61. ]
  62. },
  63. }
  64. </script>
  65. <style scoped lang="scss">
  66. .package__view {
  67. width: 100%;
  68. padding: 0 32rpx;
  69. box-sizing: border-box;
  70. }
  71. .package {
  72. width: 100%;
  73. padding: 8rpx 8rpx 8rpx 16rpx;
  74. box-sizing: border-box;
  75. background: #FAFAFF;
  76. border: 2rpx solid #FFFFFF;
  77. border-radius: 24rpx;
  78. & + & {
  79. margin-top: 32rpx;
  80. }
  81. &-info {
  82. flex: none;
  83. display: inline-flex;
  84. align-items: flex-start;
  85. width: 200rpx;
  86. font-family: PingFang SC;
  87. line-height: 1.4;
  88. &-title {
  89. font-weight: 600;
  90. font-size: 28rpx;
  91. color: #000000;
  92. }
  93. &-desc {
  94. margin-top: 8rpx;
  95. font-weight: 400;
  96. font-size: 24rpx;
  97. color: #8B8B8B;
  98. }
  99. }
  100. &-detail {
  101. flex: 1;
  102. white-space: nowrap;
  103. overflow-x: auto;
  104. padding: 16rpx;
  105. background-image: linear-gradient(#FAFAFF, #F3F3F3);
  106. border-radius: 16rpx;
  107. &-item {
  108. $size: 120rpx;
  109. & + & {
  110. margin-left: 16rpx;
  111. }
  112. display: inline-block;
  113. width: $size;
  114. &-img {
  115. width: $size;
  116. height: $size;
  117. border: 2rpx solid #E6E6E6;
  118. border-radius: 8rpx;
  119. overflow: hidden;
  120. .img {
  121. width: 100%;
  122. height: 100%;
  123. }
  124. }
  125. &-label {
  126. margin-top: 8rpx;
  127. font-family: PingFang SC;
  128. font-weight: 400;
  129. font-size: 24rpx;
  130. line-height: 1;
  131. color: #8B8B8B;
  132. width: 100%;
  133. text-overflow: ellipsis;
  134. white-space: nowrap;
  135. overflow: hidden;
  136. }
  137. }
  138. }
  139. }
  140. </style>