瑶都万能墙
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.

206 lines
4.1 KiB

  1. <template>
  2. <view class="customer-service">
  3. <navbar leftClick @leftClick="$utils.navigateBack" title="客服中心" />
  4. <view class="content">
  5. <!-- 客服介绍 -->
  6. <view class="intro">
  7. <view class="title">我们为您提供贴心服务</view>
  8. <view class="desc">如有任何问题请随时联系我们的客服团队</view>
  9. </view>
  10. <!-- 客服列表 -->
  11. <view class="service-list">
  12. <view
  13. class="service-item"
  14. v-for="(item, index) in serviceList"
  15. :key="index"
  16. @click="showQRCode(item)"
  17. >
  18. <image class="avatar" :src="item.avatar" mode="aspectFill"></image>
  19. <view class="info">
  20. <view class="name">{{ item.name }}</view>
  21. <view class="contact">{{ item.contact }}</view>
  22. </view>
  23. <uv-icon name="arrow-right" size="24rpx" color="#999"></uv-icon>
  24. </view>
  25. </view>
  26. </view>
  27. <!-- 微信二维码弹窗 -->
  28. <uv-popup ref="qrPopup" :round="20" bgColor="#fff">
  29. <view class="qr-popup">
  30. <view class="qr-header">
  31. <view class="title">{{ currentService.name }}</view>
  32. <view class="subtitle">扫码添加微信</view>
  33. </view>
  34. <view class="qr-content">
  35. <image class="qr-code" :src="currentService.qrCode" mode="aspectFit"></image>
  36. <view class="qr-tips">长按保存二维码微信扫码添加</view>
  37. </view>
  38. <view class="qr-actions">
  39. <uv-button type="primary" @click="$refs.qrPopup.close()">知道了</uv-button>
  40. </view>
  41. </view>
  42. </uv-popup>
  43. </view>
  44. </template>
  45. <script>
  46. export default {
  47. data() {
  48. return {
  49. currentService: {},
  50. serviceList: [
  51. {
  52. name: '客服小美',
  53. contact: '微信:kefu001',
  54. avatar: '/static/image/avatar/kefu1.jpg',
  55. qrCode: '/static/image/qrcode/kefu1_qr.jpg'
  56. },
  57. {
  58. name: '客服小丽',
  59. contact: '手机:138-8888-8888',
  60. avatar: '/static/image/avatar/kefu2.jpg',
  61. qrCode: '/static/image/qrcode/kefu2_qr.jpg'
  62. },
  63. {
  64. name: '客服小雨',
  65. contact: '微信:kefu003',
  66. avatar: '/static/image/avatar/kefu3.jpg',
  67. qrCode: '/static/image/qrcode/kefu3_qr.jpg'
  68. },
  69. {
  70. name: '客服小花',
  71. contact: '手机:139-9999-9999',
  72. avatar: '/static/image/avatar/kefu4.jpg',
  73. qrCode: '/static/image/qrcode/kefu4_qr.jpg'
  74. }
  75. ]
  76. }
  77. },
  78. methods: {
  79. // 显示二维码弹窗
  80. showQRCode(service) {
  81. this.currentService = service
  82. this.$refs.qrPopup.open('center')
  83. }
  84. }
  85. }
  86. </script>
  87. <style scoped lang="scss">
  88. .customer-service {
  89. background-color: #f5f5f5;
  90. min-height: 100vh;
  91. .content {
  92. padding: 20rpx;
  93. }
  94. .intro {
  95. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  96. padding: 40rpx;
  97. border-radius: 20rpx;
  98. margin-bottom: 30rpx;
  99. .title {
  100. color: #fff;
  101. font-size: 36rpx;
  102. font-weight: bold;
  103. margin-bottom: 10rpx;
  104. }
  105. .desc {
  106. color: rgba(255, 255, 255, 0.8);
  107. font-size: 28rpx;
  108. }
  109. }
  110. .service-list {
  111. background-color: #fff;
  112. border-radius: 20rpx;
  113. padding: 20rpx;
  114. margin-bottom: 30rpx;
  115. .service-item {
  116. display: flex;
  117. align-items: center;
  118. padding: 30rpx 20rpx;
  119. border-bottom: 1rpx solid #f0f0f0;
  120. &:last-child {
  121. border-bottom: none;
  122. }
  123. .avatar {
  124. width: 80rpx;
  125. height: 80rpx;
  126. border-radius: 50%;
  127. margin-right: 20rpx;
  128. }
  129. .info {
  130. flex: 1;
  131. .name {
  132. font-size: 32rpx;
  133. font-weight: bold;
  134. color: #333;
  135. margin-bottom: 8rpx;
  136. }
  137. .contact {
  138. font-size: 26rpx;
  139. color: #666;
  140. }
  141. }
  142. }
  143. }
  144. .qr-popup {
  145. padding: 40rpx;
  146. text-align: center;
  147. width: 600rpx;
  148. .qr-header {
  149. margin-bottom: 30rpx;
  150. .title {
  151. font-size: 36rpx;
  152. font-weight: bold;
  153. color: #333;
  154. margin-bottom: 10rpx;
  155. }
  156. .subtitle {
  157. font-size: 28rpx;
  158. color: #666;
  159. }
  160. }
  161. .qr-content {
  162. margin-bottom: 30rpx;
  163. .qr-code {
  164. width: 400rpx;
  165. height: 400rpx;
  166. border-radius: 20rpx;
  167. margin-bottom: 20rpx;
  168. }
  169. .qr-tips {
  170. font-size: 24rpx;
  171. color: #999;
  172. line-height: 1.5;
  173. }
  174. }
  175. .qr-actions {
  176. display: flex;
  177. justify-content: center;
  178. }
  179. }
  180. }
  181. </style>