Commit Graph

4537 Commits (e7a8095a355cd448eef5df7146ff45ee32d16a7c)

Author SHA1 Message Date
YunaiV e7a8095a35 review(mes):cal-calender 日历功能 2026-02-19 12:23:18 +08:00
YunaiV b8254baf5a feat(mes): 抽取通用 Select 下拉组件,替换各表单内联 el-select
将 MES 模块中各表单的内联 el-select + 手动加载 SimpleList 数据的模式,
统一抽取为独立的 Select 组件,每个组件自包含数据加载和前端搜索过滤。

新增 8 个 Select 组件:
- MdItemSelect(物料产品选择器)
- MdClientSelect(客户选择器)
- MdVendorSelect(供应商选择器)
- MdUnitMeasureSelect(计量单位选择器)
- MdWorkshopSelect(车间选择器)
- WmWarehouseSelect(仓库选择器)
- QcIndicatorSelect(质检指标选择器)
- TmToolTypeSelect(工具类型选择器)

改造 10 个消费者文件:
- WorkOrderForm.vue:产品/客户/供应商选择器替换
- WorkOrderBom.vue:物料/单位选择器替换,修复 handleBomItemChange
- MdItemForm.vue:计量单位选择器替换
- WorkstationForm.vue:车间/仓库选择器替换
- MachineryForm.vue:车间选择器替换
- TemplateItemForm.vue:物料选择器替换
- TemplateIndicatorForm.vue:质检指标/计量单位选择器替换
- ToolForm.vue:工具类型选择器替换
- workstation/index.vue:搜索栏车间选择器替换
- tool/index.vue:搜索栏工具类型选择器替换
2026-02-19 12:09:52 +08:00
YunaiV 5f010acc5f review(mes):qc-template 的实现代码 2026-02-18 22:48:56 +08:00
YunaiV 50be43d9e2 feat(mes): 重构生产工序模块包结构,拆分 process-content 为独立子模块
前端:
- api/mes/pro/process/index.ts:移除 contents 字段
- 新建 api/mes/pro/process/content/index.ts,删除旧 process-content/index.ts
- views/mes/pro/process/index.vue:移除 expand 行交互和工艺要求列,
  对齐 ktg-mes 风格
- ProProcessForm.vue:工序编码增加生成按钮,标签改为工序说明,
  编辑时弹窗内嵌操作步骤列表(el-divider + ProProcessContentList)
- 新建 ProProcessContentList.vue(列表)和 ProProcessContentForm.vue
  (表单弹窗),拆分自原内联实现,对齐 CalTeamMemberList/Form 风格
2026-02-18 16:08:12 +08:00
YunaiV 67e6e59120 review(mes):pro-process 的初步实现 50% 2026-02-18 15:47:18 +08:00
YunaiV 3c198013ba feat(mes): 重构 cal-team 班组成员前端文件结构
- 删除 api/mes/cal/team/member.ts、shift.ts,迁移至
  member/index.ts、shift/index.ts(与其他模块保持一致)
- CalTeamMemberPanel.vue 重命名为 CalTeamMemberList.vue,拆分为
  List(列表+删除)和 Form(添加弹窗)两个独立组件
- CalTeamMemberForm.vue(新增):用户下拉选择(getSimpleUserList)、
  表单校验、提交,通过 defineExpose open() + emit success 与 List 交互
- CalTeamForm.vue:更新引用为 CalTeamMemberList
2026-02-18 15:32:14 +08:00
YunaiV 377bf6e2ed feat(mes): 优化 cal-team 班组成员相关逻辑
- MesCalTeamMemberController:注入 AdminUserApi,合并 list-by-team 与
  list-by-team-ids 为单一接口(支持 teamId / teamIds 参数),新增
  buildMemberRespVOList 方法批量填充用户昵称和手机号
- MesCalTeamMemberServiceImpl:validateTeamMemberExists 改为 void 返回;
  validateUserUnique 去掉冗余的 excludeId 参数
- MesCalTeamMemberMapper:selectByUserIdExcludeId 简化为 selectByUserId
2026-02-18 15:31:59 +08:00
YunaiV ecd21a5dbd feat(mes): 新增 CAL 模块班组前端页面及修复班组选择下拉
新增 views/mes/cal/team 及对应 API:
- api/mes/cal/team/{index,member,shift}.ts:班组/成员/排班三个 API 模块
- views/mes/cal/team/index.vue:班组列表页(搜索/分页/导出)
- views/mes/cal/team/CalTeamForm.vue:班组表单弹窗(编辑时内嵌成员管理 Tab)
- views/mes/cal/team/CalTeamMemberPanel.vue:班组成员管理面板

修复 CalPlanTeamPanel.vue:
- 班组选择从 el-input-number 改为 el-select 下拉(对接 CalTeamApi.getTeamList)
2026-02-18 11:21:22 +08:00
YunaiV 3b43e9e463 🎨 style(mes/wm): 对齐注释风格、修复 TODO、重构冗余代码 2026-02-18 09:08:09 +08:00
YunaiV 5289b8b3bd 🎨 style(mes/wm): 对齐注释风格、修复 TODO、重构冗余代码
- warehouse/index.vue:补充变量行内注释;将 chargeUserId 展示内联到模板
- WarehouseForm.vue:删除非标准 DONE @AI 注释;补充变量注释、defineExpose/defineEmits 注释、submitForm 步骤注释
- location/index.vue:补充变量行内注释;修复 warehouseId 类型;使用具名路由跳转
- location/LocationForm.vue:补充注释;修复 warehouseId 类型;补充新增时默认值注释
- area/index.vue:合并 parseQueryId 到 loadLocationContext;将 4 个散 ref 合并为 currentLocation 对象;补充变量行内注释
- area/AreaForm.vue:修复 locationId 类型;简化 open 方法中逐字段赋值为直接赋值;补充注释
- md/workstation/WorkstationForm.vue:补充 JSDoc 注释、变量注释、submitForm 步骤注释

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 09:07:29 +08:00
YunaiV 47fd8b6018 review(mes):wm-warehouse 的初步实现 80% 2026-02-17 23:51:33 +08:00
YunaiV 9546589ccc review(mes):wm-warehouse 的初步实现 50% 2026-02-17 22:52:45 +08:00
YunaiV 57894e7ab5 review(mes):wm-warehouse 的初步实现 2026-02-17 21:53:33 +08:00
YunaiV 38405b1d20 review(mes):work-order 的代码实现,功能测试 2026-02-17 21:00:24 +08:00
YunaiV 3463213cd4 review(mes):cal-plan 的代码实现,功能测试 2026-02-17 20:58:24 +08:00
YunaiV 416778c8e5 review(mes):qc-template 的代码实现,功能测试 2026-02-17 20:43:40 +08:00
YunaiV 0772290be9 review(mes):work-order 的代码实现,功能测试 2026-02-17 20:21:31 +08:00
YunaiV 721449d834 feat(mes):qc-template 初始化 2026-02-17 18:57:14 +08:00
YunaiV ce761e536e review(mes):cal-plan 的实现 2026-02-17 17:05:45 +08:00
YunaiV 663b2e32b5 feat:新增 qc indicator 质量管理 - 检测项 2026-02-17 16:09:37 +08:00
YunaiV 2f86852483 feat(mes/cal-plan): 新增排班计划专用 confirm 接口
- 后端新增 PUT /mes/cal/plan/confirm 接口,仅接收 id 参数
- Service 层新增 confirmPlan(Long id) 方法,含草稿状态校验和班组数量校验
- updatePlan 中强制忽略 status 字段,禁止通过 update 修改状态
- 前端 API 新增 confirmPlan(id: number) 方法
- CalPlanForm handleConfirm 改为调用专用 confirmPlan 接口
2026-02-17 16:05:24 +08:00
YunaiV d5303a1e7d feat(mes-pro): 新增生产工单前端页面
- 新增工单列表页,支持编码/名称/类型/状态/来源/需求日期筛选
- 新增工单表单弹窗(新增/编辑/详情),产品选择自动填充单位
- 新增工单 BOM 子组件,内嵌分页表格 + 增删改弹窗
- 新增工单和 BOM 的 API 文件
- dict.ts 增加 3 个字典类型,constants.ts 增加工单状态枚举
2026-02-17 15:37:12 +08:00
YunaiV e920999bff fix(mes-cal): 清理前端 3 处 TODO @AI 注释
1. team.ts: 删除"挪到 plan/team 目录下"注释(文件已在正确位置)
2. CalPlanTeamPanel.vue: 删除"晚点 review 下"注释
3. CalPlanForm.vue: 删除"单独一个接口"注释,更新确认提示语

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:26:46 +08:00
YunaiV 501db918f3 feat(mes):优化、实现 plan 的逻辑 2026-02-17 15:15:25 +08:00
YunaiV 778141bf7f feat(mes):新增 defect 缺陷类型 2026-02-17 14:38:26 +08:00
YunaiV 2d79633b07 feat(mes): 设备状态枚举同步调整,表单增加点检保养时间选择器
1. constants.ts MesDvMachineryStatusEnum 改为 STOP/PRODUCING/MAINTENANCE
2. MachineryForm 默认状态改为 STOP,新增 lastCheckTime、lastMaintenTime 两个 el-date-picker 字段
2026-02-17 11:32:41 +08:00
YunaiV d313450069 feat(mes-dv): 设备台账添加导入功能前端 UI
- 新增 MachineryImportForm 组件,参考物料导入模式
- 列表页添加导入按钮和导入弹窗
- API 新增 importTemplate 方法(后端接口待实现)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:25:03 +08:00
YunaiV 5428ed8351 feat(mes-dv): 设备台账列表添加左侧设备类型分类树
- 新增 MachineryTypeTree 组件,支持搜索过滤和点击/取消选择
- 列表页改为左树右表布局(4:20 比例),参考物料模块
- 移除搜索栏中的「设备类型」下拉(由左侧树代替)
- 重置时同时清空分类树选中状态

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:23:07 +08:00
YunaiV e0ec6249ae refactor(mes-dv): 设备台账列表去掉最近保养/点检时间列
这两个时间字段在列表中意义不大,已移至设备详情表单中展示。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:21:35 +08:00
YunaiV babb4c3979 feat(mes-dv): MachineryForm 添加点检/保养/维修 Tab 占位
- 删除多余的「所属车间」TODO 注释(form 已有车间选择框)
- 编辑模式下显示 3 个子资源 Tab:点检记录、保养记录、维修工单
- 子模块尚未实现,使用 el-empty 占位,待后续对接

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:20:48 +08:00
YunaiV f0fe6e3f01 feat(mes-dv): MachineryForm 改为 3 列布局并添加编码生成按钮
- 第一行改为 3 列:设备编码(含生成按钮)、设备名称、品牌
- 编码生成按钮使用 generateRandomStr,编辑模式下禁用
- 调整规格型号到第三行,整体布局更紧凑

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:19:35 +08:00
YunaiV 969eac21df fix(mes-dv): 修复 MachineryTypeForm 的 TypeScript linter 警告
移除 formData 声明中多余的 `as unknown as number/string` 类型断言,
与 WorkstationForm 等其他表单组件保持一致的写法。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:18:12 +08:00
YunaiV c6ab40e175 feat(mes-dv): 新增设备类型和设备台账前端页面
新增设备类型(dv/machinery/type,树形表格)和设备台账(dv/machinery)的前端实现,
包含 API 定义、列表页、表单弹窗,以及 dict.ts 和 constants.ts 中 DV 相关补充
2026-02-17 09:53:14 +08:00
YunaiV 9f5303aea6 feat(mes-cal): 新增排班计划和班次管理前端页面
- 新增班次管理独立页面(index.vue + CalShiftForm.vue),支持 CRUD + 导出
- 新增排班计划列表页(index.vue),支持按编码/名称/轮班方式/状态搜索
- 新增排班计划表单(CalPlanForm.vue),含编码生成、条件显示倒班方式/天数、确认计划操作
- 新增班次子表面板(CalShiftPanel.vue),嵌入计划表单 Tab
- 新增班组子表面板(CalPlanTeamPanel.vue),嵌入计划表单 Tab
- 新增 shift/plan/plan-team 三个 API 文件
- dict.ts 新增 4 个字典类型常量(shift_type/shift_method/calendar_type/plan_status)
2026-02-17 09:52:46 +08:00
YunaiV 153fa2cf25 fix(mes-tm): 修复工具管理前端 TODO 项,完善表单布局、编码生成和列宽
1. ToolForm:表单改为 el-row/el-col 栅格布局(960px 宽弹窗),新增编码"生成"按钮(TL 前缀)
2. ToolTypeForm:类型编码新增"生成"按钮(TT 前缀),保养周期拆分为天/次两个条件字段
3. type/index:保养周期列增加天/次单位后缀展示
4. tool/index + type/index:补齐所有表格列宽(编码 120、名称 min-150、状态 80 等)
2026-02-16 22:42:47 +08:00
YunaiV 6a83adf543 refactor(mes-tm): 工具管理前端枚举优化
1. 新增 MesToolStatusEnum、MesMaintenTypeEnum 到 mes/utils/constants.ts
2. ToolForm、ToolTypeForm、index 页面使用枚举常量替代魔法值
3. 移除 as unknown as 类型断言,移除 TODO @AI 注释
2026-02-16 22:30:52 +08:00
YunaiV d6a4857f6f refactor(mes-tm): 工具管理前端枚举优化
1. 新增 MesToolStatusEnum、MesMaintenTypeEnum 到 mes/utils/constants.ts
2. ToolForm、ToolTypeForm、index 页面使用枚举常量替代魔法值
3. 移除 as unknown as 类型断言,移除 TODO @AI 注释
2026-02-16 22:30:15 +08:00
YunaiV b15cd9021e feat(mes): 新增工具管理(TM)模块前端页面
新增工具类型和工具台账的 API、列表页和表单弹窗,
dict.ts 补充 MES_TM_TOOL_STATUS 和 MES_TM_MAINTEN_TYPE 字典类型。
2026-02-16 21:12:42 +08:00
YunaiV 23531c6c5b refactor(mes): 优化假期设置交互,精简接口对齐后端
1. 右键改左键点击弹出设置弹窗,阻止非当前月切换
2. 弹窗打开时调 get-by-day 接口回显已有 type 和 remark
3. 新增备注(remark)输入框,时间戳传参用 formatDate 转换
4. HolidayType 枚举抽取到 mes/utils/constants.ts 统一管理
5. 精简 API:移除 page/export/update/delete,create 改为 save
2026-02-16 21:01:41 +08:00
YunaiV 369d3bbff2 refactor(mes): 优化假期设置交互,精简接口对齐后端
1. 右键改左键点击弹出设置弹窗,阻止非当前月切换
2. 弹窗打开时调 get-by-day 接口回显已有 type 和 remark
3. 新增备注(remark)输入框,时间戳传参用 formatDate 转换
4. HolidayType 枚举抽取到 mes/utils/constants.ts 统一管理
5. 精简 API:移除 page/export/update/delete,create 改为 save
2026-02-16 20:59:01 +08:00
YunaiV f40b415b9c feat(mes): 新增假期设置日历页面,使用 dayjs-plugin-lunar 显示农历
基于 el-calendar 实现假期设置页面,右键日期可设置假期/工作日类型,
日历单元格显示班/休标签、农历日期、公历节日、农历节日和节气。
使用 dayjs-plugin-lunar(底层 tyme4ts)替代手写 667 行农历工具。

新增文件:
- src/api/mes/cal/holiday/index.ts
- src/views/mes/cal/holiday/index.vue
- src/views/mes/cal/holiday/HolidayForm.vue

修改文件:
- src/utils/dict.ts:新增 MES_CAL_HOLIDAY_TYPE

新增依赖:
- dayjs-plugin-lunar
2026-02-16 18:39:12 +08:00
YunaiV cb56866deb refactor(mes): 重构产品 BOM/SIP/SOP 表单,统一代码风格并修复 TODO
1. 统一表单方法风格,对齐 WorkstationWorkerPanel 的写法:
   - 弹窗变量统一命名为 dialogVisible/dialogTitle
   - dialogTitle 使用 t('action.' + type) 国际化
   - submitForm 添加 formRef 校验守卫,使用 t() 国际化提示
   - create/update 判断顺序统一为先 create 后 update
2. SIP/SOP 的 orderNumber 字段全局重命名为 sort
3. BOM 物料选择简化为无论选择几条都直接批量创建
4. 修复 formData 展开赋值的 TS 类型错误,改为逐字段赋值
5. 清理所有 TODO @AI 注释
2026-02-16 17:46:33 +08:00
YunaiV b0548b329d feat(mes): 优化工作站模块,新增获取车间列表和车间 Map 方法,重构表单弹窗逻辑 2026-02-16 15:47:05 +08:00
YunaiV 435496bdbd feat(mes): 添加假期类型常量及相关错误码,调整SOP和SIP模块的展示顺序 2026-02-16 13:19:50 +08:00
YunaiV debce44339 refactor(mes-ui): 修正工作站模块中文标签命名 + 拆分 API
- 表单标签/占位符/校验提示:工位 → 工作站
- API 注释:工位设备 → 设备资源、工位工具 → 工装夹具资源、工位人员 → 人力资源
- 拆分 workstation API 到 machine/tool/worker/workshop 子目录
2026-02-16 12:36:00 +08:00
YunaiV 95c478d739 refactor(mes-ui): 修正工作站模块中文标签命名 & 拆分 API 文件
- 表单标签/占位符/校验提示:工位 → 工作站
- API 注释:工位设备 → 设备资源、工位工具 → 工装夹具资源、工位人员 → 人力资源
- 拆分 workstation API 到 machine/tool/worker/workshop 子目录
2026-02-16 12:12:03 +08:00
YunaiV 59bd23b3e0 feat(mes): 新增产品 BOM、SOP、SIP 子表前端组件
- 新增 productBom / productSop / productSip 三组 API 文件
- BOM 组件:表格列表,支持远程搜索物料、编辑用量
- SOP / SIP 组件:卡片式图片列表,支持上传/预览/排序
- MdItemForm.vue 集成三个组件,替换原 el-empty 占位
2026-02-16 08:58:31 +08:00
YunaiV 403b7e75af feat(mes): 新增车间管理、工位管理模块前端
- API 接口:workstation/index.ts(工位+3个子资源)、workshop.ts(车间)
- 车间:列表页(搜索+分页)+ 表单弹窗
- 工位:列表页 + 表单弹窗(一行3列布局 + 编码自动生成)
- 工位子资源:设备/工具/人员 3 个 Tab 面板组件
- 共 9 个 Vue/TS 文件
2026-02-16 08:40:27 +08:00
YunaiV 8a3e33952b feat(mes): 新增车间管理、工位管理模块前端
- API 接口:workstation/index.ts、workshop.ts
- 车间:列表页 + 表单弹窗
- 工位:列表页 + 表单弹窗(含设备/工具/人员三个子资源 Tab 面板)
- 共 9 个 Vue/TS 文件
2026-02-16 08:09:29 +08:00
YunaiV 15dd4dce76 feat(mes): 新增物料批次属性配置前端组件
1. 新增 MdItemBatchConfigForm 组件,根据 itemOrProduct 区分 ITEM/PRODUCT 展示不同 checkbox
2. 嵌入 MdItemForm 的"批次属性"tab,仅 batchFlag 开启时显示
3. API 文件放置于 batchConfig/index.ts 子目录
4. 使用 MesItemOrProductEnum 常量替代硬编码字符串
5. MdItemForm 变量名语义优化:itemTypeList → itemTypeTree,itemTypeFlatList → itemTypeList
6. 布局优化:采用 CSS Grid 一行 5 个,checkbox label 模式(☑ 文字)
2026-02-16 01:28:10 +08:00