feat(admin): 优化用户界面交互与组件功能

- 在抽题页面添加开始抽题按钮并绑定事件
- 调整队伍列表动画延迟和分组页面样式
- 修复结果发布条件逻辑,允许无结束时间时发布
- 增强TypeIt组件,支持动态配置和实例管理
- 更新Competition API类型定义,使用枚举类型
- 优化CompetitionLayout组件按钮显示时机
- 修正分析页面API调用参数类型
- 在拼写检查词典中添加Typeit
This commit is contained in:
2026-03-12 14:33:30 +08:00
parent 41f7ba7b8a
commit 11f448cedc
10 changed files with 90 additions and 42 deletions

View File

@ -74,7 +74,7 @@ async function initQuestions() {
const { data: outlineData, error } = await fetchGetCurrentQuestion({
ActivityID: Number(activityId.value),
GroupID: Number(groupsId.value),
RoundType: Number(currentQuestionMainInfo.value?.Activity_Question.RoundType) || 0,
RoundType: (currentQuestionMainInfo.value?.Activity_Question.RoundType) || 0,
})
// eslint-disable-next-line no-console
console.log(outlineData, 'outlineData')
@ -172,23 +172,18 @@ onBeforeUnmount(() => {
<span class="text-lg text-white font-bold drop-shadow">{{ team.TeamName }}</span>
<span class="ml-2 rounded-full bg-white/40 px-2 py-0.5 text-sm">正确 <span class="text-md text-blue">{{
team.correctCount }}</span> </span>
<span class="text-s rounded-full bg-white/40 px-2 py-0.5">积分 <span class="text-md text-blue">{{ team.Points
<span class="text-s rounded-full bg-white/40 px-2 py-0.5">积分 <span class="text-md text-blue">{{
team.Points
}}</span></span>
</div>
<!-- Answer Image Area -->
<div
class="relative mb-4 flex-1 overflow-hidden border border-gray-300 rounded bg-gray-50"
>
<div class="relative mb-4 flex-1 overflow-hidden border border-gray-300 rounded bg-gray-50">
<!-- Grid Background Simulation -->
<div class="pointer-events-none absolute inset-0 grid grid-cols-8 gap-px bg-gray-200 opacity-20">
<!-- <div v-for="n in 64" :key="n" class="bg-white" /> -->
</div>
<NImage
:src="team.UserAnswerPicture"
class="h-full w-full"
object-fit="contain"
/>
<NImage :src="team.UserAnswerPicture" class="h-full w-full" object-fit="contain" />
</div>
<!-- Stats & Score -->