monthlyCardDetails.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <template>
  2. <view>
  3. <u-navbar>分润详情</u-navbar>
  4. <view class="details">
  5. <view class="details-main">
  6. <view class="details-price">
  7. <h3>{{rentCardShareProfit.shareProfitAmount.toFixed(2)}}<span style="font-size: 12px;">元</span></h3>
  8. </view>
  9. <p>分润金额</p>
  10. <img
  11. v-if="rentCardShareProfit.status==2"
  12. class="withdraw" src="../..//assets/img/withdraw.png" alt="">
  13. </view>
  14. </view>
  15. <view class="details">
  16. <view class="details-title">
  17. <h4>订单明细</h4>
  18. </view>
  19. <template v-if="rentCardShareProfit.stationName">
  20. </template>
  21. <template v-else>
  22. <view class="details-row">
  23. <p>平台收益</p>
  24. <span>{{rentCardShareProfit.disProportion}}%</span>
  25. </view>
  26. </template>
  27. <view class="details-row">
  28. <p>包月卡总金额</p>
  29. <span>{{regUserCard.payFee.toFixed(2)}}元</span>
  30. </view>
  31. <view class="details-row" v-if="rentCardShareProfit.stationName" >
  32. <p>服务费总金额</p>
  33. <span>{{rentCardShareProfit.serviceTotalAmount.toFixed(2)}}元</span>
  34. </view>
  35. <view class="details-row" v-if="rentCardShareProfit.stationName">
  36. <p>分润比例</p>
  37. <span>{{rentCardShareProfit.stationProportion}}%</span>
  38. </view>
  39. <view class="details-row">
  40. <p>包月卡分润金额</p>
  41. <span>{{rentCardShareProfit.shareProfitAmount.toFixed(2)}}元</span>
  42. </view>
  43. <view class="details-row" v-if="rentCardShareProfit.stationName">
  44. <p>周期内充电次数</p>
  45. <span>{{rentCardShareProfit.chargingCount}}次</span>
  46. </view>
  47. </view>
  48. <view class="details">
  49. <view class="details-title">
  50. <h4>更多信息</h4>
  51. </view>
  52. <view class="details-row" v-if="rentCardShareProfit.stationName">
  53. <p>来源站点 </p>
  54. <span>{{rentCardShareProfit.stationName}}</span>
  55. </view>
  56. <view class="details-row" v-if="rentCardShareProfit.stationName" >
  57. <p>设备名称</p>
  58. <span>{{rentCardShareProfit.deviceName}}</span>
  59. </view>
  60. <view class="details-row">
  61. <p>用户姓名 </p>
  62. <span>{{regUser.realName?regUser.realName:'未命名'}}</span>
  63. </view>
  64. <view class="details-row">
  65. <p>车牌号 </p>
  66. <span>{{regUser.carNum?regUser.carNum:'未绑定'}}</span>
  67. </view>
  68. <view class="details-row">
  69. <p>包月卡卡号</p>
  70. <span>{{regUserCard.cardNo}}</span>
  71. </view>
  72. <view class="details-row">
  73. <p>卡有效期</p>
  74. <span>{{regUserCard.startTime?regUserCard.startTime.slice(0,10):''}}至{{regUserCard.endTime?regUserCard.endTime.slice(0,10):''}}</span>
  75. </view>
  76. <view class="details-row">
  77. <p>结算时间</p>
  78. <span>{{rentCardShareProfit.createTime}}</span>
  79. </view>
  80. </view>
  81. </view>
  82. </template>
  83. <script>
  84. import {
  85. parseUnixTime,
  86. substrMb
  87. } from '@/utils'
  88. import * as API from '@/apis/finance.js'
  89. export default {
  90. data() {
  91. return {
  92. regUser: {},
  93. rentCardShareProfit: {},
  94. regUserCard: {},
  95. }
  96. },
  97. onLoad(op) {
  98. this.id = op.id;
  99. this.getInfo()
  100. },
  101. methods: {
  102. getPhone(phone){
  103. var backphone="";
  104. if(phone){
  105. backphone=substrMb(phone,0,3)+"****"+substrMb(phone,7,4)
  106. }
  107. return backphone;
  108. },
  109. getInfo() {
  110. uni.showLoading({
  111. title: "加载中",
  112. mask: true,
  113. })
  114. API.cardProfitDataDetail({
  115. id: this.id
  116. }).then((res) => {
  117. this.regUser = res.data.regUser
  118. this.regUserCard = res.data.regUserCard
  119. this.rentCardShareProfit = res.data.rentCardShareProfit
  120. uni.hideLoading()
  121. }).catch(error => {
  122. uni.showToast({
  123. title: error
  124. })
  125. })
  126. }
  127. }
  128. }
  129. </script>
  130. <style>
  131. page {
  132. background-color: #F7F7F7;
  133. }
  134. </style>
  135. <style lang="scss" scoped>
  136. .detailsBtn {
  137. margin: 16px;
  138. .detailsBtn-btn {
  139. border-color: #185AC6 !important;
  140. border-radius: 8px !important;
  141. background: none !important;
  142. color: #185AC6 !important;
  143. }
  144. }
  145. .details-title {
  146. margin-bottom: 20px;
  147. h4 {
  148. font-weight: normal;
  149. font-size: 16px;
  150. position: relative;
  151. padding-left: 10px;
  152. &::after {
  153. content: '';
  154. position: absolute;
  155. height: 12px;
  156. width: 4px;
  157. background-color: #185ac6;
  158. left: 0;
  159. top: 5px;
  160. }
  161. }
  162. }
  163. .details-row {
  164. display: flex;
  165. justify-content: space-between;
  166. align-items: center;
  167. margin-top: 15px;
  168. p {
  169. color: #86898C;
  170. }
  171. }
  172. .details-row-sum {
  173. float: right;
  174. color: #101010;
  175. font-size: 14px;
  176. }
  177. .details {
  178. margin: 16px;
  179. padding: 20px;
  180. background-color: #fff;
  181. border-radius: 8px;
  182. position: relative;
  183. .details-head {
  184. text-align: center;
  185. display: flex;
  186. align-items: center;
  187. justify-content: center;
  188. h4 {
  189. font-size: 18px;
  190. font-weight: normal;
  191. margin-left: 4px;
  192. }
  193. }
  194. .details-price {
  195. margin-top: 12px;
  196. margin-bottom: 4px;
  197. display: flex;
  198. align-items: flex-end;
  199. justify-content: center;
  200. h3 {
  201. font-size: 36px;
  202. color: #27B148;
  203. line-height: 36px;
  204. margin: 0 4px;
  205. font-weight: normal;
  206. }
  207. span {
  208. font-size: 20px;
  209. color: #27B148;
  210. }
  211. }
  212. .details-main {
  213. text-align: center;
  214. .withdraw{
  215. width: 21.3vw;
  216. height: 21.3vw;
  217. position: absolute;
  218. top: 2vw;
  219. right: 2.5vw;
  220. }
  221. p {
  222. color: #777;
  223. margin-top: 4px;
  224. }
  225. }
  226. }
  227. </style>