阳光印刷Web: 调整工单管理报工功能
- 实现工单列表展示功能,包含工单编号、产品信息、生产进度等字段
- 添加工单搜索过滤功能,支持按工单编号进行查询
- 实现工单编辑功能,允许报工人修改计划和实际的时间信息
- 开发工单流转卡功能,包含产品信息展示和二维码生成
- 集成报工功能,支持生产数量、报废数量、班组信息等录入
- 添加设备选择功能,关联生产设备信息
- 实现工单审核流程,支持审核通过和不通过操作
- 集成附件管理功能,可查看工单相关文件
- 添加打印功能,支持流转卡和报工表单的打印输出
- 实现数据验证机制,确保生产数量和时间的合规性
- 优化表格分页显示,提升大数据量下的性能表现
| | |
| | | </el-col> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="机台" prop="machineId"> |
| | | <el-form-item label="机台" prop="deviceId"> |
| | | <el-select |
| | | v-model="reportForm.machineId" |
| | | v-model="reportForm.deviceId" |
| | | placeholder="请选择机台" |
| | | filterable |
| | | clearable |
| | |
| | | |
| | | const handleDeviceChange = (val) => { |
| | | const device = deviceOptions.value.find(item => item.id === val) |
| | | reportForm.machineName = device?.deviceName || "" |
| | | reportForm.machineId = val || "" |
| | | reportForm.deviceName = device?.deviceName || "" |
| | | reportForm.deviceId = val || "" |
| | | } |
| | | |
| | | const normalizeArray = (val) => { |
| | |
| | | label: "工序名称", |
| | | prop: "processName", |
| | | }, |
| | | // { |
| | | // label: "机台名称", |
| | | // prop: "deviceName", |
| | | // }, |
| | | { |
| | | label: "机台名称", |
| | | prop: "deviceNames", |
| | | }, |
| | | { |
| | | label: "需求数量", |
| | | prop: "planQuantity", |
| | |
| | | clickFun: row => { |
| | | handleEdit(row); |
| | | }, |
| | | // 当需求数量等于完成数量的时候,按钮不可点击 |
| | | disabled: row => |
| | | Number(row?.planQuantity) === Number(row?.completeQuantity) || |
| | | !canOperateByReportWorker.value(row), |
| | | }, |
| | | { |
| | | name: "流转卡", |
| | |
| | | clickFun: row => { |
| | | showReportDialog(row); |
| | | }, |
| | | disabled: row => |
| | | Number(row?.planQuantity) <= Number(row?.completeQuantity) || |
| | | row.planQuantity <= 0 || |
| | | !canOperateByReportWorker.value(row), |
| | | }, |
| | | // { |
| | | // name:"审核", |
| | |
| | | userId: "", |
| | | productMainId: null, |
| | | teamList: [], |
| | | machineId: null, |
| | | deviceId: null, |
| | | }); |
| | | |
| | | // 本次生产数量验证规则 |
| | |
| | | endTime: [{required: true, message: "请选择结束时间", trigger: "change"}], |
| | | auditUserId: [{required: true, message: "请选择审核人", trigger: "change"}], |
| | | teamList: [{required: true, message: "请选择班组", trigger: "change"}], |
| | | machineId: [{required: true, message: "请选择设备", trigger: "change"}], |
| | | deviceId: [{required: true, message: "请选择设备", trigger: "change"}], |
| | | }; |
| | | |
| | | // 处理本次生产数量输入,限制必须大于等于1 |
| | |
| | | }; |
| | | |
| | | const showReportDialog = row => { |
| | | if (!isCurrentUserReportWorker(row)) { |
| | | ElMessage.warning("当前用户不是该工单的报工人,无法报工"); |
| | | return; |
| | | } |
| | | // if (!isCurrentUserReportWorker(row)) { |
| | | // ElMessage.warning("当前用户不是该工单的报工人,无法报工"); |
| | | // return; |
| | | // } |
| | | currentReportRowData.value = row; |
| | | reportForm.planQuantity = row.planQuantity - row.completeQuantity; |
| | | reportForm.quantity = |