Commit 07684a76 authored by drigle's avatar drigle

fix: collapse search filter tree by default

parent 1ac6b324
......@@ -1307,7 +1307,7 @@ function collectExpandableTreeKeys(nodes = []) {
}
function FilterTreeCard({ title, nodes, selectedKeys, onSelect }) {
const [open, setOpen] = useState(true);
const [open, setOpen] = useState(false);
const [expandedKeys, setExpandedKeys] = useState(() => collectExpandableTreeKeys(nodes));
useEffect(() => {
......
......@@ -6,7 +6,7 @@
## 浏览与检索
用户进入 Subject 列表后,页面调用 `POST /record/query`,按配置中的 `list.view`、排序和搜索 Subject 展示记录。`search_view`/`search` 使用 `POST /search/:subject` 的全文检索结果,`table` 使用 Record 查询结果渲染表格,`column` 使用同一结果按 `metadata.level` 分组渲染可滚动列看板,`card` 使用同一结果渲染卡片列表;`search` 额外支持模糊搜索和聚合字段筛选,`column` 对 Subject 的 select 字段提供筛选。法规模块的输入框、按钮、勾选框、卡片和反馈状态统一使用 HeroUI,搜索正文与模糊搜索使用显式 HeroUI Checkbox;搜索页桌面端沿用 `streams-admin` 的左右工作区,左侧约四分之一宽度显示聚合筛选,右侧约四分之三宽度依次显示搜索工具区和结果区,两个区域顶部对齐。搜索工具区将搜索框、检索选项和导入/导出/新建操作放在同一面板中,在右侧内容列内吸顶并停留在顶部导航栏下方;左侧筛选栏同步吸顶并独立滚动。中小屏切换为搜索工具区、筛选区、结果区的纵向结构,避免压缩搜索输入和操作按钮;导入、导出和新建使用统一尺寸的图标按钮,通过可访问名称和悬浮提示说明操作,操作区顶边与搜索框首行对齐。左侧聚合筛选分组和带子节点的目录项均可独立展开、折叠,面板不得压缩隐藏目录项。列表分页加载,前端页码从 0 开始传入接口,底部提供 20/50/100 条每页切换;切换页容量、关键词、模糊搜索或筛选条件后回到第一页重新查询,总数分别读取搜索接口的 `hits.total.value` 或 Record 查询接口返回的 `total_records`/`total`/`count`。表格和卡片关键词输入采用延迟查询,Subject 搜索页通过回车或搜索按钮提交,搜索结果按标题、正文摘要和标签分层展示;每条结果使用紧凑的轻边框卡片,摘要展开按钮独立于正文段落,避免长列表展开时结构错位。记录标题和 metadata 字段统一展示,点击“查看”进入 `/:subject/:record` 详情,删除使用 `DELETE /record/:name` 软删除。`/search` 为全局检索入口,调用 `GET /subject` 和 `GET /search/aggregate`(通过 `aggregateSearch` 封装)按 Subject 分组展示结果,分组切换沿用历史应用的 Subject 标签页逻辑;点击全局搜索结果进入详情时携带 `keyword` 查询参数,详情页自动进入关键词查找和定位流程。`audit_indicator_list` 使用指标分组、指标新增和执行结果记录流程;`process_list` 使用流程分组、流程新增和流程记录详情流程。
用户进入 Subject 列表后,页面调用 `POST /record/query`,按配置中的 `list.view`、排序和搜索 Subject 展示记录。`search_view`/`search` 使用 `POST /search/:subject` 的全文检索结果,`table` 使用 Record 查询结果渲染表格,`column` 使用同一结果按 `metadata.level` 分组渲染可滚动列看板,`card` 使用同一结果渲染卡片列表;`search` 额外支持模糊搜索和聚合字段筛选,`column` 对 Subject 的 select 字段提供筛选。法规模块的输入框、按钮、勾选框、卡片和反馈状态统一使用 HeroUI,搜索正文与模糊搜索使用显式 HeroUI Checkbox;搜索页桌面端沿用 `streams-admin` 的左右工作区,左侧约四分之一宽度显示聚合筛选,右侧约四分之三宽度依次显示搜索工具区和结果区,两个区域顶部对齐。搜索工具区将搜索框、检索选项和导入/导出/新建操作放在同一面板中,在右侧内容列内吸顶并停留在顶部导航栏下方;左侧筛选栏同步吸顶并独立滚动。中小屏切换为搜索工具区、筛选区、结果区的纵向结构,避免压缩搜索输入和操作按钮;导入、导出和新建使用统一尺寸的图标按钮,通过可访问名称和悬浮提示说明操作,操作区顶边与搜索框首行对齐。左侧聚合筛选分组默认收起,并与带子节点的目录项一样支持独立展开、折叠;面板不得压缩隐藏目录项。列表分页加载,前端页码从 0 开始传入接口,底部提供 20/50/100 条每页切换;切换页容量、关键词、模糊搜索或筛选条件后回到第一页重新查询,总数分别读取搜索接口的 `hits.total.value` 或 Record 查询接口返回的 `total_records`/`total`/`count`。表格和卡片关键词输入采用延迟查询,Subject 搜索页通过回车或搜索按钮提交,搜索结果按标题、正文摘要和标签分层展示;每条结果使用紧凑的轻边框卡片,摘要展开按钮独立于正文段落,避免长列表展开时结构错位。记录标题和 metadata 字段统一展示,点击“查看”进入 `/:subject/:record` 详情,删除使用 `DELETE /record/:name` 软删除。`/search` 为全局检索入口,调用 `GET /subject` 和 `GET /search/aggregate`(通过 `aggregateSearch` 封装)按 Subject 分组展示结果,分组切换沿用历史应用的 Subject 标签页逻辑;点击全局搜索结果进入详情时携带 `keyword` 查询参数,详情页自动进入关键词查找和定位流程。`audit_indicator_list` 使用指标分组、指标新增和执行结果记录流程;`process_list` 使用流程分组、流程新增和流程记录详情流程。
`table` 视图按历史 RecordTable 的常用操作对齐:表头字段可切换升序/降序排序,勾选框支持当前页批量选择,批量删除逐条调用 `DELETE /record/:name` 并刷新列表;导出会按当前 Subject 字段读取全量分页数据并生成 Excel。`card` 视图保留卡片列表展示和查看、下载、编辑、删除操作,也支持 20/50/100 分页与 Excel 导出;卡片内部统一使用标题区、两列字段信息区和底部操作区,窄屏退化为单列字段,操作图标保留 tooltip 和可访问名称。`table`、`card`、`search` 和 `search_view` 顶部均提供导入入口,其中“导入目录”读取 Excel/CSV 第一张表,以字段标签或字段别名映射到 Subject 字段后调用 `POST /record/import`;“导入文档”上传 Word/PDF,优先转换正文并在 Word 文档可解析时写入 `metadata.document`,再调用 `POST /record` 创建记录。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment