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

8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 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>