diff --git a/components/course/Card.vue b/components/course/Card.vue index bc5bf28..729b668 100644 --- a/components/course/Card.vue +++ b/components/course/Card.vue @@ -52,17 +52,17 @@ const openCourse = (id: number) => { <span>{{ data.teacherName || "未知教师" }}</span> </p> </div> - <div class="flex justify-between gap-1 text-xs text-muted-foreground/80"> - <div class="flex-1 flex flex-col"> + <div class="flex justify-between gap-4 text-xs text-muted-foreground/80"> + <div class=" flex flex-col"> <p> - 学期:<span>{{ data.semester || "未知" }}</span> + 学期 <span>{{ data.semester || "未知" }}</span> </p> <p> 课程ID:<span>{{ data.id }}</span> </p> </div> - <div class="flex flex-col items-end"> - <p>{{ data.schoolName }}</p> + <div class="flex-1 flex flex-col items-end"> + <p class="text-ellipsis line-clamp-1">{{ data.schoolName }}</p> <div class="flex items-center gap-1"> <div v-if="data.status === 0" diff --git a/components/fn/teach/LessonPlan.vue b/components/fn/teach/LessonPlan.vue index c3804dd..a625e59 100644 --- a/components/fn/teach/LessonPlan.vue +++ b/components/fn/teach/LessonPlan.vue @@ -1,7 +1,58 @@ -<script lang="ts" setup></script> +<script lang="ts" setup> +const tab = ref('text') +</script> <template> - <div>教案设计</div> + <div class="flex flex-col gap-4"> + <Tabs + v-model="tab" + class="w-[400px]" + > + <TabsList> + <TabsTrigger value="text"> + <div class="flex items-center gap-1"> + <Icon name="tabler:article" /> + <span>文本生成</span> + </div> + </TabsTrigger> + <TabsTrigger value="chapter"> + <div class="flex items-center gap-1"> + <Icon name="tabler:text-plus" /> + <span>章节生成</span> + </div> + </TabsTrigger> + <TabsTrigger value="bot"> + <div class="flex items-center gap-1"> + <Icon name="tabler:robot" /> + <span>课程智能体</span> + </div> + </TabsTrigger> + </TabsList> + </Tabs> + <div class="flex items-start。 gap-4"> + <div + v-if="tab === 'chapter'" + class="flex h-20 flex-col justify-center items-center gap-1 px-8 rounded-md border" + > + <Icon + name="tabler:text-plus" + class="text-3xl" + /> + <span class="text-xs font-medium">选择章节</span> + </div> + <Textarea + placeholder="请输入文本来生成内容" + class="h-20 flex-1" + /> + <div class="flex flex-col items-center gap-2"> + <Button size="lg"> + <Icon name="tabler:stars" /> + 生成教案 + </Button> + <p class="text-xs text-foreground/40">内容由 AI 生成,仅供参考</p> + </div> + </div> + </div> </template> <style scoped></style> diff --git a/pages/course/index.vue b/pages/course/index.vue index f0361a8..d4b789f 100644 --- a/pages/course/index.vue +++ b/pages/course/index.vue @@ -308,7 +308,7 @@ const onDeleteCourse = (courseId: number) => { </div> <div v-if="coursesList?.rows && coursesList.rows.length > 0" - class="grid grid-cols-6 gap-8" + class="grid grid-cols-1 lg:grid-cols-4 3xl:grid-cols-5 gap-8" > <CourseCard v-for="course in coursesList?.rows" diff --git a/tailwind.config.js b/tailwind.config.js index cebadbb..7ebb03b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -4,6 +4,12 @@ export default { content: [], theme: { extend: { + screens: { + '3xl': '1792px', + '4xl': '2048px', + '5xl': '2560px', + '6xl': '3840px', + }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', @@ -51,14 +57,14 @@ export default { 5: 'hsl(var(--chart-5))', }, sidebar: { - 'DEFAULT': 'hsl(var(--sidebar-background))', - 'foreground': 'hsl(var(--sidebar-foreground))', - 'primary': 'hsl(var(--sidebar-primary))', + DEFAULT: 'hsl(var(--sidebar-background))', + foreground: 'hsl(var(--sidebar-foreground))', + primary: 'hsl(var(--sidebar-primary))', 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))', - 'accent': 'hsl(var(--sidebar-accent))', + accent: 'hsl(var(--sidebar-accent))', 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))', - 'border': 'hsl(var(--sidebar-border))', - 'ring': 'hsl(var(--sidebar-ring))', + border: 'hsl(var(--sidebar-border))', + ring: 'hsl(var(--sidebar-ring))', }, }, },