meta { name: 工作计划列表 type: http seq: 1 tags: [ generated ] } get { url: {{baseUrl}}/api/opportunity/workplan/list body: none auth: inherit } params:query { oppId: 749565538786607104 } docs { # 工作计划列表 `GET /api/opportunity/workplan/list` 商机详情「工作计划」Tab(票 12,精简 A1X,复用 opportunity_work_plan 子表):返回商机下全部存活工作计划,createTime 升序。逾期实时计算不落库:planStatus=0 且当前时间晚于 deadline 即逾期,由前端按两列实时判;finishTime 由服务端在登记完成时回填。全量 A1X 独立模块(工作日历/出差拜访)仍挂起(P1-4)。 ## 请求参数 | 参数 | 类型 | 必填 | 默认 | 说明 | | --- | --- | --- | --- | --- | | oppId | string | 是 | - | 商机 ID | ## 请求示例 请求头:Authorization: Bearer {{token}} GET /api/opportunity/workplan/list?oppId=749565538786607104 ## 响应 data 结构 | 字段 | 类型 | 说明 | | --- | --- | --- | | id | string | 计划行 ID | | oppId | string | 所属商机 ID | | planContent | string | 计划内容(≤1000 字) | | deadline | string | 截止时间(yyyy-MM-dd HH:mm:ss,可空;判临期/逾期依据) | | planStatus | number | 计划状态:0未完成 1已完成 | | finishTime | string | 标记完成时间(服务端回填;未完成为 null) | ## 响应示例 // 实测响应摘录(20260831 · 用户A · e2e 种子库;数组字段只示第 1 条) ```json { "code": 0, "success": true, "message": "success", "data": [ { "id": "749565579441995776", "creatorId": "744842565802524672", "createTime": "2026-08-31 09:46:00", "updaterId": "744842565802524672", "updateTime": "2026-08-31 09:46:00", "deleted": false, "oppId": "749565538786607104", "planContent": "e2e-wp-逾期样例(整理现场勘察纪要并回传)", "deadline": "2026-08-29 09:46:00", "planStatus": 0, "finishTime": null, "deleteKey": "0" } ] } ``` }