From a3b1fba3ea034f0bccc8f745669da3729d86ebe3 Mon Sep 17 00:00:00 2001 From: Marcus <1922576605@qq.com> Date: Sat, 23 May 2026 01:49:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A8=E6=A0=BC=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/TooltipCom.vue | 61 +++++++++++++++++++ app/components/dashboard/QaRecordDetail.vue | 42 +++++++++++-- app/components/dashboard/QaRecordsTable.vue | 57 +++++++++++++---- app/components/ui/popover/Popover.vue | 19 ++++++ app/components/ui/popover/PopoverAnchor.vue | 15 +++++ app/components/ui/popover/PopoverContent.vue | 45 ++++++++++++++ .../ui/popover/PopoverDescription.vue | 17 ++++++ app/components/ui/popover/PopoverHeader.vue | 17 ++++++ app/components/ui/popover/PopoverTitle.vue | 17 ++++++ app/components/ui/popover/PopoverTrigger.vue | 15 +++++ app/components/ui/popover/index.ts | 7 +++ app/components/ui/tooltip/Tooltip.vue | 19 ++++++ app/components/ui/tooltip/TooltipContent.vue | 34 +++++++++++ app/components/ui/tooltip/TooltipProvider.vue | 14 +++++ app/components/ui/tooltip/TooltipTrigger.vue | 15 +++++ app/components/ui/tooltip/index.ts | 4 ++ app/utils/format.ts | 36 +++++++++++ app/utils/index.ts | 1 + 18 files changed, 417 insertions(+), 18 deletions(-) create mode 100644 app/components/TooltipCom.vue create mode 100644 app/components/ui/popover/Popover.vue create mode 100644 app/components/ui/popover/PopoverAnchor.vue create mode 100644 app/components/ui/popover/PopoverContent.vue create mode 100644 app/components/ui/popover/PopoverDescription.vue create mode 100644 app/components/ui/popover/PopoverHeader.vue create mode 100644 app/components/ui/popover/PopoverTitle.vue create mode 100644 app/components/ui/popover/PopoverTrigger.vue create mode 100644 app/components/ui/popover/index.ts create mode 100644 app/components/ui/tooltip/Tooltip.vue create mode 100644 app/components/ui/tooltip/TooltipContent.vue create mode 100644 app/components/ui/tooltip/TooltipProvider.vue create mode 100644 app/components/ui/tooltip/TooltipTrigger.vue create mode 100644 app/components/ui/tooltip/index.ts create mode 100644 app/utils/format.ts diff --git a/app/components/TooltipCom.vue b/app/components/TooltipCom.vue new file mode 100644 index 0000000..daea2eb --- /dev/null +++ b/app/components/TooltipCom.vue @@ -0,0 +1,61 @@ + + + diff --git a/app/components/dashboard/QaRecordDetail.vue b/app/components/dashboard/QaRecordDetail.vue index a5a1c03..a497bbd 100644 --- a/app/components/dashboard/QaRecordDetail.vue +++ b/app/components/dashboard/QaRecordDetail.vue @@ -10,6 +10,7 @@ import { DialogTitle } from "@/components/ui/dialog"; import { useAnswerStore } from "@/stores/answer"; +import { getOptionLines } from "@/utils"; const answerStore = useAnswerStore(); const { selectedRecord } = storeToRefs(answerStore); @@ -26,6 +27,15 @@ const dialogOpen = computed({ if (!open) close(); } }); + +/** 格式化后按行拆分选项,标记每行是否为正确答案 */ +const formattedOptionLines = computed(() => { + if (!selectedRecord.value?.options) return null; + return getOptionLines( + selectedRecord.value.options, + selectedRecord.value.answer ?? "" + ); +});