铝交易,微信公众号
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.

202 lines
4.3 KiB

11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
  1. <template>
  2. <view class="page">
  3. <navbar :title="$t('pageTitle.helpFeedback')" leftClick @leftClick="$utils.navigateBack"/>
  4. <view class="frame">
  5. <!--帮助与反馈-->
  6. <view class="helpFeedback">
  7. <view class="title"> {{ $t('components.helpAndFeedback') }} <span style="color: red;">*</span></view>
  8. <view class="desc">
  9. <textarea :placeholder="$t('components.pleaseSubmit')"/>
  10. </view>
  11. </view>
  12. <!--问题截图-->
  13. <view class="problemImg">
  14. <view class="title">{{ $t('components.screenshot') }} <span style="color: red;">*</span></view>
  15. <view class="img">
  16. <uv-upload
  17. :fileList="fileList"
  18. :maxCount="5"
  19. multiple
  20. width="150rpx"
  21. height="150rpx"
  22. @delete="deleteImage"
  23. @afterRead="afterRead"
  24. :previewFullImage="true">
  25. </uv-upload>
  26. </view>
  27. </view>
  28. <!--联系方式-->
  29. <view class="name_phone">
  30. <view class="title">{{ $t('components.contactInfo') }} <span style="color: red;">*</span></view>
  31. <view class="items">
  32. <view class="item">
  33. <view>{{ $t('components.contactName') }}</view>
  34. <view>
  35. <input :placeholder="$t('components.enterContactName')" clearable></input>
  36. </view>
  37. </view>
  38. <view class="item">
  39. <view>{{ $t('components.lxPhone') }}</view>
  40. <view>
  41. <input :placeholder="$t('components.plePhoneNumber')" clearable></input>
  42. </view>
  43. </view>
  44. </view>
  45. </view>
  46. <!--提交反馈-->
  47. <view class="btns">
  48. <view @click="submitFeedback" class="btn">
  49. {{ $t('components.submitFeedback') }}
  50. </view>
  51. </view>
  52. </view>
  53. </view>
  54. </template>
  55. <script>
  56. import topbar from "@/components/base/topbar.vue";
  57. import tabber from "@/components/base/tabbar.vue";
  58. export default {
  59. name: "helpFeedback",
  60. components: {tabber, topbar},
  61. data() {
  62. return {
  63. fileList: [],
  64. }
  65. },
  66. methods: {
  67. // 提交反馈
  68. submitFeedback() {
  69. },
  70. deleteImage(e) {
  71. this.fileList.splice(e.index, 1)
  72. },
  73. afterRead(e) {
  74. let self = this
  75. e.file.forEach(file => {
  76. self.$Oss.ossUpload(file.url).then(url => {
  77. self.fileList.push({
  78. url
  79. })
  80. })
  81. })
  82. },
  83. },
  84. }
  85. </script>
  86. <style scoped lang="scss">
  87. .page {
  88. height: 100vh;
  89. background-color: #f2f5f5;
  90. .frame {
  91. padding: 40rpx;
  92. display: flex;
  93. flex-direction: column;
  94. justify-content: center;
  95. gap: 40rpx;
  96. .helpFeedback {
  97. .title {
  98. }
  99. .desc {
  100. margin-top: 20rpx;
  101. height: 300rpx;
  102. border-radius: 40rpx;
  103. overflow: hidden;
  104. padding: 20rpx;
  105. font-size: 28rpx;
  106. background-color: #fff;
  107. }
  108. }
  109. .problemImg {
  110. .img {
  111. margin-top: 20rpx;
  112. height: 150rpx;
  113. border-radius: 40rpx;
  114. overflow: hidden;
  115. padding: 20rpx;
  116. font-size: 28rpx;
  117. background-color: #fff;
  118. }
  119. }
  120. .name_phone {
  121. .title {
  122. }
  123. .items {
  124. margin-top: 20rpx;
  125. .item {
  126. display: flex;
  127. align-items: center;
  128. background-color: #FFF;
  129. height: 80rpx;
  130. padding: 10rpx 0 0 20rpx;
  131. border-bottom: 1px solid #efefef;
  132. > view:nth-of-type(1) {
  133. width: 30%;
  134. // font-weight: 700;
  135. }
  136. > view:nth-of-type(2) {
  137. width: 70%;
  138. border-radius: 10rpx;
  139. overflow: hidden;
  140. input {
  141. background-color: #FFF;
  142. font-size: 28rpx;
  143. padding: 16rpx 8rpx 16rpx 15rpx;
  144. }
  145. }
  146. }
  147. }
  148. }
  149. .btns {
  150. width: 100%;
  151. display: flex;
  152. flex-direction: column;
  153. align-items: center;
  154. justify-content: center;
  155. gap: 20rpx;
  156. .btn {
  157. display: flex;
  158. align-items: center;
  159. justify-content: center;
  160. width: 500rpx;
  161. height: 70rpx;
  162. border-radius: 40rpx;
  163. color: #FFF;
  164. font-size: 28rpx;
  165. margin: 20rpx 10rpx 0 0;
  166. background: $uni-color;
  167. //margin-top: 20rpx;
  168. border-radius: 40rpx;
  169. }
  170. }
  171. }
  172. }
  173. </style>