chore: remove unused layout
chore: reformat code
This commit is contained in:
parent
28f84bca92
commit
6fee735df5
@ -52,30 +52,39 @@ export const topbarNavDefaults = [
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<header
|
<header
|
||||||
class="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear border-b sticky top-0 z-30 bg-background">
|
class="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear border-b sticky top-0 z-30 bg-background"
|
||||||
|
>
|
||||||
<!-- group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12 -->
|
<!-- group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12 -->
|
||||||
<div class="flex justify-between items-center gap-2 px-4 w-full">
|
<div class="flex justify-between items-center gap-2 px-4 w-full">
|
||||||
<div
|
<div
|
||||||
class="flex items-center gap-2"
|
class="flex items-center gap-2"
|
||||||
:class="`${hideTrigger ? 'px-7' : ''}`">
|
:class="`${hideTrigger ? 'px-7' : ''}`"
|
||||||
<SidebarTrigger v-if="!hideTrigger" class="-ml-1" />
|
>
|
||||||
|
<SidebarTrigger
|
||||||
|
v-if="!hideTrigger"
|
||||||
|
class="-ml-1"
|
||||||
|
/>
|
||||||
<img
|
<img
|
||||||
v-if="hideTrigger"
|
v-if="hideTrigger"
|
||||||
src="/images/xsh_logo.png"
|
src="/images/xsh_logo.png"
|
||||||
alt="Logo"
|
alt="Logo"
|
||||||
class="w-10 aspect-square" />
|
class="w-10 aspect-square"
|
||||||
|
/>
|
||||||
<Separator
|
<Separator
|
||||||
orientation="vertical"
|
orientation="vertical"
|
||||||
class="mr-2 h-4" />
|
class="mr-2 h-4"
|
||||||
|
/>
|
||||||
<Breadcrumb v-if="breadcrumbs.length > 0">
|
<Breadcrumb v-if="breadcrumbs.length > 0">
|
||||||
<BreadcrumbList>
|
<BreadcrumbList>
|
||||||
<template
|
<template
|
||||||
v-for="(crumb, i) in breadcrumbs"
|
v-for="(crumb, i) in breadcrumbs"
|
||||||
:key="i">
|
:key="i"
|
||||||
|
>
|
||||||
<BreadcrumbItem>
|
<BreadcrumbItem>
|
||||||
<BreadcrumbLink
|
<BreadcrumbLink
|
||||||
v-if="crumb.path"
|
v-if="crumb.path"
|
||||||
:href="crumb.path">
|
:href="crumb.path"
|
||||||
|
>
|
||||||
{{ crumb.label }}
|
{{ crumb.label }}
|
||||||
</BreadcrumbLink>
|
</BreadcrumbLink>
|
||||||
<BreadcrumbPage v-else>
|
<BreadcrumbPage v-else>
|
||||||
@ -123,13 +132,16 @@ export const topbarNavDefaults = [
|
|||||||
<DropdownMenuTrigger as-child>
|
<DropdownMenuTrigger as-child>
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="icon">
|
size="icon"
|
||||||
|
>
|
||||||
<Icon
|
<Icon
|
||||||
name="tabler:moon"
|
name="tabler:moon"
|
||||||
class="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
|
class="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"
|
||||||
|
/>
|
||||||
<Icon
|
<Icon
|
||||||
name="tabler:sun"
|
name="tabler:sun"
|
||||||
class="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
|
class="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"
|
||||||
|
/>
|
||||||
<span class="sr-only">Toggle theme</span>
|
<span class="sr-only">Toggle theme</span>
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
|
@ -8,6 +8,8 @@ export default withNuxt(
|
|||||||
rules: {
|
rules: {
|
||||||
'vue/html-self-closing': 'off',
|
'vue/html-self-closing': 'off',
|
||||||
'vue/singleline-html-element-content-newline': 'off',
|
'vue/singleline-html-element-content-newline': 'off',
|
||||||
|
'@stylistic/brace-style': 'off',
|
||||||
|
'@stylistic/arrow-parens': 'off',
|
||||||
},
|
},
|
||||||
plugins: {
|
plugins: {
|
||||||
prettier,
|
prettier,
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<script lang="ts" setup></script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="w-full min-h-screen flex flex-col font-sans">
|
|
||||||
<AppTopbar hide-trigger />
|
|
||||||
<div class="min-h-[100vh] flex-1 md:min-h-min p-4">
|
|
||||||
<slot />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
@ -36,6 +36,7 @@ export default defineNuxtConfig({
|
|||||||
quotes: 'single',
|
quotes: 'single',
|
||||||
semi: false,
|
semi: false,
|
||||||
commaDangle: 'only-multiline',
|
commaDangle: 'only-multiline',
|
||||||
|
braceStyle: '1tbs',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -98,9 +98,7 @@ const onDeleteResource = (resourceId: number) => {
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col gap-4 px-4 py-2">
|
<div class="flex flex-col gap-4 px-4 py-2">
|
||||||
<div class="flex justify-between items-start">
|
<div class="flex justify-between items-start">
|
||||||
<h1 class="text-xl font-medium">
|
<h1 class="text-xl font-medium">课程章节管理</h1>
|
||||||
课程章节管理
|
|
||||||
</h1>
|
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<Tooltip :delay-duration="0">
|
<Tooltip :delay-duration="0">
|
||||||
<TooltipTrigger>
|
<TooltipTrigger>
|
||||||
|
@ -83,7 +83,7 @@ const onCreateClassSubmit = createClassForm.handleSubmit((values) => {
|
|||||||
<h1 class="text-xl font-medium">
|
<h1 class="text-xl font-medium">
|
||||||
课程班级管理
|
课程班级管理
|
||||||
<span class="block text-sm text-muted-foreground">
|
<span class="block text-sm text-muted-foreground">
|
||||||
课程负责人:{{ course.data.teacherName || "未知" }}
|
课程负责人:{{ course.data.teacherName || '未知' }}
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
|
@ -45,8 +45,7 @@ const {
|
|||||||
const triggerSearch = useDebounceFn(() => {
|
const triggerSearch = useDebounceFn(() => {
|
||||||
if (searchKeyword.value.length > 0) {
|
if (searchKeyword.value.length > 0) {
|
||||||
refreshSearch()
|
refreshSearch()
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
clearSearch()
|
clearSearch()
|
||||||
}
|
}
|
||||||
}, 500)
|
}, 500)
|
||||||
@ -58,7 +57,7 @@ watch(searchKeyword, (newValue) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const isInTeam = (userId: number) => {
|
const isInTeam = (userId: number) => {
|
||||||
return teacherTeam?.value?.data?.some(item => item.teacherId === userId)
|
return teacherTeam?.value?.data?.some((item) => item.teacherId === userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
const onAddTeacherToCourse = (teacherId: number) => {
|
const onAddTeacherToCourse = (teacherId: number) => {
|
||||||
@ -103,7 +102,7 @@ const onDeleteTeacher = (recordId: number) => {
|
|||||||
<h1 class="text-xl font-medium">
|
<h1 class="text-xl font-medium">
|
||||||
教师团队管理
|
教师团队管理
|
||||||
<span class="block text-sm text-muted-foreground">
|
<span class="block text-sm text-muted-foreground">
|
||||||
课程负责人:{{ course.data.teacherName || "未知" }}
|
课程负责人:{{ course.data.teacherName || '未知' }}
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
@ -150,9 +149,7 @@ const onDeleteTeacher = (recordId: number) => {
|
|||||||
</FormField>
|
</FormField>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<p class="text-sm text-muted-foreground">
|
<p class="text-sm text-muted-foreground">搜索结果</p>
|
||||||
搜索结果
|
|
||||||
</p>
|
|
||||||
<div
|
<div
|
||||||
v-if="searchResults?.data && searchResults.data.length > 0"
|
v-if="searchResults?.data && searchResults.data.length > 0"
|
||||||
class="flex flex-col gap-2"
|
class="flex flex-col gap-2"
|
||||||
@ -177,13 +174,13 @@ const onDeleteTeacher = (recordId: number) => {
|
|||||||
<h1
|
<h1
|
||||||
class="text-sm font-medium text-ellipsis line-clamp-1"
|
class="text-sm font-medium text-ellipsis line-clamp-1"
|
||||||
>
|
>
|
||||||
{{ user.userName || "未知教师" }}
|
{{ user.userName || '未知教师' }}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-xs text-muted-foreground/80">
|
<p class="text-xs text-muted-foreground/80">
|
||||||
工号:{{ user.employeeId || "未知" }}
|
工号:{{ user.employeeId || '未知' }}
|
||||||
</p>
|
</p>
|
||||||
<p class="text-xs text-muted-foreground/80">
|
<p class="text-xs text-muted-foreground/80">
|
||||||
{{ user.collegeName || "未知学院" }}
|
{{ user.collegeName || '未知学院' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -200,7 +197,7 @@ const onDeleteTeacher = (recordId: number) => {
|
|||||||
size="16px"
|
size="16px"
|
||||||
/>
|
/>
|
||||||
<span>
|
<span>
|
||||||
{{ isInTeam(user.id!) ? "已在团队" : "添加" }}
|
{{ isInTeam(user.id!) ? '已在团队' : '添加' }}
|
||||||
</span>
|
</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user