feat(web): scaffold Vue 3 + Vite + TypeScript project with Element Plus

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:44:40 +08:00
parent 6a7bde4801
commit 01a1119d13
18 changed files with 2510 additions and 0 deletions

BIN
web/src/assets/hero.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

1
web/src/assets/vite.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

1
web/src/assets/vue.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>

After

Width:  |  Height:  |  Size: 496 B

3
web/src/style.css Normal file
View File

@@ -0,0 +1,3 @@
body {
margin: 0;
}

75
web/src/types/jobs.ts Normal file
View File

@@ -0,0 +1,75 @@
export interface ApiResponse<T> {
success: boolean
data?: T
error?: string
}
export interface SubmitJobRequest {
script: string
partition?: string
qos?: string
cpus?: number
memory?: string
time_limit?: string
job_name?: string
environment?: Record<string, string>
work_dir?: string
}
export interface JobResponse {
job_id?: number
name?: string
job_state?: string[]
state_reason?: string
partition?: string
qos?: string
priority?: number | null
time_limit?: string
account?: string
user?: string
cluster?: string
cpus?: number | null
tasks?: number | null
node_count?: number | null
nodes?: string
batch_host?: string
submit_time?: number | null
start_time?: number | null
end_time?: number | null
exit_code?: number | null
standard_output?: string
standard_error?: string
standard_input?: string
working_directory?: string
command?: string
array_job_id?: number | null
array_task_id?: number | null
}
export interface JobListResponse {
jobs?: JobResponse[]
total?: number
page?: number
page_size?: number
}
export interface JobHistoryParams {
users?: string
start_time?: string
end_time?: string
account?: string
partition?: string
state?: string
job_name?: string
submit_time?: string
cluster?: string
qos?: string
constraints?: string
exit_code?: string
node?: string
reservation?: string
groups?: string
wckey?: string
page?: number
page_size?: number
}