YunaiV
|
6ddaa3a755
|
fix: 吸收 Vue3 类型收敛与低风险修复
- 三端对齐 AI image 入参类型:DALL3 width/height 转 number,MJ base64Array 必填并初始化
- 收敛 CRM/BPM/IOT/Pay/Member/Mall/MP/Infra 等模块 VO 与表单类型
- 修复 mall kefu conversationList.toSorted 未写回导致排序无效
- Reward 商品范围数组改必填并初始化,表单直接绑定数组字段
- BPM form-design 去掉多余 props 捕获,收敛 form-create rule 类型
- simple-process 子流程固定多实例数量用 number 输入、string 存储
- 修复 web-ele 用户任务超时天数 ISO duration:P...D 而非 PT...D
- 修复 web-antd BPM 表单设计模板孤立 > 噪声
验证:web-antd/web-ele clean typecheck 通过;web-antdv-next 既有错误未命中本轮文件
|
2026-06-21 21:24:05 -07:00 |
YunaiV
|
21998d8044
|
fix(iot): 修复 IoT 场景联动最近触发时间不显示
- 对齐后端字段 lastTriggerTime
- 修复 web-antd、web-ele、web-antdv-next 的 API 类型、表格列和插槽读取
|
2026-06-07 14:55:30 +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
|
ab697925cf
|
fix(iot): 修复 antd/ele 对齐评审问题
- 对齐场景联动、首页趋势、产品、设备、分组、物模型等行为
- 修复设备导入结果弹窗、分页、权限、校验规则等差异
- 收敛 antd 与 ele 的实现风格
|
2026-05-25 00:11:11 +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
|
6fb45f1ded
|
fix(iot): 修复场景联动动态列表 key 与校验问题
- 新增 getStableObjectKey,统一处理对象列表 v-for 稳定 key
- 场景联动触发器、执行器、条件组、条件项改用稳定对象 key
- 保持场景规则 API 类型不包含 UI 专用 _key 字段
- 修复场景联动触发器/执行器校验与地图详情跳转
|
2026-05-24 16:43:02 +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 |
xingyu4j
|
fb2595ef90
|
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin
|
2026-05-23 18:39:12 +08:00 |
YunaiV
|
d1a2601b6c
|
fix(iot): alert 模块对齐后端 VO + 搜索体验对齐 vben 实践(P1)
- alert/config API 删除多余字段 updateTime
- alert/record API 删除多余字段 deviceName / productName / processTime
- alert/record 搜索表单告警级别字段 configLevel → level ,
对齐后端 IotAlertRecordPageReqVO.level(之前提交后端不会按级别筛选)
- alert/record 搜索表单设备字段改用 ApiSelect + getSimpleDeviceList 全量加载,
showSearch / filterable 模糊搜索,对齐 vben 项目 13+ 处 ApiSelect 主流实践
- alert/config + alert/record 列表移除空跑 checkbox 列(无批量删除接口)
|
2026-05-21 16:39:30 +08:00 |
YunaiV
|
057ca0bfde
|
refactor: 收敛 iot rule/scene API 的重复类型声明(P1)
- antd / ele api/iot/rule/scene,删除外层重复的 4 个 interface
- createSceneRule / updateSceneRule 入参改用 RuleSceneApi.SceneRule
- 业务文件 import 统一改用 RuleSceneApi.SceneRule / Trigger / TriggerCondition / Action
- 清理 2 处 TODO @haohao 残留注释
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-21 11:01:09 +08:00 |
YunaiV
|
e6e15ca4ef
|
feat(mes): 迁移客户、供应商、车间管理到 vben
|
2026-05-21 10:35:54 +08:00 |
YunaiV
|
0d175cbe9c
|
fix: 修复 iot 模块 ele 端迁移阻塞的类型 / 字段问题(P0)
- ele property-selector / device-control-config,改用 ThingModelApi 命名空间引用
- ele api/iot/thingmodel,补 ThingModelTSL 类型,收敛 getThingModelTSLByProductId 返回值
- ele api/iot/rule/scene,SceneRule 补 lastTriggeredTime 字段
- ele views/iot/rule/scene/data.ts,useGridColumns 对齐 antd 的 5 列结构
- ele views/iot/home/modules/message-trend-card,ElSelect 改用 ElOption 子节点
- ele / antd api/iot/rule/scene,Action.params 类型 Record<string, any> 改为 string
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-21 10:20:30 +08:00 |
YunaiV
|
b3462c3286
|
feat(iot): 将 antd 的 rule scene 迁移到 ele 里。
|
2026-05-21 08:53:16 +08:00 |
YunaiV
|
250d3eb39f
|
feat(iot): 迁移 iot 在 ele 的 api
|
2026-05-20 09:57:47 +08:00 |