bill.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div class="layout-page" :style="themeStyle">
  3. <v-header :title="`${query.coin_name} ${$t('assets.a7')}`"></v-header>
  4. <div class="bg-panel-4 d-flex justify-between p-md fn-center">
  5. <div class="item">
  6. <div class="label m-b-xs fn-sm">{{$t('assets.a8')}}({{query.coin_name}})</div>
  7. <div class="num color-light fn-lg">{{detail.total_assets}}</div>
  8. </div>
  9. <div class="item">
  10. <div class="label m-b-xs fn-sm">{{$t('assets.a9')}}({{query.coin_name}})</div>
  11. <div class="num color-light fn-lg">{{detail.usable_balance}}</div>
  12. </div>
  13. <div class="item">
  14. <div class="label m-b-xs fn-sm">{{$t('assets.b0')}}({{query.coin_name}})</div>
  15. <div class="num color-light fn-lg">{{detail.freeze_balance}}</div>
  16. </div>
  17. </div>
  18. <!-- 币币 -->
  19. <v-paging class="layout-main" :ajax="getWalletLogs" :data="query">
  20. <template #box="list">
  21. <van-empty v-if="!$list(list).length" description="" />
  22. <div v-for="item in $list(list)" class="item bg-panel-4 m-x-md m-y-xs rounded-sm box-shadow" :key="item.datetime">
  23. <div class="head d-flex align-center border-b p-x-md p-y-xs justify-between">
  24. <div class="d-flex justify-between">
  25. <div>
  26. <div class="color-light fn-lg">{{query.coin_name}}</div>
  27. <div class="fn-10">{{$date(item.created_at)}}</div>
  28. </div>
  29. </div>
  30. <div
  31. class="fn-md"
  32. :class="item.amount*1<0?'color-sell':'color-buy'"
  33. >{{item.amount*1>=0?'+':''}}{{item.amount*1}}</div>
  34. </div>
  35. <div class="p-x-md p-y-xs color-light">{{item.log_type_text}}</div>
  36. </div>
  37. </template>
  38. </v-paging>
  39. </div>
  40. </template>
  41. <script>
  42. import Wallet from "@/api/wallet";
  43. import date from "@/utils/class/date.js";
  44. import {mapGetters} from 'vuex'
  45. export default {
  46. data() {
  47. return {
  48. active: 1,
  49. detail: {},
  50. appDepositHistory: Wallet.appDepositHistory,
  51. appWithdrawalRecord: Wallet.appWithdrawalRecord,
  52. appTransferRecord: Wallet.appTransferRecord,
  53. getWalletLogs: Wallet.getWalletLogs,
  54. query:{}
  55. };
  56. },
  57. computed: {
  58. accountMap() {
  59. return {
  60. UserWallet: this.$t('assets.b1'),
  61. ContractAccount: this.$t('assets.b2'),
  62. FinancialAccount: this.$t('assets.b4'),
  63. };
  64. },
  65. activeObj() {
  66. return this.billList.find((item) => item.type == this.active);
  67. },
  68. ...mapGetters(['themeStyle'])
  69. },
  70. methods: {
  71. parseTime: date.parseTime,
  72. appTokenAssets() {
  73. let data = {
  74. coin_name: this.query.coin_name,
  75. };
  76. Wallet.appTokenAssets(data).then((res) => {
  77. this.detail = res.data;
  78. });
  79. },
  80. },
  81. onLoad(query) {
  82. this.query=query
  83. this.appTokenAssets();
  84. },
  85. };
  86. </script>
  87. <style lang="scss" scoped>
  88. ::v-deep .van-tabs__wrap {
  89. background-color: $panel-4;
  90. }
  91. </style>