diff --git a/db/intelligence.go b/db/intelligence.go index a9fc6e9..a559c50 100644 --- a/db/intelligence.go +++ b/db/intelligence.go @@ -260,8 +260,8 @@ func (d *DB) ListIntelligence(ctx context.Context, f IntelligenceFilter) (*Intel if err != nil { return nil, err } - // Search titles and reporters; return the recorded content directly in each row. - where := scope + ` AND ($3='' OR kind=$3) AND ($4='' OR i.status=$4) AND ($5='' OR i.title ILIKE '%'||$5||'%' OR i.worker ILIKE '%'||$5||'%')` + // Search titles, content, evidence, and reporters; return the recorded content directly in each row. + where := scope + ` AND ($3='' OR kind=$3) AND ($4='' OR i.status=$4) AND ($5='' OR i.title ILIKE '%'||$5||'%' OR i.content ILIKE '%'||$5||'%' OR i.evidence ILIKE '%'||$5||'%' OR i.worker ILIKE '%'||$5||'%')` args = append(args, f.Kind, f.Status, f.Query) if err = d.QueryRowContext(ctx, `SELECT count(*)`+where, args...).Scan(&page.Total); err != nil { return nil, err diff --git a/web/src/app/(main)/function/findings/detail/page.tsx b/web/src/app/(main)/function/findings/detail/page.tsx index f771776..d4a640a 100644 --- a/web/src/app/(main)/function/findings/detail/page.tsx +++ b/web/src/app/(main)/function/findings/detail/page.tsx @@ -58,6 +58,7 @@ function FindingDetailInner() { const searchParams = useSearchParams(); const id = searchParams.get("id") ?? ""; const contextTaskId = searchParams.get("context_task") ?? ""; + const backHref = contextTaskId ? `/function/tasks/detail?id=${contextTaskId}&tab=findings` : "/function/findings"; const [finding, setFinding] = React.useState(null); const [loaded, setLoaded] = React.useState(false); const [tab, setTab] = React.useState("overview"); @@ -117,7 +118,7 @@ function FindingDetailInner() {

{loaded ? `未找到发现 ${id}` : "加载中…"}

{loaded && ( @@ -135,7 +136,7 @@ function FindingDetailInner() {
diff --git a/web/src/app/(main)/function/tasks/detail/_tabs/findings-tab.tsx b/web/src/app/(main)/function/tasks/detail/_tabs/findings-tab.tsx index b643264..ef7ed95 100644 --- a/web/src/app/(main)/function/tasks/detail/_tabs/findings-tab.tsx +++ b/web/src/app/(main)/function/tasks/detail/_tabs/findings-tab.tsx @@ -113,11 +113,7 @@ function Row({ {f.finding_id && ( @@ -190,7 +186,7 @@ export function FindingsTab({ taskId }: { taskId: string }) { return (
- + {[ ...new Set( items diff --git a/web/src/app/(main)/function/tasks/detail/page.tsx b/web/src/app/(main)/function/tasks/detail/page.tsx index 3c23d3e..6bf52f5 100644 --- a/web/src/app/(main)/function/tasks/detail/page.tsx +++ b/web/src/app/(main)/function/tasks/detail/page.tsx @@ -354,7 +354,17 @@ function TaskDetailInner() { ); return ( - + { + setTab(value); + const params = new URLSearchParams(searchParams.toString()); + params.set("tab", value); + params.delete("session"); + router.replace(`/function/tasks/detail?${params.toString()}`, { scroll: false }); + }} + className="flex flex-1 flex-col gap-0" + > {/* Top fixed area */}
diff --git a/web/src/components/intelligence-panel.tsx b/web/src/components/intelligence-panel.tsx index 81022fb..ae30a52 100644 --- a/web/src/components/intelligence-panel.tsx +++ b/web/src/components/intelligence-panel.tsx @@ -193,8 +193,8 @@ export function IntelligencePanel({
setSearch(e.target.value)}