"use client"; import { Ban, CheckCircle2, PauseCircle, Pencil, RotateCw } from "lucide-react"; import { api, formatDateTime } from "@/lib/api"; import type { StandardQAItem } from "@/lib/types"; import RiskBadge from "./RiskBadge"; import StatusBadge from "./StatusBadge"; export default function StandardQATable({ items, onChanged }: { items: StandardQAItem[]; onChanged: () => void }) { async function action(id: number, path: string) { try { await api.post(`/standard-qa/${id}/${path}`, {}); onChanged(); } catch (error) { alert(error instanceof Error ? error.message : "操作失败"); } } async function edit(item: StandardQAItem) { const standardQuestion = window.prompt("标准问题", item.standard_question); if (standardQuestion === null) return; const standardAnswer = window.prompt("标准回答", item.standard_answer); if (standardAnswer === null) return; await api.patch(`/standard-qa/${item.id}`, { standard_question: standardQuestion, standard_answer: standardAnswer }); onChanged(); } return (
{items.map((item) => ( ))} {items.length === 0 ? ( ) : null}
标准问题 标准回答 相似问法 主题 标签 阶段 适用人群 边界 禁止表达 来源 状态 更新 操作
{item.standard_question} {item.standard_answer} {item.similar_questions.join("、") || "-"} {item.primary_topic} {item.problem_tags.join("、") || "-"} {item.course_stage} {item.audience_tags.join("、") || "-"} {item.answer_boundary ?? "-"} {item.forbidden_expressions.join("、") || "-"} QA #{item.source_raw_qa_id}
场次 #{item.session_id}
{formatDateTime(item.updated_at)}
暂无标准问答
); }