index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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" />
  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. }
  42. },
  43. components: { transferRecord, tansferDuration },
  44. head: {
  45. title: '转移时长',
  46. },
  47. mounted() {
  48. },
  49. methods: {
  50. changeTabs(key) {
  51. this.tabsActive = key
  52. }
  53. }
  54. }
  55. </script>
  56. <style lang="scss" scoped>
  57. .transfer-duration {
  58. font-family: PingFangSC, PingFang SC;
  59. color: #C0C1C4;
  60. background: #1c1c1e;
  61. display: flex;
  62. flex-direction: column;
  63. // padding: 16px 16px 0;
  64. font-size: 14px;
  65. font-weight: bold;
  66. // overflow: hidden;
  67. height: 100%;
  68. .transfer-duration-tabs {
  69. height: 48px;
  70. margin: 16px 16px 0;
  71. background: #363636;
  72. border-radius: 8px;
  73. box-sizing: border-box;
  74. padding: 0 10px;
  75. display: flex;
  76. align-items: center;
  77. .transfer-duration-tabs_item {
  78. height: 40px;
  79. border-radius: 8px;
  80. flex: 1;
  81. text-align: center;
  82. line-height: 40px;
  83. .transfer-duration-tabs_item-icon {
  84. width: 14px;
  85. height: 14px;
  86. vertical-align: middle;
  87. margin-bottom: 3px;
  88. }
  89. &.active {
  90. color: #fff;
  91. background: linear-gradient(180deg, #575759 0%, #2C2C2D 100%);
  92. box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
  93. }
  94. }
  95. }
  96. .transfer-duration-com {
  97. margin-top: 16px;
  98. flex: 1;
  99. overflow-y: auto;
  100. }
  101. }</style>