feat(web): add API client, router, and app layout

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
dailz
2026-04-16 22:45:23 +08:00
parent 01a1119d13
commit 1356f91b9d
5 changed files with 132 additions and 0 deletions

39
web/src/App.vue Normal file
View File

@@ -0,0 +1,39 @@
<template>
<el-config-provider :locale="zhCn">
<el-container style="height: 100vh">
<el-aside width="200px" style="border-right: 1px solid #e6e6e6">
<div style="padding: 16px; font-size: 16px; font-weight: 600; text-align: center">
HPC 集群管理
</div>
<el-menu :router="true" :default-active="route.path">
<el-menu-item index="/jobs">
<el-icon><List /></el-icon>
<span>任务列表</span>
</el-menu-item>
<el-menu-item index="/jobs/history">
<el-icon><Timer /></el-icon>
<span>任务历史</span>
</el-menu-item>
<el-menu-item index="/jobs/submit">
<el-icon><CirclePlus /></el-icon>
<span>提交任务</span>
</el-menu-item>
</el-menu>
</el-aside>
<el-main>
<router-view />
</el-main>
</el-container>
</el-config-provider>
</template>
<script setup lang="ts">
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import { List, Timer, CirclePlus } from '@element-plus/icons-vue'
const route = useRoute()
onMounted(() => {
document.title = 'HPC 集群管理'
})
</script>