detail.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <template>
  2. <view class="feedback-detail">
  3. <view class="feedback-title">
  4. <text>问题和意见</text>
  5. </view>
  6. <view class="feedback-body">
  7. <textarea
  8. disabled
  9. :value="feedbackDetail.content"
  10. class="feedback-textare"
  11. />
  12. </view>
  13. <view
  14. class="feedback-title"
  15. v-if="feedbackDetail.covers && feedbackDetail.covers.length > 0"
  16. >
  17. <text>图片</text>
  18. </view>
  19. <view class="uni-uploader-body">
  20. <view class="uni-uploader__files">
  21. <block v-for="(image, index) in feedbackDetail.covers" :key="index">
  22. <view class="uni-uploader__file">
  23. <oa-image class="uni-uploader__img" :src="image"></oa-image>
  24. </view>
  25. </block>
  26. </view>
  27. </view>
  28. <view class="feedback-title">
  29. <text>反馈类型</text>
  30. </view>
  31. <view class="feedback-body">
  32. <radio-group>
  33. <label
  34. class="gender-item"
  35. v-for="(item, index) in feedbackType"
  36. :key="index"
  37. >
  38. <radio
  39. class="gender-item-radio"
  40. :color="themeColor.color"
  41. :value="item.value"
  42. :checked="item.value == feedbackDetail.type"
  43. />
  44. <text class="gender-item-text">{{ item.name }}</text>
  45. </label>
  46. </radio-group>
  47. </view>
  48. <view class="feedback-title">
  49. <text>QQ/邮箱/手机号</text>
  50. </view>
  51. <view class="feedback-body">
  52. <input
  53. class="feedback-input"
  54. disabled
  55. :value="feedbackDetail.contact_way || '暂未留下联系方式'"
  56. />
  57. </view>
  58. <view class="feedback-title">
  59. <text>回复内容</text>
  60. </view>
  61. <view class="feedback-body">
  62. <textarea
  63. disabled
  64. :value="feedbackDetail.reply || '管理员未回复'"
  65. class="feedback-textare"
  66. />
  67. </view>
  68. </view>
  69. </template>
  70. <script>
  71. export default {
  72. data() {
  73. return {
  74. feedbackDetail: {},
  75. feedbackType: [
  76. {
  77. value: '1',
  78. name: '功能建议'
  79. },
  80. {
  81. value: '2',
  82. name: 'BUG反馈'
  83. },
  84. {
  85. value: '3',
  86. name: '业务咨询'
  87. }
  88. ]
  89. };
  90. },
  91. onShow() {
  92. uni.setNavigationBarColor({
  93. frontColor: '#ffffff',
  94. backgroundColor: this.themeColor.color,
  95. animation: {
  96. duration: 400,
  97. timingFunc: 'easeIn'
  98. }
  99. })
  100. },
  101. };
  102. </script>
  103. <style lang="scss">
  104. page {
  105. background-color: $page-color-base;
  106. }
  107. /* 上传 */
  108. .uni-uploader {
  109. flex: 1;
  110. flex-direction: column;
  111. }
  112. .uni-uploader-body {
  113. margin-top: 16upx;
  114. }
  115. .uni-uploader__files {
  116. display: flex;
  117. flex-direction: row;
  118. flex-wrap: wrap;
  119. }
  120. .uni-uploader__file {
  121. margin: 10upx;
  122. width: 210upx;
  123. height: 210upx;
  124. }
  125. .uni-uploader__img {
  126. display: block;
  127. width: 210upx;
  128. height: 210upx;
  129. }
  130. /*问题反馈*/
  131. .feedback-title {
  132. display: flex;
  133. flex-direction: row;
  134. justify-content: space-between;
  135. align-items: center;
  136. padding: 20upx;
  137. color: #8f8f94;
  138. font-size: 28upx;
  139. }
  140. .feedback-body {
  141. background: $color-white;
  142. padding: $spacing-sm $spacing-base;
  143. .gender-item {
  144. margin-right: 20upx;
  145. .gender-item-text {
  146. padding-left: 10upx;
  147. }
  148. radio .wx-radio-input.wx-radio-input-checked {
  149. background: $uni-color-primary;
  150. border-color: $uni-color-primary;
  151. }
  152. }
  153. }
  154. .feedback-textare {
  155. height: 200upx;
  156. font-size: 34upx;
  157. line-height: 50upx;
  158. width: 100%;
  159. box-sizing: border-box;
  160. padding: 20upx 30upx 0;
  161. }
  162. .feedback-input {
  163. font-size: 28upx;
  164. height: 72upx;
  165. min-height: 50upx;
  166. padding: 15upx 20upx;
  167. line-height: 72upx;
  168. }
  169. .feedback-uploader {
  170. padding: 22upx 20upx;
  171. }
  172. </style>