admin-vben/apps/web-ele/src
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
..
adapter chore(iot): 数组回调缩写参数展开为完整业务命名 2026-05-21 18:46:59 +08:00
api fix(iot): 修复 13 处 bug 并完成 codex 三轮收口 2026-05-24 10:11:43 +08:00
assets/imgs feat: 自动回复迁移 2025-11-04 16:53:08 +08:00
components feat(iot): 迁移 ele 的 map 组件 2026-05-20 13:09:26 +08:00
layouts Merge branch 'main' into main 2025-11-12 04:27:57 +08:00
locales feat(web): add antdv-next model 2026-02-08 23:00:19 +08:00
plugins/form-create feat(form-create): 【ele/antd】新增 iframe 和省市区选择器组件 2026-02-08 11:56:02 +08:00
router fix(iot): 修复 21 处 bug(P1×15 + P2×6) 2026-05-24 00:32:35 +08:00
store feat: migrate to Tailwind CSS v4 (#7614) 2026-03-10 05:08:45 +08:00
types fix: eslint 2026-03-13 15:58:53 +08:00
utils fix: lint 2026-03-14 12:16:31 +08:00
views fix(iot): 修复 13 处 bug 并完成 codex 三轮收口 2026-05-24 10:11:43 +08:00
app.vue feat: element-plus app (#32) 2024-07-31 21:22:43 +08:00
bootstrap.ts feat: (web-ele)新增颜色输入框组件并优化图片上传组件 2025-08-05 15:32:12 +08:00
main.ts feat: element-plus app (#32) 2024-07-31 21:22:43 +08:00
preferences.ts feat: 完善 ele 的请求、路由、百度统计、概览、登录 2025-05-09 17:57:44 +08:00