Commit Graph

3219 Commits (1a3de7e97a264c593bc256a79f2bdbc281ae2a57)

Author SHA1 Message Date
XuZhiqiang 693f0b48c2 fix(web-antdv-next): 统一 Select 和 Radio 子组件引用方式 2026-06-06 12:05:23 +08:00
XuZhiqiang 4f66adb999 fix(web-antdv-next): 修复Form.Item、Descriptions.Item 报错提示 2026-06-06 12:00:51 +08:00
XuZhiqiang 1123f00795 fix(web-antdv-next): adapt notification and open change APIs 2026-06-06 11:17:21 +08:00
XuZhiqiang 0efde47539 chore(web-antdv-next): sync MES formatting 2026-06-06 07:37:45 +08:00
XuZhiqiang 569ded85f9 fix(web-antdv-next): sync dashboard workspace spacing 2026-06-06 07:36:56 +08:00
XuZhiqiang e046050ef0 fix(web-antdv-next): sync BPM timeout duration format 2026-06-06 07:35:49 +08:00
XuZhiqiang 615749daf1 chore: 保证和上游Vben-admin的框架依赖一致性 2026-06-06 06:53:11 +08:00
xingyu4j 58d4be5893 fix: type 2026-06-05 19:03:12 +08:00
xingyu4j 0483d5cd8b Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2026-06-05 19:03:00 +08:00
jason 705aa2fa7b fix: [bpm] web-ele 审批等按钮点击没反应问题修复 2026-06-05 10:07:09 +08:00
jason 1b5a06f3a2 fix: [bpm] web-ele 修复审批等按钮不能操作等问题 2026-06-05 08:11:00 +08:00
XuZhiqiang cf0f7cedca fix(web-antdv-next): sync dept delete confirmation state 2026-06-04 22:57:28 +08:00
XuZhiqiang 70aed10752 fix(@vben/web-antdv-next): 在web-antdv-next,表单适配器只有TextArea,没有Textarea 2026-06-04 16:42:46 +08:00
XuZhiqiang 03f167b7d0 fix(web-antdv-next): sync remaining upstream fixes 2026-06-04 16:22:52 +08:00
XuZhiqiang f6a8c6e652 fix(web-antdv-next): sync shared UI fixes 2026-06-04 16:20:42 +08:00
XuZhiqiang 09970d89a4 feat(web-antdv-next): sync IoT module 2026-06-04 16:17:45 +08:00
XuZhiqiang 6315055c08 feat(web-antdv-next): migrate MES module 2026-06-04 16:08:03 +08:00
XuZhiqiang 82b22173c0 feat(web-antdv-next): migrate WMS module 2026-06-04 15:57:43 +08:00
XuZhiqiang e6e4d8ce1e fix(@vben/web-antdv-next): 修复IOT模块若干导入异常问题 2026-06-04 15:28:56 +08:00
jason a357dbf940 fix: [bpm] OA 请假流程重新发起问题修复 2026-06-04 14:11:30 +08:00
jason 8146ebde8c Merge remote-tracking branch 'yudao/master' 2026-06-04 12:42:27 +08:00
jason b91268923f fix: [bpm] 超时时间天的格式问题修复 2026-06-04 12:40:51 +08:00
jason 4a597c0806 fix: 发起人节点显示审批意见 2026-06-04 12:37:51 +08:00
金毛88 0eb72ca4fd feat: add useTDesignDesignTokens 2026-06-03 13:25:23 +08:00
金毛88 7fd4b1de04 Merge branch 'fork/SaleriHQ/feat/form-field-array' 2026-06-03 13:22:21 +08:00
芋道源码 72aac700ff
!353 fix(bpm): clean up BPMN viewer resize observer
Merge pull request !353 from 芋道源码/dev
2026-05-31 13:50:10 +00:00
YunaiV 840f4efbbe fix(bpm): 完善流程实例打印字段展示
- Vben5 web-antd/web-ele/web-antdv-next 同步支持更多表单字段打印
- Vue3 + Element Plus 流程打印补齐字典、用户、部门、省市区、文件、图片、开关、富文本等字段展示
- 普通字段和流程记录改为安全文本渲染,保留富文本 HTML 展示
- 打印时间改为每次打开弹窗时刷新
- web-ele 补充 ElButton 显式导入,避免运行时组件解析风险
2026-05-31 18:25:33 +08:00
YunaiV 64eea34a63 fix(bpm): 完善流程实例打印字段展示
- Vben5 web-antd/web-ele/web-antdv-next 同步支持更多表单字段打印
- Vue3 + Element Plus 流程打印补齐字典、用户、部门、省市区、文件、图片、开关、富文本等字段展示
- 普通字段和流程记录改为安全文本渲染,保留富文本 HTML 展示
- 打印时间改为每次打开弹窗时刷新
- web-ele 补充 ElButton 显式导入,避免运行时组件解析风险
2026-05-31 18:22:15 +08:00
YunaiV 54e5036171 fix(form-create): 修复字典选择器 modelValue 回显兼容
- Vben5 web-ele 使用默认 modelValue 绑定,修正相关注释避免误用 model-value
- Vben5 web-antd 保留 value 绑定并明确组件库差异
- Vue3 DictSelect 显式接收 modelValue 并派发 update:modelValue,避免选择值更新后回显异常
2026-05-31 17:16:17 +08:00
YunaiV 1896c60f53 feat(mes): add MES production task issue API and improve combination record validation 2026-05-31 16:48:00 +08:00
芋道源码 099d480ff4
!351 !347 feat: 流程的报表页面支持多种表单类型
Merge pull request !351 from 芋道源码/master
2026-05-31 08:43:04 +00:00
YunaiV 3327655d46 docs(mes): 登记 B037 修复,R008/R009 经核实判 rejected
- INDEX.md: R006 转 fixed(关联 B037);R008、R009 由 disputed 转 rejected
- bug_done.md: 追加 B037(@vben/constants 补齐 6 个共享 MES 常量)
- bug_rejected.md: 追加 R008、R009 拒绝记录
- mes-pro-codex review: 追加 R008/R009 复核记录(@vue/compiler-dom 实测
  ifShow 经 $setup proxyRefs 解包为 boolean,详情态正确隐藏;product-bom
  入口不可达,与源 vue3 效果一致)

当前 42 个 finding: fixed 38、rejected 3、closed 1、open 1(仅余 R010)。
2026-05-31 16:40:38 +08:00
xingyu 04fbb7a556
chore: 升级 shadcn-vue 组件到v4最新版 (#7972)
* fix: useStore is deprecated

* chore: update deps

* feat: 升级shadcn-ui v4

* fix: workbench style

* feat: 升级shadcn-ui v4 step2

* feat: 升级shadcn-ui v4 step3

* chore: 升级shadcn v4

* fix: pagination

* fix: dark style

* fix: doc import

* feat: 增加详情组件,参考 antdv-next

* docs: descriptions docs

* docs: Browser Support

* feat: add table action

* feat: icon use vbenIcon

* fix: type error

* fix: dropdown popConfirm

* feat: 使用默认的文字交互

* feat: 优化渲染性能
2026-05-31 15:18:46 +08:00
Saleri e5f9106caa feat(@core/form-ui): 新增 useVbenForm 数组编辑器 VbenFormFieldArray 2026-05-31 15:03:55 +08:00
YunaiV 2fc7390091 docs(mes): 登记 MES-B033~B036 修复并更新 review 索引
- INDEX.md: R014、R026、R031、R039 转 fixed,分别关联 MES-B033~B036
- bug_done.md: 追加 B033(client 销售记录详情入口)、B034(salesnotice
  选择弹窗筛选)、B035(高基数选择器恢复分页弹窗)、B036(RQC 保存后
  留在弹窗编辑子表)完整修复记录
- bug_rejected.md: 同步前序 B029 归档调整

剩余 open: R006、R010;disputed: R008、R009。
2026-05-31 13:17:21 +08:00
YunaiV a188c8245d fix(preview): adjust layout for code preview modal and tabs 2026-05-31 10:24:31 +08:00
YunaiV 61172b9a68 fix(mes): 修复 MES 迁移 review 发现的问题(B001-B032)
系统性修复 MES migration review(INDEX.md,MES-R001~R042)发现的迁移问题,
覆盖 web-antd 与 web-ele 两端,按严重级别从 P0 到 P3。

P0
- B001: DICT_TYPE/BarcodeBizTypeEnum 等常量从 'vue' 误导入致 TS2305/运行时崩溃,
  改从 @vben/constants 导入(20 个文件)。

P1
- B002 itemreceipt 入库单名称误必填;B003 条码工单选择补 CONFIRMED 过滤;
  B004 库存台账冻结开关补更新权限禁用;B005 returnsales 上架明细批次号误必填;
  B006 checkrecord/maintenrecord 计划/执行人误必填;B007 returnsales 退货行
  rqcCheckFlag 默认改回 false;B019 OQC 预填 checkQuantity 缺省取 outQuantity;
  B024 repair 完成维修态放开 finishDate 录入;B025 tool 编码管理类型库存数量锁定为 1;
  B027 详情态自动编码按钮隐藏/禁用(md/cal/dv/tm 13 模块)。

P2
- B008 IPQC 废品数量补 0 默认值;B009 共享选择器去掉 catch+console.error 吞错;
  B011 route 自定义 SFC 改 markRaw;B012 ele 自动编码按钮去 type:'default';
  B014 md 编辑态编码字段误禁用;B015 dv/subject 选择器仅展示启用项(保留历史回显);
  B016 盘点结果回填 batchId;B017 源 vue3 miscissue 业务类型字典误用 getStrDictOptions;
  B018 stocktaking/plan 盘点条件表单 schema 化;B020 清理 TODO @AI;
  B026 repair 验收信息字段按状态门控只读。

P3
- B010 QcIndicatorSelect 去吞错;B013/B019/B030/B031 componentProps、列对象多行化等
  code style;B021 自动编码循环方式列条件展示;B022 盘点结果选中清单行后字段禁用;
  B023 质检指标 resultSpecification 抽 ResultSpecificationInput 消除重复 fieldName;
  B032 barcode/batch/sn API 字段补注释。

风格统一
- getTitle 统一为「特殊态 if 提前 return + create/update 三元」(pro/card、
  stocktaking/task、repair);headerReadonly 抽 isHeaderReadonly 辅助函数对齐
  pro/workorder/transfer 写法;computed 解释注释移入 computed 内部。

验证:
- 两端 pnpm exec eslint 改动文件通过
- 两端 pnpm -F @vben/web-antd / @vben/web-ele exec vue-tsc 过滤 src/views/mes、
  api/mes 无报错
- git diff --check 通过

备注:R037(defectrecord 命名漂移)经复核为原 finding 前提有误(两端本就一致),
已 rejected,未占 MES-B 编号。R008/R009 为 disputed 待裁决。
本提交仅含 src/views/mes 与 src/api/mes 下文件,排除 .env.development、vite.config.ts、
infra/codegen、docs changelog 等无关旁支改动。
2026-05-31 10:21:23 +08:00
YunaiV 4dff39ddc5 fix(crm): 修复待办线索漏传归属场景 2026-05-31 09:37:36 +08:00
芋道源码 06f8b74790
!347 feat: 流程的报表页面支持多种表单类型
Merge pull request !347 from Jason/master
2026-05-31 01:33:45 +00:00
YunaiV b00a67deb9 fix(web-ele): 修复表单设计器自定义组件回显
- 移除 form-create 自定义组件错误的 modelField: 'model-value'
- 字典选择器、省市区选择器、iframe 组件改用默认 modelValue 绑定
- 修复 Element Plus 版选择后表单值更新但前端不回显的问题
2026-05-31 00:43:42 +08:00
YunaiV c25b631c10 fix(iot): 完善场景联动配置必填校验
- Vue3 抽取场景联动校验工具,统一触发器、附加条件和执行器校验
- Vben5 antd/ele 同步场景联动提交前兜底校验
- 补充 CRON 表达式、JSON 参数和动态字段必填校验
- 保留 deviceId=0 表示全部设备的业务语义
2026-05-31 00:36:41 +08:00
YunaiV 0fe9607302 fix(mes): 修复迁移 review 第三批 finding(B019-B023)+ schema/风格清理
修复 MES migration review 的 1 个 P1 + 多个 P2/P3 finding,覆盖 web-antd
和 web-ele 两端。

- MES-B019 (P1, R020): OQC 从待检任务预填时,checkQuantity 缺省取
  outQuantity,避免必填的检测数量为空被校验拦截。
- MES-B020 (P2, R012): 清理 pro/card、stocktaking/task 残留的 TODO @AI
  临时注释,taskId 补正式业务尾注释。
- MES-B021 (P2, R017): 自动编码分段"循环方式"列改 slot + DictTag,仅
  cycleFlag 为真才渲染(非循环行留空,对齐源 v-if 行为)。
- MES-B022 (P3, R035): 盘点结果选中盘点清单行后,物料/批次/仓储位置字段
  按 lineId 禁用,避免改成与清单不一致的值。
- MES-B023 (P3, R038): 抽出 QcIndicatorResultSpecificationInput 组件,
  schema 仅保留单个 resultSpecification 字段,组件内按 resultType 切
  RadioGroup(FILE)/Select(DICT),消除重复 fieldName 的双 FormField/重复 key。

附带代码风格对齐:
- pro/card、stocktaking/task 的 getTitle 改为「特殊态 if 提前 return +
  create/update 三元收尾」,对齐 oqc/returnvendor 等主流模块写法。

验证:
- pnpm exec eslint <本批改动文件>(antd + ele)通过
- pnpm -F @vben/web-antd / @vben/web-ele exec vue-tsc 过滤
  qc/indicator、qc/oqc、md/autocode、wm/stocktaking/task、pro/card 无报错

Ref: project_duibiao/mes/review_vben/INDEX.md (MES-R012/R017/R020/R035/R038)
2026-05-30 23:14:21 +08:00
YunaiV 26d07e2e28 feat(member): 会员增加 email 字段 2026-05-30 22:55:27 +08:00
YunaiV 1edaf023c2 refactor(mes): stocktaking/plan 盘点条件表单 schema 化(R034)
将盘点方案条件弹窗从手写 <Form> 模板重构为 useVbenForm + schema,提升
antd/ele 复用度,对齐 Vben5「schema 放 data.ts」约定。

- 新增 condition-value-input.vue(antd/ele 各一份):把「条件值」的 7 选 1
  (仓库/库区/库位级联、物料、批次、质量状态)+ 级联临时态 + valueCode/
  valueName 回写封装为单一 v-model 组件,经 valueChange 事件回填,避免
  schema 出现重复 fieldName 的渲染层风险。归 components/,与 pro/route
  的 RouteColorPicker 等同类自定义控件保持一致。
- useParamFormSchema 合并进同目录 data.ts,删除临时 param-data.ts;
  param-form.vue 改为 useVbenForm + setState(schema),onConfirm/onOpenChange
  结构与注释(// 提交表单、// 关闭并提示、// 加载数据、// 设置到 values)
  对齐 dv/subject 范式。
- 字典 options 用 getDictOptions(..., 'number') + NumberDictDataType 断言,
  移除冗余 .map() 转换。
- defineProps/defineEmits 内去掉非 vben 风格的 JSDoc 注释;去掉无谓的
  ParamTypeEnum alias,直接使用 MesWmStockTakingParamTypeEnum。
- 质量状态无实体 id,提交校验按 type 区分 valueCode / valueId。

验证:
- pnpm exec eslint <stocktaking/plan 改动文件>(antd + ele)通过
- pnpm -F @vben/web-antd / @vben/web-ele exec vue-tsc 过滤 stocktaking/plan 无报错

Ref: project_duibiao/mes/review_vben/INDEX.md (MES-R034)
2026-05-30 22:15:55 +08:00
YunaiV 7e62f9a5ef feat: 优化 IoT 告警模板选择
- 后端 mail/sms/notify 模板 simple-list 仅返回启用模板精简字段
- 前端补充 mail/sms/notify 模板 simple-list API 封装
- vue3 与 vben antd/ele 在各自 system 模块封装模板选择组件
- IoT 告警配置按接收类型动态选择短信、邮件、站内信模板
- 补充前端 IotAlertReceiveTypeEnum,替换表单内裸常量
2026-05-30 22:06:02 +08:00
YunaiV 3007539f0e refactor(mes): update comments and improve code readability in condition matchers 2026-05-30 20:38:05 +08:00
YunaiV 3f7134d3fc fix(mes): 修复迁移 review 第一批 5 个 bug(B001 vue 误导入 P0 + B002-B005 P1) 2026-05-30 19:36:16 +08:00
YunaiV 22e9081a45 refactor(mes): 统一 antd 和 ele 选择组件代码风格
- 规范 select 空值判断和回显逻辑
- 统一物料、供应商、客户选择弹窗的单选/多选行为
- 清理 components 内 TODO 并修复相关 DICT_TYPE 导入
2026-05-30 19:03:57 +08:00
YunaiV b3154ef87a feat(mes): 增加 componnents 评审的建议 2026-05-30 18:10:14 +08:00
YunaiV 51e633f6c9 refactor: 规范 MES/WMS 组件文件命名和导出引用 2026-05-30 17:29:05 +08:00
YunaiV c9a32ba780 ```text
refactor: 迁移模块 constants 到共享常量包

- 新增 MES/WMS 共享业务常量导出
- 将 Mall 客服、IoT 缺失常量合并到 @vben/constants
- 替换各模块本地 constants 引用
- 删除模块内重复 constants 文件
```
2026-05-30 16:51:13 +08:00
YunaiV 71cec9ac6a feat(mes): update chart options to use EChartsOption type and refactor imports 2026-05-30 16:34:12 +08:00
YunaiV c8deb9e91e feat(mes): 迁移 wm transfer 模块 2026-05-30 13:24:04 +08:00
YunaiV dd4b7e045a feat(mes): 迁移 home 首页(优化代码) 2026-05-30 13:23:41 +08:00
YunaiV 7d75ab8d8e feat(mes): 迁移 home 首页(优化代码) 2026-05-30 13:23:19 +08:00
YunaiV a237758516 feat(mes): 迁移 home 首页 2026-05-30 13:22:16 +08:00
YunaiV b325db0450 feat(mes): 迁移 home 首页 2026-05-30 13:21:55 +08:00
YunaiV 37b9db148f feat(mes): 添加 MES 转移单类型及状态枚举,更新相关表单字段禁用逻辑 2026-05-30 13:20:41 +08:00
YunaiV 83482781d6 feat(mes): 迁移 wm 里的 产品收货(wm_product_recpt)、、销售出库(wm_product_sales)、销售发货通知(wm_sales_notice)、领料出库(wm_production_issue)、采购入库(wm_item_recpt)、到货通知(wm_arrival_notice) 2026-05-30 11:09:48 +08:00
YunaiV f5fbd85e26 feat(mes): 迁移 wm 里的 return-* 系列(优化代码) 2026-05-30 11:08:37 +08:00
YunaiV 2fd44246f8 feat(mes): 迁移 wm 里的 return-* 系列 2026-05-30 10:58:56 +08:00
YunaiV 3ef3f246c2 feat(mes): update MES status enums and adjust visibility conditions for pro-card actions 2026-05-30 10:54:54 +08:00
YunaiV 60a423f44a feat(mes): pro-card 迁移 2026-05-30 10:46:21 +08:00
YunaiV be213b6b31 feat(mes): 迁移 work task 功能 2026-05-30 10:37:43 +08:00
YunaiV 7bf65041f9 feat(mes): 迁移 workorder 功能 2026-05-30 10:03:25 +08:00
YunaiV 753fd0e506 feat(mes): 迁移 SN 码并补齐条码业务选择器、修复库存台账
- 新增 wm/sn 模块(antd/ele):SN 码分组列表、生成弹窗、导出分组/明细、删除批次;
  api 补 generate/group-page/delete-batch/export 系列
- 补齐条码管理 USER/BATCH/PROCARD/PACKAGE 业务选择器并按源回填 bizCode/bizName
- 新增 wm/batch 选择器与详情:WmBatchSelect/Dialog(搜索补齐生产任务、模具、
  生产/有效/入库日期)、WmBatchDetail(useDescription);getBatchPage 收紧 PageParams
- 新增 pro/card 共享 API 与 ProCardSelect/Dialog
- 新增 system/user UserSelect/UserSelectDialog,部门树抽为 system/dept 共用
  DeptTreeSelect,user 列表页改用共享组件
- 修复 wm/materialstock 冻结开关 beforeChange(newFrozen, row) 签名 bug、
  批次号列可点开 WmBatchDetail、选择弹窗按 multiple 切 radio/checkbox
- 选择器 resolveItemById 去掉 try/catch+console.error,清理 TODO @AI
2026-05-30 09:59:50 +08:00
YunaiV e313de09c4 feat(mes): 优化 materialstock 的代码实现风格 2026-05-30 09:35:09 +08:00
YunaiV 79af870afe feat(mes): 提交 wm outsource 相关的迁移(代码优化) 2026-05-30 09:16:33 +08:00
YunaiV b6d1154b8f feat(mes): 提交 wm stocktaking 相关的迁移 2026-05-30 09:15:06 +08:00
YunaiV 990d0a78fb feat(mes): 提交 wm outsource 相关的迁移 2026-05-30 09:04:41 +08:00
YunaiV 4b38533c6e feat(mes): 添加采购入库单及行相关接口和功能 2026-05-30 00:57:13 +08:00
YunaiV 6b6d45132f feat(mes): 完善条码管理迁移并补齐业务选择器 2026-05-30 00:51:38 +08:00
YunaiV 7ee42b9888 feat(mes): 迁移(wm-packages)相关迁移(优化代码) 2026-05-29 23:50:48 +08:00
YunaiV f1523e417b feat(mes): 迁移(wm-packages)相关迁移 2026-05-29 23:39:32 +08:00
YunaiV 25bbe79cb2 feat(mes): 迁移(wm-misc)相关迁移 2026-05-29 23:37:05 +08:00
YunaiV e09db73f73 feat(mes): 更新条码相关功能,优化业务类型处理及描述字段 2026-05-29 23:31:51 +08:00
YunaiV 2a7051cceb feat(mes): 更新条码相关功能,优化业务类型处理及描述字段 2026-05-29 23:31:40 +08:00
YunaiV 93024d0061 feat(mes): 添加杂项出库单及入库单相关接口和状态枚举 2026-05-29 23:05:02 +08:00
YunaiV 05cf59b4bc refactor(index.vue): remove unused checkedIds and related comments 2026-05-29 22:34:47 +08:00
YunaiV e91d30e899 refactor(mes/wm/barcode): 对齐 antd/ele componentProps 字母序与注释结构
审查 wm_barcode 时补齐:
- antd data.ts 的 componentProps 键统一为字母序(onChange 提到 options/
  placeholder 之前),与 ele 端保持一致
- antd index.vue 修正 checkedIds 的 JSDoc 错位(拆出「已选条码 ID」与
  「处理勾选变化」两段注释)
- ele config/data.ts 的「编辑时业务类型不允许变更」改为行尾注释,对齐 antd
2026-05-29 22:24:28 +08:00
YunaiV a8d60580be refactor(mes/wm/barcode): 清理 TODO @AI、简化 onBizChange、对齐勾选写法
- 删除 data.ts / config/data.ts / index.vue 里残留的 TODO @AI 注释
- applyBizSelected 改名 syncBizDetail(对齐 mes/qc/ipqc 的 syncUnqualified),
  函数内置 formApi 空判断,去掉中间变量 onBizChange,14 处 onChange 直接调用
- config/data.ts 的 dependencies 单行展开为多行
- index.vue 勾选写法对齐 system/user:records.map((item) => item.id!)
2026-05-29 22:13:57 +08:00
YunaiV b2ccdf80b2 feat(mes/qc): 迁移批次追溯(batchtrace)ele 端 + antd 改用 Vben Description
- ele: 新增 mes/wm/batch API、batchtrace 主页和向前/向后追溯子组件,
  与 antd 端实现保持一致
- antd: trace-detail 改用 useDescription({ schema }) 模式,schema
  抽到 data.ts 的 useDetailSchema();trace-list 的 pagerConfig /
  rowConfig / toolbarConfig 单行展开为多行
2026-05-29 22:09:12 +08:00
YunaiV 76e9df6e8e feat(mes/qc): 迁移待检任务(pendinginspect)
迁移待检任务列表页到 antd 和 ele。新增分页查询 API,列表展示
来源单据类型、检验类型、物料、数量、供应商/工单/客户等字段。
2026-05-29 22:08:51 +08:00
YunaiV b4e7573d10 feat(mes): 优化 generateAutoCode 的调用,减少 try catch 2026-05-29 21:22:14 +08:00
YunaiV f79dffcf2e feat(mes): 迁移 ipqc、oqc、rqc 功能(优化) 2026-05-29 21:10:18 +08:00
YunaiV eeff84b63f feat(mes): 优化 confirm 的代码风格 2026-05-29 19:32:43 +08:00
YunaiV 8028d8b6ef feat(mes): 迁移 batchtrace 2026-05-29 19:31:13 +08:00
YunaiV 8192bb4777 feat(mes): 迁移 materialstock 2026-05-29 19:26:04 +08:00
YunaiV f27942c8f9 feat(mes): 迁移 barcode 2026-05-29 19:24:52 +08:00
YunaiV d245eca60d feat(mes): 迁移 ipqc、oqc、rqc 功能 2026-05-29 19:09:19 +08:00
YunaiV 76260e67f3 feat(mes): 迁移一部分 api 2026-05-29 19:01:15 +08:00
YunaiV fe71f18d21 feat(mes-qc): 迁移 ele 来料检验及检测结果、缺陷记录组件 2026-05-29 16:52:03 +08:00
YunaiV cea628b1a1 feat(mes-qc): 迁移 antd 来料检验及检测结果、缺陷记录组件(代码优化) 2026-05-29 16:27:15 +08:00
YunaiV abc8789fe3 `feat(mes-qc): 迁移 antd 来料检验及检测结果、缺陷记录组件` 2026-05-29 15:54:58 +08:00
YunaiV d3233c4bb4 refactor: 统一表单 schema 挂载与 resetForm 处理 2026-05-29 11:40:28 +08:00
YunaiV 2d1325f11a feat(mes/wm): 迁移仓库基础到 vben5 antd/ele 2026-05-29 09:59:13 +08:00
YunaiV ec5b607171 feat(mes/qc): 迁移质检方案管理 2026-05-29 08:36:16 +08:00
YunaiV 16d6ab0722 feat(mes/qc): 迁移质检指标管理 2026-05-29 00:38:14 +08:00
YunaiV 0ec301cfb3 refactor: 统一确认弹窗调用并优化开发代理配置 2026-05-28 23:22:44 +08:00
YunaiV 177cf37c1f feat(mes/qc): 迁移缺陷类型管理 2026-05-28 21:59:11 +08:00
jason a1d6c8bdb3 Merge remote-tracking branch 'yudao/master' 2026-05-28 17:26:34 +08:00
jason 751af9b9af fix: [bpm] vben5+ele下面,修复部门负责人等加载不出数据问题 2026-05-28 17:25:28 +08:00
jason 7ad2d43121 fix: [bpm] web-ele版本 流程表单字典选择器下拉无法选中问题 2026-05-28 17:21:48 +08:00
YunaiV e9cb162aea refactor: 统一确认弹窗调用并优化开发代理配置 2026-05-28 10:53:24 +08:00
YunaiV 59cc3bbd61 feat(mes): 新增 md workstation 的迁移 2026-05-28 01:08:05 +08:00
YunaiV 2a868b809f feat(mes): 新增 wm 等 api 迁移 2026-05-27 06:37:33 +08:00
YunaiV d1e2202e59 feat(mes): 迁移生产报工 antd/ele 并补齐任务选择器 2026-05-26 22:27:27 +08:00
YunaiV 5a1100aed4 feat(mes): 迁移“生产报工(pro_feedback)”的 ele 功能 2026-05-26 21:18:36 +08:00
YunaiV 44b62e14ac refactor: 统一 Vben 表单弹窗模式为 formType 并更新规范 2026-05-26 12:36:01 +08:00
YunaiV 3acc821de5 feat(mes): 迁移“生产报工(pro_feedback)”的 antd 功能 2026-05-26 08:42:49 +08:00
YunaiV 4a92762d44 fix(mes): 修正安灯迁移的配置角色显示和记录只读字段 2026-05-26 00:08:46 +08:00
YunaiV 9c7986d230 feat(mes):完成“安灯(pro_andon)”的 review 2026-05-25 23:29:41 +08:00
YunaiV f4e71137e0 feat(mes):新增“安灯(pro_andon)”的 review 2026-05-25 22:50:42 +08:00
YunaiV 6b6228bc9c feat(mes):新增“安灯(pro_andon)”的迁移 2026-05-25 22:28:23 +08:00
YunaiV be3d9eaed7 feat(mes):优化 review - 工序定义(pro_process)、工艺路线(pro_route) 2026-05-25 18:10:37 +08:00
YunaiV adb57ed364 feat(mes):优化 review - 工序定义(pro_process)、工艺路线(pro_route) 2026-05-25 18:10:29 +08:00
YunaiV 4949ed1c07 fix(iot):设备管理、产品管理的操作按钮,间隙过大问题 2026-05-25 12:31:09 +08:00
YunaiV 995666e4ce fix(iot):设备管理、产品管理的操作按钮,间隙过大问题 2026-05-25 09:32:57 +08:00
YunaiV 80a25ca767 feat(mes):review 工序定义(pro_process)、工艺路线(pro_route) 2026-05-25 09:25:01 +08:00
YunaiV 01a1d3e001 feat(mes):迁移工序定义(pro_process)、工艺路线(pro_route) 2026-05-25 09:09:14 +08:00
YunaiV 272757995e fix(iot): 修复产品、设备、规则与首页对标差异
- 对齐产品卡片默认图标和图片资源,修正产品导出文件名
- 对齐设备导入、属性历史、分组校验和物模型编辑行为
- 对齐首页统计空态、设备地图图例和快捷日期范围实现
- 对齐数据规则 source/sink 配置、Redis Stream 字段契约和场景联动选择器
- 补充空值判断工具测试,并将剩余 IoT 对标项迁入 done
2026-05-25 08:22:59 +08:00
YunaiV fab333fbb7 feat(mes):迁移【排班日历】 2026-05-25 01:07:52 +08:00
YunaiV d2763dc044 fix(iot): 修复 IoT 复评后续对齐问题
- 补齐设备详情子设备、Modbus 操作权限
- 修复属性搜索清空、模拟器空参数、告警处理备注校验
- 修复 HTTP 数据目的 URL 回显、Redis Stream 密码必填
- 优化固件上传读取时机,补充 isEmptyVal 并复用 JSON 参数校验
- 修正场景产品状态字典和 antd ValueInput 图标导入
2026-05-25 00:43:50 +08:00
YunaiV ab697925cf fix(iot): 修复 antd/ele 对齐评审问题
- 对齐场景联动、首页趋势、产品、设备、分组、物模型等行为
- 修复设备导入结果弹窗、分页、权限、校验规则等差异
- 收敛 antd 与 ele 的实现风格
2026-05-25 00:11:11 +08:00
YunaiV 3c592887b9 feat(mes):统一 dv、cal、md 的代码规范 2026-05-24 23:11:02 +08:00
jason 4ba9390f25 feat: 流程的报表页面支持多种表单类型 2026-05-24 22:29:17 +08:00
YunaiV 8ab0c53011 Merge remote-tracking branch 'origin/master' into migration
# Conflicts:
#	apps/web-antd/src/views/iot/home/modules/message-trend-card.vue
#	apps/web-antd/src/views/iot/rule/data/sink/config/redis-stream-config-form.vue
#	apps/web-antd/src/views/mes/md/client/components/md-client-select-dialog.vue
#	apps/web-ele/src/views/iot/home/modules/message-trend-card.vue
#	apps/web-ele/src/views/iot/rule/data/sink/config/redis-stream-config-form.vue
#	apps/web-ele/src/views/iot/thingmodel/modules/input-output-param.vue
#	pnpm-lock.yaml
#	pnpm-workspace.yaml
2026-05-24 22:20:36 +08:00
YunaiV 13561b933f feat(mes):优化 cal holiday 的界面,和 vue3 + ep 风格对齐 2026-05-24 22:12:02 +08:00
YunaiV 19911a19c0 feat(mes):统一代码规范,form.vue 的 2026-05-24 21:38:08 +08:00
YunaiV 1edf29abeb fix(iot): 修复设备模拟器属性值类型转换
- 按物模型 dataSpecsList 还原 enum/bool 属性原始值类型
- 保持设备消息筛选和卡片分页与 vue3 + ep 源项目一致
- 更新 IoT bug 状态,归档 B144 并清空剩余 todo
2026-05-24 21:36:33 +08:00
YunaiV 617d50f68f feat(mes):完成 dv 的整体迁移(需要评审) 2026-05-24 20:26:00 +08:00
YunaiV 53a00f6e15 feat(mes):完成 cal plan 【排班计划】的迁移 2026-05-24 20:16:26 +08:00
YunaiV 2bcd81dc94 feat(mes):完成 cal team 【班组】的迁移 2026-05-24 20:12:16 +08:00
YunaiV 858011bfab feat(mes):重构 tm-tool-type-tree.vue 为 list.vue 更合理 2026-05-24 20:00:22 +08:00
YunaiV 48547bc53b fix: 修复 IoT 迁移页面多处交互与契约问题
- 修复告警记录产品/设备筛选联动
- 清理设备详情延迟刷新 timer,避免卸载后触发查询
- 优化 OTA 固件编辑态只读展示与任务列表分页重置
- 修复场景联动值输入回显和布尔值类型
- 修复设备模拟器输入串台、数值类型提交和服务参数校验
- 更新 IoT bug 归档与迁移说明
2026-05-24 19:41:15 +08:00
YunaiV eb0f2a5ff2 feat(mes):tm tool 基本迁移完毕 2026-05-24 19:04:50 +08:00
YunaiV 51a05bfc39 feat(mes):tm tool 的 tm-tool-select.vue 组件 2026-05-24 18:36:20 +08:00
YunaiV 6fb45f1ded fix(iot): 修复场景联动动态列表 key 与校验问题
- 新增 getStableObjectKey,统一处理对象列表 v-for 稳定 key
- 场景联动触发器、执行器、条件组、条件项改用稳定对象 key
- 保持场景规则 API 类型不包含 UI 专用 _key 字段
- 修复场景联动触发器/执行器校验与地图详情跳转
2026-05-24 16:43:02 +08:00
YunaiV aeff25209d fix(iot): 修复 13 处 bug 并完成 codex 三轮收口
按 codex 两轮 review 分批处理 IoT 模块 13 处 bug,对第二轮反馈中
B42/B47 的类型/字段问题做最终收尾,所有修复 web-antd / web-ele 两端同步。

主要修复:
- B91  设备分组:删除前校验 deviceCount,分组下有设备时弹警告
- B40  物模型 array 数据规格:从 Radio.Group @change 事件正确取值(antd)
- B42  物模型属性历史:list 写入时按 idx 生成 _rowKey,模板 row-key="_rowKey"
       list 类型改 IotDeviceApi.DeviceProperty & { _rowKey: string }
       匹配后端 IotDevicePropertyMapper.xml 实际返回的字段
       (修掉 codex 指出的 antd row-key TS2322 与 ele 同毫秒撞键)
- B119 物模型表单:edit 模式禁用 identifier 编辑
- B47  场景规则主条件:产品/设备切换时清 deviceId/identifier/operator/value
       (修掉 codex 指出的 condition.value.param TS2339,Trigger 无 param)
- B44  数据目的数据库配置:SQL 复制按钮 setTimeout 在 onBeforeUnmount 中清理
- B51  场景规则首页统计:total 取接口 result.total,其余基于当前页
- B29  产品卡片视图:图标为 URL 时改用 <img> 渲染,复用 @vben/utils 的 isHttpUrl
- B43  首页设备地图:移除过度设计的 AbortController,回归 vue3 源项目同款
       InfoWindow 监听写法,querySelector 限定到 .BMap_bubble_content 子树
- B105 场景规则设备选择器:productId 变化后旧 deviceId 不在新列表则清空
- B45  通用 key-value 编辑器:v-for key 改用递增的 _uid,避免编辑/删除时 DOM 复用错乱
- B132 设备导入表单:beforeUpload 校验 .xls/.xlsx
- B126 设备详情:四个 tab 子组件 v-if 增加 device.id 守卫

附带工具收敛:
- @vben-core/shared/utils 新增 formatDayjs,统一 antd TimePicker/DatePicker
  value-format 后回传的 Dayjs|string 归一
- 场景规则首页 updateStatistics 补回 JSDoc,对齐文件内其他 function 风格

验证:
- 改动文件 pnpm exec eslint 0 error
- pnpm -F @vben/web-antd / @vben/web-ele exec vue-tsc --noEmit --skipLibCheck
  过滤 src/views/iot/|src/api/iot/ 均 0 hit
2026-05-24 10:11:43 +08:00
YunaiV 241cf76788 fix(iot): 修复 21 处 bug(P1×15 + P2×6)
经 codex 4 轮复评定稿,antd / ele 两端同步。

P1(场景规则 / 物模型 / Modbus / Redis sink / 路由):
- B7/B8 隐藏路由 path 与 activePath 对齐 vue3 源(产品 / OTA 固件详情)
- B9 移除后端不存在的 deleteSceneRuleList 封装
- B10 物模型 number specs 恢复 min/max/step/unit 校验
- B11 物模型新增枚举项补 dataType: ENUM
- B12 物模型 struct 非空校验绑 fieldPath,array 嵌套显式覆盖
       property.dataSpecs.dataSpecsList,确保父表单 validate 触发
- B13 struct 与 input-output-param 编辑回填 cloneDeep,取消不污染原对象
- B14 Modbus Client 模式 ip/port/timeout/retryInterval 改 dependencies 条件必填
- B19 Redis sink 补 dataStructure(默认 Stream)+ Hash/ZSet 条件字段
- B20 仅 ALERT_RECOVER 强校验 alertConfigId,ALERT_TRIGGER 放行
- B21 conditionGroups 递归校验
       · 设备状态/属性 param 必填
       · CURRENT_TIME 按 operator 区分:TODAY 免、BETWEEN_TIME 双段、其它单段
       · 触发器 / 条件 / 执行器 deviceId 改显式 null/undefined 判断,
         保留「全部设备 = 0」(后端 action 支持广播执行)
- B22 事件上报条件改回普通 Input,允许标量值或留空
- B23 antd 当前时间条件 :value / @update:value 绑定 + Dayjs 类型 normalize;
       归一逻辑抽到 @vben/utils.formatDayjs(packages/@core/base/shared/utils/date.ts),
       供所有 app 复用
- B24 设备控制动作切换无条件清依赖,去掉 isInitialized 冗余守卫
- B26 JSON 参数输入先全部校验通过后再写入父表单

P2(产品 / 设备 / 物模型展示 / 数据源):
- B28 产品 deviceType 去默认值,强制用户显式选择
- B30 设备列表 DeviceName 加点击详情 slot
- B31 设备卡片显示备注名称(nickname || deviceName)
- B32 设备详情 hasLocation 改用 != null,合法 0 坐标不再判空
- B41 物模型数据定义展示顺序改为 name-value
- B46 数据源 getData() 剔除仅 UI 用的 identifierLoading 临时字段
2026-05-24 00:32:35 +08:00
YunaiV ef57c96b2f fix(iot): 修复 6 处 bug(P1×5 + P3×1)
- product/product/data.ts: 网关子设备不显示联网方式
  show 条件由 != GATEWAY 改为 != GATEWAY_SUB(原写法漏判子设备)
- home/message-trend-card.vue: onMounted 兜底首次拉取
  ShortcutDateRangePicker 早期 emit 触发的请求落在 useEcharts
  isActiveRef=false 阶段会被静默丢弃;并加 isFirstMount guard 跳过
  子组件首次 emit,消除首次进入的双请求
- ota/firmware/data.ts: FileUpload accept 改回 ['bin','zip','pdf']
  并同步 helpText,对齐 vue3 源约定
- device/device/index.vue: 批量删除补 confirm 二次确认弹窗,
  与 system 模块批删风格一致,避免一键误删
- device/device/detail/modules/modbus-point-form.vue: 字节序仅在
  「为空 / 不属于新 rawDataType 合法选项」才重置,避免编辑回填时
  setValues 触发 handleValuesChange 把已保存字节序覆盖

antd + ele 两端同步。
2026-05-23 22:04:08 +08:00
YunaiV d646a23f7d fix(bpm): clean up BPMN viewer resize observer 2026-05-23 21:48:01 +08:00
xingyu4j fb2595ef90 Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2026-05-23 18:39:12 +08:00
芋道源码 eaaf55eafa
!346 fix(sms): 修复短信渠道列表展示不一致
Merge pull request !346 from 芋道源码/dev
2026-05-23 08:45:03 +00:00
YunaiV d910450426 fix(sms): 修复短信渠道列表展示不一致 2026-05-23 16:41:36 +08:00
芋道源码 cfbd13289f
!345 迁移 wms + iot 部分
Merge pull request !345 from 芋道源码/migration
2026-05-23 01:42:47 +00:00
YunaiV 152964395d fix(iot): 修复场景联动动作类型切换 + 数据规则弹窗 4 处 bug
- B50 动作类型切换清理失效:updateActionType 先调 onActionTypeChange
  (此时 action.type 仍是旧值)再赋新值;onActionTypeChange 内恒真的
  type !== action.type 简化为 if (action.identifier)
- B16 新增弹窗不重置主表单:onOpenChange 关闭分支补 formApi.resetForm()
- B17 允许空数据源提交:source-config-form.validate() 补空数组校验
- B18 子表单校验 reject 未处理(弹窗关闭不掉):onConfirm 内 try/catch
  包子表单校验,失败 return 中止提交
2026-05-22 20:24:30 +08:00
YunaiV f8c869f1ff feat(mes):md client select 迁移 2026-05-22 08:41:54 +08:00
YunaiV 00779aacb3 feat(mes): 迁移 cal、dv、tm 的 api 2026-05-22 08:34:47 +08:00
YunaiV 9d665bd6b9 docs(iot): 新增 codex 评审入口 + 登记异步竞态不修决策
- review-for-codex.md:本轮修复背景 + 决策 + 文件清单 + 给 codex
  的 5 项重点关注。与 bug.md(待修源头) / bug_ignore.md(不修登记)
  形成三文件分工,后续 codex / 二次评审不会丢上下文
- bug_ignore.md/I-1:登记 scene 表单 3 处异步竞态(property-selector
  / device-selector / device-control-config 的 watch 异步加载)不修决策。
  评估理由:触发窗口极窄、低频操作、~40 行 epoch 模板代码成本不匹配、
  vue3 源也未做。复评条件:API 层接入 AbortController 时顺手补、
  用户实际反馈、改后端 push 模式
2026-05-21 21:26:36 +08:00