index.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <div :style="{ 'height': '100vh' }">
  3. <div class="transfer-duration">
  4. <div class="transfer-duration-tabs">
  5. <!-- <div class="transfer-duration-tabs_item active">123456</div>
  6. <div class="transfer-duration-tabs_item">1432123</div> -->
  7. <div v-for="item in tabs" :key="item.key"
  8. :class="['transfer-duration-tabs_item', { active: tabsActive === item.key }]"
  9. @click="changeTabs(item.key)">
  10. <img :src="tabsActive === item.key ? item.activeIcon : item.icon" alt=""
  11. class="transfer-duration-tabs_item-icon">
  12. {{ item.name }}
  13. </div>
  14. </div>
  15. <div class="transfer-duration-com" :key="tabsActive">
  16. <components :is="tabsActive" :token="token"/>
  17. </div>
  18. </div>
  19. </div>
  20. </template>
  21. <script>
  22. const transferRecord = () => import('./components/transferRecord.vue')
  23. const tansferDuration = () => import('./components/tansferDuration.vue')
  24. export default {
  25. auth: false,
  26. name: 'transferDuration',
  27. data() {
  28. return {
  29. tabs: [{
  30. name: '转移时长',
  31. key: 'tansferDuration',
  32. icon: require('@/assets/image/transferDuration/tansferDuration.png'),
  33. activeIcon: require('@/assets/image/transferDuration/activeTansferDuration.png')
  34. }, {
  35. name: '转移记录',
  36. key: 'transferRecord',
  37. icon: require('@/assets/image/transferDuration/transferRecord.png'),
  38. activeIcon: require('@/assets/image/transferDuration/activeTransferRecord.png')
  39. }],
  40. tabsActive: 'tansferDuration',
  41. token: ''
  42. }
  43. },
  44. components: { transferRecord, tansferDuration },
  45. head: {
  46. title: '转移时长',
  47. },
  48. created() {
  49. this.token = this.$route.query.token
  50. },
  51. methods: {
  52. changeTabs(key) {
  53. this.tabsActive = key
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss" scoped>
  59. .transfer-duration {
  60. font-family: PingFangSC, PingFang SC;
  61. color: #C0C1C4;
  62. background: #1c1c1e;
  63. display: flex;
  64. flex-direction: column;
  65. // padding: 16px 16px 0;
  66. font-size: 14px;
  67. font-weight: bold;
  68. // overflow: hidden;
  69. height: 100%;
  70. .transfer-duration-tabs {
  71. height: 48px;
  72. margin: 16px 16px 0;
  73. background: #363636;
  74. border-radius: 8px;
  75. box-sizing: border-box;
  76. padding: 0 10px;
  77. display: flex;
  78. align-items: center;
  79. .transfer-duration-tabs_item {
  80. height: 40px;
  81. border-radius: 8px;
  82. flex: 1;
  83. text-align: center;
  84. line-height: 40px;
  85. .transfer-duration-tabs_item-icon {
  86. width: 14px;
  87. height: 14px;
  88. vertical-align: middle;
  89. margin-bottom: 3px;
  90. }
  91. &.active {
  92. color: #fff;
  93. background: linear-gradient(180deg, #575759 0%, #2C2C2D 100%);
  94. box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
  95. }
  96. }
  97. }
  98. .transfer-duration-com {
  99. margin-top: 16px;
  100. flex: 1;
  101. overflow-y: auto;
  102. }
  103. }
  104. </style>