detail.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <a-card>
  3. <a-tabs v-model:activeKey="state.tabsActive">
  4. <a-tab-pane
  5. v-for="item in tabs"
  6. :key="item.key"
  7. :tab="item.name"
  8. />
  9. </a-tabs>
  10. <OverView v-if="state.tabsActive === '1'"/>
  11. <CloudView v-else-if="state.tabsActive === '2'"/>
  12. <DeviceShadow v-else-if="state.tabsActive === '3'" />
  13. <MsgTrack v-else-if="state.tabsActive === '4'" />
  14. </a-card>
  15. </template>
  16. <script lang="ts" setup >
  17. import { computed, reactive } from 'vue'
  18. import OverView from './components/overview.vue'
  19. import CloudView from './components/cloudview.vue'
  20. import DeviceShadow from './components/deviceShadow.vue'
  21. import MsgTrack from './components/msgTrack.vue'
  22. const tabs = [
  23. {
  24. name: '概述',
  25. key: '1'
  26. },
  27. {
  28. name: '云端下发',
  29. key: '2'
  30. },
  31. {
  32. name: '设备影子',
  33. key: '3'
  34. },
  35. {
  36. name: '消息跟踪',
  37. key: '4'
  38. },
  39. {
  40. name: '子设备',
  41. key: '5'
  42. },
  43. {
  44. name: '标签',
  45. key: '6'
  46. }
  47. ]
  48. const state = reactive({
  49. tabsActive: '4'
  50. })
  51. const domainCom = () => {
  52. switch (state.tabsActive) {
  53. case '1':
  54. return OverView
  55. case '2':
  56. return CloudView
  57. default:
  58. return CloudView
  59. }
  60. }
  61. console.log('domainCom:', domainCom())
  62. </script>
  63. <style lang="less" scoped >
  64. </style>