排产后需要一个"待报工台账":展示已排产但尚未报工完的任务,核心指标 待报工数量 = 排产数量 − 已报工数量。数据源为生产任务(mes_pro_task),任务级汇总视图。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /mes/pro/task/pending-feedback-page | 待报工台账分页(进行中且仍有待报工量的任务) |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页条数 |
| code | String | 否 | 任务编码(模糊) |
| name | String | 否 | 任务名称(模糊) |
| workOrderId | Long | 否 | 生产工单编号 |
| routeId | Long | 否 | 工艺路线编号 |
| processId | Long | 否 | 工序编号 |
| workstationId | Long | 否 | 工作站编号 |
| createTime | LocalDateTime[] | 否 | 创建时间区间 |
status/statuses参数在此接口被忽略:后端强制status=进行中(0),且过滤待报工数量 > 0。
| 字段 | 类型 | 说明 |
|---|---|---|
| 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=进行中) |
响应示例:
{
"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
}
}
<el-table-column label="任务编码" prop="code" />
<el-table-column label="工单编码" prop="workOrderCode" />
<el-table-column label="产品" prop="itemName" />
<el-table-column label="工序" prop="processName" />
<el-table-column label="工位" prop="workstationName" />
<el-table-column label="排产数量" prop="quantity" />
<el-table-column label="已报工" prop="producedQuantity" />
<el-table-column label="合格" prop="qualifyQuantity" />
<el-table-column label="不良" prop="unqualifyQuantity" />
<el-table-column label="待报工数量" prop="pendingQuantity">
<template #default="scope">
<el-tag type="warning">{{ scope.row.pendingQuantity }}</el-tag>
</template>
</el-table-column>
<el-table-column label="完成率" prop="feedbackRate">
<template #default="scope">
<el-progress :percentage="Number(scope.row.feedbackRate)" />
</template>
</el-table-column>
<el-table-column label="需求日期" prop="requestDate" />
<el-form :inline="true" :model="queryParams">
<el-form-item label="任务编码">
<el-input v-model="queryParams.code" clearable />
</el-form-item>
<el-form-item label="工单">
<el-select v-model="queryParams.workOrderId" clearable><!-- 工单下拉 --></el-select>
</el-form-item>
<el-form-item label="工序">
<el-select v-model="queryParams.processId" clearable><!-- 工序下拉 --></el-select>
</el-form-item>
<el-form-item label="工位">
<el-select v-model="queryParams.workstationId" clearable><!-- 工位下拉 --></el-select>
</el-form-item>
</el-form>
// api/mes/pro/task.js
export function getPendingFeedbackPage(params) {
return request({
url: '/mes/pro/task/pending-feedback-page',
method: 'get',
params
})
}
// 页面 list 方法
getList() {
this.loading = true
getPendingFeedbackPage(this.queryParams).then(res => {
this.list = res.data.list
this.total = res.data.total
}).finally(() => this.loading = false)
}
/mes/pro/task/page?status=0。producedQuantity 只含**已审批通过**的报工;草稿/审批中/待检验的报工未回写,台账看不到这部分在途报工量。mes:pro-task:query,如需独立权限可新增按钮权限码。