慧企星助 开放平台文档

慧企星助 开放平台面向企业三方系统提供标准 HTTP API,支持员工、绑定关系、项目、目标与目标复盘、任务、通知、便签、标签、贡献点和附件上传能力。 所有接口默认只作用于当前 API Key 所属企业,权限由后端统一控制并在请求时强校验。

显示全部接口

工作汇报接口

工作汇报接口查询需要 reports.read 权限、写操作需要 reports.write 权限,依赖企业套餐工作汇报模块。查询范围始终限定在企业内,并叠加当前操作人的汇报查看权限(本人 / 本部门 / 本部门及下级 / 全企业)。汇报类型统一使用字符串枚举 reportTypeall 全部、day 日汇报、week 周报、month 月报;模板维护只接受 day/week/month

必填请求头:本模块全部接口(含查询)都必须提供 X-Employee-Virtual-Id,未传或不属于当前企业时返回 403,错误信息为“请通过 X-Employee-Virtual-Id 指定当前操作人”。
汇报类型枚举:reportType 由网关统一映射为源站数值(all=0、day=1、week=2、month=3),调用方只需传字符串;传入枚举外的值返回 400,错误信息为“reportType 必须为 all、day、week 或 month”。
列表状态枚举:status 是汇报列表唯一的数据范围开关,由网关统一映射为源站数值(pending=1、received=2、sent=3、archived=4、all=5)。工作台侧的历史汇总、待办等待操作在开放平台统一收敛为同一个列表接口,用 status 区分即可;传入枚举外的值返回 400,错误信息为“status 必须为 pending、received、sent、archived 或 all”。
写操作口径:发送、确认、申诉、驳回申诉、撤回与考核评分都会进入汇报消息队列,服务端会等待队列消费完成后返回结果,因此 msg 是领域层的真实业务结论(例如“您今天已经发送过日报了”)而不是受理回执,响应耗时也高于普通查询。调用前必须把汇报内容、考核分值等完整展示给用户并取得明确确认。
分页口径:分页响应统一为 data.totaldata.pagedata.pageSizedata.itemspage 从 1 开始,pageSize 默认 20、最大 100,超出上限按 100 处理。
GET /api/openplatform/reports

分页查询汇报列表。status 决定数据范围:pending 待我操作、received 我收到且未完成、sent 我发送且未完成、archived 已归档(我参与的历史汇报)、all 与我关联的全部(本人发送的、发给本人的、抄送本人的)。其余参数一律作为附加筛选条件叠加。

参数类型必填说明
statusstring列表状态,字符串枚举 pending(默认)/received/sent/archived/all
reportTypestring汇报类型,字符串枚举 all(默认)/day/week/month
departmentIdint部门 Id,只查询该部门的汇报;不传表示不限部门。
startAtdatetime汇报时间范围起(含),ISO 8601 带时区。
endAtdatetime汇报时间范围止(含),ISO 8601 带时区。
keywordstring关键词,按汇报名称模糊匹配。
pageint页码,默认 1。
pageSizeint每页条数,默认 20,最大 100。
{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "total": 36,
    "page": 1,
    "pageSize": 20,
    "items": [
      {
        "id": "5f1c2a3b-4d5e-4f60-8a71-9b2c3d4e5f60",
        "reportTitle": "9 月第 2 周工作汇报",
        "reportType": 2,
        "reportDate": "2026-09-14T00:00:00+08:00",
        "startAt": "9/8",
        "endAt": "9/14",
        "employeeVirtualId": "emp_T7dQ2mYk8rLp4cN1sVx3bH9wAe6fJuKz",
        "checkerVirtualId": "emp_K3mR9xQw2vTn6bY8cL4dF1gH5jS7pZ0a",
        "sender": { "virtualId": "emp_T7dQ2mYk8rLp4cN1sVx3bH9wAe6fJuKz", "name": "张三", "headImg": "https://cdn.example.com/head/20260914/zhangsan.png" },
        "checker": { "virtualId": "emp_K3mR9xQw2vTn6bY8cL4dF1gH5jS7pZ0a", "name": "李四", "headImg": "https://cdn.example.com/head/20260914/lisi.png" },
        "status": 0,
        "statusStr": "待确认",
        "summaryData": { "complete": 8, "noComplete": 1, "over": 0, "getScore": 12, "noGetScore": 0, "taskScore": 0 },
        "reviewerNumber": 1,
        "executeCount": 8,
        "checkCount": 3,
        "tomorrowWorkCount": 2,
        "createdAt": "2026-09-14T18:12:00+08:00",
        "templateId": "3c9d2f21-8a4b-4c3d-9e2f-1a2b3c4d5e6f",
        "ccVirtualIds": [],
        "operateBtns": [
          { "name": "querenhuibao", "label": "确认汇报", "color": "primary", "icon": "check" }
        ]
      }
    ]
  }
}

汇报列表行字段(全部状态共用)

字段类型说明
idguid汇报 Id,后续详情、确认、申诉、撤回、考核等操作都用该值。
reportTitlestring汇报标题。
reportTypeint汇报类型:1 日汇报、2 周报、3 月报。
reportDatedatetime汇报归属日期。
startAt / endAtstring汇报周期的起止日期(M/d 文本形式)。
employeeVirtualIdstring汇报人在本 API Key 下的 virtualId
checkerobject审核人的成员对象(含 virtualIdname 与掩码 phone)。
sender / checkerobject汇报人 / 审核人的员工对象,含 virtualIdnameheadImgpositionNamedesignNamedepNameuserTypeStr;电话号码与登录账号不下发。
statusint汇报状态:-1 被申诉、0 新增、1 已考核、2 已确认。
statusStrstring状态文案。
summaryDataobject任务汇总,周报与月报填充:complete 完成数、noComplete 未完成数、over 超期数、getScore 已获得贡献、noGetScore 未获得贡献、taskScore 扣除贡献,贡献单位均为点。
totalScore / scoreStrdecimal | string周期累计得分与得分文案,绩效考核口径单位为“分”;archivedall 状态返回。
reviewerNumberint审核人数量。
executeCount / checkCount / tomorrowWorkCountint执行工作 / 检查工作 / 明日计划的任务数量。
confirmedAtdatetime确认时间;未确认时为零值时间。
checkedAtdatetime考核时间;未考核时为零值时间。
createdAtdatetime汇报创建时间。
serialNumint序号。
scoredecimal汇报得分,绩效考核口径单位为“分”。
workResult / workJudgestring评定结果(优/良/中/差)与工作评定评语。
reviewersobject[]审核人成员对象数组(每项含 virtualIdname 与掩码 phone)。
ccobject[]抄送人成员对象数组(每项含 virtualIdname 与掩码 phone)。
templateIdguid本次汇报使用的模板 Id。
customItemListobject[]自定义内容填写值,archivedall 状态返回;字段同详情接口的同名字段。
operateBtnsobject[]当前操作人对该汇报可用的操作按钮:name 英文标识、label 中文文案、coloricon。按钮集合是权限与状态的唯一真源,调用方直接渲染即可。
排序与可见范围:pending 按创建时间升序,其余状态按创建时间或汇报时间倒序;所有状态的可见范围都由当前操作人的汇报查看权限(本人 / 本部门 / 本部门及下级 / 全企业)叠加企业边界决定,无法查看的汇报不会出现在结果中。
GET /api/openplatform/reports/{id}

查询单个汇报详情,包含执行工作、检查工作、明日/下周/下月计划三类任务明细,以及自定义内容、考核附件与申诉驳回信息。只能查看本企业内且当前操作人有权限查看的汇报,否则返回 101,错误信息为“该工作汇报不存在或无权查看”。

{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "id": "5f1c2a3b-4d5e-4f60-8a71-9b2c3d4e5f60",
    "reportTitle": "9 月第 2 周工作汇报",
    "reportType": 2,
    "status": 1,
    "statusStr": "已考核",
    "executeWork": [],
    "checkWork": [],
    "workPlan": [],
    "ccUser": [],
    "rebutInfo": { "reason": "部分任务缺少进展说明", "attachmentUrls": [] },
    "complainInfo": null,
    "judgeAttachment": [],
    "attachmentList": [],
    "customItemList": [
      { "id": "9a1b2c3d-4e5f-4a6b-8c7d-6e5f4a3b2c1d", "name": "本周收获", "type": 2, "value": "完成结算模块联调" }
    ],
    "customScoreList": [],
    "scoreList": [12, 5, 0, 88]
  }
}

详情字段

字段类型说明
共用的列表行字段详情在汇报列表行字段基础上扩展下述字段。
executeWork / checkWork / workPlanobject[]执行工作 / 检查工作 / 明日(下周、下月)计划的任务明细,元素字段见下方“任务明细行字段”。
ccUserobject[]抄送人列表,元素为员工对象(含 virtualIdnameheadImg)。
rebutInfo / complainInfoobject驳回理由 / 申诉理由,含 reasonattachmentUrls;不存在时为 null
judgeAttachmentobject[]考核时上传的附件,元素含 virtualIdfileNamefileSizeurlthumbnailisImage
attachmentListobject[]发送汇报时上传的附件,字段同上。
customItemListobject[]模板自定义内容的填写值:id 模板项 Id、name 标题、type 控件类型(1 单行文本、2 多行文本、3 数字、4 单选、5 多选、6 附件、7 手机号)、value 文本值、data 选项值、attachmentUrls 附件。
customScoreListobject[]自定义评分项:score 分值、isShowReason 是否展示理由、label 档位文案。
scoreListdecimal[]得分明细数组,依次为任务贡献、基础贡献、申请贡献、汇报得分。

任务明细行字段(executeWork / checkWork / workPlan 与汇总明细共用)

字段类型说明
id / reportIdguid明细 Id 与所属汇报 Id。
workTypeint明细类型,与工作台汇总弹窗分类同源。
taskTitlestring任务名称。
taskType / taskStatus / status / statusStrint | string任务类型与状态,以及状态文案。
taskProgress / taskProgressChangeint任务进度与本次汇报的进度变化。
taskScoredecimal任务贡献点,单位点。
assigneeobject任务执行人的成员对象(含 virtualIdname 与掩码 phone)。
creatorobject任务创建人的成员对象(含 virtualIdname 与掩码 phone)。
dueAt / taskClosingTimedatetime任务截止时间。
createdAt / taskAddTimedatetime任务创建时间。
judgeTime / taskJudgeTimedatetime任务考核时间。
overTime / isOverTimedatetime | bool超期时间与是否超期。
priorityint任务优先级。
isFloatbool是否为浮动任务。
scoreobject任务贡献构成:score 本任务贡献、isDecomposed 是否分解、decomposedScore 分解贡献、floatScore 浮动贡献、remainScore 剩余贡献,单位点。
GET /api/openplatform/reports/count

查询当前操作人的汇报统计数量。

{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "send": 12,
    "receive": 3,
    "pending": 0
  }
}

响应字段

字段类型说明
sendint我发送的汇报数。
receiveint我收到的尚未确认的汇报数。
pendingint待操作数量;源站已停用该统计,恒为 0
GET /api/openplatform/reports/config

查询当前操作人的工作汇报配置,用于渲染考核评分档位与判定模板管理权限。

{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "permission": { "templateManager": true },
    "defaultDayScore": [ { "score": 5, "isShowReason": false, "label": "优秀" } ],
    "defaultWeekScore": [ { "score": 11, "isShowReason": false, "label": "优秀" } ],
    "defaultMonthScore": [ { "score": 22, "isShowReason": false, "label": "优秀" } ],
    "judgeLevelLabels": [ { "id": 1, "name": "优" } ]
  }
}

响应字段

字段类型说明
permission.templateManagerbool当前操作人是否为汇报模板管理员;为 false 时模板增删改会返回“抱歉,您没有权限编辑模板!”。
defaultDayScoreobject[]日汇报默认评分档位,固定 5 档(1/2/3/4/5 分)。
defaultWeekScoreobject[]周报默认评分档位,固定 5 档(3/5/7/9/11 分)。
defaultMonthScoreobject[]月报默认评分档位,固定 5 档(6/10/14/18/22 分)。
judgeLevelLabelsobject[]评定等级标签:id 等级值、name 中文名。
评分档位元素:三组默认评分均由 score(分值)、isShowReason(是否需要填写评语)、label(档位文案)构成;这里返回的 isShowReason 恒为 false,是否需要评语以考核初始化接口为准。
GET /api/openplatform/reports/templates/{templateId}/actions/send/metadata

查询发送汇报初始化数据:拿到指定模板的自定义填写项定义、审核人预览与提交约束,据此构造发送汇报的 setContent

{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "id": "3c9d2f21-8a4b-4c3d-9e2f-1a2b3c4d5e6f",
    "reportType": 2,
    "reportTitle": "每周例会汇报",
    "isMustSelectTomorrowWork": true,
    "onlySubmitChangeWork": false,
    "customContentList": [
      { "id": "9a1b2c3d-4e5f-4a6b-8c7d-6e5f4a3b2c1d", "name": "本周收获", "type": 2, "required": true, "maxLength": 500, "displayOrder": 1 }
    ],
    "reviewerList": [ { "virtualId": "emp_K3mR9xQw2vTn6bY8cL4dF1gH5jS7pZ0a", "name": "李四", "headImg": "https://cdn.example.com/head/20260914/lisi.png" } ]
  }
}

响应字段与发送请求的对应关系

字段类型说明
idguid模板 Id,直接作为发送汇报的 templateId
reportTypeint模板的汇报类型:1 日汇报、2 周报、3 月报,决定 taskIdsexecuteTaskIdscheckTaskIds 的语义。
reportTitlestring汇报标题(展示用)。
isMustSelectTomorrowWorkbooltrue 时发送汇报必须携带 taskIds(明日/下周/下月计划),否则返回“必须选择明日工作计划”。
onlySubmitChangeWorkbooltrue 时需用 executeTaskIds 限定本次提交的执行任务。
customContentListobject[]模板自定义填写项定义,逐项转换为发送请求的 setContent 元素,见下方说明。
reviewerListobject[]审核人预览(只读),元素含 virtualIdnameheadImg

自定义填写项字段

字段类型说明
idguid模板项 Id,回填到 setContent[].id,服务端按该值匹配模板项,必须一致。
namestring填写项标题。
typeint控件类型:1 单行文本、2 多行文本、3 数字、4 单选、5 多选、6 附件、7 手机号。
requiredbool是否必填;为 true 且未填时返回“{标题}值不能为空!”。
maxLength / minNumber / maxNumber / lengthLimit / numberLimitint | bool文本长度、数字区间的上限下限与是否启用对应限制。
placeholder / displayOrderstring | int输入提示与展示顺序。
dataListobject[]单选/多选的可选项:textvalue
常见失败:模板不存在返回 101“使用的模板不存在!”、模板已停用返回 102“使用的模板已被暂停使用!”、不在使用范围返回 103“你没有使用该模板的权限!”。
GET /api/openplatform/reports/{id}/actions/assess/metadata

查询汇报考核初始化数据:拿到可选评分档、行为标准列表与已有考核结果,据此构造考核评分请求。汇报不存在时返回 101,错误信息为“未找到该工作汇报”。

{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "reportTitle": "9 月第 2 周工作汇报",
    "status": 0,
    "statusStr": "待考核",
    "score": 0,
    "workJudge": "",
    "customScoreList": [ { "score": 11, "isShowReason": false, "label": "优秀" } ],
    "standardList": [ { "id": "1b2c3d4e-5f60-4a71-8b92-3c4d5e6f7081", "minScore": 1, "maxScore": 5, "isFixed": false } ],
    "relationStandardCC": [],
    "attachmentUrls": []
  }
}

响应字段与考核请求的对应关系

字段类型说明
reportTitlestring汇报标题(展示用)。
status / statusStrint | string汇报状态与文案;仅状态为已考核(1)或被申诉(-1)时才会填充已有考核结果。
score / workJudgedecimal | string已有考核分值与评语(绩效考核口径单位为“分”)。
customScoreListobject[]可选评分档:score 分值、isShowReason 是否需要填写评语(为 truejudge 为空时返回“评语不可为空”)、label 档位文案。
standardListobject[]关联的行为标准项,元素含 idminScore/maxScore 贡献点区间、isFixed 是否固定分值;回填到考核请求的 standardItems,服务端只消费其中的 idscore
relationStandardCCobject[]关联行为标准的抄送人;开放平台的考核请求体没有对应字段,无法回写。
attachmentUrlsobject[]已有的考核附件,元素含 virtualIdfileNameurl
GET /api/openplatform/reports/{id}/summary

查询周报或月报的任务汇总数据:完成、未完成、超期任务数与贡献点增减情况。汇报不存在时返回 101,错误信息为“不存在此汇报”。

参数类型必填说明
reportTypestring汇报类型,字符串枚举 day(默认)/week/month;传其它值返回 400,错误信息为“reportType 必须为 day、week 或 month”。
{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "name": "9 月第 2 周工作汇报",
    "startAt": "2026-09-08T00:00:00+08:00",
    "endAt": "2026-09-14T23:59:59+08:00",
    "summaryData": { "complete": 8, "noComplete": 1, "over": 0, "getScore": 12, "noGetScore": 0, "taskScore": 0 }
  }
}

响应字段

字段类型说明
namestring汇总标题(“{月}月第{n}周工作汇报”/“{月}月工作汇报”)。
startAt / endAtstring统计区间起止时间。
summaryDataobject任务汇总:complete 完成数、noComplete 未完成数、over 超期数、getScore 已获得贡献、noGetScore 未获得贡献、taskScore 扣除贡献,贡献单位均为点。
GET /api/openplatform/reports/{id}/summaryDetail

分页查询汇总明细任务列表:按汇总分类返回对应的任务行,行结构同汇报详情中的任务明细行。

参数类型必填说明
reportTypestring汇报类型,字符串枚举 day(默认)/week/month
summaryTypestring汇总分类,字符串枚举:completed 已完成任务(默认)、uncompleted 未完成任务、overdue 超期任务、scoreGained 已获得贡献、scoreNotGained 未获得贡献、scoreDeducted 扣除贡献。传其它值返回 400,错误信息为“summaryType 必须为 completed、uncompleted、overdue、scoreGained、scoreNotGained 或 scoreDeducted”。
pageint页码,默认 1。
pageSizeint每页条数,默认 20,最大 100。

响应字段

字段类型说明
data.totallong该分类下的任务总数。
data.itemsobject[]任务明细行,字段同汇报详情中的任务明细行字段;贡献类分类(scoreGainedscoreDeducted)用 taskTitle 承载得分说明文案。
POST /api/openplatform/reports

发送工作汇报。请求体结构以发送初始化接口返回为准,服务端会等待队列处理完成后返回结果。

字段类型必填说明
templateIdguid使用的汇报模板 Id,取自发送初始化接口返回的 id。模板不存在返回 102“抱歉,您使用的模板不存在!”,已停用返回 103“抱歉,您使用的模板已停用!”,不在使用范围返回 103“抱歉,您没有使用该模板的权限!”。
setContentobject[]模板自定义内容填写项,结构以发送初始化返回的 customContentList 为准。元素字段:id 模板项 Id(必须与初始化返回一致)、value 文本值、type 控件类型、attachmentUrls 附件、name 标题。
ccVirtualIdsstring[]抄送人 virtualId 列表。
attachmentUrlsstring[]汇报附件地址列表,最多 9 个;地址需先通过附件接口上传获得。
taskIdsguid[]关联的明日/下周/下月计划任务 Id 列表;模板要求勾选计划时必填,缺失返回 105“必须选择明日工作计划”。
executeTaskIdsguid[]本次提交的执行任务 Id 列表;模板开启“仅提交有变化的任务”时启用。
checkTaskIdsguid[]本次提交的检查任务 Id 列表。
{
  "templateId": "3c9d2f21-8a4b-4c3d-9e2f-1a2b3c4d5e6f",
  "setContent": [
    { "id": "9a1b2c3d-4e5f-4a6b-8c7d-6e5f4a3b2c1d", "value": "完成结算模块联调", "type": 2 }
  ],
  "ccVirtualIds": ["emp_K3mR9xQw2vTn6bY8cL4dF1gH5jS7pZ0a"],
  "attachmentUrls": [],
  "taskIds": [],
  "executeTaskIds": [],
  "checkTaskIds": []
}
重复提交保护:同一周期已有汇报(状态不是“新增”)或距离上次创建不足 5 秒时返回 101,错误信息为“您今天已经发送过日报了”“您本周已经发送过周报了”“您本月已经发送过月报了”。
POST /api/openplatform/reports/{id}/actions/confirm

确认工作汇报(审核人对收到的汇报做确认)。重复确认或状态已为已确认时返回 103“该工作汇报已经确认过,不可重复操作”;非汇报发送人 / 审核人的无权操作返回“您无权执行该操作”。

字段类型必填说明
contentstring确认说明。
{
  "content": "已确认"
}
POST /api/openplatform/reports/{id}/actions/appeal

对考核结果提出申诉。只有汇报发送人本人可以申诉,非本人返回 103“您无权执行该操作”。

字段类型必填说明
reasonstring申诉原因,最长 1000 字符;为空时返回 400,错误信息为“申诉原因不能为空”。
attachmentUrlsstring[]申诉附件地址列表,最多 9 个。
{
  "reason": "任务已按期完成,考核未计入超期。",
  "attachmentUrls": []
}
POST /api/openplatform/reports/{id}/actions/rejectWork

驳回工作汇报的申诉。只有该汇报的审核人可以驳回,否则返回 103“您没有权限执行该操作”。

字段类型必填说明
reasonstring驳回原因,最长 1000 字符;为空时返回 400,错误信息为“驳回原因不能为空”。
attachmentUrlsstring[]驳回附件地址列表,最多 9 个。
{
  "reason": "任务截止时间晚于考核周期,维持原考核结果。",
  "attachmentUrls": []
}
POST /api/openplatform/reports/{id}/actions/cancel

撤回工作汇报,无请求体。只能撤回本人发送的汇报,否则返回 104“用户只可撤回自己的工作汇报”;状态已为已确认时返回 102“工作汇报已确认,不可撤回”。

POST /api/openplatform/reports/5f1c2a3b-4d5e-4f60-8a71-9b2c3d4e5f60/actions/cancel
POST /api/openplatform/reports/{id}/actions/assess

给工作汇报考核评分。只有该汇报的审核人可以考核,否则返回 104“您没有权限审核该汇报!”;状态已确认时返回 105“该工作汇报已确认,不可考核”。

字段类型必填说明
scoredecimal考核分值,绩效考核口径单位为“分”。
judgestring考核评语,最长 1000 字符;所选评分档要求填写理由时不可为空,否则返回 102“评语不可为空”。
standardItemsobject[]关联的行为标准项,结构以考核初始化返回的 standardList 为准;服务端只消费 idscore。校验失败会返回“选择的第N项行为标准不存在”“选择的第N项行为标准未发布”“选择的第N项行为标准贡献点不能大于X”“不能小于X”。
attachmentUrlsstring[]考核附件地址列表,最多 9 个。
{
  "score": 88,
  "judge": "计划明确,进度记录完整。",
  "standardItems": [
    { "id": "1b2c3d4e-5f60-4a71-8b92-3c4d5e6f7081", "score": 3 }
  ],
  "attachmentUrls": []
}
评分档位:可选分值与是否需要评语以考核初始化接口的 customScoreList 与配置接口的三组默认评分档为准。
POST /api/openplatform/reports/{id}/actions/editTip

修改汇报的原因说明与附件。用于两类场景:审核人修改“汇报考核不通过”的驳回理由,或汇报人对“考核不通过”的申诉补充材料;场景由 scenario 指定,权限由服务端按场景校验。

字段类型必填说明
scenariostring修改场景,字符串枚举 rejected(默认,汇报考核不通过的原因说明,要求当前操作人是该汇报的审核人)/appealed(考核不通过申诉的补充说明,要求当前操作人是该汇报的发送人)。传其它值返回 400,错误信息为“scenario 必须为 rejected 或 appealed”。
contentstring原因说明内容。
attachmentUrlsstring[]原因说明附件地址列表;地址需先通过附件接口上传获得。
{
  "scenario": "rejected",
  "content": "已补充说明附件。",
  "attachmentUrls": [
    "https://cdn.example.com/op/20260914/reason.png"
  ]
}
权限口径:场景与操作人不匹配时返回 103,错误信息为“您无权执行该操作”;汇报不存在时返回 101。该接口是同步生效,不走队列。
GET /api/openplatform/reports/templates

分页查询汇报模板列表,按启用状态、最后修改时间升序。同一路径在携带 using=true 时返回我可使用的模板列表(不分页,data 直接是数组)。

参数类型必填说明
pageint页码,默认 1;仅在不带 using 时分页生效。
pageSizeint每页条数,默认 20,最大 100。
{
  "statusCode": 100,
  "msg": "获取成功",
  "data": {
    "total": 4,
    "page": 1,
    "pageSize": 20,
    "items": [
      {
        "id": "3c9d2f21-8a4b-4c3d-9e2f-1a2b3c4d5e6f",
        "name": "每周例会汇报",
        "reportType": 2,
        "reportTypeStr": "周报",
        "enable": true,
        "isMustSelectTomorrowWork": true,
        "onlySubmitChangeWork": false,
        "useNumber": 12,
        "userInfo": "全体成员",
        "reviewerInfo": "部门主管",
        "createdAt": "2026-08-01T10:00:00+08:00",
        "updatedAt": "2026-09-10T09:30:00+08:00",
        "customContentList": []
      }
    ]
  }
}

模板列表字段

字段类型说明
idguid模板 Id。
namestring模板名称,企业内不可重名,最长 20 字符。
reportType / reportTypeStrint | string模板汇报类型(1 日汇报、2 周报、3 月报)与中文文案。
enablebool是否启用;停用的模板不能被发送汇报引用。
isMustSelectTomorrowWork / onlySubmitChangeWorkbool是否必须勾选明日(下周、下月)计划 / 是否只提交有变化的任务。
useNumberint模板累计被使用次数。
userInfo / reviewerInfostring使用范围与审核人的人类可读描述(如“全体成员”“部门主管”)。
createdAt / updatedAtdatetime创建时间与最后修改时间。
customContentListobject[]模板自定义填写项定义,字段同发送初始化接口的同名字段。
useTypeint仅“我可使用的模板”返回:0 直接指定我、1 指定我的角色、2 我所在部门、3 上级部门、4 全体。
GET /api/openplatform/reports/templates/{id}

查询模板详情,返回结构与模板新增、修改的请求体同构,可直接读取后修改再提交。模板不存在时返回“抱歉,查看的模板不存在!”。

响应字段

字段类型说明
idguid模板 Id。
namestring模板名称,最长 20 字符,企业内不可重名。
reportTypeint模板汇报类型:1 日汇报、2 周报、3 月报。
isMustSelectTomorrowWork / onlySubmitChangeWorkbool是否必须勾选明日计划 / 是否只提交有变化的任务。
customContentListobject[]自定义填写项定义。
customScoreListobject[]自定义评分项,必须恰好 5 项,否则提交时返回“请完善贡献评定!”。
reviewer / userobject审核人与参与人配置(personType 取值类型 + persons 人员列表)。开放平台不开放该结构维护,提交请求中传入会被拒绝。
remarkstring模板说明,最长 500 字符。
POST /api/openplatform/reports/templates

新增汇报模板,需要模板管理员权限。修改模板用 PATCH /api/openplatform/reports/templates/{id},删除用 DELETE 同一路径,启用与停用用 POST .../actions/enable.../actions/disable;这些写操作都是同步生效,不走队列。

字段类型必填说明
namestring模板名称,最长 20 字符;为空返回 400“模板名称不能为空”,重名返回“已存在同名的模板!”。
reportTypestring字符串枚举 day/week/month;传其它值返回 400,错误信息为“reportType 必须为 day、week 或 month”。
isMustSelectTomorrowWorkbool是否必须勾选明日(下周、下月)工作计划。
onlySubmitChangeWorkbool是否只允许提交有变化的任务。
customContentListobject[]自定义填写项,元素要求 name 非空且 type 有效,否则返回“第N项标题不能为空!”“第N项类型错误!”。
customScoreListobject[]自定义评分项,必须恰好 5 项;每项 label 非空且不超过 20 字符、score 不小于 0。
remarkstring模板说明,最长 500 字符。
reviewer / userobject审核人 / 参与人配置。源站是员工与角色混合的嵌套结构,开放平台暂不开放维护:只要传入非空值就返回 400“模板的审核人/参与人配置暂不支持通过开放平台维护,请在工作台配置后仅修改其他字段”。
{
  "name": "每周例会汇报",
  "reportType": "week",
  "isMustSelectTomorrowWork": true,
  "onlySubmitChangeWork": false,
  "customContentList": [
    { "name": "本周收获", "type": 2, "required": true, "maxLength": 500 }
  ],
  "customScoreList": [
    { "score": 3, "label": "待改进" },
    { "score": 5, "label": "合格" },
    { "score": 7, "label": "良好" },
    { "score": 9, "label": "优秀" },
    { "score": 11, "label": "卓越" }
  ],
  "remark": "每周五 18:00 前提交"
}
权限与存在性:非模板管理员返回“抱歉,您没有权限编辑模板!”;修改不存在的模板返回“编辑的模板不存在!”;删除不存在的模板返回“抱歉,删除的模板不存在!”,无权限删除返回“抱歉,您没有权限删除!”。
MCP 工具 report_query

工作汇报查询工具,需要 reports.read 权限,覆盖上述全部 GET 查询能力。queryType 取值:list 汇报列表(分页,用 status 区分待操作/我收到/我发送/已归档/全部)、detail 汇报详情、count 汇报统计数量、config 工作汇报配置、sendInit 发送初始化、assessInit 考核初始化、summaryData 周报月报汇总数据、summaryDetail 汇总明细(分页)、templates 模板列表(分页)、templateDetail 模板详情。

{
  "queryType": "list",
  "status": "sent",
  "reportType": "week",
  "page": 1,
  "pageSize": 20
}
参数映射:status 与 REST 的 status 同枚举(pending/received/sent/archived/all,仅 list 使用,默认 pending);汇报列表与详情用 reportId 对应 REST 的 {id};发送初始化与模板详情用 templateIdreportType 与 REST 同枚举(all/day/week/month);departmentId 对应 REST 的 departmentIdsummaryTypesummaryDetail 使用。缺失目标 Id 时分别提示“查询类型 detail 必须提供 reportId”“查询类型 sendInit 必须提供 templateId”。
调用建议:本工具一次返回完整汇报正文与任务明细,属于企业内部敏感数据,输出给用户前请确认接收方可查看范围,不要跨企业或跨部门转发。
MCP 工具 report_action

工作汇报写操作工具,需要 reports.write 权限。action 取值:send 发送汇报、confirm 确认汇报、appeal 申诉汇报、rejectWork 驳回申诉、cancel 撤回汇报、assess 考核评分、editTip 修改原因附件说明、templateAdd 新增模板、templateEdit 修改模板、templateDelete 删除模板、templateEnable 启用模板、templateDisable 停用模板。

{
  "action": "assess",
  "reportId": "5f1c2a3b-4d5e-4f60-8a71-9b2c3d4e5f60",
  "score": 88,
  "judge": "计划明确,进度记录完整。"
}
参数说明:reportId 用于 confirm/appeal/rejectWork/cancel/assess/editTip;templateId 用于 send/templateEdit/templateDelete/templateEnable/templateDisable;content 用于 confirm/editTip;reason 用于 appeal/rejectWork;scenario 用于 editTip(rejected 默认 / appealed),attachmentUrls 用于 appeal/rejectWork/assess/editTip;setContentccVirtualIds 用于 send;模板维护整体放在 template 对象中,必须含 namereportTypeday/week/month,且不允许出现 revieweruser
调用约束:发送、确认、考核评分等会改变他人可见的汇报与考核结果,调用前必须把汇报正文、考核分值与评语完整展示给用户并取得明确确认;回执中的 msg 是队列消费后的真实业务结论,不要仅按“已提交”判断成功。