跳到主要内容

获取表单数据

接口

HttpGet:api/FrontEnd/form/{AppItemCode}/{objectId}

按菜单编码和业务数据 ObjectID 获取一条表单主表数据。接口不直接返回子表记录;当表单存在子表时,响应中的 SubTables 会返回子表菜单编码和关联条件,调用方再调用 POST api/FrontEnd/GetListData 按需分页读取子表记录。

接口必须登录,不设置免登录。服务端使用令牌中的当前登录用户校验菜单权限和数据范围,不能通过路径参数查询其他用户无权访问的数据。

请求参数

请求头

参数名类型是否必填说明
Authorizationstring登录令牌,格式为 Bearer {token}。令牌可通过 POST /Permission/GetToken 获取。
UserIdstring当前登录账号编码,例如 administrator
TnCodestring租户编码,例如 00000000

路径参数

参数名类型是否必填说明
AppItemCodestring主表所在功能菜单编码。
objectIdstring主表业务数据的 ObjectID

请求示例

GET /baseUrl/api/FrontEnd/form/46b97a76f61338bd/205e4ed8-db1f-40c7-9e2d-bf656d53c2cd HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...
UserId: administrator
TnCode: 00000000

返回结果

接口响应使用平台统一包装。

参数名类型说明
Codeint业务状态码;200 表示成功。
Messagestring错误信息;成功时为空字符串。
Resultobject表单数据结果。
Result.AppItemCodestring主表菜单编码,即请求中的 AppItemCode
Result.ObjectIdstring主表业务数据 ObjectID
Result.Dataobject主表数据。键为实际业务数据表字段名,包含 ObjectID
Result.SubTablesarray子表查询描述;没有子表时返回空数组。
Result.SubTables[].AppItemCodestring子表菜单编码,用于调用 GetListDataMenuId
Result.SubTables[].DisplayNamestring子表显示名称。
Result.SubTables[].ParentObjectIdstring当前主表 ObjectID
Result.SubTables[].ParentObjectIdFieldstring子表关联主表的字段名,固定为 ParentObjectID
Result.Workflowobject流程信息。仅流程表单返回;普通表单为 null 或不返回该字段。
Result.Workflow.Instancesarray与当前主表数据关联的流程实例。流程表单尚未发起流程时返回空数组。
Result.Workflow.Instances[].InstanceIdstring流程实例 ID,可用于调用流程详情相关接口。
Result.Workflow.Instances[].WorkflowCodestring流程编码。
Result.Workflow.Instances[].Stateint流程状态值。常用值:0 草稿、2 进行中、4 已结束、5 已取消、11 驳回、12 否决。
Result.Workflow.Instances[].StateNamestring流程状态名称,例如 进行中已结束
Result.Workflow.Instances[].CurrentNodesarray当前运行节点集合。会签或并行分支时可能包含多个节点;流程结束后通常为空数组。
Result.Workflow.Instances[].CurrentNodes[].Codestring当前节点编码。
Result.Workflow.Instances[].CurrentNodes[].Namestring当前节点名称。
Statusint业务状态;1 表示成功,3 表示服务端业务错误。

返回示例

{
"Code": 200,
"Message": "",
"ExceptionSeqNo": null,
"Result": {
"AppItemCode": "46b97a76f61338bd",
"ObjectId": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"Data": {
"ObjectID": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"Title": "采购申请",
"CreatedTime": "2026-08-07 10:30:00",
"Applicant": "张三"
},
"SubTables": [
{
"AppItemCode": "46b97a76f61338bd_detail",
"DisplayName": "采购明细",
"ParentObjectId": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"ParentObjectIdField": "ParentObjectID"
}
],
"Workflow": {
"Instances": [
{
"InstanceId": "8f607d58-6099-4d71-9499-50d8e4de8f06",
"WorkflowCode": "purchase_apply",
"State": 2,
"StateName": "进行中",
"CurrentNodes": [
{
"Code": "department_approval",
"Name": "部门审批"
}
]
}
]
}
},
"Status": 1,
"MessageShowType": null
}

查询子表数据

Result.SubTables 取得子表 AppItemCodeParentObjectIdParentObjectIdField 后,调用已有列表接口。子表查询同样需要携带有效的登录令牌、UserIdTnCode

HttpPost:api/FrontEnd/GetListData

{
"UserId": "administrator",
"MenuId": "46b97a76f61338bd_detail",
"ReturnColumns": [
"ObjectID",
"ProductName",
"Quantity",
"Amount",
"ParentObjectID"
],
"PageIndex": 1,
"PageSize": 20,
"SearchCondition": [
{
"ComponentKey": "Text",
"Name": "ParentObjectID",
"Operation": "Equal",
"ValueType": "Custom",
"Value": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"QueryType": "And"
}
]
}

MenuId 使用 SubTables[].AppItemCode,条件字段 Name 使用 SubTables[].ParentObjectIdField,条件值使用 SubTables[].ParentObjectId

调用说明

  • 未携带或携带无效 Authorization 时,服务端返回 HTTP 401
  • 普通用户必须拥有 AppItemCode 对应菜单权限,且目标数据在其平台数据范围内;否则返回 该数据不存在或当前用户无权访问
  • 系统管理员不受菜单角色列表限制,但仍必须使用有效令牌调用。
  • Data 按数据库中实际存在的字段返回,以兼容菜单数据模型中仍保留、但数据库已删除的历史字段。
  • 子表数据不在本接口中返回,避免详情接口在子表数据量较大时产生大响应;请使用 GetListData 的分页参数读取。
  • 流程表单会额外返回 Workflow。同一业务数据可能关联多个流程实例,因此调用方应遍历 Workflow.Instances,不能假设只有一个实例。
  • CurrentNodes 反映流程当前运行节点;流程已结束、已取消等无运行节点的状态下,该数组为空。