admin-vben/apps/web-antd
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
..
public fix: lint 2026-03-14 12:16:31 +08:00
src fix(iot): 修复 13 处 bug 并完成 codex 三轮收口 2026-05-24 10:11:43 +08:00
.env feat(iot):【设备定位】添加设备位置功能,支持地图展示和坐标选择 2026-01-21 21:10:09 +08:00
.env.analyze feat: Feature/pro docs (#70) 2024-07-28 14:29:05 +08:00
.env.development fix: gitignore 2025-11-20 16:46:04 +08:00
.env.production feat:【antd/ele】生产环境下,默认开启 CAPTCHA 验证码,保证安全性 2026-01-03 19:20:25 +08:00
index.html Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2026-04-13 16:45:32 +08:00
package.json fix(iot): 修复 13 处 bug 并完成 codex 三轮收口 2026-05-24 10:11:43 +08:00
tsconfig.json Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into vite8 2026-03-14 11:34:06 +08:00
tsconfig.node.json feat: tsgolint 2026-03-13 23:13:10 +08:00
vite.config.ts Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into vite8 2026-03-14 11:34:06 +08:00