feat(web): 患者快捷导航 + 列表页 URL patient_id 筛选 + AI 列表患者 Link
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

- 患者详情页增加快捷导航卡片(预约/咨询/透析/随访/AI)
- 5 个列表页支持 URL ?patient_id=xxx 自动筛选
- AI 分析列表患者 ID 改为可点击 Link 跳转详情
This commit is contained in:
iven
2026-05-01 18:17:07 +08:00
parent 0f32d28ddb
commit 8dd269d150
5 changed files with 39 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
import { useState, useCallback } from 'react';
import { useSearchParams } from 'react-router-dom';
import {
Table,
Select,
@@ -61,6 +62,9 @@ interface AssignFormValues {
}
export default function FollowUpTaskList() {
const [searchParams] = useSearchParams();
const urlPatientId = searchParams.get('patient_id');
// --- Paginated data with usePaginatedData ---
const fetchFn = useCallback(
async (page: number, pageSize: number, filters: FollowUpFilters) => {
@@ -68,13 +72,14 @@ export default function FollowUpTaskList() {
if (filters.status) params.status = filters.status;
if (filters.followUpType) params.follow_up_type = filters.followUpType;
if (filters.assigneeId) params.assigned_to = filters.assigneeId;
if (urlPatientId) params.patient_id = urlPatientId;
if (filters.dateRange) {
params.planned_date_start = filters.dateRange[0];
params.planned_date_end = filters.dateRange[1];
}
return followUpApi.listTasks(params as Parameters<typeof followUpApi.listTasks>[0]);
},
[],
[urlPatientId],
);
const {