2026-07-14 15:39:44 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<div>
|
|
|
|
|
|
<div class="page-head">
|
|
|
|
|
|
<div>
|
|
|
|
|
|
<h1>子系统导航</h1>
|
|
|
|
|
|
<p>统一 LDAP 账号,点击即用免二次登录(同账号同密码)</p>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="ext-grid">
|
|
|
|
|
|
<SubsystemCard
|
|
|
|
|
|
v-for="system in subsystems"
|
|
|
|
|
|
:key="system.id"
|
|
|
|
|
|
:system="system"
|
|
|
|
|
|
/>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
|
import { ref, onMounted } from 'vue'
|
|
|
|
|
|
import { subsystemApi, type Subsystem } from '@/api/subsystem'
|
|
|
|
|
|
import SubsystemCard from '@/components/SubsystemCard.vue'
|
|
|
|
|
|
|
|
|
|
|
|
const subsystems = ref<Subsystem[]>([])
|
|
|
|
|
|
|
|
|
|
|
|
onMounted(async () => {
|
2026-07-15 10:52:41 +08:00
|
|
|
|
try {
|
|
|
|
|
|
const { data } = await subsystemApi.getSubsystems()
|
|
|
|
|
|
subsystems.value = data
|
|
|
|
|
|
} catch {
|
|
|
|
|
|
// 错误已由 request 拦截器统一处理
|
|
|
|
|
|
}
|
2026-07-14 15:39:44 +08:00
|
|
|
|
})
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
2026-07-15 15:11:55 +08:00
|
|
|
|
/* .page-head, .ext-grid 已在 global.css 中定义 */
|
2026-07-14 15:39:44 +08:00
|
|
|
|
</style>
|