风险测评小程序前端代码仓库
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.

198 lines
4.6 KiB

  1. <template>
  2. <view class="page__view">
  3. <navbar title="咨询客服" leftClick @leftClick="$utils.navigateBack" bgColor="transparent" />
  4. <!-- todo: check is swiper ? -->
  5. <!-- <image class="bg" src="" mode="widthFix"></image> -->
  6. <view class="flex bg">
  7. <view class="flex bg-content">
  8. <view class="text">
  9. <view class="title">Hi,有什么可以帮您</view>
  10. <view class="flex desc">
  11. <view class="line">工作时间</view>
  12. <view class="line">8:00-12:00 13:00-17:30</view>
  13. </view>
  14. </view>
  15. <image class="icon" src="@/pages_order/static/service/icon-service.png" mode="widthFix"></image>
  16. </view>
  17. </view>
  18. <view class="main">
  19. <view class="content">
  20. <view class="flex card concat">
  21. <button plain class="flex flex-column btn" open-type="contact">
  22. <image class="icon" src="@/pages_order/static/service/icon-message.png" mode="widthFix"></image>
  23. <view>联系客服</view>
  24. </button>
  25. <button plain class="flex flex-column btn" @click="openQrPopup">
  26. <image class="icon" src="@/pages_order/static/service/icon-wx.png" mode="widthFix"></image>
  27. <view>添加微信</view>
  28. </button>
  29. <button plain class="flex flex-column btn" @click="openPhonePopup">
  30. <image class="icon" src="@/pages_order/static/service/icon-phone.png" mode="widthFix"></image>
  31. <view>电话咨询</view>
  32. </button>
  33. </view>
  34. <view class="card question">
  35. <view class="card-header">常见问题</view>
  36. <view class="flex row" v-for="item in list" :key="item.id" @click="jumpToQuestion(item.id)">
  37. <view>{{ item.question }}</view>
  38. <uv-icon name="arrow-right" color="#999999" size="33rpx"></uv-icon>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. <popupQrCode ref="popupQrCode"></popupQrCode>
  44. <popupPhone ref="popupPhone"></popupPhone>
  45. </view>
  46. </template>
  47. <script>
  48. import mixinsList from '@/mixins/list.js'
  49. import popupQrCode from './popupQrCode.vue'
  50. import popupPhone from './popupPhone.vue'
  51. export default {
  52. mixins: [mixinsList],
  53. components: {
  54. popupQrCode,
  55. popupPhone,
  56. },
  57. data() {
  58. return {
  59. list: [],
  60. mixinsListApi: 'queryFaqList',
  61. }
  62. },
  63. methods: {
  64. openQrPopup() {
  65. this.$refs.popupQrCode.open()
  66. },
  67. openPhonePopup() {
  68. this.$refs.popupPhone.open()
  69. },
  70. jumpToQuestion(id) {
  71. let data = this.list.find(item => item.id === id)
  72. this.$store.commit('setCommonQuestion', data)
  73. uni.navigateTo({
  74. url: `/pages_order/service/commonQuestion?id=${id}`
  75. })
  76. },
  77. },
  78. }
  79. </script>
  80. <style scoped lang="scss">
  81. .page__view {
  82. background: #F5F5F5;
  83. /deep/ .nav-bar__view {
  84. position: fixed;
  85. top: 0;
  86. left: 0;
  87. }
  88. }
  89. .bg {
  90. // width: 100%;
  91. // height: auto;
  92. // min-height: 501rpx;
  93. width: 100%;
  94. height: 501rpx;
  95. background: linear-gradient(160deg, #014FA2 36%, #4C8FD6);
  96. padding: 0 104rpx 90rpx 65rpx;
  97. box-sizing: border-box;
  98. align-items: flex-end;
  99. &-content {
  100. width: 100%;
  101. justify-content: space-between;
  102. }
  103. .text {
  104. padding: 26rpx 0 34rpx 0;
  105. color: #FFFFFF;
  106. .title {
  107. font-size: 36rpx;
  108. font-weight: 600;
  109. }
  110. .desc {
  111. margin-top: 13rpx;
  112. font-size: 22rpx;
  113. .line + .line {
  114. margin-top: 11rpx;
  115. }
  116. }
  117. }
  118. .icon {
  119. width: 168rpx;
  120. height: auto;
  121. }
  122. }
  123. .main {
  124. width: 100%;
  125. padding: 0 28rpx 28rpx 28rpx;
  126. box-sizing: border-box;
  127. background: #F5F5F5;
  128. .content {
  129. transform: translateY(-64rpx);
  130. }
  131. }
  132. .card {
  133. width: 100%;
  134. background: #FFFFFF;
  135. border-radius: 15rpx;
  136. }
  137. .card.concat {
  138. justify-content: space-between;
  139. width: 100%;
  140. padding: 55rpx 64rpx 26rpx 64rpx;
  141. box-sizing: border-box;
  142. .btn {
  143. justify-content: space-between;
  144. font-size: 28rpx;
  145. color: #000000;
  146. border: none;
  147. .icon {
  148. width: 66rpx;
  149. height: auto;
  150. }
  151. }
  152. }
  153. .card.question {
  154. margin-top: 25rpx;
  155. padding: 34rpx 19rpx;
  156. box-sizing: border-box;
  157. .card-header {
  158. padding: 0 11rpx 11rpx 11rpx;
  159. font-size: 32rpx;
  160. font-weight: 600;
  161. color: #000000;
  162. }
  163. .row {
  164. margin-top: 22rpx;
  165. justify-content: space-between;
  166. padding: 17rpx 14rpx 17rpx 23rpx;
  167. font-size: 30rpx;
  168. color: #000000;
  169. border-bottom: 0.5rpx solid rgba($color: #707070, $alpha: 0.1);
  170. }
  171. }
  172. </style>