工单管理模块用于管理生产工单的下达流程,包括物料齐套检查、物料需求生成和工单下达等核心功能。
/workorder-pool)页面功能:
相关文件:
src/views/WorkOrderPool.vue - 工单池下达列表页src/views/components/WorkOrderReleaseForm.vue - 工单下达前处理表单src/
├── api/
│ └── workorder.js # 新增工单管理API ✨
├── views/
│ ├── components/
│ │ └── WorkOrderReleaseForm.vue # 工单下达表单 ✨
│ └── WorkOrderPool.vue # 工单池下达列表 ✨
├── layouts/
│ └── MainLayout.vue # 已更新菜单 ✨
└── router/
└── index.js # 已更新路由 ✨
GET /api/workorder/pool/list
参数: {
WorkOrd: string, // 工单编号(模糊查询)
ItemNum: string, // 物料编码(模糊查询)
Descr: string, // 物料名称(模糊查询)
OrdDate: string, // 开工日期(>=)
page: number,
pageSize: number
}
返回: {
code: 200,
data: {
list: [{
id: string,
WorkOrd: string, // 工单编号
Priority: number, // 优先级
ItemNum: string, // 物料编码
Descr: string, // 物料名称
Descr1: string, // 规格型号
QtyOrded: number, // 工单数量
MaterialSituation: string, // 物料齐套状态
OrdDate: string, // 开工日期
DueDate: string, // 完成日期
Status: string // 状态 (p-初始, r-下达, w-投产, c-关闭)
}],
total: number
}
}
POST /api/workorder/material-check
参数: {
startDate: string, // 开始时间 YYYY-MM-DD
endDate: string, // 结束时间 YYYY-MM-DD
companyId: string, // 公司ID
userAccount: string // 用户账号
}
返回: {
code: 200,
message: "检查完成"
}
POST /api/workorder/material-requirement
参数: {
companyId: string // 公司ID
}
返回: {
code: 200,
message: "生成成功"
}
POST /api/workorder/release
参数: {
workOrderNo: string, // 工单编号
companyId: string, // 公司ID
userAccount: string, // 用户账号
lotSerial: string, // 生产批号
ordDate: string // 开工日期 YYYY-MM-DD
}
返回: {
code: 200,
message: "下达成功"
}
PUT /api/workorder/{id}
参数: {
LotSerial: string, // 生产批号
OrdDate: string // 开工日期 YYYY-MM-DD
}
返回: {
code: 200,
message: "更新成功"
}
| 字段 | 说明 | 格式 |
|---|---|---|
| WorkOrd | 工单编号 | 文本 |
| Priority | 优先级 | 数字 |
| ItemNum | 物料编码 | 文本 |
| Descr | 物料名称 | 文本 |
| Descr1 | 规格型号 | 文本 |
| QtyOrded | 工单数量 | 千分位格式 |
| MaterialSituation | 物料齐套 | 标签(齐套/不齐套/未检查) |
| OrdDate | 开工日期 | YYYY-MM-DD |
| DueDate | 完成日期 | YYYY-MM-DD |
| Status | 状态 | 标签 |
列表操作:
行操作:
1. 工单处于初始状态 (Status='p')
↓
2. 执行物料齐套检查
↓
3. 查看齐套状态,确认物料是否齐套
↓
4. 如需采购,生成物料需求计划
↓
5. 点击"工单下达",填写生产批号和开工日期
↓
6. 保存并下达,工单状态变为"下达" (Status='r')
↓
7. 工单可以开始生产
主要字段:
- recid -- 记录ID
- WorkOrd -- 工单编号
- ItemNum -- 物料编码
- QtyOrded -- 工单数量
- Priority -- 优先级
- OrdDate -- 开工日期
- DueDate -- 完成日期
- Status -- 状态 (p/r/w/c)
- LotSerial -- 生产批号
- Batch -- 批次
主要字段:
- morder_no -- 工单编号
- factory_id -- 工厂ID
- MaterialSituation -- 物料齐套状态
需要从用户状态中获取以下信息:
companyId - 公司ID/工厂IDuserAccount - 用户账号建议在 Pinia store 中管理:
// src/stores/user.js
export const useUserStore = defineStore('user', {
state: () => ({
companyId: '',
userAccount: '',
username: ''
})
})
在 src/utils/request.js 中配置:
const request = axios.create({
baseURL: 'http://your-backend-api.com',
timeout: 30000
})
当后端API准备好后,取消注释以下代码:
文件位置: src/views/WorkOrderPool.vue 第 263 行
// 从这样:
// 初始化 - 注释掉自动查询,等后端API准备好后再启用
// handleSearch()
// 改为这样:
// 初始化
handleSearch()
A: 启动项目后,点击左侧菜单的"工单管理" -> "工单池下达"即可访问。
A: 需要选择开始时间和结束时间,系统会检查该时间范围内的工单物料齐套情况。
A: 工单状态从"初始(p)"变为"下达(r)",表示可以开始生产。
A: 生产批号由用户自定义输入,建议按照公司规范填写。
如遇问题:
创建日期: 2025-10-31
版本: v1.0.0
作者: AI Assistant