### REQ-USR-003 查询用户 **目标**: 管理员可按用户名、角色或状态筛选并分页浏览用户列表 - **输入**: - **表1**: | 字段 | 类型 | 必填 | 输入方式 | 显示来源 | 预加载 | 默认值 | 业务规则 | | ---- | ---- | --- | ---- | ----------------------------------------------- | ----- | ------- | --------------- | | 查询字段 | 文本 | 否 | 下拉单选 | 用户名/员工名/用户号/部门/用户类型/作废/登录日期/制单人 | 页面加载时 | 用户名 | — | | 匹配方式 | 文本 | 否 | 下拉单选 | 包含/不包含/等于 | 页面加载时 | 包含 | — | | 查询值 | 文本 | 否 | 手工输入 | — | — | — | 与「查询字段」配合使用,空为选择全部 | - **输出**: - **表1**: | 字段 | 类型 | 显示来源 | | ---- | ---- | ----- | | 序号 | 数字 | 系统生成 | | 用户名 | 文本 | `用户表` | | 员工名 | 文本 | `职员表` | | 用户号 | 文本 | `用户表` | | 部门 | 文本 | `职员表` | | 用户类型 | 文本 | `用户表` | | 语言 | 文本 | `用户表` | | 作废 | 布尔 | `用户表` | | 登录日期 | 日期时间 | `用户表` | | 制单人 | 文本 | `用户表` | | 制单日期 | 日期时间 | `用户表` | - **跨字段规则**: - - **边界**: 单页最大条数受限(默认 100);密码与敏感字段不返回;查询为只读,不产生写副作用 - **验收**: 按条件筛选返回正确结果集;无匹配时返回空列表而非报错;分页参数越界时返回最后一页 - **依赖表**: `tUser`(主查询表)、`tEmployee`(LEFT JOIN 取员工名 / 部门) - **依赖接口**: `GET /api/usr/user`(本 REQ 自身接口)