PageTeamManagement.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <div class="safety-platform-container">
  3. <header class="safety-platform-container__header">
  4. <div class="breadcrumb-title"> 应急架构编辑 </div>
  5. </header>
  6. <main class="safety-platform-container__main">
  7. <div class="safety-platform-container__main__team-bar" v-loading="loadingTeams">
  8. <LeaderTeamBar />
  9. </div>
  10. <div v-if="curTeam" class="safety-platform-container__main__team-info" v-loading="loadingTeamInfo">
  11. <TeamAndPersonInfo />
  12. </div>
  13. <div v-else class="safety-platform-container__main__team-info--empty"><div>请选择队伍</div></div>
  14. </main>
  15. </div>
  16. </template>
  17. <script setup lang="ts">
  18. import { onUnmounted } from 'vue';
  19. import { storeToRefs } from 'pinia';
  20. import LeaderTeamBar from './leader-teams/LeaderTeamBar.vue';
  21. import TeamAndPersonInfo from './team-info/TeamAndPersonInfo.vue';
  22. import useTeamStore from './store/userTeam';
  23. const { curTeam, loadingTeams, loadingTeamInfo } = storeToRefs(useTeamStore());
  24. const { clearData } = useTeamStore();
  25. onUnmounted(() => {
  26. {
  27. clearData();
  28. }
  29. });
  30. </script>
  31. <style lang="scss" scoped>
  32. @use '@/styles/page-details-layout.scss' as *;
  33. .safety-platform-container__main {
  34. width: 100%;
  35. display: flex;
  36. &__team-bar {
  37. }
  38. &__team-info {
  39. flex: 1;
  40. min-width: 0;
  41. overflow: auto;
  42. }
  43. &__team-info--empty {
  44. margin: 350cpx auto;
  45. font-size: 20px;
  46. font-weight: bold;
  47. text-align: center;
  48. }
  49. }
  50. </style>