UserAsset.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <!-- 我的资产 -->
  3. <HeaderNav headerText="资产"></HeaderNav>
  4. <div class="user-asset">
  5. <div class="notifi-classifi pf600 fs14">
  6. <div class="fc121212" @click="messageChange('overview')">总览</div>
  7. <div class="fcA8A8A8" @click="messageChange('balance')">余额</div>
  8. <div class="fcA8A8A8" @click="messageChange('contract')">合约</div>
  9. <div class="fcA8A8A8" @click="messageChange('financialManagement')">理财</div>
  10. <div class="fcA8A8A8" @click="messageChange('option')">期权</div>
  11. <div class="fcA8A8A8" @click="messageChange('miaoContract')">秒合约</div>
  12. <div class="fcA8A8A8" @click="messageChange('lever')">币币</div>
  13. </div>
  14. <component :is="currentComponent" />
  15. </div>
  16. </template>
  17. <script setup>
  18. import HeaderNav from "../index/components/HeaderNav.vue";
  19. import Balance from "./myAsset/Balance.vue";
  20. import Contract from "./myAsset/Contract.vue";
  21. import FinancialManagement from "./myAsset/FinancialManagement.vue";
  22. import Lever from "./myAsset/Lever.vue";
  23. import MiaoContract from "./myAsset/MiaoContract.vue";
  24. import Option from "./myAsset/Option.vue";
  25. import Overview from "./myAsset/Overview.vue";
  26. import { ref, computed } from "vue";
  27. const current = ref("overview");
  28. const componentsMap = {
  29. balance: Balance,
  30. contract: Contract,
  31. financialManagement: FinancialManagement,
  32. lever: Lever,
  33. miaoContract: MiaoContract,
  34. option: Option,
  35. overview: Overview,
  36. };
  37. const currentComponent = computed(() => componentsMap[current.value]);
  38. const messageChange = (key) => {
  39. current.value = key;
  40. };
  41. </script>
  42. <style lang="less" scoped>
  43. .user-asset {
  44. display: flex;
  45. flex-direction: column;
  46. justify-content: flex-start;
  47. align-items: center;
  48. width: 100%;
  49. .notifi-classifi {
  50. display: flex;
  51. flex-direction: row;
  52. justify-content: space-between;
  53. align-items: flex-end;
  54. margin-top: calc(48px);
  55. width: 345px;
  56. height: 24px;
  57. }
  58. }
  59. </style>