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.

409 lines
8.5 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <view class="app-container" style="background-color: #f7f7f7;">
  3. <view class="page-bg">
  4. <view class="withdrawal-management">
  5. <navigator hover-class="none" url="/pages/withdrawal-management/withdrawal-management">
  6. <view class="withdrawal-button">提现管理</view>
  7. </navigator>
  8. </view>
  9. <view class="withdrawal-limit">
  10. <view class="limit-symbol"></view>
  11. <view class="withdrawal-volume">{{accountInfo.wallet_balance}}</view>
  12. </view>
  13. <view class="Withdrawable-text">可提现</view>
  14. <view class="withdrawal-content">
  15. <image class="withdrawal-line"
  16. src="https://common-1257637852.cos.ap-guangzhou.myqcloud.com/paidui-pay/withdrawal-line.png" />
  17. </view>
  18. <view class="to-be-credited">待入账{{accountInfo.waiting_amount}}</view>
  19. <view class="divider-style"></view>
  20. <view class="information-id-content">
  21. <view class="content-id-item">
  22. <view class="id-text">
  23. 用户ID
  24. </view>
  25. <view class="id-value">
  26. {{accountInfo.id}}
  27. </view>
  28. </view>
  29. </view>
  30. <view class="queuing-information-content">
  31. <view class="recent-orders-title">
  32. <image class="title-stlye"
  33. src="https://common-1257637852.cos.ap-guangzhou.myqcloud.com/paidui-pay/title-stlye.png" />
  34. <view class="title-text">最近排队信息</view>
  35. </view>
  36. <view class="information-item">
  37. <view class="item-content" v-if="!queueList.length">
  38. <view class="item-content-text">暂无排队</view>
  39. </view>
  40. <view class="item-content" v-for="item in queueList" :key="item.id">
  41. <view class="item-content-titie">{{item.merchant.name}}</view>
  42. <view class="item-content-text">购买时排队<span class="style-text">{{item.buy_queue_index}}</span>当前<span
  43. class="style-text">{{item.now_queue_index}}</span>
  44. </view>
  45. </view>
  46. <navigator hover-class="none" url="/pages/queuing-information/queuing-information">
  47. <view class="see-more-content">
  48. <view class="see-more-text">查看更多</view>
  49. <view class="see-more-icon"></view>
  50. </view>
  51. </navigator>
  52. </view>
  53. </view>
  54. <view class="ordering-information">
  55. <view class="ordering-information-item" v-if="!orderList.length">
  56. <view class="order-number">暂无订单</view>
  57. </view>
  58. <view class="ordering-information-item" v-for="order in orderList" :key="order.out_trade_no">
  59. <view class="order-number">订单编号 {{order.out_trade_no}}</view>
  60. <view class="ordering-item-content">
  61. <view class="ordering-pic">
  62. <image class="order-chart" :src="order.merchant.logo" />
  63. </view>
  64. <view class="ordering-text">
  65. <view class="ordering-text-title">{{order.merchant.name}}</view>
  66. <view class="amount-of-money">金额<span class="price-style">{{order.amount}}</span></view>
  67. <view class="order-time">订单时间{{order.paid_at}}</view>
  68. </view>
  69. </view>
  70. </view>
  71. </view>
  72. <view class="load-more" @click="getOrderList">{{ hasMore ? '加载更多数据...' : '已加载完毕' }}</view>
  73. </view>
  74. </view>
  75. </template>
  76. <script>
  77. import {
  78. userAccountInfo,
  79. userQueueRebateList,
  80. userOrderList
  81. } from '../../common/api.js'
  82. export default {
  83. data() {
  84. return {
  85. accountInfo: {},
  86. queueList: [],
  87. orderList: [],
  88. hasMore: true,
  89. page: 0,
  90. }
  91. },
  92. onLoad() {
  93. this.getAccountInfo();
  94. this.getQueueList();
  95. this.getOrderList();
  96. },
  97. onReachBottom() {
  98. this.getOrderList()
  99. },
  100. methods: {
  101. getAccountInfo() {
  102. userAccountInfo().then(data => this.accountInfo = data)
  103. },
  104. getQueueList() {
  105. userQueueRebateList({
  106. page: 1,
  107. page_size: 2,
  108. status: 0,
  109. sort_type: 1
  110. }).then(data => this.queueList = data.list)
  111. },
  112. getOrderList() {
  113. if (!this.hasMore) {
  114. return
  115. }
  116. this.page++
  117. userOrderList({
  118. page: this.page,
  119. page_size: 15
  120. }).then(data => {
  121. this.orderList = [...this.orderList, ...data.list]
  122. this.hasMore = data.has_more
  123. })
  124. },
  125. }
  126. }
  127. </script>
  128. <style>
  129. .uni-page-body {
  130. background: #f7f7f7;
  131. }
  132. .page-bg {
  133. height: 525rpx;
  134. background: url("https://common-1257637852.cos.ap-guangzhou.myqcloud.com/paidui-pay/withdrawal-bg.png") no-repeat center center;
  135. background-size: cover;
  136. padding: 0 30rpx;
  137. }
  138. .withdrawal-management {
  139. position: absolute;
  140. top: 0;
  141. right: 0;
  142. }
  143. .withdrawal-button {
  144. position: absolute;
  145. right: 0;
  146. top: 0;
  147. width: 160rpx;
  148. height: 60rpx;
  149. line-height: 60rpx;
  150. padding-left: 40rpx;
  151. border-bottom-left-radius: 30rpx;
  152. color: #fff;
  153. font-size: 24rpx;
  154. background: #FCC565;
  155. box-sizing: border-box;
  156. cursor: pointer;
  157. }
  158. .withdrawal-limit {
  159. display: flex;
  160. justify-content: center;
  161. align-items: baseline;
  162. padding-top: 30rpx;
  163. text-align: center;
  164. }
  165. .limit-symbol {
  166. font-family: PingFangSC-Regular, sans-serif;
  167. font-size: 30rpx;
  168. color: #fff;
  169. }
  170. .withdrawal-volume {
  171. font-family: "Din";
  172. font-size: 60rpx;
  173. color: #fff;
  174. font-weight: bold;
  175. margin-left: 10rpx;
  176. }
  177. .Withdrawable-text {
  178. font-family: PingFangSC-Regular, sans-serif;
  179. font-size: 30rpx;
  180. color: #fff;
  181. text-align: center;
  182. margin-top: 10rpx;
  183. }
  184. .withdrawal-content {
  185. display: flex;
  186. justify-content: center;
  187. align-items: center;
  188. padding: 15rpx 0;
  189. }
  190. image.withdrawal-line {
  191. text-align: center;
  192. width: 200rpx;
  193. height: 1rpx;
  194. background-size: cover;
  195. }
  196. .to-be-credited {
  197. font-family: PingFangSC-Regular, sans-serif;
  198. font-size: 30rpx;
  199. color: #fff;
  200. text-align: center;
  201. }
  202. .divider-style {
  203. width: 690rpx;
  204. height: 1rpx;
  205. background: #F8A0A6;
  206. margin: 20rpx 0;
  207. }
  208. .information-id-content {
  209. display: flex;
  210. justify-content: center;
  211. align-items: center;
  212. }
  213. .content-id-item {
  214. display: flex;
  215. justify-content: center;
  216. align-items: center;
  217. }
  218. .id-text {
  219. font-family: PingFangSC-Regular, sans-serif;
  220. font-size: 24rpx;
  221. color: #fff;
  222. }
  223. .id-value {
  224. font-family: PingFangSC-Regular, sans-serif;
  225. font-size: 24rpx;
  226. color: #fff;
  227. }
  228. .queuing-information-content {
  229. background: #fff;
  230. border-radius: 20rpx;
  231. padding: 30rpx 0;
  232. margin-top: 30rpx;
  233. }
  234. .recent-orders-title {
  235. display: flex;
  236. justify-content: left;
  237. align-items: center;
  238. padding: 0 30rpx;
  239. border-bottom: 1rpx solid #eeeeee;
  240. padding-bottom: 30rpx;
  241. }
  242. image.title-stlye {
  243. width: 15rpx;
  244. height: 19rpx;
  245. background-size: cover;
  246. margin-right: 20rpx;
  247. }
  248. .title-text {
  249. font-family: PingFangSC-Regular, sans-serif;
  250. font-size: 30rpx;
  251. color: #454545;
  252. font-weight: bold;
  253. }
  254. .information-item {
  255. padding: 0 30rpx;
  256. }
  257. .item-content {
  258. display: flex;
  259. justify-content: left;
  260. align-items: center;
  261. margin-top: 30rpx;
  262. }
  263. .item-content-titie {
  264. font-family: PingFangSC-Regular, sans-serif;
  265. font-size: 24rpx;
  266. color: #454545;
  267. font-weight: bold;
  268. }
  269. .item-content-text {
  270. font-family: PingFangSC-Regular, sans-serif;
  271. font-size: 24rpx;
  272. color: #666;
  273. }
  274. span.style-text {
  275. font-family: PingFangSC-Regular, sans-serif;
  276. font-size: 24rpx;
  277. color: #F52F3E;
  278. font-weight: bold;
  279. padding: 0 15rpx;
  280. }
  281. .see-more-content {
  282. display: flex;
  283. justify-content: center;
  284. align-items: center;
  285. margin-top: 30rpx;
  286. }
  287. .see-more-text {
  288. font-family: PingFangSC-Regular, sans-serif;
  289. font-size: 24rpx;
  290. color: #F52F3E;
  291. }
  292. .see-more-icon {
  293. width: 0;
  294. height: 0;
  295. border-left: 14rpx solid #FDD5D8;
  296. border-top: 14rpx solid transparent;
  297. border-bottom: 14rpx solid transparent;
  298. margin-left: 10rpx;
  299. border-radius: 10rpx;
  300. }
  301. .ordering-information {
  302. padding: 30rpx;
  303. background: #fff;
  304. margin-top: 20rpx;
  305. border-radius: 20rpx;
  306. padding-top: 0;
  307. }
  308. .order-number {
  309. font-family: PingFangSC-Regular, sans-serif;
  310. font-size: 26rpx;
  311. color: #454545;
  312. padding: 30rpx 0;
  313. }
  314. .ordering-pic {
  315. width: 120rpx;
  316. height: 120rpx;
  317. background-size: cover;
  318. border-radius: 15rpx;
  319. }
  320. image.order-chart {
  321. width: 120rpx;
  322. height: 120rpx;
  323. background-size: cover;
  324. border-radius: 15rpx;
  325. }
  326. .ordering-text {
  327. margin-left: 30rpx;
  328. }
  329. .ordering-text-title {
  330. font-family: PingFangSC-Regular, sans-serif;
  331. font-size: 30rpx;
  332. color: #454545;
  333. }
  334. .amount-of-money {
  335. font-family: PingFangSC-Regular, sans-serif;
  336. font-size: 24rpx;
  337. color: #999;
  338. padding: 10rpx 0;
  339. }
  340. span.price-style {
  341. font-family: PingFangSC-Regular, sans-serif;
  342. font-size: 24rpx;
  343. color: #F52F3E;
  344. }
  345. .order-time {
  346. font-family: PingFangSC-Regular, sans-serif;
  347. font-size: 24rpx;
  348. color: #999;
  349. }
  350. .ordering-item-content {
  351. display: flex;
  352. justify-content: left;
  353. align-items: center;
  354. border-bottom: 1rpx solid #eee;
  355. padding-bottom: 30rpx;
  356. }
  357. .load-more {
  358. text-align: center;
  359. font-size: 14px;
  360. }
  361. </style>