From f9d7c2ff92b5b70b5d56c1076696335cb6a3e45a Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 5 Jun 2026 09:03:38 -0600 Subject: [PATCH] update --- src/admin/ai/list.vue | 53 ++++++-- src/admin/api.ts | 58 ++++----- src/admin/transforms.ts | 18 +++ src/admin/user/components/Name.vue | 8 +- src/admin/user/list.vue | 6 +- src/main.ts | 4 +- src/oj/api.ts | 46 +------ src/oj/class/pk.vue | 15 ++- src/oj/learn/components/ExerciseFill.vue | 18 +-- src/oj/learn/components/ExerciseMcq.vue | 8 +- src/oj/learn/components/ExerciseSort.vue | 18 +-- src/oj/learn/index.vue | 13 +- src/oj/rank/list.vue | 122 ++++++++++++++---- src/oj/store/ai.ts | 7 +- src/oj/transforms.ts | 29 +++++ .../components/FlowchartStatisticsPanel.vue | 19 +-- src/utils/http.ts | 51 +++++++- src/utils/types.ts | 6 +- 18 files changed, 335 insertions(+), 164 deletions(-) create mode 100644 src/admin/transforms.ts create mode 100644 src/oj/transforms.ts diff --git a/src/admin/ai/list.vue b/src/admin/ai/list.vue index bd86f6b..c0c7e5e 100644 --- a/src/admin/ai/list.vue +++ b/src/admin/ai/list.vue @@ -8,8 +8,14 @@ style="width: 200px" /> - - 以下 {{ pinnedReports.length }} 位用户的 AI 分析报告已被锁定,前台将固定显示该报告: + + 以下 {{ pinnedReports.length }} 位用户的 AI + 分析报告已被锁定,前台将固定显示该报告: - +
- {{ detail.username }} - {{ detail.class_name || "-" }} - {{ parseTime(detail.create_time, "YYYY-MM-DD HH:mm:ss") }} + {{ + detail.username + }} + {{ + detail.class_name || "-" + }} + {{ + parseTime(detail.create_time, "YYYY-MM-DD HH:mm:ss") + }} @@ -51,7 +68,12 @@ import { MdPreview } from "md-editor-v3" import "md-editor-v3/lib/preview.css" import Pagination from "shared/components/Pagination.vue" import { parseTime } from "utils/functions" -import { getAIReportList, getAIReportDetail, pinAIReport, getPinnedAIReports } from "../api" +import { + getAIReportList, + getAIReportDetail, + pinAIReport, + getPinnedAIReports, +} from "../api" import { NButton, NTag } from "naive-ui" interface ReportItem { @@ -83,7 +105,11 @@ const columns: DataTableColumn[] = [ key: "username", width: 150, render: (row) => - h("span", { style: row.is_pinned ? "font-weight:600" : "" }, row.username), + h( + "span", + { style: row.is_pinned ? "font-weight:600" : "" }, + row.username, + ), }, { title: "AI 分析内容", @@ -111,7 +137,11 @@ const columns: DataTableColumn[] = [ width: 160, render: (row) => h("span", { style: "display:flex;gap:8px" }, [ - h(NButton, { size: "small", type: "primary", onClick: () => openDetail(row.id) }, () => "查看"), + h( + NButton, + { size: "small", type: "primary", onClick: () => openDetail(row.id) }, + () => "查看", + ), h( NButton, { @@ -156,7 +186,10 @@ async function openDetail(id: number) { onMounted(() => Promise.all([listReports(), loadPinnedReports()])) watch(() => [query.page, query.limit], listReports) -watchDebounced(() => query.username, listReports, { debounce: 500, maxWait: 1000 }) +watchDebounced(() => query.username, listReports, { + debounce: 500, + maxWait: 1000, +})