WithdrawAudit.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <view class="withdraw-audit" v-if="data">
  3. <!-- 提现审核表单 -->
  4. <view class="info-section">
  5. <view class="section-header">
  6. <view class="section-indicator"></view>
  7. <text class="section-title">提现信息</text>
  8. </view>
  9. <view class="info-list">
  10. <!-- 基本信息 -->
  11. <view class="info-item">
  12. <text class="info-label">公司</text>
  13. <text class="info-value">{{ data.companyName || '-' }}</text>
  14. </view>
  15. <view class="info-item">
  16. <text class="info-label">医生</text>
  17. <text class="info-value">{{ data.doctorName || '-' }}</text>
  18. </view>
  19. <view class="info-item">
  20. <text class="info-label">提现金额</text>
  21. <text class="info-value">{{ data.amount || '-' }}</text>
  22. </view>
  23. <view class="info-item">
  24. <text class="info-label">申请时间</text>
  25. <text class="info-value">{{ data.applyTime || '-' }}</text>
  26. </view>
  27. <view class="info-item">
  28. <text class="info-label">提现积分</text>
  29. <text class="info-value">{{ data.points || '-' }}</text>
  30. </view>
  31. <view class="info-item">
  32. <text class="info-label">审核时间</text>
  33. <text class="info-value">{{ data.auditTime || '-' }}</text>
  34. </view>
  35. <view class="info-item">
  36. <text class="info-label">打款时间</text>
  37. <text class="info-value">{{ data.paymentTime || '-' }}</text>
  38. </view>
  39. </view>
  40. </view>
  41. <!-- 银行回执 -->
  42. <view class="info-section" v-if="data.bankReceipts && data.bankReceipts.length > 0">
  43. <view class="section-header">
  44. <view class="section-indicator"></view>
  45. <text class="section-title">银行回执</text>
  46. </view>
  47. <view class="bank-receipts">
  48. <view class="receipt-item"
  49. v-for="(receipt, index) in data.bankReceipts"
  50. :key="index"
  51. @click="previewImage(receipt.url, data.bankReceipts.map(item => item.url))"
  52. >
  53. <image
  54. :src="receipt.url"
  55. style="width: 200rpx; height: 200rpx;"
  56. mode="aspectFill"
  57. ></image>
  58. <text class="receipt-name">{{ receipt.name || `回执${index + 1}` }}</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. </template>
  64. <script>
  65. export default {
  66. name: 'WithdrawAudit',
  67. props: {
  68. data: {
  69. type: Object,
  70. default: null
  71. }
  72. },
  73. methods: {
  74. // 预览图片
  75. previewImage(current, urls) {
  76. uni.previewImage({
  77. urls: urls,
  78. current: current
  79. })
  80. }
  81. }
  82. }
  83. </script>
  84. <style lang="scss" scoped>
  85. .info-section {
  86. margin-bottom: 24rpx;
  87. background: #fff;
  88. border-radius: 16rpx;
  89. padding: 24rpx;
  90. .section-header {
  91. display: flex;
  92. align-items: center;
  93. margin-bottom: 24rpx;
  94. .section-indicator {
  95. width: 8rpx;
  96. height: 32rpx;
  97. background: #388BFF;
  98. border-radius: 4rpx;
  99. margin-right: 16rpx;
  100. }
  101. .section-title {
  102. font-size: 32rpx;
  103. font-weight: 500;
  104. color: #333;
  105. }
  106. }
  107. .info-list {
  108. .info-item {
  109. display: flex;
  110. justify-content: space-between;
  111. align-items: flex-start;
  112. margin-bottom: 20rpx;
  113. padding-bottom: 20rpx;
  114. border-bottom: 1rpx solid #F0F0F0;
  115. &:last-child {
  116. margin-bottom: 0;
  117. padding-bottom: 0;
  118. border-bottom: none;
  119. }
  120. .info-label {
  121. font-size: 28rpx;
  122. color: #666;
  123. width: 200rpx;
  124. }
  125. .info-value {
  126. font-size: 28rpx;
  127. color: #333;
  128. flex: 1;
  129. text-align: right;
  130. word-break: break-all;
  131. }
  132. }
  133. }
  134. .bank-receipts {
  135. display: flex;
  136. flex-wrap: wrap;
  137. gap: 20rpx;
  138. .receipt-item {
  139. width: 200rpx;
  140. margin-bottom: 20rpx;
  141. cursor: pointer;
  142. image {
  143. border-radius: 8rpx;
  144. margin-bottom: 10rpx;
  145. }
  146. .receipt-name {
  147. font-size: 24rpx;
  148. color: #666;
  149. text-align: center;
  150. word-break: break-all;
  151. }
  152. }
  153. }
  154. }
  155. </style>