Commit Graph

4814 Commits (61c71b9a0eb37737aee892ef9685448fda263f17)

Author SHA1 Message Date
芋道源码 31a7f6248a
Merge pull request #223 from DevDengChao/codex/lint-iot-ai
chore: fix ai and iot lint
2026-05-23 22:06:03 +08:00
芋道源码 02c0d0cb3b
Merge pull request #222 from DevDengChao/codex/lint-components
fix: lint src components
2026-05-23 21:35:25 +08:00
YunaiV a2fbf5b712 fix: clean up BPMN viewer resize observer 2026-05-23 21:06:20 +08:00
YunaiV cb78c2935d Merge remote-tracking branch 'origin/master' 2026-05-23 18:24:57 +08:00
YunaiV 798318ef7d Merge branch 'master' of https://github.com/yudaocode/yudao-ui-admin-vue3 2026-05-23 18:21:33 +08:00
芋道源码 8971c37059
Merge pull request #221 from HmEJ/feature/bpm
流程图居中显示
2026-05-23 18:21:10 +08:00
芋道源码 7dd7309e9c
!878 fix: 场景联动中设备状态变更配置的参数值(在线-online,离线-offline)与后台实际使用的(在线-1,离线-2)不一致,导致场景不生效。
Merge pull request !878 from 熊猫大侠/master-iot
2026-05-23 09:33:27 +00:00
YunaiV 1612e3e1b6 fix(iot): 场景联动动作类型切换清理逻辑失效
updateActionType 先调 onActionTypeChange(此时 action.type 仍是旧值)
再赋新值,修复 type guard 永远 false 导致切换执行器类型不清空旧
identifier;onActionTypeChange 内恒真的 type !== action.type
简化为 if (action.identifier)
2026-05-22 20:24:58 +08:00
YunaiV 72d8c499a4 feat(im): 修一批管理端统计与成员选择器细节
- 消息趋势 / 用户趋势图表加 loading 态(接口错误由全局拦截器统一提示)
- 群成员选择器 grid 模式补右上角 × 移除按钮
- 统计接口 6 个 API 补全返回值泛型
2026-05-22 20:15:15 +08:00
panda fa653ac887 fix: 优化IoT告警配置支持动态选择邮件、短信、站内信的模板,不再依赖templateCode。 2026-05-22 14:52:50 +08:00
panda 1888757854 fix: 场景联动中设备状态变更配置的参数值(在线-online,离线-offline)与后台实际使用的(在线-1,离线-2)不一致,导致场景不生效。 2026-05-22 10:50:28 +08:00
YunaiV 38ecc4f40c feat(im): 修一批前端性能 / 跨账号防御与侧边栏占位
- friendStore.getFriend 改 friendMap 索引,高频反查从 O(N) 降到 O(1)
- faceStore 加 storeEpoch,切账号后旧表情拉取 / 增删响应不再回写新账号
- friendStore 写路径统一补 epoch 守卫(loadFriendInfo / 单查申请 / 删好友 /
  免打扰 / 置顶 / 拉黑 / 备注),切账号瞬间的旧响应不污染新账号好友状态
- 私聊侧边栏 friend 缺失时给加载占位,替代原本的空白抽屉
2026-05-22 08:38:56 +08:00
YunaiV 9893aedbb2 feat(im): 修一批 WS 健壮性与跨账号防御
- WS 重连改指数退避(1→2→4→8→16→30s + jitter),频率封顶不再固定 3s 形成惊群
- onerror 不再调 reconnect,主动 close 让 onclose 成为唯一重连入口,避免双触计数 +2
- 私聊 / 群消息入口加防御层,senderId / receiverId / 定向 receiverUserIds 不含当前用户的帧直接丢弃
- useMessagePuller 引入 epoch + userId 双重快照,离开 IM / 切账号时旧 pull 写入前自检跳出
- cancelPull 同步清 WS messageBuffer,防止下次进 IM 把旧 session 缓冲帧回放进新 store
2026-05-21 20:02:44 +08:00
YunaiV 5a983bb1eb feat(im): 修一批上传安全与群聊交互问题
- 限制消息媒体上传大小,并让视频独立上传路径复用同一校验
- 禁止发送可执行 / 脚本类文件扩展名
- 切账号时废弃好友 store 未返回请求
- 多选转发过滤撤回 / 系统类消息
- 邀请群成员时前端拦截人数上限
- 允许群管理员 @ 所有人
2026-05-21 17:31:46 +08:00
YunaiV b5bc537f86 feat(alert): simplify alert config loading and display 2026-05-21 17:27:27 +08:00
YunaiV fead282395 feat(im): 修一批正确性 / UX 细节:群名 trim 空、敏感词 / 封禁理由空白校验、默认群名计入创建者、ack 后重算会话摘要、文本重试复用 clientMessageId 防重复 2026-05-21 15:57:46 +08:00
YunaiV 73aa578c9b feat(im): 修管理端 3 处:群消息 atUserNicknames 类型允许 null、移除前端无效的「消息内容」查询入口、表情包宽高加表单校验 2026-05-21 15:10:34 +08:00
YunaiV 7a236b4378 feat(im): 修 L-13/L-16:PagedScroller 加 itemKey 防索引乱位、私聊 Message.targetId 改对端 userId、抽 getPrivateMessagePeerId 收敛 4 处 peer 计算 2026-05-21 14:50:42 +08:00
YunaiV 1015423431 feat(im): 修一批 L 危:window.open 加 noopener、@ 浮层箭头方向跟随定位、置顶展开切群重置、加黑名单取消静默、菜单负坐标兜底、群选择回显跨页补查 2026-05-21 14:25:21 +08:00
YunaiV 3949e0c89f fix(im): 修复 IM 前端批量 UX 状态问题 2026-05-21 13:25:55 +08:00
YunaiV 29b257b8cd feat(im): 修一批状态串扰:群申请列表防同群 WS 推送乱序覆盖、群免打扰同步会话、跨端群已读清 @、联系人 selection 跟随 store、好友申请按钮并发锁 2026-05-21 11:11:36 +08:00
YunaiV 1e08e9fbca feat(im): 修 IM 切账号串号:loadConversations 开头清状态、加 loadedUserId 守门跨账号同 key 误激活、新增 clear() 对齐 friend/group store 2026-05-21 10:06:52 +08:00
YunaiV 69653163b0 feat(im): 修 IM 历史消息切会话串号:loadEarlier 用 getConversationKey 守卫,watch(conversation) 重置分页态 2026-05-21 09:05:44 +08:00
YunaiV 8468d9bf4d feat(im): 修 WebSocket 重复连接:connect 入口检测旧 socket 状态复用 / 重建,disconnect 解绑全部 handler 2026-05-21 08:41:44 +08:00
YunaiV f7cda1fc4e feat(im): 修一组细节:会话 silent 跟随新消息同步、合并末尾刷摘要 + 群 @ 标记、录音 1s 下限、邀请 reload 透 friendIds、pull 游标取最大 id 2026-05-21 01:13:29 +08:00
YunaiV fee633b0c8 feat(iot): 优化代码,尽量使用 ProductStatusEnum 枚举 2026-05-21 00:17:57 +08:00
YunaiV b63492199a feat(im): 对齐微信:免打扰会话改小红点、消息 Tab 二次点击滚动到下一未读、移除工具栏 hover tooltip 2026-05-20 23:57:18 +08:00
YunaiV c6b6e723e0 feat(im): 将 style 尽量多的改成 unocss,ai 友好 2026-05-20 19:38:14 +08:00
YunaiV 0a07d4a2e4 feat(im): 将 style 尽量多的改成 unocss,ai 友好 2026-05-20 13:56:46 +08:00
YunaiV fc812aef26 feat(im): 增加频道消息的已读状态 2026-05-20 01:00:46 +08:00
YunaiV f26c65c03f fix(iot): 固件操作的权限校验 2026-05-20 00:41:32 +08:00
YunaiV 30b963149a feat(im): 修复频道消息的引用展示不对; 2026-05-19 23:57:46 +08:00
YunaiV 9a36cfe933 feat(im): 继续优化频道的各种代码(v4)优化卡片样式 2026-05-19 23:52:11 +08:00
YunaiV 94e5fc00ac feat(im): 继续优化频道的各种代码(v3) 2026-05-19 22:06:38 +08:00
YunaiV 2442a01e48 feat(im): 继续优化频道的各种代码(v2) 2026-05-19 17:48:35 +08:00
YunaiV bfd407d75b feat(im): 继续优化频道的各种代码, 2026-05-19 17:18:48 +08:00
YunaiV b6d123ac72 feat(im): 增加频道的检查 2026-05-19 14:18:08 +08:00
YunaiV 5ebbbf7499 feat(im): 新增频道消息的前端实现 2026-05-19 13:26:32 +08:00
YunaiV 8ad7180c2b fix(CheckOrderForm): remove preselectDisabled option from SKU selection 2026-05-18 21:21:15 +08:00
DevDengChao f5bcaf22f9 chore: fix mall bpm misc lint
Co-authored-by: Codex <codex@openai.com>
2026-05-18 14:19:49 +08:00
DevDengChao 40d762070f fix: lint src components
Co-authored-by: Codex <codex@openai.com>
2026-05-18 14:19:40 +08:00
DevDengChao 7fa9311753 fix lint issues in mp and mes views
Co-authored-by: Codex <codex@openai.com>
2026-05-18 14:18:27 +08:00
DevDengChao 60c74b991e chore: fix ai iot lint
Co-authored-by: Codex <codex@openai.com>
2026-05-18 14:16:58 +08:00
YunaiV c4519a8696 feat(alert): enhance description input to textarea for better usability
feat(movement): add function to retrieve selected inventory keys
2026-05-18 13:30:04 +08:00
YunaiV b52ad0c34b refactor: 前端 IM API 移除 src/api/im/home 中间目录,face / friend / group / message / rtc 直接放在 src/api/im 下 2026-05-18 13:20:43 +08:00
YunaiV 5c2ee259a6 feat(im): 管理后台新增通话记录只读查询(列表 / 详情 / 参与者);im_rtc_participant 增加 call_id 关联 im_rtc_call.id
 feat(im): 管理后台新增通话记录页面(列表 + 详情抽屉 + 参与者表),消息预览补 RTC_CALL_START / END 文案
2026-05-18 12:37:51 +08:00
YunaiV 8329a6a885 feat(im): 振铃超时 Job 单人粒度标 NO_ANSWER + 独立 NO_ANSWER 信令推送
 feat(im): 处理 RTC_CALL(NO_ANSWER) 信令;私聊气泡显示「未接听」
2026-05-18 09:45:32 +08:00
YunaiV 073c54bc1d feat(wms):优化出库的交互,已选择的库存,disabled 掉,体验更好 2026-05-18 08:58:33 +08:00
YunaiV f58d1d88c8 feat(im): 振铃超时 Job 单人粒度标 NO_ANSWER + 独立 NO_ANSWER 信令推送
 feat(im): 处理 RTC_CALL(NO_ANSWER) 信令;私聊气泡显示「未接听」
2026-05-18 08:03:52 +08:00
YunaiV f6963cde37 Merge remote-tracking branch 'origin/master' 2026-05-18 01:03:15 +08:00
YunaiV 0c54bf28b3 fix(iot):物模型编辑回显时,service / event 子字段补数组兜底,避免参数列表绑定 undefined 2026-05-18 01:03:04 +08:00
YunaiV d0cd93de5a chore: fix eslint warnings from vite dev 2026-05-18 00:59:59 +08:00
YunaiV 12a41da241 feat(im): 修复摄像头关闭后画面卡在最后一帧(pickStream 短路 mute 状态) 2026-05-18 00:26:14 +08:00
YunaiV ae7f3a8bc5 feat(im): 群通话本端拒绝 / 挂断后立即从胶囊条移除自己,无需等后端推回 2026-05-18 00:12:28 +08:00
YunaiV b9b085f1ee feat(im): 群通话本端拒绝 / 挂断后立即从胶囊条移除自己,无需等后端推回 2026-05-18 00:00:53 +08:00
YunaiV dc318c8e75 feat(im): 通话事件接入会话列表预览(私聊补 START 入消息流);文案统一「语音通话」 2026-05-17 22:26:07 +08:00
YunaiV 6cd49f0ce4 feat(im): 修复主叫取消通话时摄像头偶发未关闭的竞态 2026-05-17 21:02:54 +08:00
YunaiV 85207bec98 feat(im): 群通话发起/接听时主动同步胶囊条,避免依赖 webhook 延迟 2026-05-17 20:27:43 +08:00
YunaiV 46c436e0df feat(wms):将首页的枚举值去掉,统一合并到 constants 里,更聚焦点 2026-05-17 18:17:30 +08:00
YunaiV 5d222bdf48 feat(im): 通话窗扬声器开关 + 按钮关闭态统一深色样式 + 群通话支持刷新后重新加入
- useLiveKitRoom 增加 speakerEnabled 状态 + setSpeakerEnabled;audio 元素 :muted 联动,实现扬声器实际开关
- mic / speaker / camera / 屏幕共享 4 个按钮关闭态统一 bg-white/15 深色(之前一直 bg-white 像「开」)
- speaker / camera / 屏幕共享 关闭态 icon 借用 tabler:volume-off / video-off / device-laptop-off 显斜线(ant-design 缺 muted 变体)
- RtcGroupCallBanner 修复刷新后无法重新加入:按钮文案改为「已在通话中 / 重新加入 / 加入」三态;按钮文字色锁定深色防暗色主题不可见
- RtcCallIncoming 对齐微信样式:右上角小条 + 横排(头像 / 名 / 按钮);群聊带「通话成员」头像行
- RtcCallRunning UnoCSS 重写 + 接收 isGroup prop(去 conversationType 派生)
- RtcCallParticipantTile UnoCSS 重写 + speakerEnabled 透传静音
- 注释 / UI 文案半角省略号 → 全角……;watcher 参数 hidden → suppressTick
2026-05-17 17:37:37 +08:00
YunaiV ceb1aa9bce Merge remote-tracking branch 'origin/master' 2026-05-17 17:30:48 +08:00
YunaiV 26a3b87114 feat(iot):移除 DeviceTableSelect.vue、ProductTableSelect.vue 无用组件 2026-05-17 17:30:38 +08:00
YunaiV 03d0ce800d feat(im): 优化群邀请的 running 的交互 2026-05-17 16:46:10 +08:00
YunaiV a3f89d686c Merge pull request #215 from yudaocode/upgrade
# Conflicts:
#	build/vite/optimize.ts
#	package-lock.json
#	package.json
#	pnpm-lock.yaml
2026-05-17 13:56:29 +08:00
YunaiV 68922ebf02 feat(im): 优化群邀请的 incoming、inviting 的交互 2026-05-17 10:36:01 +08:00
YunaiV e629ac3825 feat(im): 增加群 call title(进度)情况 2026-05-16 21:39:44 +08:00
YunaiV 8b4351e4f3 feat(im): 增加群邀请电话的 dialog 2026-05-16 21:39:23 +08:00
YunaiV 28473434da fix: reduce low-risk vue-tsc errors in erp forms
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 18:48:35 +08:00
YunaiV 1f47e3c9d6 feat:增加 ts:check 优化,避免 ai 校验 oom 报错 2026-05-16 17:47:11 +08:00
YunaiV a18c81511c fix(wms): 完善单据状态保护与金额精度处理
- 后端补充商品、往来企业唯一性校验
- 单据更新改为按草稿状态条件更新,避免覆盖已完成单据
- 补充 WMS 金额、规格精度迁移 SQL 与测试表结构
- 前端统一明细金额兜底计算,优化完成/作废取消处理
2026-05-15 19:59:45 +08:00
YunaiV b3bb1114ba fix(wms): 完善单据状态保护与金额精度处理
- 后端补充商品、往来企业唯一性校验
- 单据更新改为按草稿状态条件更新,避免覆盖已完成单据
- 补充 WMS 金额、规格精度迁移 SQL 与测试表结构
- 前端统一明细金额兜底计算,优化完成/作废取消处理
2026-05-15 19:48:33 +08:00
YunaiV 50cfbfe58b feat(wms): 统一数量金额精度并清理 schema 脱钩
后端:
- 新增 sql/mysql/wms/20260515_wms_amount_precision.sql
  11 张表金额字段统一升到 decimal(16,2),覆盖 SKU 单价、单据主表/明细
  总金额/行金额、盘库实际金额、库存流水单价/行金额
- 新增 sql/mysql/wms/20260515_wms_sku_dimension_precision.sql
  SKU 长宽高对齐 lite 改为 decimal(10,1)、毛/净重改为 decimal(10,3)
- 测试 SQL create_tables.sql 全量同步生产 MySQL:数量 (20,2)、
  金额 (16,2)、长度 (10,1)、重量 (10,3),修复"测试 schema 与生产
  脱钩"导致单测假阳性的隐患
- WmsWarehouseServiceImpl.validateWarehouseCodeUnique 去掉
  StrUtil.isBlank 提前 return,因 code 已由 VO 层 @NotBlank 强制非空
- WmsWarehouseServiceImplTest 同步调整

前端:
- ReceiptOrderForm / ReceiptOrderDetail 合计行去掉"单价合计"派生展示,
  单价不能跨行相加;保留数量合计与行金额合计

文档:
- review-opus.md 收口至仅剩 F10 (SQL 导出,用户认领)
- 新增 fix-plan.md 与 精度调整-codex讨论.md,沉淀本轮决策依据
2026-05-15 18:52:37 +08:00
YunaiV c81116678a feat(wms): 拆 simple-list 列表 VO、补首页校验与业务单号搜索框
后端:
- 新增 WmsItemListReqVO / WmsMerchantListReqVO,simple-list 接口不再
  复用分页 PageReqVO,Swagger 上不再误暴露 pageNo/pageSize 字段
- WmsItemController / WmsMerchantController 的 getXxxSimpleList 改用
  独立 ListReqVO;Mapper.selectList、Service.getXxxList 同步调整签名
- WmsHomeStatisticsServiceImpl 三个查询入口加 validateWarehouseIfPresent,
  非空 warehouseId 走 warehouseService.validateWarehouseExists 校验,
  避免前端误传任意 id 直接落到首页 SQL
- 新增 sql/mysql/wms/20260515_wms_total_price.sql:幂等给 4 张明细 / 流水表
  补 total_price 列并按 ROUND(quantity*price, 2) 回填历史数据

前端:
- receipt/index.vue + shipment/index.vue 搜索栏补 bizOrderNo 输入控件,
  对齐已声明的 queryParams 与后端 PageReqVO 支持
- WmsHomeOrderSummaryCards.getStatusPercent 改 function 声明,并去掉
  最小 4% 占比下限,保留真实比例
2026-05-15 18:23:59 +08:00
YunaiV fa570c2637 feat(wms): 持久化出入库移库明细行金额并补全库存流水金额展示 2026-05-15 14:11:14 +08:00
YunaiV 2ffbcbd71f feat(wms):打印时,更新、新增的信息整合 2026-05-15 13:25:56 +08:00
YunaiV 524ed28973 feat(wms):打印时的 barcode 标签 2026-05-15 13:12:23 +08:00
YunaiV 508d06b493 feat(wms):更新修复进展 2026-05-15 13:09:30 +08:00
YunaiV f82ae7e0c8 feat(wms):优化整体代码结构 2026-05-15 12:59:11 +08:00
YunaiV 24343f66fc feat(wms):调整 check 的实现 2026-05-15 11:00:14 +08:00
YunaiV 52972506a8 feat(wms):更新修复进展 2026-05-15 10:45:28 +08:00
YunaiV d128df618e feat(wms):增加 code 字段生成(从后端到前端),用户更可控 2026-05-15 10:22:37 +08:00
YunaiV 5f944548a3 fix(wms): 调整文档的最新内容 2026-05-15 09:46:40 +08:00
YunaiV 7bae330828 fix(wms): 移库选择商品时,必须两个仓库都选择完 2026-05-15 09:06:59 +08:00
YunaiV 7ff8cb78e1 feat(wms):统一 4 个订单界面的样式和代码风格 2026-05-15 08:44:08 +08:00
YunaiV 8252f7b068 feat(wms):优化 onlyPositiveQuantity 只查询库存非空的处理。 2026-05-15 08:24:54 +08:00
YunaiV 19db64c08a feat(wms):优化代码的排版 2026-05-14 23:04:50 +08:00
YunaiV e0352af8b0 feat(wms):优化代码的排版 2026-05-14 22:53:53 +08:00
YunaiV ae54f938cf feat(wms):优化首页的代码实现 2026-05-14 22:35:53 +08:00
YunaiV b455ce4949 feat(im): 优化 rtcStore 的命名 2026-05-14 22:15:35 +08:00
YunaiV 58537a34c7 feat(wms):增加首页的 review 2026-05-14 18:53:56 +08:00
YunaiV 4a811fb0bb feat(im): 评审下 rtcStore 的实现 2026-05-14 17:16:46 +08:00
YunaiV 804ad667e0 feat(wms):优化盘库单的实现 2026-05-14 17:03:49 +08:00
YunaiV eaedb1e0ca feat(wms):移库管理,调整合计金额、数量的字段与交互。(前端负责展示,后端负责计算) 2026-05-14 09:46:19 +08:00
YunaiV e579a4de13 feat(im): 优化 rtc 整体弹窗界面 2026-05-14 09:44:39 +08:00
YunaiV df013ac69c feat(wms):出库管理,调整合计金额、数量的字段与交互。(前端负责展示,后端负责计算) 2026-05-14 09:07:26 +08:00
YunaiV 6f96d004a9 feat(wms):入库管理,调整合计金额、数量的字段与交互。(前端负责展示,后端负责计算) 2026-05-14 08:39:04 +08:00
YunaiV 44808eb3f4 feat(wms):调整 order_time 放到【仓库】后面 2026-05-14 00:02:03 +08:00
YunaiV a7911bcbcf feat(wms):增加 order_time 单据字段 2026-05-13 23:31:03 +08:00
YunaiV a170ae37ab feat(im): 优化消息的 format 相关的逻辑,从 user 抽到 message 工具类里,更加统一 2026-05-13 23:27:02 +08:00
YunaiV 841d2cb763 feat(im): 统一 im 的 api 风格,保持一致性 2026-05-13 22:58:09 +08:00