吉光研途前端代码仓库
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.

159 lines
3.4 KiB

  1. <template>
  2. <view class="page__view">
  3. <!-- 导航栏 -->
  4. <navbar :title="title" leftClick @leftClick="$utils.navigateBack" bgColor="#4883F9" color="#FFFFFF" />
  5. <!-- 轮播图 -->
  6. <view class="swiper">
  7. <uv-swiper :list="bannerList" keyName="image" :autoplay="bannerList.length" :indicator="bannerList.length" indicatorMode="dot" indicatorActiveColor="#4883F9" indicatorInactiveColor="#FFFFFF" height="424rpx"></uv-swiper>
  8. </view>
  9. <!-- 学生情况 -->
  10. <view class="section">
  11. <view class="section-header">
  12. <arrow></arrow>
  13. <view>学生情况</view>
  14. </view>
  15. <view class="section-content">
  16. <!-- todo: check key -->
  17. <uv-parse :content="detail.content"></uv-parse>
  18. </view>
  19. </view>
  20. <!-- 服务项目 -->
  21. <view class="section">
  22. <view class="section-header">
  23. <arrow></arrow>
  24. <view>服务项目</view>
  25. </view>
  26. <view class="section-content">
  27. <!-- todo: check key -->
  28. <uv-parse :content="detail.content"></uv-parse>
  29. </view>
  30. </view>
  31. <!-- 服务过程 -->
  32. <view class="section">
  33. <view class="section-header">
  34. <arrow></arrow>
  35. <view>服务过程</view>
  36. </view>
  37. <view class="section-content">
  38. <!-- todo: check key -->
  39. <uv-parse :content="detail.content"></uv-parse>
  40. </view>
  41. </view>
  42. <!-- 服务结果 -->
  43. <view class="section">
  44. <view class="section-header">
  45. <arrow></arrow>
  46. <view>服务结果</view>
  47. </view>
  48. <view class="section-content">
  49. <!-- todo: check key -->
  50. <uv-parse :content="detail.content"></uv-parse>
  51. </view>
  52. </view>
  53. <!-- 服务感受 -->
  54. <view class="section">
  55. <view class="section-header">
  56. <arrow></arrow>
  57. <view>服务感受</view>
  58. </view>
  59. <view class="section-content">
  60. <!-- todo: check key -->
  61. <uv-parse :content="detail.content"></uv-parse>
  62. </view>
  63. </view>
  64. </view>
  65. </template>
  66. <script>
  67. import arrow from '@/components/base/arrow.vue'
  68. export default {
  69. components: {
  70. arrow,
  71. },
  72. data() {
  73. return {
  74. title: '',
  75. bannerList: [],
  76. detail: {},
  77. }
  78. },
  79. onLoad({ articleId }) {
  80. this.getData(articleId)
  81. },
  82. methods: {
  83. async getData(articleId) {
  84. try {
  85. // todo
  86. await this.$fetch('queryAriticleById', { articleId })
  87. } catch (err) {
  88. }
  89. },
  90. },
  91. }
  92. </script>
  93. <style scoped lang="scss">
  94. .page__view {
  95. box-sizing: border-box;
  96. padding-bottom: 36rpx;
  97. background: #FFFFFF;
  98. }
  99. .swiper {
  100. margin: 20rpx 18rpx 47rpx 18rpx;
  101. /deep/ .uv-swiper-indicator__wrapper__dot {
  102. width: 15rpx;
  103. height: 15rpx;
  104. }
  105. /deep/ .uv-swiper-indicator__wrapper__dot--active {
  106. width: 15rpx;
  107. }
  108. }
  109. .section {
  110. width: 100%;
  111. padding: 0 18rpx;
  112. box-sizing: border-box;
  113. & + & {
  114. margin-top: 40rpx;
  115. }
  116. &-header {
  117. display: flex;
  118. align-items: center;
  119. justify-content: flex-start;
  120. column-gap: 5rpx;
  121. padding-left: 11rpx;
  122. font-size: 32rpx;
  123. font-weight: 700;
  124. color: #000000;
  125. }
  126. &-content {
  127. margin-top: 24rpx;
  128. padding: 24rpx;
  129. box-sizing: border-box;
  130. white-space: pre-line;
  131. font-size: 28rpx;
  132. color: #000000;
  133. background: #F8F8F8;
  134. border-radius: 15rpx;
  135. }
  136. }
  137. </style>