# 待报工台账
## 背景
排产后需要一个"待报工台账":展示已排产但尚未报工完的任务,核心指标 **待报工数量 = 排产数量 − 已报工数量**。数据源为生产任务(`mes_pro_task`),任务级汇总视图。
## 涉及页面
- 新增菜单/页面:待报工台账(生产管理下)
- 复用生产任务列表的关联展示(工单/产品/工序/工位/客户)
## API
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | /mes/pro/task/pending-feedback-page | 待报工台账分页(进行中且仍有待报工量的任务)|
### 请求参数(Query,复用 MesProTaskPageReqVO)
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageNo | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页条数 |
| code | String | 否 | 任务编码(模糊)|
| name | String | 否 | 任务名称(模糊)|
| workOrderId | Long | 否 | 生产工单编号 |
| routeId | Long | 否 | 工艺路线编号 |
| processId | Long | 否 | 工序编号 |
| workstationId | Long | 否 | 工作站编号 |
| createTime | LocalDateTime[] | 否 | 创建时间区间 |
> `status`/`statuses` 参数在此接口被忽略:后端强制 `status=进行中(0)`,且过滤 `待报工数量 > 0`。
### 响应(MesProTaskRespVO,关键字段)
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 任务编号 |
| code | String | 任务编码 |
| name | String | 任务名称 |
| workOrderCode / workOrderName | String | 工单编码/名称 |
| itemCode / itemName / itemSpecification | String | 产品编码/名称/规格 |
| unitMeasureName | String | 计量单位 |
| processName | String | 工序名称 |
| workstationCode / workstationName | String | 工位编码/名称 |
| clientName | String | 客户名称 |
| quantity | BigDecimal | 排产数量 |
| producedQuantity | BigDecimal | 已报工数量(已审批累加)|
| qualifyQuantity | BigDecimal | 合格品数量 |
| unqualifyQuantity | BigDecimal | 不良品数量 |
| **pendingQuantity** | BigDecimal | **待报工数量 = 排产 − 已报工** |
| **feedbackRate** | BigDecimal | **报工完成率(%) = 已报工 / 排产 × 100** |
| startTime / endTime | LocalDateTime | 排产开始/结束时间 |
| requestDate | LocalDateTime | 需求日期 |
| status | Integer | 任务状态(此处恒为 0=进行中)|
**响应示例:**
```json
{
"code": 0,
"data": {
"list": [
{
"id": 101,
"code": "PT202507130001",
"name": "电路板【100】个",
"workOrderCode": "WO-001",
"itemName": "电路板",
"processName": "注塑",
"workstationName": "注塑工作站",
"quantity": 100.00,
"producedQuantity": 30.00,
"qualifyQuantity": 29.00,
"unqualifyQuantity": 1.00,
"pendingQuantity": 70.00,
"feedbackRate": 30.00,
"status": 0
}
],
"total": 1
}
}
```
## 前端修改点
### 1. 表格列建议
```html
{{ scope.row.pendingQuantity }}
```
### 2. 查询表单
```html
```
### 3. API 调用
```js
// api/mes/pro/task.js
export function getPendingFeedbackPage(params) {
return request({
url: '/mes/pro/task/pending-feedback-page',
method: 'get',
params
})
}
```
```js
// 页面 list 方法
getList() {
this.loading = true
getPendingFeedbackPage(this.queryParams).then(res => {
this.list = res.data.list
this.total = res.data.total
}).finally(() => this.loading = false)
}
```
## 注意事项
- 台账只显示 **进行中 + 仍有待报工量** 的任务:已报满(待报工=0)或已完工/已取消的任务不出现。
- 想看"所有进行中任务(含已报满未关单)"用 `/mes/pro/task/page?status=0`。
- `producedQuantity` 只含**已审批通过**的报工;草稿/审批中/待检验的报工未回写,台账看不到这部分在途报工量。
- 该接口复用任务分页权限 `mes:pro-task:query`,如需独立权限可新增按钮权限码。