YunaiV
caa6fa9be3
fix: 修复头像裁剪容器高度异常
...
- 穿透设置 cropperjs 动态插入的 cropper-canvas 高度
- 解决头像上传裁剪区域只显示 100px 的问题
2026-06-07 18:29:02 +08:00
YunaiV
849f33c5a1
Merge remote-tracking branch 'origin/master'
2026-06-07 18:10:32 +08:00
YunaiV
a08bdab7eb
fix: 修复 ContentWrap 搜索栏异常滚动条
...
- 覆盖 Element Plus 新版 el-card body 默认 overflow:auto
- 避免搜索栏 ContentWrap 出现多余内部滚动条
2026-06-07 18:10:22 +08:00
芋道源码
5f5702ab17
!881 fix: 修复 IM 用户项 API 引用路径大小写错误
...
Merge pull request !881 from 久我山八重很不高兴w/master
2026-06-07 06:22:59 +00:00
芋道源码
70f683fda2
!882 fix: 修复场景联动列表页最近触发未能正确显示最后触发时间
...
Merge pull request !882 from 熊猫大侠/master-iotscene
2026-06-07 06:21:46 +00:00
YunaiV
a4f8760415
refactor(mes): 移除冗余农历插件依赖
...
- 移除节假日页面未使用的 dayjs-plugin-lunar 扩展
- 统一使用 tyme4ts 计算农历、节日和节气信息
- 清理 package.json 和 pnpm-lock.yaml 中的冗余依赖
2026-06-07 01:46:01 +08:00
YunaiV
9bcffb8b38
fix(router): 修复父子同名路由导致子菜单丢失
...
- 收窄同名子路由折叠条件
- 仅在父级只有一个同名默认页时折叠
- 修复商城装修下装修模板菜单不显示的问题
2026-06-07 01:30:47 +08:00
YunaiV
8f24a79444
Merge remote-tracking branch 'origin/master'
2026-06-06 23:40:27 +08:00
YunaiV
0e46f09779
fix(mall): 修复首页账户充值金额单位显示错误
...
- 首页运营数据的账户充值金额从分转换为元后展示
- 同步修复 Vue3 与 Vben 的 antd、ele、antdv-next 三端
2026-06-06 23:40:11 +08:00
panda
69cd0b7875
fix: 修复场景联动列表页最近触发未能正确显示最后触发时间
2026-06-02 11:26:19 +08:00
久我山八重很不高兴w
ba5c378a00
update src/views/im/manager/face/userItem/index.vue.
...
Signed-off-by: 久我山八重很不高兴w <479067860@qq.com>
2026-06-01 14:00:10 +00:00
YunaiV
d1cb99c74a
feat(im):增加 im 的功能说明
2026-06-01 08:16:37 +08:00
YunaiV
b46b1647eb
feat(im):合并 im 最新版本到 master 分支
2026-05-31 22:56:55 +08:00
YunaiV
2f7ec5b78f
Merge branch 'im' of https://gitee.com/yudaocode/yudao-ui-admin-vue3
...
# Conflicts:
# package.json
# pnpm-lock.yaml
# src/api/system/user/index.ts
2026-05-31 22:40:16 +08:00
YunaiV
37c70daaaf
Merge remote-tracking branch 'origin/master'
2026-05-31 21:51:09 +08:00
YunaiV
944dd34d9e
(〃'▽'〃)_v2026_05_发布:新增 WMS 仓储管理系统,完成 Vben5 IoT/MES/WMS 双端适配
2026-05-31 21:51:04 +08:00
YunaiV
ff3c7884cc
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
595b8c5bb4
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
e6c0976c52
fix(crm): 修复待办线索漏传归属场景
2026-05-31 09:37:36 +08:00
YunaiV
ed31f0d3c1
fix(bpm): 修复审批详情表单与时间线重叠
2026-05-31 09:30:24 +08:00
YunaiV
2e68890c7d
fix(iot): 完善场景联动配置必填校验
...
- Vue3 抽取场景联动校验工具,统一触发器、附加条件和执行器校验
- Vben5 antd/ele 同步场景联动提交前兜底校验
- 补充 CRON 表达式、JSON 参数和动态字段必填校验
- 保留 deviceId=0 表示全部设备的业务语义
2026-05-31 00:36:40 +08:00
芋道源码
8405a07dd0
!880 fix: 修复场景联动配置中所有必填字段缺少了实际的验证
...
Merge pull request !880 from 熊猫大侠/master-iotscene
2026-05-30 15:13:58 +00:00
YunaiV
1b7fb5ed5d
feat(member): 会员增加 email 字段
2026-05-30 22:55:27 +08:00
YunaiV
aff1439629
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:01 +08:00
芋道源码
9a4f9b6995
!879 fix: 优化IoT告警配置支持动态选择邮件、短信、站内信的模板,不再依赖templateCode。
...
Merge pull request !879 from 熊猫大侠/master-iot-message
2026-05-30 12:57:22 +00:00
YunaiV
d08413a68e
fix(mes): 修改多个组件以使用整数类型的字典选项
2026-05-30 20:38:43 +08:00
YunaiV
89a49cf19c
refactor(frontend): 统一当前登录用户 ID 获取入口
...
- 新增 getCurrentUserId 到 utils/auth
- 替换 IM、CRM、BPM、MES、Mall 等模块中直接读取 userStore.getUser.id 的写法
- 移除 IM 内部 currentUser 工具依赖,统一从全局 auth 工具获取当前用户编号
- 保留 userStore 对昵称、头像、部门等非 ID 字段的读取
2026-05-28 23:38:46 +08:00
YunaiV
763e11eb78
refactor(im): 统一本地存储入口和 store 命名
...
- 删除 utils/storage.ts,getCurrentUserId 移到 utils/user.ts
- StorageKeys 移到 utils/db.ts,按 localStorage / settings 分组
- db 客户端新增 clearStore;整桶 store 改为 clearStore + 循环 put 单事务
- 业务 store action / getter 统一改为 verbXxxList / verbXxx 风格
- draft API 加 Conversation 前缀;FriendStore loadFriends 改名 loadFriendData
- 卸载 localforage 依赖
2026-05-28 19:49:54 +08:00
YunaiV
664904bd06
refactor(im): 拆分会话消息存储并合并草稿
...
- 新增 IM IndexedDB DB client,按当前用户初始化本地库
- 将会话与消息拆成 conversations / messages 逐条存储
- 将草稿合并进 Conversation.draft,删除 draftStore
- 优化 pull 批量写入,消息、会话摘要和游标同事务落库
- 统一 store action 命名,清理旧 localStorage key 和 TODO
- 保留 maxId settings 游标,避免本地消息回收后游标回退
2026-05-28 08:39:49 +08:00
YunaiV
811b93d9f1
refactor(im): 拆分会话和消息本地存储
...
- 新增 IM IndexedDB DB 封装、schema、key helper 和 session guard
- 新增 messageStore,支持消息逐条持久化、分页加载、ack 合并、撤回和回执更新
- 调整 conversationStore 只持久化会话摘要,不再内嵌 messages 数组
- 切换发送、拉取、WebSocket、媒体上传和消息组件到 messageStore
- 增加离开 IM 时的 store 清理和本地存储序列化保护
2026-05-27 23:46:18 +08:00
YunaiV
e80e5203a4
feat(mes): 迁移生产报工 antd/ele 并补齐任务选择器
2026-05-26 22:27:27 +08:00
熊猫大侠
c8b132433a
Merge branch 'master' of gitee.com:yudaocode/yudao-ui-admin-vue3 into master-iotscene
...
Signed-off-by: 熊猫大侠 <1565636758@qq.com>
2026-05-26 06:02:26 +00:00
panda
57596361ef
fix: 修复场景联动配置中所有必填字段缺少了实际的验证
2026-05-26 11:22:24 +08:00
YunaiV
685ada8475
fix(mes): 修正安灯迁移的配置角色显示和记录只读字段
2026-05-26 00:08:46 +08:00
YunaiV
e1b8370267
fix: 修复 IM 申请与 RTC 边界问题
...
- 复用好友申请、群申请和群邀请唯一键冲突后的旧记录,并补充测试
- 收敛 RTC 旁观者加入、忙线校验、追加邀请超员和群通话通知逻辑
- 为 RTC 参与者补充房间用户唯一约束与 MySQL 迁移
- 统一群本体管理请求的 id 字段,并同步前端调用
- 修复前端来电活跃态守卫和 LiveKit 重连前断开旧房间
- 清理群成员通知基类命名和相关注释
2026-05-25 20:54:11 +08:00
YunaiV
a4dfb717aa
fix(im):批量修复群管理、RTC 和消息链路问题
...
- 修复群管理行锁、管理员角色更新、群主转让、置顶消息并发问题
- 修复好友申请 maxId 游标、重复申请排序、通知类型校验和消息内容结构校验
- 修复消息统计口径、RTC token 鉴权、离会通知、前端拉取取消和媒体重试
- 优化表情批量删除、WebSocket 推送注释、群 READ 字段和相关单测
- 更新 bug_todo、bug_done 和 bug_rejected,剩余 9 个待修
2026-05-25 09:04:25 +08:00
YunaiV
06a008b030
fix(iot): 修复规则数据回显与 JSON 参数校验
...
- 修复 HTTP 数据目的编辑 URL 回显时机
- 复用 isEmptyVal 校验 JSON 必填参数,允许 0 和 false
2026-05-25 00:44:02 +08:00
YunaiV
f3807e30d5
fix(im): 批量修复 P1/P2 问题
...
- 修复管理端消息内容搜索和私聊双向查询
- 加强 RTC 通话并发状态保护,去除重复接口错误提示
- 支持成员永久禁言
- 脱敏群消息 WebSocket 定向收件人字段
- 更新 IM bug 台账,剩余 P1/P2 共 35 个
2026-05-25 00:28:59 +08:00
YunaiV
dc1a582fbd
fix(iot): 修复源端 IoT 对齐基线问题
...
- 收紧物模型标识符前端校验规则
- 修复场景联动设备状态触发器校验
- 修正设备列表状态字段展示
2026-05-25 00:11:19 +08:00
YunaiV
8b06efe5ee
fix: 加强 IM 上传 URL 与 RTC 来电载荷校验
2026-05-24 23:41:46 +08:00
YunaiV
309a4bf4d0
fix(im): 强化好友关系、消息历史和前端交互
...
- 校验群资料字段长度,并在同意好友申请时复验双方用户
- 仅向双向有效好友推送资料更新通知
- WebSocket 推送收件人去重,并忽略空用户编号
- 群聊和私聊历史保留撤回消息记录
- 校验群通话排除发起人后仍需存在被邀请人
- 统一 IM 前端接口参数传递方式
- 抽取全局 URL 安全打开工具,并复用到消息预览
- 防止好友申请同意和拒绝按钮重复操作
- 补充好友、消息、RTC、WebSocket 相关测试
2026-05-24 21:24:15 +08:00
YunaiV
2ede2b371f
fix(im): 批量修复 P0 安全边界和通话流程问题
...
- 拒绝匿名 WebSocket 握手,收紧 RTC 接听和入会忙线校验
- 支持封禁群解散,管理端解散改为独立权限码
- 增加个人表情数量配置、唯一约束和并发重复兜底
- 修复 RTC 异常断开上报、视频远端音频和好友选择大列表渲染
- 让个人表情添加失败透出后端业务错误
- 流转 P0 bug 文档,并按产品取舍记录 apiSecret 默认值不强制拦截
2026-05-24 20:21:00 +08:00
YunaiV
00f273ca77
fix(im):加固好友、群成员与群消息边界流程
...
- 清理好友重加时的 deleteTime 和历史备注残留
- 清理群成员重入时的 quitTime、muteEndTime 和邀请来源残留
- 允许封禁群成员主动退群,仍拦截已解散群
- 校验群已读游标的消息归属和可见性
- 收窄群消息置顶通知为专用展示对象并同步前端展示
- 回填群成员单查接口的昵称和头像
- 补充相关回归测试并流转 IM bug 状态文档
2026-05-24 18:22:07 +08:00
YunaiV
dd009a1de0
优化代码排版
2026-05-24 00:18:49 +08:00
芋道源码
fa42f8e574
Merge pull request #225 from DevDengChao/codex/lint-mall-bpm-misc
...
chore: fix mall bpm and misc lint
2026-05-23 22:07:05 +08:00
芋道源码
a1c43ed427
Merge pull request #224 from DevDengChao/codex/lint-mp-mes
...
fix: lint mp and mes views
2026-05-23 22:06:15 +08:00
芋道源码
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
a2d043bc72
fix: normalize scss variable injection on Windows
...
- normalize injected variables.scss path for Windows Sass
- skip variable-defining scss files to avoid duplicate global variables
2026-05-18 00:47:16 +08:00
YunaiV
7622a44bbb
fix:尝试修复 windows 的兼容性:additionalData: `@use "${pathResolve('src/styles/variables.scss')}" as *;`,
2026-05-18 00:31:55 +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
4f4c64cfff
feat(wms):调整 README.md
2026-05-16 15:09:42 +08:00
YunaiV
9a49c2df20
feat(wms):调整 README.md
2026-05-16 14:56:10 +08:00
YunaiV
9b8b1322b7
Merge branch 'wms' of https://gitee.com/yudaocode/yudao-ui-admin-vue3
2026-05-16 14:41:33 +08:00
YunaiV
ecb15b6481
feat:更新 README.md
2026-05-16 14:40:33 +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
YunaiV
8d06f87e0f
feat(wms):减法,去掉批次号等字段
2026-05-13 22:06:37 +08:00
YunaiV
fdbb98fe65
feat(wms):减法,去掉 area 表
2026-05-13 20:29:25 +08:00
YunaiV
c5948d405e
feat(wms):减法,去掉 detail 表,和 mes 更对齐
2026-05-13 18:42:51 +08:00
YunaiV
70aff05ef5
feat(wms):新增移库、盘库管理
2026-05-13 09:47:45 +08:00
YunaiV
b3b35e147b
feat(wms):新增出库管理
2026-05-13 08:57:41 +08:00
YunaiV
765c8ea94f
feat(wms):修复只能删除作废的入库单的问题
2026-05-13 00:42:29 +08:00
YunaiV
ac49ba5c6d
feat(wms):增加供应商 select 组件
2026-05-12 23:34:45 +08:00
YunaiV
3ef4e8424f
feat(wms):增加入库列表的评审
2026-05-12 23:30:06 +08:00
YunaiV
c865dfe488
feat(wms):进一步优化入库单的后端实现(对齐 mes)
2026-05-12 23:02:46 +08:00
YunaiV
18e5c97bf3
✨ feat(im): 将后端的 roomName 和 callId 融合,简化字段和逻辑(一致性更好、概念更简洁)
2026-05-12 20:29:08 +08:00
HmEJ
680c0e0e8b
feat: 使流程图居中显示
2026-05-12 16:50:13 +08:00
YunaiV
38cb980ce4
✨ feat(im): 完善 rtc 的后端代码逻辑,各种代码风格的优化
2026-05-12 13:17:04 +08:00
YunaiV
0be2674277
feat(wms):增加 inv 库存的新增、修改方法,并提供相关单测
2026-05-12 11:14:21 +08:00
YunaiV
f0cd639137
feat(wms):优化 inventory history
2026-05-11 15:11:39 +08:00
YunaiV
314293ced3
feat(wms):优化 inventory 的实现
2026-05-11 14:10:16 +08:00
YunaiV
32bbd912a2
feat(wms):增加 inventory history
2026-05-11 13:07:35 +08:00
YunaiV
32442830b0
feat(wms):增加 inventory
2026-05-11 09:45:24 +08:00
YunaiV
711d5abc0a
feat(wms):完善往来企业
2026-05-10 23:56:28 +08:00
YunaiV
4da16e95f5
feat(wms):完善商品信息、SKU 信息
2026-05-10 22:46:23 +08:00
YunaiV
d890781149
feat(wms):增加商品信息、SKU 信息
2026-05-10 21:33:42 +08:00
YunaiV
30e4fef7bb
feat(wms):增加商品分类、商品品牌。
2026-05-10 16:38:25 +08:00
YunaiV
8105cc786a
(〃'▽'〃)_v2026_04_发布:新增代码生成器 Excel 导入,增强 IoT 场景联动与数据流转
2026-05-10 10:59:52 +08:00
YunaiV
eb8002ce0b
chore: make build scripts cross-platform
...
- use cross-env for NODE_OPTIONS in build commands
- align local/dev/test/stage/prod build scripts with Vite modes
- add cross-env to pnpm lockfile
2026-05-10 10:01:08 +08:00
YunaiV
1aad2f1648
feat(wms):迁移到 md 更整体
2026-05-10 09:02:51 +08:00
YunaiV
c3737d3b7a
feat(wms):增加 warehouse 功能
2026-05-10 01:22:38 +08:00
YunaiV
750f25410c
✨ feat(im): 基于 livekit 构建 im 通话(语音聊天、视频聊天、共享桌面)v0.1:推进中
2026-05-09 15:23:07 +08:00
YunaiV
e12596ad7c
♻️ refactor(im): 移动 IM 相关 API 引用至新路径
2026-05-09 01:25:03 +08:00
YunaiV
2935d7d112
✨ feat(im): 拆出私聊 / 群聊已读两个全局开关,关闭后禁用接口与所有 UI 入口(含群回执)
...
ImProperties.message 新增 privateReadEnabled / groupReadEnabled,前端 config.ts 同步镜像。关闭后:
- 后端:read 系列接口(read / getMaxReadMessageId / getGroupReadUserIds)抛业务异常;sendGroupMessage 强制 NO_RECEIPT 忽略 receipt=true;pull 群消息跳过 Redis 已读游标读取与 readCount 补齐
- 前端:气泡已读标签 / 群回执 popover / 「发送回执消息」下拉入口 / admin 列表「状态」「回执」列与详情对应字段按开关隐藏;自动上报 / 冷启动同步对方已读位置 / WS READ & RECEIPT handler 全部按开关短路兜底,避免打到禁用接口
- 单测:补 @Spy ImProperties 修复原本就在的 NPE,加 disabled 分支断言
2026-05-09 01:07:18 +08:00
YunaiV
46b06b0444
【新增】IM:群头像支持成员头像九宫格兜底
...
群头像为空时,取前 9 个成员头像在 Canvas 上拼九宫格 dataURL;空头像 / 加载失败的格子画跟 UserAvatar 同款色卡(首字 + charCode 哈希调色板)。
- 新增 GroupAvatar 组件包一层 UserAvatar;按容器 size × DPR 自适应画布像素,避免 retina 屏糊
- utils/group.ts 加 buildGroupAvatar 与 LRU 缓存 facade(上限 200);utils/image.ts 抽公共 loadImage;utils/user.ts 抽 getAvatarText / getAvatarBgColor 供 UserAvatar 与拼图共用
- GroupItem / GroupInfo / ConversationItem / ConversationPickerPanel 按会话类型分支换用 GroupAvatar
2026-05-08 18:28:02 +08:00
YunaiV
70e7a1c900
【新增】IM:群头像支持成员头像九宫格兜底
...
群头像为空时,取前 9 个成员头像在 Canvas 上拼九宫格 dataURL;空头像 / 加载失败的格子画跟 UserAvatar 同款色卡(首字 + charCode 哈希调色板)。
- 新增 GroupAvatar 组件包一层 UserAvatar;按容器 size × DPR 自适应画布像素,避免 retina 屏糊
- utils/group.ts 加 buildGroupAvatar 与 LRU 缓存 facade(上限 200);utils/image.ts 抽公共 loadImage;utils/user.ts 抽 getAvatarText / getAvatarBgColor 供 UserAvatar 与拼图共用
- GroupItem / GroupInfo / ConversationItem / ConversationPickerPanel 按会话类型分支换用 GroupAvatar
2026-05-08 18:27:53 +08:00
YunaiV
c5b082ca80
♻️ refactor(im): 业务策略数值从 ImCommonConstants 上移到 ImProperties(按 group / message 子模块分组),常量类仅保留 AT_USER_ID_ALL 协议契约值
...
♻️ refactor(im): 抽出 utils/config.ts 集中数值常量,按业务域统一前缀(GROUP_ / MESSAGE_ / FRIEND_ / CONVERSATION_ / FORWARD_),constants.ts 只留协议枚举与契约值
2026-05-08 17:42:13 +08:00
YunaiV
dfd5b39a17
feat(im): MessageForwardDialog 接入「创建聊天」分支 + 收尾打磨
...
- MessageForwardDialog 加 view: 'conversation' | 'contact' 切换:
- 模板按 view 切 ConversationPickerPanel / FriendPickerPanel;dialog header 用 slot 渲染「← 返回」
- handleSwitchToContact 切 view + 清留言(避免不可见输入框留言被静默发出)
- handleCreateGroupAndSend 复用 forwardToTarget(newConversation),merge / single 都按 mode 自动跑
- 成功 / 失败统一末尾退多选 + 关弹窗,避免源会话遗留多选态
- 顺手清掉 GroupMemberAddDialog / MessageForwardDialog 末尾多余空行
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:16:01 +08:00
YunaiV
312df4c73d
refactor(im): 抽象 IM 选择类弹窗为 PickerPanel 体系,对齐微信 PC
...
- 拆「业务壳 + 纯 PickerPanel」两层;13 个 dialog 统一 ref + open(opts) 接口
- 新增 FriendPickerPanel / ConversationPickerPanel / GroupMemberPickerPanel
- 抽 useFriendBuckets / useSelectedItems composable + buildDefaultGroupName / picker-dialog.scss mixin
- conversationStore 加 recentForwardConversationKeys 系列 action(持久化到 IDB)
- 三态语义固化:hide > locked > disabled
- 圆形勾选用微信绿;主按钮跟随项目主题色;最近转发横向头像 + 移除模式
- 删 GroupMemberSelector(由 GroupMemberPickerPanel 替代)/ FriendLite.deleted 死字段
- 配套:project_duibiao/im/dialog-picker-{contract,wechat-compare}.md
2026-05-08 14:06:48 +08:00
YunaiV
40ac2daca8
✨ feat(im):文本气泡 @ 高亮支持点击 + URL 自动识别成可点击链接
...
- @ 段:群消息按 atUserIds 反查群成员,候选 name 兼容历史字面量(真实昵称 / 好友备注 / 群自定义昵称),displayName 统一收敛到 nickname,让历史消息也能渲染成 @真实昵称;@ 段点击弹 UserInfoCard
- @所有人:注入 IM_AT_ALL_USER_ID 虚拟候选,对齐微信 PC 仅高亮配色不挂点击
- 同名歧义:同字面量对应多个 userId 时标记 ambiguous,parser 整段消费成普通文本,避免错绑用户
- URL:识别 http(s) / www. 起头链接,<a target="_blank"> 新标签打开;默认补 https://
- TipSegment 加 link 变体作为统一文本片段类型,TEXT 气泡与灰条 tip 共用 TipSegments 组件渲染
- MessageInput @ token 文本统一用真实昵称,不再掺好友备注 / 群自定义昵称
2026-05-08 01:23:09 +08:00
YunaiV
094ab44094
🎨 refactor(im): joinMentionSegments 用 flatMap 替代命令式 push
...
少一个可变 out + 命令式 forEach,意图更直观
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 23:59:00 +08:00
YunaiV
9eb221e8d2
✨ feat(im): 灰条 tip 文案的 mention 段支持点击弹 UserInfoCard
...
群广播 / 撤回 / 好友事件 tip 文案从纯字符串拆成 TipSegment[],mention
段携带 userId,渲染层挂点击 → uiStore.openUserInfoCardAtEvent。
- utils/message.ts:加 TipSegment 协议 + 零依赖 helper
- utils/user.ts、utils/conversation.ts:加 segments builder,string 版
改写为 segmentsToText 包装,避免 case 表分叉
- TipSegments.vue:按 activeConversation 推断 addSource,群里走
GROUP+群名、私聊走 SEARCH;nickname 不传备注避免 UserInfo 首屏闪
- MessageItem.vue / MessageHistory.vue:tip 块切 <TipSegments>
顺手补:utils/constants.ts 新增 SystemUserSexEnum,替换 IM 模块 sex
硬编码 1 / 2
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 23:46:50 +08:00
YunaiV
5b85a4c469
✨ feat(im): 浏览器标签 title 拼上未读数前缀
2026-05-07 22:17:03 +08:00
YunaiV
7fa1dbc55c
🐛 fix(im): 当前打开的会话在列表里不再展示 [草稿] 前缀
2026-05-07 21:55:45 +08:00
YunaiV
cc93b8a742
✨ feat(im): 初始化消息转发 v0.4:第四次评审(语音播放器资源释放打磨)
...
agent 三轮复审后的质量打磨,无功能变更。
- useVoicePlayer.stop:audio.removeAttribute('src') + audio.load() 替代 audio.src = '';不会触发空 src 加载的 error 事件,也能让浏览器立即释放底层 decoder buffer
- useVoicePlayer.play:同 key 再点的 stop() 改 stop(key),意图自解释(我想停的就是我自己)
- useVoicePlayer 移除未消费的 currentKey 暴露;调用方都走 isPlaying(key) 派生
- home/index.vue onUnmounted 追加 voicePlayer.stop():模块级单例 audio 不会随视图卸载自动停,补主壳兜底
2026-05-07 21:46:33 +08:00
YunaiV
0b07091e79
🐛 fix(im): 修复切会话 watch 仅监听 targetId 导致私聊与群聊 id 同号时不触发
...
home/index.vue 已读 watch、MessagePanel 滚动 / 侧栏 / 群资料预拉 watch 都只看 targetId,
私聊 1 切群 1 时不会触发,会把侧栏 / 新消息浮窗 / 滚动状态 / 已读上报漏掉,且不跑 ensureGroupData。
对齐多选 + 语音那两条 watch,统一改成监听 [type, targetId]。
2026-05-07 21:26:40 +08:00
YunaiV
0323566878
✨ feat(im): 初始化消息转发 v0.3:第三次评审(语音播放全局互斥)
...
新点的语音停掉旧的,对齐微信 PC 语义;一次只播一条,主面板 / 历史抽屉 / 合并详情共享同一播放态,避免多窗口同时出声。
- 新增 useVoicePlayer composable:模块级单例 currentTask + play / stop;ended / error / play().catch 全部 once: true 收尾,避免 listener 泄漏;play(key, url) / stop(key?) / isPlaying(key) 以 Symbol 当播放身份
- MessageBubble setup 里 Symbol('im-message-bubble-voice') 生成实例级 voiceKey;voicePlaying 改成派生 computed,移除本地 currentAudio
- MessageBubble 卸载兜底:调 voicePlayer.stop(voiceKey) 仅停自己;防止删除消息 / 历史抽屉切筛选导致气泡消失但 audio 仍在响;不会误伤别处仍可见的同 url 气泡
- MessagePanel 切会话 watch 追加 voicePlayer.stop()
- MessageHistory 关闭抽屉 watch 追加 voicePlayer.stop()
- MessageMergeDetailDialog handleClose 追加 voicePlayer.stop()
2026-05-07 21:26:12 +08:00
YunaiV
82d065c270
✨ feat(im): 初始化消息转发 v0.2:第二次优化部分代码(一些工具类等)
2026-05-07 20:34:09 +08:00
YunaiV
cf01143632
✨ feat(im): 初始化消息转发 v0.1:第一次评审
2026-05-07 19:47:27 +08:00
YunaiV
9bcdc92806
✨ feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题)
2026-05-07 19:07:37 +08:00
YunaiV
f5936a6e7f
✨ feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题)
2026-05-07 18:01:43 +08:00
YunaiV
d175fe86be
✨ feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题)
2026-05-07 17:28:16 +08:00
YunaiV
ce66a507ef
✨ feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题)
2026-05-07 17:25:03 +08:00
YunaiV
65d5aacac9
✨ feat(im): 初始化群名片 v0.1:第一次评审
2026-05-07 13:07:56 +08:00
YunaiV
808ad575fc
✨ feat(im): 初始化群申请 v0.5:第六把 review(性能 / 健壮性 / 简洁度收口)
...
后端
- createInviteRequestList N+1 → 3 SQL:批量 select IN + update IN + insertBatch;20 人邀请从 40 RTT 降到 3 RTT
- service 不再出现 mybatis:复用记录的 update(null, wrapper) 下沉到 Im{Group,Friend}RequestMapper.update*Reset helper
- inviteGroupMember 入参去重切 hutool:CollUtil.subtractToList(CollUtil.distinct(...), activeMemberUserIds)
- 删除 dead 字段 inviterUserId(GroupRequestApprovedNotification / GroupRequestRejectedNotification):前端不再消费
前端
- 1505 / 1506 通知改静默:同意走群事件 1509 / 1510 渲染系统提示,拒绝不再打扰
- 修竞态:addByRequestId 校验 handleResult === UNHANDLED,避免 1503 在途时被 1505 / 1506 抢先后又把已处理记录塞回未处理列表
- 修复 dialog 复用记录刷新:watch key 含 inviterUserId / applyContent,同 id 不同内容也触发 refetch;actingId 期间跳过避免本端动作多余 RTT
- 修复 willGoApproval 误报:group.ownerUserId 兜底群主;members 未到位时保守按非审批处理
- unhandledCountMap memoized getter:O(N) 扫一次缓存到 Map,ConversationItem 直读 Map 消除 O(N×M) 重复 filter
2026-05-07 08:13:27 +08:00
YunaiV
cb26df3ca1
✨ feat(im): 初始化群申请 v0.4:第五把 review(多轮 finding 修复 + 通知静默化)
...
- 邀请路径写 addSource=INVITE;群主 / 管理员邀请绕过审批;inviteGroupMember 入参去重
- getGroupRequest 越权校验加成员有效状态判断;新增 list-by-group 接口
- 申请列表按 update_time 倒序,update(null, wrapper) 路径手动刷 updateTime
- addByRequestId 不再 skip 同 id,复用记录刷新并置顶
- GroupRequestListDialog 单群模式订阅 store 增量同步;GroupMemberAddDialog 审批分支文案区分
- ConversationItem 增加 [X 条进群申请] 红字前缀;MessagePanel 顶部胶囊横幅
- 1505 / 1506 通知改静默:同意走群事件渲染系统提示,拒绝不再打扰;清掉 dead inviterUserId 字段
2026-05-07 00:51:48 +08:00
YunaiV
b2ba42049b
✨ feat(im): 初始化群申请 v0.3:第四把 review(优化界面,进一步对齐微信界面)【之前提交错了】
2026-05-06 23:57:54 +08:00
YunaiV
f746aebe08
✨ feat(im): 初始化群申请 v0.3:第四把 review(优化界面,进一步对齐微信界面)
2026-05-06 23:57:03 +08:00
YunaiV
0eca952c6a
✨ feat(im): 初始化表情包 v0.3:第四把 review(增加表情管理的界面)
2026-05-06 23:00:08 +08:00
YunaiV
a98e32554c
✨ feat(im): 初始化表情包 v0.2:第三把 review
2026-05-06 21:08:46 +08:00
YunaiV
2f513f7b8f
✨ feat(im): 初始化群申请 v0.2:第三把 review
2026-05-06 20:51:45 +08:00
YunaiV
8eebfd4744
✨ feat(im): 初始化表情包 v0.1:第二把 review
2026-05-06 20:50:55 +08:00
YunaiV
1ed5dc7e6a
✨ feat(im): 初始化表情包 v0.0:第一把 review
2026-05-06 19:42:19 +08:00
YunaiV
8fc5273a88
✨ feat(im): 初始化群申请 v0.1:第二把 review
2026-05-06 18:52:30 +08:00
DevDengChao
81711a98c9
docs: 删除依赖升级备注
2026-05-06 16:55:01 +08:00
DevDengChao
766b3906fa
docs: note sequential build verification
...
Co-authored-by: OpenAI <support@openai.com>
2026-05-06 16:30:35 +08:00
DevDengChao
cd63cf2b34
chore: remove e2e tests and playwright
...
Co-authored-by: OpenAI <support@openai.com>
2026-05-06 16:24:25 +08:00
DevDengChao
84ae85f545
chore: upgrade runtime dependencies
...
Co-authored-by: OpenAI <support@openai.com>
2026-05-06 16:13:36 +08:00
DevDengChao
78b6679e63
chore: upgrade dev tooling dependencies
...
Co-authored-by: OpenAI <support@openai.com>
2026-05-06 16:07:04 +08:00
DevDengChao
ee5ed1f97b
merge: upstream master into upgrade
...
Co-authored-by: OpenAI <support@openai.com>
2026-05-06 16:00:18 +08:00
YunaiV
3be0daf115
✨ feat(im): 初始化群申请 v0.0:第一把 review
2026-05-06 14:53:47 +08:00
YunaiV
4868d69ed8
✨ feat(im): 优化名片消息类型 v0.4:增加转发成功失败的提示
2026-05-06 12:18:31 +08:00
YunaiV
1ac0650984
♻️ refactor(im):注释对齐 + patchMessage 复用 applyServerMessageUpdate
...
- recomputeConversationLast / videoCoverUrl / showSendingLoading 三处 JSDoc 跟实现对齐:
原描述还停留在旧设计(lastSendTime 不重算 / 占位 coverUrl 用 blob / 「外层 loading 多余」),
这轮一并改成当前事实,避免后续维护被误导
- patchMessage 删手写 revoke + Object.assign,改调 applyServerMessageUpdate,
与 ackMessage / insertMessage(existingIndex) 共用一份服务端字段合并语义;
「值未变早返回」保留在 patchMessage 顶部
- 抽 BLOB_URL_PREFIX 常量替代散落在 utils/message.ts 与 useMediaUploader.ts 的 3 处 'blob:' 字面量
2026-05-06 10:38:43 +08:00
YunaiV
30d695d702
🐛 fix(im):codex 评审修复发送中状态边角
...
- recomputeConversationLast 空 messages 时一并清 lastSendTime,
避免刷新后被 drop 的媒体占位让空会话仍按旧时间排在列表前面
- 视频占位 coverUrl 不再赋 blob URL:<video poster> 期待图片资源,
传 video blob 在部分浏览器会退化成黑底,cover 等 probe 出真实 URL 后由 commit 阶段一起 patch
- useMediaUploader 暴露 requireMediaHandler typed accessor,
消除 video 链路 mediaTypeHandlers[VIDEO]! 非空断言
- MessageItem 把外层 loading 的 (!isUploading || isVoice) 抽成 showSendingLoading computed
2026-05-06 10:18:49 +08:00
YunaiV
459eaa5428
♻️ refactor(im): 优化消息存储逻辑,减少不必要的处理
...
改进消息存储时的处理逻辑,通过提前检查是否存在 _localFile 来优化性能,避免不必要的全量映射操作。
2026-05-06 08:50:13 +08:00
YunaiV
59aab8ecdc
✨ feat(im): 优化名片消息类型 v0.3:增加表情选择
2026-05-06 08:47:18 +08:00
YunaiV
b17f7a57e5
✨ feat(im): 优化发送中的能力 v0.2:简化各种 kind、复用各种逻辑
2026-05-06 08:46:33 +08:00
YunaiV
957a63f8f4
✨ feat(im): 优化名片消息类型 v0.2:优化转发弹窗的界面样式
2026-05-06 08:33:03 +08:00
YunaiV
c15d75ba91
✨ feat(im): 优化发送中的能力 v0.1:各种清理时的边界
2026-05-06 08:22:41 +08:00
YunaiV
3836467481
✨ feat(im): 优化名片消息类型 v0.1:补充缺失的名片展示
2026-05-06 08:21:52 +08:00
YunaiV
f3de29f95f
✨ feat(im): 增加名片消息类型
2026-05-06 08:00:36 +08:00
YunaiV
8f2eddea4a
✨ feat(im): 增加发送中的能力,针对图片、文件、视频等
2026-05-06 08:00:23 +08:00
YunaiV
f8cc9d14d9
✨ feat(im): 优化下禁言弹窗的样式
2026-05-05 22:51:26 +08:00
YunaiV
5bd99c53c2
🐛 fix(im):codex 评审修复 FRIEND_ADD / FRIEND_DELETE 接收方 peer 与 clear 气泡
...
- FRIEND_ADD 接收方 peer 改按帧 sender / receiver 反推:becomeFriends 单条入库后双方收到同一份 payload,payload.friendUserId 固定是 toUserId,本端真正的对端要看自己是 sender 还是 receiver;新增 websocketStore.computeFriendPeerId 算好后传给 friendStore.applyFriendAdd/DeleteNotification
- FRIEND_DELETE clear=true 跳过气泡插入:clear 语义是清会话本身,气泡分支按 isFriendDeleteWithClear 校验,避免在已清会话里写虚拟消息
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 22:32:04 +08:00
YunaiV
c653c2fa2b
✨ feat(im): 增强消息处理逻辑,支持好友通知与撤回消息
2026-05-05 22:15:48 +08:00
YunaiV
4e181564b8
feat(im): 清理一些 TODO 的修复
2026-05-05 22:04:45 +08:00
YunaiV
a9f54fdee1
feat(im): 重构普通消息类型,和 openim 的消息编号对齐
2026-05-05 21:56:05 +08:00
YunaiV
055d4bab27
✨ feat(im): 联动好友 / 群通知重构,抽 useMuteOverlay 统一禁言拦截与媒体上传公共骨架
2026-05-05 21:33:27 +08:00
YunaiV
e48316231c
feat(im): 增加好友申请的管理界面
2026-05-05 19:36:29 +08:00
YunaiV
390b66aee8
feat(im): 群禁言/封禁 UI 交互 + 群主解散群聊
...
一、群禁言交互
- MessageItem 右键菜单新增「禁言/解除禁言/移除」(权限校验)
- 新增 GroupMuteMemberDialog 禁言时长选择弹窗
- ConversationGroupSide 新增「全群禁言」开关
- MessageInput 新增禁言/封禁覆盖层,拦截所有发送入口
- canManageSender 目标角色未知时不展示管理菜单
- 全群禁言群主按 ownerUserId 直接豁免,不依赖成员列表
二、群封禁(GROUP_BANNED 1533)
- constants 激活 GROUP_BANNED 常量,扩展 isGroupNotification 范围
- groupStore 处理 1533 事件,实时更新 banned 字段
- MessageInput 覆盖层最高优先级判断 banned(红底)
- Group 类型、convertGroup 映射 banned 字段
三、禁言事件(1512-1515)
- constants 激活 GROUP_MEMBER_MUTED / CANCEL_MUTED / MUTED / CANCEL_MUTED
- groupStore 处理 1512-1515 事件,更新 muteEndTime / mutedAll
- user.ts 新增 4 条禁言 + 2 条封禁通知文案
- GroupNotificationPayload 扩展 mutedUserId / muteEndTime / banned
四、群主解散群聊
- ConversationGroupSide 底部按钮:群主显示「解散群聊」,非群主显示「退出群聊」
- 新增 handleDissolve 实现(二次确认 → dissolveGroup API → 清本地数据)
2026-05-05 18:41:28 +08:00
芋道源码
9d8d0647be
!877 ✨ feat(system): 优化用户选择 UserSelectV2 布局,多选支持、默认选中当前用户支持、禁选支持、默认部门支持,可替代…
...
Merge pull request !877 from 半栈幼儿员/hotfix/user
2026-05-05 10:10:47 +00:00
YunaiV
7b4c7028a0
feat(im):群禁言功能(阶段三管理后台 UI)
...
1. group API 新增 mutedAll 字段 + 3 个禁言接口(muteAll、muteMember、cancelMuteMember)
2. group member API 新增 muteEndTime 字段
3. 管理后台群列表新增「全群禁言」列(已禁言/未禁言标签)
4. 群详情抽屉新增「全群禁言」状态行 + 成员表新增「禁言状态」列(禁言中 + 到期时间)
2026-05-05 16:58:51 +08:00
YunaiV
4d006f8e73
feat(im):将"免打扰"字段从 muted 全量重命名为 silent(DO/VO/Service/Mapper/测试/SQL + 前端 types/store/组件/管理后台),为后续 mute 禁言功能腾出词族
2026-05-05 13:51:53 +08:00
preschooler
536e54062e
✨ feat(system): 优化用户选择 UserSelectV2 布局,多选支持、默认选中当前用户支持、禁选支持、默认部门支持,可替代项目所有位置,可移除原 UserSelectForm、UserSelect,避免一次性查询所有用户
2026-05-05 12:35:31 +08:00
YunaiV
dd75c702db
✨ feat(im):删好友「同时清空聊天记录」弹窗 + 顶部「对方还不是你的朋友」胶囊(点击弹 UserInfoCard)+ fetchFriends 不动 DISABLE 尊重用户选择
2026-05-05 00:57:58 +08:00
YunaiV
2a55748296
✨ feat(im):增加好友删除时,增加是否删除本地聊天的选项
2026-05-05 00:33:06 +08:00
YunaiV
1400bd80dd
🐛 fix(im):loadFriendRequest 按 id 大小决定插入位置,老 id 不入避免破坏倒序 + loadMore 重复 push
2026-05-04 23:06:12 +08:00
YunaiV
14e3f85cb0
♻️ refactor(im):用户申请列表,增加流式查询,避免一次性加载过多,或者历史无法被加载到。
2026-05-04 22:46:20 +08:00
YunaiV
9fc25b7109
♻️ refactor(im):friendStore 修 setMuted/removeFriend 一致性 + 新申请直推列表 + 清 dispatcher 防御兜底
2026-05-04 21:13:36 +08:00
YunaiV
45bac49ec0
♻️ refactor(im):friendStore 回调参数 f 改全名 friend / existing
2026-05-04 19:52:44 +08:00
YunaiV
b242b017c0
✨ feat(im):fetchFriends 加 pending 去重 + FRIEND_APPLICATION 重命名 RECEIVED + inflight 命名调整为 pending
2026-05-04 19:14:51 +08:00
YunaiV
cfd152addf
✨ feat(im):实现 1209 FRIEND_INFO_UPDATED 推送(system 发 AdminUserProfileUpdateMessage,IM Consumer 监听后批量推好友多端)
2026-05-04 18:24:08 +08:00
YunaiV
7618d58a66
feat(im):好友模块 code review 多项修复(补 block/unblock 全链路 + UserInfo 菜单入口、silent 后主动入库、防 currentUserId 切账号失活、雪崩去重与命名/枚举清理)
2026-05-04 17:31:21 +08:00
YunaiV
5c2a185ff9
【IM 优化】通讯录顶部搜索栏改为 h-14,与消息 Tab 顶部对齐,避免切换抖动
2026-05-04 16:47:33 +08:00
YunaiV
42566d1e86
✨ feat(im): 优化好友申请逻辑,增加自我添加校验与异常处理
...
更新好友申请功能,使用 computed 包裹当前用户 ID,避免在 keep-alive 实例中持有旧 ID。增加自我添加好友的校验逻辑,防止用户添加自己为好友。同时,增强自动通过好友申请的异常处理,确保在事务提交后能正确处理失败情况。
2026-05-04 16:41:55 +08:00
YunaiV
7141e431e2
✨ feat(im): 前端增加「黑名单」的操作
2026-05-04 16:24:12 +08:00
YunaiV
1b51926b19
refactor(im): 移除 TIP_TIME 消息类型,时间分隔条改为渲染时按 prevMessage.sendTime 计算
...
顺带修复 Bug-Y(删除最后一条消息后孤立时间分隔条)
2026-05-04 16:05:23 +08:00
YunaiV
63c4dd1096
fix(im):修复对话置顶被关闭时,默认还选择了第一个置顶对话,导致又被打开。
2026-05-04 12:00:03 +08:00
YunaiV
b6ca1187b1
✨ feat(im): 增加好友申请的逻辑(v1.3:修复各种边界情况,包括静默添加好友)
2026-05-04 11:08:03 +08:00
YunaiV
89ee5d51ea
✨ feat(im): 增加好友申请的逻辑(v1.2:增加相关枚举、字典,减少硬编码)
2026-05-04 10:44:09 +08:00
YunaiV
5b9acb4813
fix(im):从群聊,点击好友聊天时,关闭之前的群聊面板
2026-05-04 10:31:02 +08:00
YunaiV
0e979a9f67
fix(im):私聊头像,也可以点击,方便好友管理。
2026-05-04 10:30:30 +08:00
YunaiV
ce2cdc112f
fix(im):仅普通消息进行声音通知
2026-05-04 10:29:41 +08:00
YunaiV
1469d8bb3d
✨ feat(im): 增加好友申请的逻辑(v1.1:增加各种 code review 注释)
2026-05-04 09:47:25 +08:00
YunaiV
f86cd30af4
✨ feat(im): 增加好友申请的逻辑(v1)
2026-05-04 09:18:35 +08:00
芋道源码
5e937d797d
!851 feat:增加说明文案
...
Merge pull request !851 from steven/feat-自定义海报代码补充开发
2026-05-03 10:59:47 +00:00
芋道源码
3a1f520dc6
!876 回退 'Pull Request !870 : fix: 菜单名称过长时没有正确显示省略号'
...
Merge pull request !876 from 芋道源码/revert-merge-870-master
2026-05-03 10:55:53 +00:00
芋道源码
5e6b6bdd8e
回退 'Pull Request !870 : fix: 菜单名称过长时没有正确显示省略号'
2026-05-03 10:55:35 +00:00
YunaiV
53b96f87a0
Merge remote-tracking branch 'origin/feat/mes' into feat/mes
2026-05-03 18:48:25 +08:00
YunaiV
b7a13a0000
♻️ refactor(service): 优化请求拦截器中的 token 设置逻辑,简化白名单判断
2026-05-03 18:48:12 +08:00
YunaiV
6d5705b655
fix(bpm):修正流程实例审批弹窗网关分支重算的并发与提交问题
...
- 提交时不再用节点表单值覆盖 data.variables;与预览阶段使用同一份合并变量
- onChange 加 useDebounceFn(300ms) + 请求序号去重,handleAudit 提交前 await 最新一轮重算
- 切换任务时重置请求序号与 pending 重算
- 改用 form-create 官方 formData() 取节点表单当前值
- 双 nextTick 改为 until 等 fApi 就绪,1s 兜底超时
2026-05-03 18:48:12 +08:00
YunaiV
8571a27a15
fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收
...
delView/delAllViews 误用 delCachedView,关闭非当前标签时会去删 currentRoute
对应的缓存,把要关的 name 留在 cachedViews 里,keep-alive include 不收缩,
旧组件实例无法 unmount。
回退到基于剩余 visitedViews 重建 cachedViews 的实现(对应 5718c7881 之前的写法);
delCachedView 自身保留 issue #180 的修复,仍供 refreshPage 使用。
2026-05-03 18:48:12 +08:00
YunaiV
cdcd200c7d
【修复】form-create 单图上传规则 disabled 字段标题与默认值错配
2026-05-03 18:48:12 +08:00
YunaiV
6232330c81
【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配)
2026-05-03 18:48:12 +08:00
YunaiV
418f0c4f52
🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题
...
🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题
「常见缺陷」与「检测项设置」的「检测项类型」语义一致,应共用同一份字典;DefectForm 与列表页统一改为 MES_INDICATOR_TYPE,并清理未使用的 MES_DEFECT_TYPE 常量。
2026-05-03 18:48:12 +08:00
YunaiV
5bce60fd29
♻️ refactor(service): 优化请求拦截器中的 token 设置逻辑,简化白名单判断
2026-05-03 18:48:04 +08:00
YunaiV
beddbe7785
Merge remote-tracking branch 'origin/feat/mes' into feat/mes
2026-05-03 18:39:16 +08:00
芋道源码
2e65691737
!870 fix: 菜单名称过长时没有正确显示省略号
...
Merge pull request !870 from 李家辉/fix-text-overflow
2026-05-03 10:38:57 +00:00
YunaiV
95cecc8870
fix(bpm):修正流程实例审批弹窗网关分支重算的并发与提交问题
...
- 提交时不再用节点表单值覆盖 data.variables;与预览阶段使用同一份合并变量
- onChange 加 useDebounceFn(300ms) + 请求序号去重,handleAudit 提交前 await 最新一轮重算
- 切换任务时重置请求序号与 pending 重算
- 改用 form-create 官方 formData() 取节点表单当前值
- 双 nextTick 改为 until 等 fApi 就绪,1s 兜底超时
2026-05-03 18:38:18 +08:00
YunaiV
7a4300116e
fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收
...
delView/delAllViews 误用 delCachedView,关闭非当前标签时会去删 currentRoute
对应的缓存,把要关的 name 留在 cachedViews 里,keep-alive include 不收缩,
旧组件实例无法 unmount。
回退到基于剩余 visitedViews 重建 cachedViews 的实现(对应 5718c7881 之前的写法);
delCachedView 自身保留 issue #180 的修复,仍供 refreshPage 使用。
2026-05-03 18:38:18 +08:00
YunaiV
51542e336b
【修复】form-create 单图上传规则 disabled 字段标题与默认值错配
2026-05-03 18:38:18 +08:00
YunaiV
7f33206057
【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配)
2026-05-03 18:38:18 +08:00
YunaiV
8e1430c1a4
🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题
...
🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题
「常见缺陷」与「检测项设置」的「检测项类型」语义一致,应共用同一份字典;DefectForm 与列表页统一改为 MES_INDICATOR_TYPE,并清理未使用的 MES_DEFECT_TYPE 常量。
2026-05-03 18:38:18 +08:00
芋道源码
aafe5f12bc
!866 fix: 修复请求拦截器bug
...
Merge pull request !866 from funcong/fc-fix-bug
2026-05-03 10:37:47 +00:00
YunaiV
9df6828255
fix(bpm):修正流程实例审批弹窗网关分支重算的并发与提交问题
...
- 提交时不再用节点表单值覆盖 data.variables;与预览阶段使用同一份合并变量
- onChange 加 useDebounceFn(300ms) + 请求序号去重,handleAudit 提交前 await 最新一轮重算
- 切换任务时重置请求序号与 pending 重算
- 改用 form-create 官方 formData() 取节点表单当前值
- 双 nextTick 改为 until 等 fApi 就绪,1s 兜底超时
2026-05-03 16:34:55 +08:00
YunaiV
06e2ca3100
Merge remote-tracking branch 'origin/feat/mes' into feat/mes
2026-05-03 13:33:23 +08:00
YunaiV
fa9facfa0b
fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收
...
delView/delAllViews 误用 delCachedView,关闭非当前标签时会去删 currentRoute
对应的缓存,把要关的 name 留在 cachedViews 里,keep-alive include 不收缩,
旧组件实例无法 unmount。
回退到基于剩余 visitedViews 重建 cachedViews 的实现(对应 5718c7881 之前的写法);
delCachedView 自身保留 issue #180 的修复,仍供 refreshPage 使用。
2026-05-03 13:32:43 +08:00
YunaiV
0cc2bff0f4
【修复】form-create 单图上传规则 disabled 字段标题与默认值错配
2026-05-03 13:32:43 +08:00
YunaiV
192a118823
【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配)
2026-05-03 13:32:43 +08:00
YunaiV
d2e82b710b
🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题
...
🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题
「常见缺陷」与「检测项设置」的「检测项类型」语义一致,应共用同一份字典;DefectForm 与列表页统一改为 MES_INDICATOR_TYPE,并清理未使用的 MES_DEFECT_TYPE 常量。
2026-05-03 13:32:43 +08:00
YunaiV
bf79e07d5c
♻️ refactor(im): 清理代码中的 TODO 注释并优化逻辑
2026-05-03 13:27:31 +08:00
YunaiV
7c129c18c4
✨ feat(im): 增加群消息的置顶
2026-05-03 12:53:24 +08:00
YunaiV
01e0e8e37b
✨ feat(im): 增加群消息的置顶
2026-05-03 12:15:39 +08:00
芋道源码
583b409fad
!864 条件节点添加包含和不包含操作符
...
Merge pull request !864 from Lesan/bugfix/bpm-202602
2026-05-03 03:01:48 +00:00
YunaiV
ffb69063b9
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号(继续优化代码)
2026-05-03 09:22:53 +08:00
YunaiV
5d0755eea9
Merge remote-tracking branch 'origin/feat/mes' into feat/mes
2026-05-03 09:20:21 +08:00
芋道源码
a698cb1635
!867 feat(iot): 前端新增 Database 数据目的配置表单
...
Merge pull request !867 from puhui999/master
2026-05-03 01:19:11 +00:00
YunaiV
43372c05ad
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号
2026-05-03 02:00:43 +08:00
YunaiV
a704620f84
fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收
...
delView/delAllViews 误用 delCachedView,关闭非当前标签时会去删 currentRoute
对应的缓存,把要关的 name 留在 cachedViews 里,keep-alive include 不收缩,
旧组件实例无法 unmount。
回退到基于剩余 visitedViews 重建 cachedViews 的实现(对应 5718c7881 之前的写法);
delCachedView 自身保留 issue #180 的修复,仍供 refreshPage 使用。
2026-05-03 00:28:27 +08:00
芋道源码
7fd0a24ca5
!875 fix(bpm):修复流程网关分支问题
...
Merge pull request !875 from 郭某人/master
2026-05-02 16:01:00 +00:00
YunaiV
e98d575b3a
【修复】form-create 单图上传规则 disabled 字段标题与默认值错配
2026-05-02 22:56:56 +08:00
YunaiV
d5a9e2e313
【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配)
2026-05-02 14:32:42 +08:00
YunaiV
fa27c27831
✨ feat(im): 增加群角色(管理员)
2026-05-02 14:31:42 +08:00
芋道源码
f9c0cace70
!871 fix: 修复响应拦截器 code=0 的逻辑错误
...
Merge pull request !871 from zhulh/fix/code-0-bug
2026-05-02 03:21:51 +00:00
YunaiV
3146f64edc
✨ feat(im): 未读计数改用 isNormalMessage,对齐后端 normal 语义
2026-05-02 09:06:01 +08:00
YunaiV
2c3842582f
🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题
...
🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题
「常见缺陷」与「检测项设置」的「检测项类型」语义一致,应共用同一份字典;DefectForm 与列表页统一改为 MES_INDICATOR_TYPE,并清理未使用的 MES_DEFECT_TYPE 常量。
2026-05-02 00:35:16 +08:00
YunaiV
fbd8615398
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
...
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
2026-05-01 23:06:14 +08:00
YunaiV
52fdf0bcab
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
...
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
2026-05-01 23:04:56 +08:00
YunaiV
43666dc56c
✨ feat(im): 优化【消息引用】的功能,增加文件、图片的展示调整
2026-05-01 19:05:57 +08:00
YunaiV
ef901b5381
✨ feat(im): 优化【消息引用】的功能,来自第二波 code review,解决安全性问题
2026-05-01 18:20:04 +08:00
YunaiV
cfeee7bbb7
✨ feat(im): 优化【消息引用】的功能,来自第一波 code review
2026-05-01 18:09:02 +08:00
YunaiV
1dfab43b8a
✨ feat(im): 增加【消息引用】的功能
2026-05-01 18:03:05 +08:00
YunaiV
744229a02e
✨ feat(im): 优化语音输入的交互。
2026-05-01 09:59:27 +08:00
YunaiV
63c711f9e2
✨ feat(im): 增加视频消息
2026-05-01 09:47:01 +08:00
YunaiV
82022b86de
✨ feat(im): 实现 im 的首页统计
2026-05-01 09:25:39 +08:00
YunaiV
f5656c8a2f
✨ feat(im): 同步输入框状态以支持粘贴功能
2026-05-01 08:50:51 +08:00
YunaiV
31dc1b1198
✨ feat(im): 用户的输入,改成 userselectv2,增强体验。
2026-05-01 08:49:14 +08:00
YunaiV
3cc7ac7f8b
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into im
...
# Conflicts:
# pnpm-lock.yaml
# src/router/modules/remaining.ts
# src/utils/dict.ts
2026-05-01 08:22:54 +08:00
YunaiV
7ed6fa5579
✨ feat(im): 增加群管理的完善
2026-05-01 08:19:13 +08:00
YunaiV
8564788b11
✨ feat(im): 对齐微信的图标展示
2026-05-01 08:17:24 +08:00
YunaiV
92b1466597
✨ feat(im): 增加群管理的 code review
2026-05-01 07:52:31 +08:00
YunaiV
238862b572
✨ feat(im): 增加发送草稿,切换对话的时候,不丢失。对齐微信
2026-05-01 07:52:18 +08:00
YunaiV
be654bce50
✨ feat(im): 增加私聊消息的管理
2026-05-01 07:46:19 +08:00
YunaiV
d64a695673
✨ feat(im): 增加群聊消息的管理
2026-05-01 07:08:05 +08:00
YunaiV
dfbae06afa
✨ feat(im): 优化输入框的样式
2026-05-01 06:59:14 +08:00
YunaiV
384a0c134a
✨ feat(im): 完成敏感词的管理
2026-04-30 22:25:25 +08:00
YunaiV
9f1fc9ef78
reviewed
2026-04-30 21:38:17 +08:00
YunaiV
fd1ba30bdb
✨ feat(im): 优化好友列表的管理
2026-04-30 21:09:03 +08:00
YunaiV
01fff53aaf
✨ feat(im): 增加 im 的管理界面
2026-04-30 19:04:31 +08:00
YunaiV
4b4c4fab11
✨ feat(im): 优化群聊的功能界面
2026-04-30 16:59:56 +08:00
YunaiV
368b385267
✨ feat(im): 增加群邀请的功能
2026-04-30 15:47:32 +08:00
YunaiV
0ab8b292f2
✨ feat(im): 增加 pinyin 功能
2026-04-30 15:22:35 +08:00
YunaiV
d19bdd42d5
✨ feat(im): 优化添加好友界面
2026-04-30 14:53:41 +08:00
YunaiV
0c7d1f0df6
✨ feat(im): 新增通讯录界面
2026-04-30 14:07:03 +08:00
YunaiV
a762dfff84
✨ feat(im): 优化整体包结构,将 friend、group 通用组件抽过去。
2026-04-30 10:11:20 +08:00
YunaiV
4b64153044
✨ feat(im): 完善 friend、group 相关的本地存储(疯狂优化)
2026-04-29 22:03:54 +08:00
YunaiV
e90f9e5237
✨ feat(im): 增加 friend、group 相关的本地存储
2026-04-29 15:50:49 +08:00
YunaiV
de39bc7fc1
✨ feat(im): 优化代码,移除 message 里的 name 存储,避免更新困难。(为 friend、group 独立存储做准备)
2026-04-28 23:32:40 +08:00
YunaiV
f0fc144e8a
✨ feat(im): 调整代码结构,优化 side 样式
2026-04-28 20:14:24 +08:00
YunaiV
431a0bfb93
✨ feat(im): 调整代码结构,优化 side 样式
2026-04-28 20:13:01 +08:00
YunaiV
ba34e4adc0
✨ feat(im): 优化整体 message 包结构
2026-04-28 09:30:12 +08:00
YunaiV
29a03ef03d
✨ feat(im): 优化整体 message 包结构
2026-04-28 09:29:40 +08:00
YunaiV
122b1ba748
✨ feat(im): 优化 message 的导入
2026-04-28 08:48:38 +08:00
YunaiV
56b0630847
✨ feat(im): 优化 icon 的导入
2026-04-28 08:15:29 +08:00
YunaiV
6ead932813
✨ feat(im): 优化 icon 的导入
2026-04-28 08:15:10 +08:00
YunaiV
9fc10b304c
✨ feat(im): 增加 ChatPanel.vue 组件
2026-04-28 01:15:04 +08:00
YunaiV
4c8898b6f5
🐛 fix(im): 上传 URL 取错字段,粘贴图片 / 文件 / 语音消息加载失败
...
axios 配置里 request.upload 直接返回完整 axios response(不是 res.data,
跟 get/post/put 不一致),原代码 (await updateFile(form)) as unknown as string
把整个 {data, status, headers, ...} 对象当成 URL 塞进消息 JSON,接收端
<el-image src> 拿到的是序列化串自然加载失败。
uploadAndSendImage / uploadAndSendFile / onVoiceSend 三处统一改成 .data 取值:
((await updateFile(form)) as { data?: string })?.data
跟 mall PictureSelectUpload / bpm SignDialog 等其它业务代码取 URL 的方式一致。
2026-04-28 01:14:24 +08:00
YunaiV
9c5b11e551
✨ feat(im): 支持历史消息的加载
2026-04-28 01:08:45 +08:00
YunaiV
e9be6ef8b3
✨ feat(im): 增加群消息的回执开关,通过向下箭头
2026-04-27 23:56:50 +08:00
YunaiV
29695b649a
✨ feat(im): 增加群消息的回执开关,通过向下箭头
2026-04-27 23:54:41 +08:00
YunaiV
8847cdb79f
✨ feat(im): 新增 MessageReadStatus.vue
2026-04-27 22:36:47 +08:00
YunaiV
bfa267120a
♻️ refactor(im): MessageItem 头像顶右 + MentionPicker/MessageInput 命名清理
...
【MessageItem.vue】
- 头像合一:双 v-if 头像(左/右)收成单一 <UserAvatar>,DOM 顺序固定为
[头像, 气泡],selfSend 靠外层 flex-row-reverse 翻视觉 → 头像顶右、气泡在
头像左侧。早先双 v-if + row-reverse 让自己消息时气泡顶右、头像反而被
挤在 bubble 左边,跟微信观感不对齐
- 5 处脚本 TODO 注释补齐:groupMembersForReadStatus / handleContextMenu /
handleRecall / handleDelete,解释 WHY 而不是 WHAT
- formatTipTime 局部变量按"不缩写"展开:d → messageDate / n → value /
hm → hourMinute / (a,b) → (left,right) / weeks → weekNames
- senderAvatar / groupMembersForReadStatus 回调参数 m → member、g → group
【MessageInput.vue】
- groupMembers producer 局部变量 g → group、(m) => → (member) =>
【MentionPicker.vue】
- memberItems 过滤回调 (m) => → (member) =>
2026-04-27 21:48:34 +08:00
YunaiV
8fd21da555
🐛 fix(im): TIP_TEXT 系统提示不再显示空白
...
群解散 / 退群 / 踢人 等系统提示后端发的是裸字符串,之前按 TextMessage JSON
解析 → 主聊天窗显示空行、会话列表摘要变空。
- message.ts:新增 resolveTipText helper,兼容裸字符串 + {"content":"..."}
- MessageItem / conversationStore.resolveLastContent 把 TIP_TEXT 从 TEXT
分支拆出来,统一走 resolveTipText(TEXT 仍按 JSON 解析,没有裸字符串可能)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 19:59:56 +08:00
YunaiV
9e8d04249c
🐛 fix(im): TIP_TEXT 系统提示不再显示空白
...
群解散 / 退群 / 踢人 等系统提示后端发的是裸字符串,之前按 TextMessage JSON
解析 → 主聊天窗显示空行、会话列表摘要变空。
- message.ts:新增 resolveTipText helper,兼容裸字符串 + {"content":"..."}
- MessageItem / conversationStore.resolveLastContent 把 TIP_TEXT 从 TEXT
分支拆出来,统一走 resolveTipText(TEXT 仍按 JSON 解析,没有裸字符串可能)
2026-04-27 19:56:54 +08:00
YunaiV
cb5d30e327
✨ feat(im): 新增 MessageItem.vue
2026-04-27 19:11:31 +08:00
YunaiV
ccc9aca21c
✨ feat(im): MessageInput 工具栏挪到底部 + 4 图标统一 Iconify + 聊天历史挪到右上角
...
对齐微信 PC:输入区在上、操作图标在下;会话级操作(如聊天历史)统一放 header 右上角
【MessageInput.vue】
- 模板顺序对调:editor 在上 / 工具栏在下(justify-between:左 4 图标 gap-1 / 右"发 送"按钮)
- editor min-height 80 → 100、padding 8/12 → 10/14,输入区视觉权重接近微信
- 4 个图标统一走 Iconify ant-design outlined 同源,避免 ep / antd 混用视觉割裂:
- 表情:Sunny → ant-design:smile-outlined(Element Plus 没有 smile,必须走 Iconify)
- 图片:Picture → ant-design:picture-outlined
- 文件夹:Paperclip → ant-design:folder-outlined(附件 → 文件夹更贴近微信观感)
- 语音:Microphone → ant-design:audio-outlined
- 整条 @element-plus/icons-vue import 删除,全部改 <span class="message-input__tool inline-flex …">
+ <Icon icon="…" :size="18" /> 的统一外壳;scoped CSS 的 :deep(svg) 继续命中,padding / hover
样式不动;DOM 实测 4 图标全部 30×30、top:761、间距 34px 完全对齐
- EmojiPicker class:bottom-9 left-3 → bottom-full left-3 mb-2,picker 从工具栏顶部向上弹出
(旧值在新布局下会浮在工具栏内部,盖住图标)
- 删 defineEmits<{ openHistory }>():聊天历史挪到 ChatPanel header 后已没有调用方
【ChatPanel.vue】
- header 右上角新增"聊天历史"图标(Tickets),点击直接 historyVisible = true 弹"历史消息"抽屉
(对齐微信 PC:右上角集中放会话级操作;并列在原"聊天信息 / 群聊信息"图标左侧)
- <MessageInput :key="…" @open-history="…"> 上的 listener 摘掉,emit 链路完整解耦
2026-04-27 15:46:13 +08:00
YunaiV
fc82ed3d7e
♻️ refactor(input): 优化粘贴文件处理逻辑,简化代码结构
2026-04-27 14:30:38 +08:00
YunaiV
cba5c15604
✨ feat(im): MessageInput / MentionPicker / ChatPanel 三连修——粘贴文件、切群清空、命名规范
...
【ChatPanel.vue】
- 加 messageInputKey computed(type-targetId)+ MessageInput :key 绑它,
切会话强制 unmount + remount editor / mention range / 草稿全归零,
避免 A 群打了一半的字 / @ token 漏到 B 群被发出去
(早先用 inline template literal 做 :key,Vue SFC 编译没把表达式接到
vnode.key 上,hmr / 完整 reload 都看到 key=null;改 computed 后正常)
【MessageInput.vue】
- onPaste 加 clipboardData.items 扫一轮:image/* → uploadAndSendImage,
其它 file → uploadAndSendFile,纯文本兜底走 nativeExec('insertText');
截图 / 拖入图片 / 拖入文件不再被默默吞掉
- 抽 uploadAndSendImage / uploadAndSendFile 两个共用函数,
onImagePicked / onFilePicked 改成薄包装走它们,避免上传逻辑双份
- 删 nativeExec 里的 // eslint-disable-next-line @typescript-eslint/no-deprecated:
项目当前 @typescript-eslint v7 没有这条规则,加了会让 lint 报"规则不存在",
反而把 lint 拖红;改用单纯 JSDoc 解释为什么留着 execCommand
- 重命名 mentionPos → mentionPosition(prop / ref 一致),按"变量不缩写"
- 7 个方法补 JSDoc:onSelectionChange / insertText / onPaste / onInput /
onKeydown / onImagePicked / onFilePicked / onVoiceSend;复杂的
collectFromEditor 和 handleSend 加分步 1./2./3. 内联注释
- data-empty 改用属性"存在 / 缺失"模拟(template 里 data-empty="",JS 里
raw 为空就 set ''、否则 delete),CSS 选择器同步改 [data-empty],
比 [data-empty='true'] 直观
【MentionPicker.vue】
- prop pos → position(不缩写);ref / 内部解构 / 默认值都跟着改
- <el-icon><UserFilled /></el-icon> → <Icon icon="ep:user-filled">:
用全局 Icon 组件走 Iconify,少一个 EP 图标 import
- scrollToTop / scrollToActive 局部变量 wrap → scrollWrap、
itemH → itemHeight、activeTop → activeOffsetTop;
v-for 与 handleSelect 的 (m) → (member)
2026-04-27 13:57:18 +08:00
YunaiV
678c2d6834
✨ feat(im): MessageInput 切 contenteditable + MentionPicker 对齐微信,修一堆 @ 浮层 bug
...
【MessageInput.vue】
- textarea → contenteditable div:拿真·光标 rect 给浮层定位(textarea 拿不到),@ 成员
以 <span data-id contenteditable=false> token 节点存在,删 token 即删 atUserIds
- collectFromEditor:DOM walk 还原 plain text + atUserIds(text / br / span[data-id] /
div / 其他元素 五种节点分支),过滤零宽空格
- handleSend:从 DOM 收集而非 ref<string>,atUserIds 走 Set 去重;分步注释
- placeholder 用 [data-empty]::before + JS 维护属性"存在 / 缺失"模拟,避开浏览器删空
后留 <br> 让 :empty 不命中
- @ 浮层位置:bottom 锚定(picker 下沿贴 @ 上方 8px),无论候选多寡下沿固定,不再
随 picker 高度变化漂移;上方放不下才翻成 top 锚定到 @ 下方
- @ 浮层规则:regex 改成 `(?:^|\s)@([^\s@]*)$`,避免 email-like "test@example.com"
误触发;锚定在 @ 字符位置而非 caret,否则用户每多敲一字浮层右移
- click outside 关浮层:document mousedown 监听,target 不在 editor / picker 内即关
- Enter 兜底:mention 浮层无候选时 fall through 到正常发送,避免按 Enter 没反应
- token 首位 ZWSP:token 是 editor 第一个节点时 contenteditable=false 边缘会让光标
无法挪到 token 前,补一个零宽空格当锚点;DOM walk 滤掉
- Shift+Enter 强制 br(execCommand insertLineBreak),DOM walk 不必处理多换行容器
- onPaste 用 execCommand('insertText') 剥光所有 HTML,不留外部样式 / 脚本
- onEditorScroll 同步浮层位置,多行 + 滚动条场景下 picker 跟随 caret
- selection 保存:document selectionchange 监听 + 仅 editor 内时记录,emoji 面板偷
焦点后能回到原位
【MentionPicker.vue】
- 视觉对齐微信 PC:顶部"所有人"虚拟项(蓝方块 + UserFilled 图标)+ "群成员"分组
header + 底部三角指针;rounded-md + soft shadow
- "全体成员" → "所有人";userId=-1 / 文案常量化到 utils/constants.ts
(IM_AT_ALL_USER_ID / IM_AT_ALL_NICKNAME),三个文件共用,不再散落
- !fixed + !h-75 / max-height:用 UnoCSS important 变体压过 Element Plus 的
.el-scrollbar { position:relative; height:100% } 默认 CSS——之前 picker 落到父
容器坐标系导致 y=1326 飞出视口外,肉眼看不到的根因
- pos prop 从 {x, y} → {x, top?, bottom?},配合 MessageInput 的 bottom 锚定
- allItem / memberItems 拆成两个 computed,showMembers 做扁平合并供键盘导航;
群成员上限 100 去掉,浮层本就支持滚动
- 5 个内部函数 / watch 全部补 JSDoc(showMembers / visible 两个 watch、scrollToTop /
scrollToActive / handleSelect)
2026-04-27 13:21:27 +08:00
YunaiV
3ea04663f2
✨ feat(im): IM 5 个 store 补 HMR + 抽 atAll 常量 + 全面补齐 JSDoc
...
- 全部 5 个 store(conversation / friend / group / ui / websocket)加
acceptHMRUpdate;Pinia 单例的 actions 是 wrapper 闭包,Vite 推新模块时
不会自动替换闭包内的旧函数体,导致改 store 后看着热重载、跑的还是旧逻辑
- 抽 IM_AT_ALL_USER_ID(-1)+ IM_AT_ALL_NICKNAME('所有人')到
utils/constants.ts;conversationStore 删本地 AT_ALL_FLAG 改用共享常量;
MentionPicker 渲染虚拟项 / ChatGroupMember 类型注释也都引这两个常量
- groupStore.loadGroups 改成合并而非全量替换:用 groupMap 按 id 找已有项,
保留 loadGroupMembers 写过的 members / memberCount / muted(这三个字段
不在 ImGroupRespVO 里,全量替换会被冲掉)
- groupStore.loadGroupMembers 重写为分步注释(1. 缓存 / 2. 拉取 /
3. 回填 muted / 4.1 占位 / 4.2 直写);await 之后必须重新 getGroup
防 race(loadGroupMembers 与 loadGroups 并发时用入口快照会把真实 name
覆盖成 String(groupId))
- types/GroupMember 补 muted 字段,convertGroupMember 透传,
解决 vue-tsc TS2339 / TS2353
- 5 个 store 缺 JSDoc 的方法全部补齐:removePrivateConversation /
removeGroupConversation / getFriend / getActiveFriends / isFriend /
loadGroupInfo / upsertGroup / stopHeartbeat
- 全局"墓碑"措辞统一为"软删保留记录",types / friendStore / groupStore 三处
- groupStore 删冗余注释(与代码自描述重复的)若干处;变量 g/old 改 group/existing
2026-04-27 13:10:15 +08:00
YunaiV
a0ed0d800c
✨ feat(im): 群聊免打扰接入后端,完善免打扰失败回滚 + ContextMenu 微调
...
- groupStore.setMuted 改 async,调 /im/group-member/update 推后端
- GroupMember.muted 在类型层补齐;convertGroupMember 保留 muted;
loadGroupMembers 拉完成员后用当前用户那条 member.muted 回填 group.muted
与 conversation.muted,避免冷启动后服务端已免打扰的群在会话列表里仍显示为
未免打扰
- ConversationItem.handleMuted 失败回滚:catch 后 ElMessage.error 并反向
setMuted 把 conversationStore(已 saveConversations 落盘)拽回正确状态
- ContextMenu 分割线改用 h-[1px] + bg(UnoCSS 不带 border-style preflight,
border-t 在空内容 div 上不显形),文案 text-center → text-left 贴近微信
- groupStore.setMuted 改 async 后,ConversationItem 里两路 setMuted 调用
都用 void 显式 fire-and-forget,风格统一
2026-04-27 09:29:49 +08:00
YunaiV
45a530e8c7
✨ feat(im): 新增 MentionPicker.vue、MessageInput.vue、VoiceRecorder.vue 三个组件,vibe~
2026-04-27 09:20:10 +08:00
YunaiV
6add0b0600
✨ feat(im): 群聊免打扰接入后端,完善免打扰失败回滚 + ContextMenu 微调
...
- groupStore.setMuted 改 async,调 /im/group-member/update 推后端
- GroupMember.muted 在类型层补齐;convertGroupMember 保留 muted;
loadGroupMembers 拉完成员后用当前用户那条 member.muted 回填 group.muted
与 conversation.muted,避免冷启动后服务端已免打扰的群在会话列表里仍显示为
未免打扰
- ConversationItem.handleMuted 失败回滚:catch 后 ElMessage.error 并反向
setMuted 把 conversationStore(已 saveConversations 落盘)拽回正确状态
- ContextMenu 分割线改用 h-[1px] + bg(UnoCSS 不带 border-style preflight,
border-t 在空内容 div 上不显形),文案 text-center → text-left 贴近微信
- groupStore.setMuted 改 async 后,ConversationItem 里两路 setMuted 调用
都用 void 显式 fire-and-forget,风格统一
2026-04-27 09:03:18 +08:00
YunaiV
7f84c428a5
✨ feat(im): 优化 ConversationItem.vue,对齐微信的时间展示。
2026-04-27 08:51:35 +08:00
YunaiV
e85f8edcaa
✨ feat(im): 优化 ConversationItem.vue,对齐微信交互
2026-04-27 08:42:39 +08:00
YunaiV
115e0482db
✨ feat(im): 优化 ConversationItem.vue 增加相关评审
2026-04-27 08:22:14 +08:00
YunaiV
a1a9053aaa
✨ feat(im): 优化 MessagePage.vue 页面,对齐微信交互
2026-04-27 00:51:31 +08:00
YunaiV
1a0c11f685
✨ feat(im): 优化 MessagePage.vue 页面,对齐微信交互
2026-04-27 00:51:15 +08:00
YunaiV
e1b52be8ea
✨ feat(im): 新增 MessagePage.vue 页面 + 部分 review
2026-04-27 00:01:43 +08:00
YunaiV
8790d6b128
✨ feat(im): 优化 ToolBar.vue 组件
...
- tabs / goTab / goProfile 从 path 切到路由 name:path 后期容易随前缀调整变动,name 更稳定
- isActive 由 path 前缀比对简化为 route.name 全等比对(IM 三 Tab 无嵌套子路由,足够)
- 群聊图标 svg-icon:peoples → ant-design:team:三人组合跟 ep:user(单人)视觉区分更明显
- 给 goTab / goProfile 补 JSDoc;清理 5 个 TODO @AI
2026-04-26 23:45:27 +08:00
YunaiV
3a77001b42
🐛 fix(im): 修复主壳初始化期间消息漏拉 / 缓冲回放失效
...
三处时序竞态修复:
- loading=true 提前到 connect 前,避免 WS 早于 pullOnce 推进 maxId 漏拉断线积压
- loading=false 提到 flushBuffer 前,让回放走正常 insertMessage 而非被 push 回 buffer
- 加 bootstrapped 守卫,避免 isConnected watcher 在 friend/group 加载完前抢跑
附带:主壳文件名 Index.vue → index.vue 对齐其他模块小写惯例;清理 5 个 TODO @AI。
2026-04-26 23:32:55 +08:00
YunaiV
8a7991261f
🐛 fix(im): 主动断开 WS 后不再自动重连,同步复位 isConnected
...
disconnect() 之前调用 socket.close() 是异步触发 onclose,回调里会
无条件走 reconnect,导致离开 IM 主壳后 3 秒又会在后台重新打开 WebSocket。
修复:
- close 前先解绑 onclose / onerror handler,主动关闭路径不再走自动重连
- onclose 已被解绑后没人帮我们设 isConnected=false,disconnect 内手动复位,
避免 socket=null 但 isConnected=true 的状态不一致
2026-04-26 23:08:23 +08:00
YunaiV
1e02a40ec4
✨ feat(im): 添加 IM 聊天模块的全屏容器组件,并添加相关 review 注释
2026-04-26 22:02:02 +08:00
YunaiV
9570f25cdc
✨ feat(im): 优化 ToolBar.vue 组件
2026-04-26 21:51:09 +08:00
YunaiV
d37af6d959
✨ feat(im): 优化 PagedScroller.vue 组件
2026-04-26 21:46:13 +08:00
YunaiV
802a10cf85
✨ feat(im): 优化 ResizableAside.vue 组件
2026-04-26 21:35:27 +08:00
YunaiV
a973406b2a
✨ feat(im): 优化 ContextMenu.vue 组件
2026-04-26 20:19:19 +08:00
YunaiV
43771b0f47
✨ feat(im): 优化 EmojiPicker.vue 组件
2026-04-26 19:49:44 +08:00
YunaiV
20c6631e7a
✨ feat(im): 新增 UserInfoCard.vue
2026-04-26 19:08:02 +08:00
YunaiV
9a4e79e4ef
🐛 fix(im): conversation.messages 入 IDB 前用 toRaw 解 Proxy,否则 structuredClone 抛 DataCloneError 静默丢消息
2026-04-26 17:57:50 +08:00
YunaiV
f1d44c8267
✨ feat(im): 优化 UserAvatar.vue 通用用户头像组件
2026-04-26 17:52:32 +08:00
YunaiV
969d8237ce
✨ feat(im): 增加 UserAvatar.vue 通用用户头像组件
2026-04-26 17:32:47 +08:00
YunaiV
f929ebc184
✨ feat(im): 增加 conversationStore.ts 未来的优化 todo;
2026-04-26 16:13:58 +08:00
YunaiV
2c1ff59286
✨ feat(im): 初始化 useMessageSender.ts
2026-04-26 15:56:24 +08:00
YunaiV
e573462cb7
✨ feat(im): 增加 useMessagePuller 用于首次消息的拉取
2026-04-26 10:38:14 +08:00
YunaiV
8c1f17f5a6
🐛 fix(im): 私聊已读消费端卡 maxReadId + 上报 messageId 与后端对齐
...
handlePrivateReceipt 收到对方 RECEIPT 时丢弃了后端编码在 DTO id 字段
的 maxReadId,applyReadReceipt 把会话里所有 selfSend 未撤回消息一刀切
标 READ;回执在路上时刚发的消息会被误标已读。
- applyReadReceipt 的 markPrivateRead 改为 privateReadMaxId,按
id <= maxReadId 卡边界,超过 maxReadId 的自发消息保留原状态;
- handlePrivateReceipt 透传 websocketMessage.id 作为 privateReadMaxId;
- apiReadPrivateMessages 增加 messageId 形参,与后端新接口对齐;
- websocketStore 私聊自动已读用刚到的消息 id;useMessageSender.readActive
把私聊 / 群聊的 maxMessageId 计算合并到调用前。
2026-04-26 09:46:09 +08:00
YunaiV
a35698fc07
🐛 fix(im): 群聊离线拉取看不到撤回提示,pull 路径接入 recallMessage
...
pullByType 之前对 RECALL 信号一律 skip、只靠原消息 status=RECALL 走 OR 兜底渲染。
当 pull 的 minId 卡在原消息处、回拉只返回信号时,本地缓存里的老消息没人翻成
RECALL,会一直停在原态——配合后端群聊 mapper 过滤掉 status=RECALL 的原消息,群聊
离线撤回完全不可见。
改成 pull / WS 走同一套 dispatch:
- pullByType 信号转 conversationStore.recallMessage(),跟 WS 路径一致
- recallMessage 把 parseRecallMessageId 收敛进内部,第 3 个参数从
messageId: number 改成 recallSignalContent: string,4 个调用点都缩成一行
- MessageItem.isRecall 只判 type=RECALL,去掉 status=RECALL OR 分支
(conversationStore 里跳未读 / 跳已读那两处对 status 的判断是业务逻辑保留)
2026-04-26 00:28:43 +08:00
YunaiV
66514fc597
♻️ refactor(im): conversationStore 存储改为 IndexedDB 按会话分桶 + 命名统一
...
- 持久化迁到 localforage(IndexedDB),meta 索引与单会话 messages 分 key 存,消除写放大
- saveConversations 支持 不传 / 单个 / 数组 三种粒度;签名改为 sync void(fire-and-forget)
- 修复 sortConversations 仅刷 meta 不刷 messages 导致离线消息重启丢失的 bug
- 方法重命名:saveToStorage→saveConversations、updateMessageState→ackMessage、applyRecall→recallMessage、refreshConversations→sortConversations、removeLocalMessage→removeMessage、_removeMessagesStorage→removeConversationMessages
- 删除 dead field Conversation.lastReadCount;TIP_TIME clientMessageId 改用 uuid
2026-04-25 22:52:00 +08:00
YunaiV
2785e2bea6
✨ feat(im): 重构优化 store 方案
2026-04-25 16:45:31 +08:00
YunaiV
e30e30ea51
🐛 fix(im): 撤回信号错用 TIP_TEXT,应为 RECALL
2026-04-25 11:42:34 +08:00
YunaiV
505b3b5953
✨ feat(im): 重构部分老代码。
2026-04-24 22:55:58 +08:00
YunaiV
a28694074e
🔧 chore(deps): 添加 localforage 依赖: https://localforage.docschina.org/
2026-04-24 22:12:54 +08:00
YunaiV
d6f96a56a2
✨ feat(im): 优化 ConversationItem.vue 逻辑
2026-04-24 21:54:20 +08:00
YunaiV
68d3ad10d4
✨ feat(im): 优化 im 前端的工具类
2026-04-24 21:36:09 +08:00
YunaiV
5f16cd74e0
✨ feat(im): 优化 im 前端的枚举类
2026-04-24 00:50:09 +08:00
YunaiV
6664afb851
♻️ refactor(im): 重命名 IM 模块中的多个类和文件以简化结构
2026-04-23 20:38:27 +08:00
YunaiV
6d6515c06d
♻️ refactor(im): 用户查询接口迁移到 system/user
...
- /api/im/user:移除 getSelfInfo/getUserListByName,改用 /system/user/get-simple、/system/user/list-by-nickname
- AddFriendDialog:切换为 getSimpleUserListByNickname,去掉已废弃的 userName 展示
2026-04-23 01:36:45 +08:00
guoanhao
11495a64f5
fix(bpm):修复流程网关分支问题
2026-04-22 17:37:30 +08:00
YunaiV
76be404c69
🎨 style(Message): 修复铃铛对齐问题,调整样式为 flex-center
2026-04-19 00:30:34 +08:00
YunaiV
9fb796194e
✨ feat(im): 前端的 IM 增加 Layout 整体布局
2026-04-19 00:30:07 +08:00
YunaiV
064b657294
(〃'▽'〃)_v2026_03_发布:新增 MES 制造执行系统,IoT 接入 Modbus 协议
2026-04-18 13:29:43 +08:00
YunaiV
bc9c67ad3b
(〃'▽'〃)_v2026_03_发布:新增 MES 制造执行系统,IoT 接入 Modbus 协议
2026-04-18 13:25:10 +08:00
YunaiV
bf81e6f617
Merge branch 'feat/mes' of https://gitee.com/yudaocode/yudao-ui-admin-vue3
2026-04-18 13:23:29 +08:00
YunaiV
a839dd6fa5
✨ feat(mes): 更新 MES 状态常量和相关枚举
...
将 MES 设备维护记录状态枚举中的状态值更新为常量引用,增强代码可读性和一致性。同时,新增 MES 单据状态常量,简化状态管理。
2026-04-17 22:10:14 +08:00
YunaiV
0a96738cfb
✨ feat(mes): 更新 MES 状态常量和相关枚举
...
将 MES 设备维护记录状态枚举中的状态值更新为常量引用,增强代码可读性和一致性。同时,新增 MES 单据状态常量,简化状态管理。
2026-04-16 19:27:01 +08:00
YunaiV
378965d82f
🎨 style(mes): 优化模板格式和属性排列
2026-04-15 19:22:14 +08:00
YunaiV
05f43f91ab
✨ feat(mes): 添加计量单位名称到生产任务响应对象
2026-04-15 14:29:24 +08:00
YunaiV
c63a5f87a4
♻️ refactor(mes): 重构 approveFeedback 方法,移除用户 ID 参数
...
简化 approveFeedback 方法,移除不必要的用户 ID 参数,改为使用表单保存的报工人和时间。此变更提高了代码的可读性和维护性,同时确保审批状态更新逻辑的清晰性。
2026-04-14 13:53:42 +08:00
YunaiV
76b2d5caf3
Merge branch 'feat/mes' of https://gitee.com/yudaocode/yudao-ui-admin-vue3
2026-04-13 22:42:48 +08:00
YunaiV
d63d4eee27
feat:增加 iot 模块
2026-04-13 22:42:37 +08:00
YunaiV
cd300bded7
♻️ refactor(mes): 修改字段名称以提高代码可读性
2026-04-13 19:57:35 +08:00
YunaiV
befc4dc95e
feat(docs):优化 permalink
2026-04-12 23:30:11 +08:00
YunaiV
3c5670141e
feat:增加 iot 模块
2026-04-12 21:06:45 +08:00
YunaiV
d6f8fb7b55
♻️ refactor(mes): 修正质检缺陷记录删除权限
2026-04-12 20:38:01 +08:00
YunaiV
ea50b843dc
feat(mes):增加 mes 模块
2026-04-12 16:40:47 +08:00
YunaiV
75ed43b123
Merge branch 'feat/mes' of https://gitee.com/yudaocode/yudao-ui-admin-vue3
2026-04-12 16:33:36 +08:00
YunaiV
b1c45fbd69
♻️ refactor(calShiftList): 重命名表单类型变量为 dialogType
2026-04-12 02:39:21 +08:00
YunaiV
bf912754ca
📝 docs(index): 更新文档警告组件,添加相关链接和标题
2026-04-11 21:43:44 +08:00
YunaiV
6358e7db9e
♻️ refactor(machinery): 统一规格型号字段命名为 'specification'
2026-04-11 16:03:22 +08:00
YunaiV
3e203a9536
✨ feat(index): 更新来源单据字段及调整表单项顺序
2026-04-11 14:12:00 +08:00
YunaiV
518851ce74
merge: 合并 master 分支到 im
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 09:38:25 +08:00
YunaiV
9fb0659615
♻️ refactor(mes): 重命名通知单编码和名称字段
2026-04-11 09:25:52 +08:00
YunaiV
36666cfdc6
♻️ refactor(location): 移除库位管理状态字段
2026-04-10 22:44:50 +08:00
YunaiV
ab690c9b50
✨ feat(barcode): 添加条码详情弹窗功能
...
在多个表单中新增查看条码的按钮,允许用户在详情模式下查看条码信息。此功能提升了用户体验,使得条码信息的访问更加便捷。
- 在 `MachineryForm.vue`、`MdItemForm.vue`、`WorkshopForm.vue` 等文件中添加了条码详情弹窗组件
- 实现了 `handleBarcode` 方法以处理条码查看逻辑
2026-04-10 20:12:05 +08:00
YunaiV
d16a92587d
✨ feat(mes): 更新物料/产品标识和补齐选项的显示方式
...
重构了多个组件中的物料/产品标识显示逻辑,使用 dict-tag 组件替代了原有的 getItemOrProductLabel 方法。更新了补齐选项的 radio group,支持动态生成选项。此变更提升了代码的可维护性和可扩展性。
2026-04-10 19:25:00 +08:00
DevDengChao
14edd68d77
test: harden e2e auth setup
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 16:23:50 +08:00
DevDengChao
968a1ccb40
chore: upgrade typescript to 6.0.2
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:54:46 +08:00
DevDengChao
c163ed152c
chore: upgrade unplugin-vue-components
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:46:30 +08:00
DevDengChao
2499d59f28
chore: upgrade console runtime dependencies
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:38:29 +08:00
DevDengChao
176cddc21f
chore: upgrade console dev dependencies
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:33:43 +08:00
YunaiV
b508aa7c66
✨ feat(unit-measure): 新增计量单位引用检查功能
...
为计量单位添加引用检查,确保在删除计量单位时,能够验证是否被生产任务投料或质检方案指标项引用。新增相关方法以获取引用记录数量,提升数据一致性和安全性。
2026-04-10 09:56:58 +08:00
YunaiV
0045e52c3d
✨ feat(mes): 添加车间编码生成按钮
2026-04-10 09:25:47 +08:00
YunaiV
f628c2e7f5
✨ feat(mes): 新增 OQC 来源单据类型错误码及相关校验
2026-04-10 08:52:23 +08:00
YunaiV
4a3683aea8
✨ feat(mes): 优化整体代码风格
2026-04-10 00:57:02 +08:00
YunaiV
802cc92309
✨ feat(mes): 添加懒加载注解以优化依赖注入
2026-04-10 00:42:22 +08:00
YunaiV
1b0af32a6a
✨ feat(qc): 修改检测项类型为整数并更新相关文档
2026-04-10 00:06:43 +08:00
YunaiV
1d01b221e6
✨ feat(mes): 修改检测项类型为整数类型
2026-04-09 22:46:32 +08:00
YunaiV
302ca05052
✨ feat(item-receipt): 添加采购入库单相关字段和功能
...
新增采购入库单编码和采购订单号字段,优化相关服务和控制器以支持批量获取入库单信息,提升数据处理能力。
2026-04-09 21:06:17 +08:00
YunaiV
e39389137c
✨ feat(workshop): 增加车间精简列表负责人信息和销售订单编号
2026-04-09 16:09:53 +08:00
YunaiV
901e0883b4
♻️ refactor(mes): 移除无用的 script 标签
2026-04-09 00:50:28 +08:00
YunaiV
813aa868d2
✨ feat(sales): 新增发货通知单行ID字段及相关校验逻辑
...
在销售出库单行中新增发货通知单行ID字段,并实现相关的校验逻辑,以确保出库单与发货通知单行之间的关联性和一致性。此变更提升了系统的完整性和数据一致性。
2026-04-09 00:43:50 +08:00
YunaiV
f34657341b
✨ feat(stock): 添加虚拟仓过滤功能
...
新增虚拟仓过滤模式,支持排除虚拟仓和仅查看虚拟仓的选项。更新相关请求对象和数据查询逻辑,以便后端处理虚拟仓的过滤需求。
2026-04-08 22:11:17 +08:00
YunaiV
52eb55107c
✨ feat(task): 添加质检标志字段及相关查询功能
...
在生产任务和工艺路线工序中新增质检标志字段 `checkFlag`,并更新相关查询逻辑以支持根据该字段进行过滤。此变更旨在增强任务管理的灵活性和准确性。
2026-04-08 18:01:06 +08:00
YunaiV
5fa959662b
✨ feat(select): 增加批次和仓库过滤功能,优化库存选择器
2026-04-08 13:59:29 +08:00
YunaiV
b0fc3b05f2
✨ feat(select): 增加批次和仓库过滤功能,优化库存选择器
2026-04-08 13:59:14 +08:00
YunaiV
5cc0a96db0
✨ feat(workorder): 添加工单状态字段并更新相关逻辑
...
在 MesProWorkOrderPageReqVO 中新增工单状态字段,并在相关的 Mapper 和 Service 中更新查询逻辑以支持该字段。同时,新增批次编号字段到 MesWmMaterialStockPageReqVO,并更新相关逻辑以确保数据一致性。
2026-04-08 12:03:25 +08:00
YunaiV
55cb175f5a
✨ feat(select): 增加批次和仓库过滤功能,优化库存选择器
2026-04-08 09:56:32 +08:00
YunaiV
606a9ed6e8
✨ feat(select): 增加状态过滤功能,优化选择器提示信息
...
在 DvCheckPlanSelect 和相关组件中新增状态过滤功能,允许用户根据计划状态筛选可选项。同时,优化了提示信息的拼装逻辑,提升用户体验。
2026-04-08 01:15:03 +08:00
YunaiV
500d20155b
✨ feat(mes): 添加任务状态列表支持,优化任务查询功能
2026-04-07 23:47:14 +08:00
YunaiV
0d13f32654
✨ feat(mes): 添加工单状态过滤功能
2026-04-07 20:03:57 +08:00
YunaiV
06b00efcbe
🎨 style(mes): 代码格式化调整
...
对 MES 模块多个 Vue 组件进行代码格式化:
- 长属性行拆分为多行
- 多行属性合并为更紧凑的格式
- 删除多余空行
- 统一分号/逗号风格
无逻辑变更,纯格式调整。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 18:52:50 +08:00
YunaiV
5af93de4f5
✨ feat(mes): 新增 BOM 子物料选择器组件及弹窗
2026-04-07 18:48:03 +08:00
YunaiV
917b2102bd
✨ feat(system): 更新用户选择组件为 UserSelectV2 并添加部门树选择
2026-04-07 14:00:08 +08:00
YunaiV
a5122b58c4
✨ feat(mes): 添加发货通知单行选择器组件及相关功能
2026-04-07 12:26:31 +08:00
YunaiV
2f21daecc1
♻️ refactor(mes): 移除无用的发货通知单相关代码
...
删除了不再使用的发货通知单精简列表接口及相关逻辑,简化了代码结构,提高了可维护性。
2026-04-07 12:26:19 +08:00
YunaiV
bf586e57b8
♻️ refactor(mes): 移除无用的到货通知单相关接口和组件
2026-04-07 12:26:11 +08:00
YunaiV
6e6e65a22c
♻️ refactor(mes): 移除无用的到货通知单相关方法和注释
2026-04-07 12:26:03 +08:00
YunaiV
0e4e5be9ee
✨ feat(package): 添加状态字段并重构装箱单选择逻辑
...
新增装箱单和盘点方案的状态字段,优化装箱单选择器的交互方式,支持通过弹窗选择装箱单。移除不再使用的接口和方法,提升代码整洁性和可维护性。
2026-04-07 09:49:25 +08:00
YunaiV
ee1a7b9003
♻️ refactor(mes): 移除未使用的盘点方案相关代码
...
清理了不再使用的盘点方案列表获取方法和相关的 API 接口,简化了代码结构,提高了可维护性。
2026-04-07 09:36:28 +08:00
YunaiV
739725d9f8
✨ feat(mes): 移除质检指标精简列表接口并重构选择器组件
...
移除不再使用的质检指标精简列表接口,更新相关前端组件以支持新的选择器交互方式。选择器现在使用只读输入框和弹窗选择,提升用户体验和交互性。
2026-04-07 00:56:10 +08:00
YunaiV
9be9a2fdaf
♻️ refactor(mes): 移除无用的质检方案精简列表接口
2026-04-07 00:43:14 +08:00
YunaiV
2eb9f0c740
♻️ refactor(card): 移除精简列表相关代码和接口
...
删除不再使用的获取生产流转卡精简列表的接口及相关逻辑,优化代码结构。
2026-04-07 00:42:58 +08:00
YunaiV
1387509a37
✨ feat(transfer): 新增库存选择功能并优化表单逻辑
2026-04-07 00:31:44 +08:00
YunaiV
b173e40ebf
✨ feat(select): 继承属性以增强选择组件的灵活性
2026-04-06 23:52:26 +08:00
YunaiV
69e076e496
♻️ refactor(task): 移除生产任务精简列表相关代码
...
删除不再使用的生产任务精简列表接口及其相关逻辑,优化代码结构。
2026-04-06 23:43:05 +08:00
YunaiV
a585a48ca5
✨ feat(mes): 增加工序选择器的悬停 tooltip 展示详情
2026-04-06 22:40:02 +08:00
YunaiV
796c095044
♻️ refactor(mes): 清理无用代码和调整组件结构
2026-04-06 22:14:52 +08:00
YunaiV
934baa46d4
✨ feat(type): 新增设备类型树组件并调整导入路径
2026-04-06 20:20:23 +08:00
YunaiV
65a0be187f
✨ feat(mes): 增强设备选择器和类型选择器功能
...
- 更新设备选择器,支持只读输入框和弹窗选择,提升用户体验。
- 增加设备编码、名称、品牌和规格的展示信息。
- 优化设备类型选择器,添加 tooltip 显示选中项的详细信息。
- 移除不再使用的 API 接口,简化代码结构。
这些改动旨在提升用户在选择设备和设备类型时的交互体验,确保信息的完整性和可读性。
2026-04-06 20:04:59 +08:00
YunaiV
16012a5efd
✨ feat(mes): 新增点检保养项目选择器和弹窗组件
...
实现了 MES 点检保养项目的只读输入框和弹窗选择器,支持单选和多选功能。用户可以通过只读输入框查看选中项目的详细信息,并通过点击弹窗进行选择。此功能提升了用户交互体验,简化了项目选择流程。
2026-04-06 19:52:52 +08:00
YunaiV
8701e75a23
✨ feat(mes): 新增点检保养方案选择器组件及弹窗
2026-04-06 19:40:48 +08:00
YunaiV
0ed523ef20
feat(mes):修复 workorder 的路径问题
2026-04-06 19:35:19 +08:00
YunaiV
38016f46ba
♻️ refactor(mes): 移除无用注释
2026-04-06 18:41:45 +08:00
YunaiV
1ecba4a1f8
🎨 style(WmBatchSelectDialog): 调整输入框宽度至 220px
2026-04-06 18:38:46 +08:00
YunaiV
ebfd12ebe7
🎨 style(WmBatchSelectDialog): 调整输入框宽度至 220px
2026-04-06 18:38:38 +08:00
YunaiV
b36094b90f
✨ feat(mes): 新增批次管理相关字段和功能
...
在批次管理中新增多个字段,包括生产任务编号、工具编号、模具编号、生产批号、质量状态以及日期范围等。更新了相关的请求和响应对象,增强了批次查询功能,支持更多筛选条件。
同时,更新了前端组件以支持新的字段和功能,提升用户体验。
2026-04-06 18:31:18 +08:00
YunaiV
0ea1b51d3b
✨ feat(batch): 添加生产工单编号字段并重构选择器组件
2026-04-06 16:59:07 +08:00
YunaiV
ed6fdd5894
✨ feat(mes): 增加计量单位选择器的悬停 tooltip 展示详情
2026-04-06 16:33:21 +08:00
YunaiV
018a6975ec
✨ feat(mes): 添加状态过滤功能,默认只查询启用项
2026-04-06 16:27:08 +08:00
YunaiV
9b686628be
✨ feat(mes): 更新车间和工作站选择器,增加 tooltip 展示详情
2026-04-06 16:01:53 +08:00
YunaiV
88552dc6a2
✨ feat(mes): 增强物料分类选择器和库位选择器的悬停提示功能
...
为物料分类选择器、库位选择器、库区选择器和仓库选择器添加悬停提示,展示更多详细信息,包括编码、名称、备注等。此改进提升了用户体验,使用户在选择时能够更方便地获取信息。
2026-04-06 13:13:02 +08:00
YunaiV
b3d587b1c2
✨ feat(mes): 新增库存记录编号字段并优化盘点行创建逻辑
2026-04-06 12:15:00 +08:00
YunaiV
f1aa3e0b5e
✨ feat(dialog): 优化选择对话框的搜索表单和数据表格
...
调整了 MdClientSelectDialog、MdItemSelectDialog 和 MdVendorSelectDialog 组件的搜索表单样式,增加了英文名称和状态的输入项,提升了用户体验。同时,重构了数据表格的结构,确保一致性和可读性。
2026-04-06 12:04:13 +08:00
YunaiV
5f61294aad
✨ feat(mes): 增加库位编号和相关查询功能
...
在库存物资选择对话框中新增库位编号字段,更新查询参数以支持库位的选择和过滤。调整相关组件以确保库位信息的正确显示和交互。
2026-04-06 11:28:35 +08:00
YunaiV
a29ea8e4e4
✨ feat(stock): 添加供应商编号并移除库存精简列表接口
2026-04-06 11:16:21 +08:00
YunaiV
c4507c6f1f
✨ feat(mes): 优化生产工单选择对话框的搜索功能和布局
2026-04-06 10:31:41 +08:00
YunaiV
09836f2972
♻️ refactor(workorder): 移除工单列表相关代码
...
删除不再使用的工单列表接口和相关逻辑,简化代码结构,提升可维护性。
2026-04-06 10:21:34 +08:00
YunaiV
797e62710c
♻️ refactor(mes): 移除无用的供应商列表相关代码
...
清理不再使用的供应商精简列表接口及相关服务方法,优化代码结构。
2026-04-06 01:39:39 +08:00
YunaiV
306ea73838
♻️ refactor(navigation): 移除无用注释,优化导航逻辑
2026-04-06 01:36:53 +08:00
YunaiV
4d183bf379
✨ feat(mes): 增加生产趋势查询参数验证和首页组件优化
...
为生产趋势查询添加最小和最大天数验证,确保输入有效性。
优化首页组件,增加数据存在性判断,提升用户体验。
2026-04-06 01:28:30 +08:00
YunaiV
fb213bfd76
✨ feat(home): 更新首页组件注释和路由名称
...
优化首页各个组件的注释,增加可读性,并将导航逻辑中的 URL 替换为路由名称,提升代码的稳定性和可维护性。
2026-04-06 01:12:32 +08:00
YunaiV
8e8c1941b3
♻️ refactor(mes): 移除无用的客户列表接口和相关代码
...
清理不再使用的客户精简列表接口及其相关实现,优化代码结构,提升可维护性。
2026-04-06 00:53:32 +08:00
YunaiV
89b38dbdd8
✨ feat(mes): 添加用户已上工的错误码检查
2026-04-06 00:50:13 +08:00
YunaiV
91adaff611
✨ feat(home): 新增 MES 首页统计功能及相关数据结构
2026-04-06 00:50:01 +08:00
YunaiV
163e722e61
✨ feat(statistics): 新增 MES 首页统计功能
...
实现了 MES 首页的统计功能,包括工单状态分布、生产趋势和汇总统计。新增了相关的 VO 类、服务接口及实现,支持从数据库获取统计数据并返回给前端。
- 添加 MesHomeStatisticsController 控制器
- 实现 MesHomeStatisticsService 接口及其实现
- 新增数据访问层 Mapper 和 XML 配置
- 定义响应 VO 类以适应前端需求
2026-04-05 23:55:59 +08:00
YunaiV
0561636d4f
✨ feat(mes): 更新 MES 退料类型和状态常量
2026-04-05 23:52:07 +08:00
YunaiV
00ff024328
✨ feat(mes): 新增当前用户工作站绑定状态 VO 和相关接口
2026-04-05 23:38:23 +08:00
YunaiV
6c276d6ae3
✨ feat(workrecord): 新增 MES 工作记录管理功能
...
实现工作记录的上下工记录流水,包括分页查询、导出 Excel、上线和下线操作。新增相关的请求和响应 VO,完善数据对象和服务接口,支持用户与工作站的绑定状态管理。
2026-04-05 22:03:57 +08:00
YunaiV
86e8585a31
♻️ refactor(mes): 移除无用的物料产品相关代码
...
清理了不再使用的物料产品相关方法和接口,简化了代码结构,提高了可维护性。
2026-04-05 17:20:36 +08:00
YunaiV
998c22d3da
✨ feat(mes): 优化物料产品选择器 V2 组件(完善 tooltip 展示)
2026-04-05 12:52:13 +08:00
YunaiV
35e003de64
✨ feat(mes): 优化物料产品选择器 V2 组件(完善 tooltip 展示)
2026-04-05 12:50:00 +08:00
YunaiV
07cd4c47ed
✨ feat(mes): 优化物料产品选择器 V2 组件
2026-04-05 12:39:13 +08:00
YunaiV
1f9380ba90
✨ feat(mes): 新增物料产品选择器 V2 组件
2026-04-05 12:28:29 +08:00
YunaiV
9f9ac51edf
✨ feat(mes): 新增物料产品选择器 V2 组件
2026-04-05 12:27:32 +08:00
YunaiV
1313347c85
✨ feat(mes): 增强批次追溯功能,添加删除标记过滤
...
更新 SQL 查询以过滤已删除的记录,确保批次追溯时只返回有效数据。同时,增加了集成测试用例以验证新逻辑的正确性。
2026-04-05 10:40:49 +08:00
YunaiV
53fa5ea202
✨ feat(mes): 增强库存事务处理与编码生成
...
- 优化 selectByCompositeKey 方法,改进批次 ID 的处理逻辑
- 新增多个错误码以增强错误处理
- 更新样品编号和入库单编号生成逻辑,使用自动编码 API
2026-04-05 00:51:40 +08:00
YunaiV
342b5d08c0
✨ feat(defect): 支持缺陷记录弹窗的编辑和详情模式
2026-04-05 00:00:57 +08:00
YunaiV
4e964e2eea
✨ feat(mes): 新增质检方案编码生成与详情模式支持
2026-04-04 22:37:49 +08:00
YunaiV
98714fde0c
✨ feat(mes): 新增质检指标结果值属性校验
2026-04-04 21:17:49 +08:00
YunaiV
3ab07d7412
✨ feat(mes): 更新缺陷类型字典和必填字段验证
...
修改缺陷相关的字典类型为 MES_DEFECT_TYPE,并在缺陷数量字段添加必填验证,确保数据完整性。
2026-04-04 20:54:00 +08:00
YunaiV
23799e7f21
✨ feat(mes): 修改执行生产流转卡为完成生产流转卡
2026-04-04 20:22:47 +08:00
YunaiV
0c4ee24dd3
✨ feat(mes): 新增生产流转卡状态管理功能
...
- 添加状态字段到 MesProCardRespVO 和相关的前端组件
- 实现提交、执行和取消生产流转卡的 API 接口
- 更新 MesProCardService 和 MesProCardServiceImpl 以支持新功能
- 更新前端表单和列表以显示和操作流转卡状态
2026-04-04 20:07:56 +08:00
YunaiV
8e91178726
✨ feat(mes): 新增生产报工单功能及相关逻辑
...
新增生产报工单的创建、编辑、提交和审批功能,优化表单交互逻辑,支持自动生成报工单号,提升用户体验。
2026-04-04 19:49:59 +08:00
YunaiV
bc098e8999
✨ feat(mes): 优化工单和任务管理功能,增强表单交互逻辑
...
调整工单表单和任务列表的展示,新增工单完成操作,优化表单数据处理逻辑,提升用户体验。
2026-04-04 17:03:45 +08:00
YunaiV
cfa787530e
✨ feat(mes): 优化工艺路线管理功能,调整状态处理逻辑
...
移除工艺路线状态的必填验证,调整状态字段为可选。更新状态切换逻辑,增强用户交互体验,确保状态操作的可用性和提示信息的准确性。
2026-04-04 16:42:26 +08:00
YunaiV
375d5a2236
✨ feat(mes): 更新工艺路线和工序管理界面,增强用户体验
...
调整表单和列表中的标签,增加字段描述,优化布局,提升可读性和操作性。
2026-04-04 16:24:05 +08:00
YunaiV
609cbb654c
✨ feat(mes): 新增工艺路线启用功能及相关逻辑
...
实现工艺路线的启用功能,允许用户在确认工序和产品 BOM 配置完整后启用工艺路线。同时,优化了表单的状态管理,增强了用户体验。
2026-04-04 12:08:06 +08:00
YunaiV
aa5cb50d1d
✨ feat(mes): 新增工序详情功能及编码生成逻辑
...
为工序管理模块新增工序详情查看功能,用户可以通过点击工序编码查看详细信息。同时,更新工序编码生成逻辑,支持自动生成编码,提升用户体验。
2026-04-04 11:34:45 +08:00
YunaiV
d18a58f44f
✨ feat(mes): 增强工序管理功能,新增工序校验逻辑
...
新增工序创建和更新时的存在性校验,确保工序有效性。
同时,重构工艺路线服务,优化工序引用检查逻辑。
2026-04-04 11:28:27 +08:00
YunaiV
12566d6860
♻️ refactor(mes): 优化组件状态管理及注释说明
2026-04-04 10:54:11 +08:00
YunaiV
7e0c226c24
✨ feat(mes): 重构工单状态管理及验证逻辑
...
移除工单状态字段,优化工单创建和更新时的验证逻辑,确保数据一致性和完整性。更新前端表单,简化状态处理,提升用户体验。
2026-04-04 10:44:17 +08:00
YunaiV
b2d86b12d6
✨ feat(mes): 新增生产工单编码及状态管理功能
...
新增生产工单编码规则和状态管理逻辑,优化工单创建和更新流程。
同时,更新前端表单以支持新的工单状态和来源单据字段,提升用户体验。
2026-04-04 10:15:26 +08:00
YunaiV
469363c046
✨ feat(mes): 更新维修工单表单逻辑及字段展示
2026-04-04 01:22:55 +08:00
YunaiV
307bac15e1
✨ feat(mes): 更新维修工单表单逻辑及状态管理
...
调整维修工单表单的字段展示逻辑,优化完成维修和验收的操作流程。新增维修完成日期和维修结果的必填校验,确保用户在提交时提供必要信息。同时,修正了表单的可编辑状态,提升用户体验。
2026-04-04 01:17:06 +08:00
YunaiV
da1dfa410b
✨ feat(mes): 新增维修工单确认完成请求及相关逻辑
...
新增 MesDvRepairConfirmReqVO 类以处理维修工单确认完成请求,更新相关服务和控制器逻辑以支持新的请求格式。确保维修工单名称和完成日期为必填项,增强了数据验证和状态管理。
2026-04-04 00:54:39 +08:00
YunaiV
86e8d62213
✨ feat(mes): 更新维修工单流程及状态管理
...
新增维修工单提交、确认和完成验收功能,优化状态流转逻辑。
- 提交维修工单时记录当前用户
- 完成维修后更新状态为待验收
- 完成验收时支持通过与不通过的结果记录
确保维修工单的状态管理更加清晰,提升用户体验
2026-04-04 00:46:02 +08:00
YunaiV
1005ec0eb6
✨ feat(mes): 新增维修工单状态流转功能
...
实现维修工单的状态流转,包括提交、完成维修和验收功能。新增相关接口和状态枚举,优化了维修工单的管理流程,确保状态的准确性和一致性。
2026-04-04 00:21:58 +08:00
YunaiV
7999232771
✨ feat(mes): 新增维修工单编码唯一性校验及设备编号字段
...
新增维修工单编码的唯一性校验逻辑,确保在创建和更新维修工单时编码不重复。同时,新增设备编号字段以便于关联设备信息,提升维修工单管理的准确性和完整性。
2026-04-03 23:30:40 +08:00
YunaiV
a8e68c155a
✨ feat(mes): 更新保养记录状态值及表单操作逻辑
...
调整保养记录状态值,确保状态与操作逻辑一致。新增表单提交功能,允许在编辑模式下提交保养记录,优化用户体验。
2026-04-03 22:54:27 +08:00
YunaiV
efdb18c05b
✨ feat(mes): 优化保养项目弹窗及按钮文本
...
更新保养项目明细的标题,调整按钮文本格式,提升用户体验。
2026-04-03 21:48:28 +08:00
YunaiV
7b98e87849
✨ feat(mes): 更新保养记录相关字段及新增功能
...
调整保养记录请求对象,新增保养计划编号、设备编号和保养人编号字段。更新查询逻辑以支持新字段,并新增获取保养记录明细列表和根据记录编号删除明细的功能。优化表单组件以支持详情模式。
2026-04-03 19:02:22 +08:00
YunaiV
b5063758e5
✨ feat(mes): 新增点检记录明细的项目类型字段及批量创建功能
...
新增项目类型字段到点检记录明细响应对象,并在控制器和服务层中实现批量创建点检记录明细的功能。此变更提升了点检记录的灵活性和可扩展性。
2026-04-03 09:54:16 +08:00
YunaiV
0c0de1eb45
✨ feat(mes): 新增点检保养项目编码及相关逻辑
2026-04-03 08:37:33 +08:00
YunaiV
ca892047fb
♻️ refactor(mes): 重命名自动编码相关组件文件
2026-04-03 08:35:32 +08:00
YunaiV
e035774e38
✨ feat(mes): 优化点检方案表单及子资源列表的编辑逻辑
...
调整点检方案表单,简化字段的禁用逻辑,确保在编辑模式下可以生成方案编码。更新子资源列表组件,基于表单类型动态控制操作权限,提升用户体验。
2026-04-03 08:19:44 +08:00
YunaiV
476dd53a3c
✨ feat(mes): 新增点检方案设备和项目的重复校验逻辑
...
新增设备和项目在同一方案下的重复校验,避免用户重复添加相同设备或项目。同时,增强了点检方案停用时的状态校验,确保只有已启用的方案才能被停用。
2026-04-03 00:49:00 +08:00
YunaiV
b25cb1dd0f
✨ feat(mes): 新增计划编码、开始时间、结束日期及频率信息字段
2026-04-03 00:10:35 +08:00
YunaiV
acf673d2d2
✨ feat(mes): 新增设备台账点检、保养和维修记录列表组件
2026-04-02 23:50:24 +08:00
YunaiV
2ddfb9b722
✨ feat(mes): 优化设备编码生成与表单交互逻辑
...
增强设备编码输入的交互体验,禁用生成按钮在更新状态下,确保用户操作的准确性。同时,添加了 TODO 注释以便后续功能实现的对接。
2026-04-02 23:24:46 +08:00
YunaiV
3db2347f67
✨ feat(mes): 新增设备编码生成逻辑及相关常量
2026-04-02 22:37:04 +08:00
YunaiV
4bbe313ef8
✨ feat(mes): 新增设备台账导入功能及相关接口
...
新增设备台账导入功能,支持从 Excel 文件批量导入设备信息。实现了导入模板的生成和导入结果的反馈,包括成功创建和更新的设备编码,以及导入失败的原因提示。同时,更新了设备类型和车间的校验逻辑,确保数据的有效性和完整性。
2026-04-02 22:27:11 +08:00
YunaiV
5ea8c24410
✨ feat(mes): 增强设备类型编码的输入验证与生成逻辑
...
为设备类型编码字段添加非空验证,确保用户输入有效数据。同时,更新前端表单,允许用户手动输入或点击生成按钮来生成编码,提升用户体验。
2026-04-02 22:00:50 +08:00
YunaiV
1cf4f0128c
✨ feat(mes): 替换用户选择组件,简化用户搜索逻辑
2026-04-02 21:28:29 +08:00
YunaiV
1b3a41da14
✨ feat(mes): 优化排班日历查询逻辑,支持批量班组查询
...
重构排班日历查询功能,简化代码实现,支持一次性查询多个班组的排班记录。
新增班组编号集合字段,提升查询效率和可读性。
2026-04-02 19:54:18 +08:00
YunaiV
f8553abcdd
✨ feat(mes): 新增假期设置列表支持日期范围过滤功能
...
更新假期设置列表接口,支持可选的开始和结束日期参数,优化前端日历组件的数据获取逻辑,提升用户体验。
2026-04-02 10:03:50 +08:00
YunaiV
fc21347c59
✨ feat(mes): 重构机械类型校验逻辑,简化代码实现
2026-04-02 09:49:50 +08:00
YunaiV
e41961283c
✨ feat(mes): 优化 cal plan 的代码实现
2026-04-02 01:36:36 +08:00
YunaiV
71c7d498f1
✨ feat(mes): 新增查看模式下的只读功能及相关按钮逻辑
2026-04-02 00:34:22 +08:00
YunaiV
f133e4f5c5
✨ feat(mes): 更新班组表单和成员列表组件逻辑
...
优化班组表单的弹窗标题逻辑,支持不同表单类型的动态标题显示。调整成员列表组件,确保操作按钮仅在编辑模式下可见。简化消息提示内容,提升用户体验。
2026-04-02 00:27:23 +08:00
YunaiV
e0238243aa
✨ feat(mes): 移除冗余的班组类型枚举引用及相关注释
2026-04-01 23:54:49 +08:00
YunaiV
f85979e025
✨ feat(mes): 新增日期工具方法及排班请求字段
...
新增获取指定日期所在季度和周的第一天的方法,增强日期处理能力。
同时在排班请求中添加班组类型、开始日期和结束日期字段,完善排班计划功能。
2026-04-01 20:40:18 +08:00
YunaiV
8de07f5337
✨ feat(mes): 新增班组排班记录生成逻辑及相关字段校验
...
实现班组排班记录的生成逻辑,增加了班组类型和用户存在性校验,优化了排班记录的批量写入方式。同时,新增了相关错误码以处理班组和班次数量不足的情况。
2026-04-01 19:12:53 +08:00
zhulianghu
74128f53a5
fix: 修复响应拦截器 code=0 的逻辑错误
2026-04-01 09:53:32 +08:00
YunaiV
c68d64a585
✨ feat(mes): 新增批次生成逻辑及相关字段处理
...
实现批次的生成或获取逻辑,自动关联外协工单和物料信息。更新了相关数据对象和服务实现,确保在创建和更新外协工单行时能够正确处理批次信息。
2026-04-01 01:45:34 +08:00
YunaiV
95b4c9242c
✨ feat(mes): 新增外协工单编码字段及相关查询逻辑
2026-04-01 01:19:52 +08:00
YunaiV
a21d5193f7
✨ feat(mes): 新增批次编码字段及外协工单编码处理逻辑
2026-04-01 00:42:54 +08:00
YunaiV
f9e3eba6b6
✨ feat(mes): 优化外协入库单表单与列表交互逻辑
...
新增入库单编号的可点击链接,优化表单提交与完成入库的逻辑,提升用户体验。
2026-04-01 00:15:25 +08:00
YunaiV
ffb833d822
✨ feat(mes): 新增工单类型过滤和批次编码处理逻辑
...
在生产工单精简列表接口中新增工单类型参数,支持根据工单类型过滤工单列表。同时,在外协发料单行的创建和更新中,新增批次编码字段,并实现根据批次编码自动解析批次 ID 的功能,提升数据处理的灵活性和准确性。
2026-03-31 23:22:23 +08:00
YunaiV
8effbce819
✨ feat(mes): 更新外协发料单表单和行列表单逻辑
...
调整外协发料单明细表单的宽度,优化物料选择逻辑,增加备注字段,并修正批次号的标签。确保表单与后端数据校验一致,提高用户体验。
2026-03-31 22:53:41 +08:00
YunaiV
2b9da6c2a2
✨ feat(mes): 新增外协发料单编码和数据校验逻辑
...
新增外协发料单编码常量,更新相关服务以支持外协发料单的创建和校验逻辑。优化了发料单的创建、更新和取消流程,确保数据的完整性和有效性。
2026-03-31 22:38:53 +08:00
YunaiV
89b61ba3cd
✨ feat(mes): 新增生产流转卡和装箱单精简列表接口
...
新增获取生产流转卡和装箱单的精简列表接口,主要用于前端下拉选项选择,提升用户体验。同时,更新条码配置相关逻辑,增加条码配置关联检查,确保数据一致性。
2026-03-31 21:14:07 +08:00
YunaiV
26272b7b12
✨ feat(mes): 更新操作按钮,移除完成功能
2026-03-31 20:11:12 +08:00
YunaiV
6611156170
✨ feat(mes): 优化装箱单表单逻辑,增强用户交互体验
...
更新装箱单表单的操作逻辑,新增编辑、完成和删除功能,优化表单字段的可编辑性和状态管理。确保在编辑模式下用户可以保存修改,并在完成操作前进行确认,提升用户体验和数据安全性。
2026-03-31 20:05:13 +08:00
YunaiV
6dc20ba950
✨ feat(mes): 优化库存冻结逻辑,更新盘点任务处理流程
...
重构库存冻结和解冻逻辑,合并相关方法以提高代码可读性和维护性。
新增表单提交和执行盘点的处理逻辑,确保用户操作的流畅性和准确性。
2026-03-31 19:38:04 +08:00
YunaiV
134cddc54c
✨ feat(mes): 优化条件值校验逻辑,调整 valueId 处理方式
2026-03-31 18:47:57 +08:00
YunaiV
55ca892c9c
✨ feat(mes): 新增盘点方案保存数据校验逻辑,优化动态盘点时间处理
2026-03-31 18:31:53 +08:00
YunaiV
abe63d39db
✨ feat(mes): 新增盘点方案编码和任务编码常量,更新错误码提示
...
新增盘点方案编码和盘点任务编码常量,以支持新的盘点功能。同时,更新相关错误码提示,确保用户在操作时获得准确的信息。
2026-03-31 18:14:42 +08:00
YunaiV
03bc24d3f7
✨ feat(mes): 更新转移调拨单编码常量名称
2026-03-31 16:03:35 +08:00
YunaiV
9d3fe736aa
✨ feat(mes): 新增转移单行和明细的删除功能,优化删除逻辑
...
新增通过行ID和转移ID删除转移单行和明细的功能,简化了删除操作,提升代码可读性和维护性。同时,增加了转移数量超过库存数量的错误码,增强了系统的健壮性。
2026-03-31 15:35:05 +08:00
YunaiV
6282cdf979
✨ feat(mes): 新增单据状态字段,更新库存冻结状态批量处理
2026-03-31 12:18:16 +08:00
YunaiV
725a16866a
✨ feat(mes): 优化转移单操作按钮和表单逻辑
...
调整转移单操作按钮的显示逻辑,简化表单提交和确认流程。新增状态判断以支持不同操作模式,提升用户交互体验。
2026-03-31 11:08:41 +08:00
YunaiV
c94cfa2ecb
✨ feat(mes): 新增来源单据编号和类型字段,更新必填验证
2026-03-31 10:03:05 +08:00
YunaiV
4de57ee672
✨ feat(mes): 新增入库单行级联删除功能
...
实现了根据入库单编号删除所有相关行的功能,增强了数据管理的灵活性和一致性。
2026-03-31 09:01:57 +08:00
YunaiV
76f47a476b
🎨 style(mes): 统一代码格式,优化可读性
2026-03-30 23:23:23 +08:00
YunaiV
920799534a
✨ feat(mes): 新增库区和库位编号必填验证
2026-03-30 23:22:53 +08:00
YunaiV
6e58d4d73f
✨ feat(mes): 优化杂项出库单表单,移除提交功能并调整字段逻辑
...
移除杂项出库单表单中的提交按钮,简化用户操作流程。调整表单字段逻辑,确保在编辑和查看模式下的字段状态一致,提升用户体验。
2026-03-30 23:05:39 +08:00
YunaiV
e954777753
✨ feat(mes): 新增来源单据编号和来源单据类型字段
...
在表单中添加来源单据编号和来源单据类型字段,以支持更详细的出库单信息。同时,更新了相关的状态和类型字段,优化了表单的交互体验。
2026-03-30 22:50:40 +08:00
YunaiV
45cc9ad129
✨ feat(mes): 更新出库单相关字段和编码规则
...
调整出库单表单和列表的字段标签,新增批次号字段,优化操作按钮格式,并添加编码规则的TODO注释,以便后续开发。
2026-03-30 22:35:16 +08:00
YunaiV
57b75b5201
✨ feat(mes): 优化销售出库拣货明细表单布局
...
调整表单布局为三行显示,提升用户体验。修改出库仓库、库区、库位和批次号字段为禁用状态,以符合业务逻辑。
2026-03-30 22:22:34 +08:00
YunaiV
87a286ca5d
✨ feat(mes): 优化销售出库表单布局和交互逻辑
...
调整销售出库表单的模板结构,改善运输信息的展示逻辑,确保在不同模式下的可用性和可读性。增加了对表单项的计算属性支持,以提升用户体验。
2026-03-30 22:07:59 +08:00
YunaiV
47db6c3b4c
✨ feat(mes): 新增批次号和出厂检验标志字段
...
在相关数据对象中新增批次号和出厂检验标志字段,并在服务层实现相应的逻辑校验。此变更旨在增强库存管理的灵活性和准确性。
2026-03-30 21:51:40 +08:00
YunaiV
47355814a2
✨ feat(mes): 新增批次号字段并重命名收货地址字段
2026-03-30 20:56:41 +08:00
YunaiV
7e3693d18c
✨ feat(mes): 新增库存记录ID和收货地址字段
...
在销售出库相关的多个数据对象中新增库存记录ID和收货地址字段,以支持更全面的出库信息管理。这些字段将帮助在出库单中更好地追踪库存和收货信息,提高系统的可用性和用户体验。
2026-03-30 20:35:23 +08:00
YunaiV
09f95d5fad
✨ feat(mes): 新增销售订单号查询输入框
2026-03-30 19:27:11 +08:00
YunaiV
64e7b17631
✨ feat(mes): 新增执行退货功能及相关逻辑优化
2026-03-30 19:22:29 +08:00
YunaiV
696069e212
✨ feat(mes): 新增销售退货单状态和编码逻辑
...
新增销售退货单的状态枚举和编码常量,优化了退货单的操作逻辑,支持新的质检和提交功能。
2026-03-30 19:16:08 +08:00
YunaiV
0ff490499e
✨ feat(mes): 优化发货通知单表单和列表功能
...
重构发货通知单的表单和列表展示,新增执行出库按钮,优化客户选择组件,提升用户体验。调整表单字段的可编辑状态,确保在不同操作模式下的交互逻辑清晰。
2026-03-30 18:22:30 +08:00
YunaiV
12c04def97
✨ feat(mes): 移除库存物资记录编号字段并优化批次处理逻辑
2026-03-30 18:05:31 +08:00
YunaiV
62f4c62e3d
✨ feat(mes): 新增库存物资记录编号字段及相关逻辑
2026-03-30 17:53:58 +08:00
YunaiV
e41d14bb67
✨ feat(mes): 新增库存物资记录编号字段及相关逻辑
2026-03-30 15:50:31 +08:00
lijiahui
491e09c136
fix: 菜单名称过长时没有正确显示省略号
2026-03-30 15:31:51 +08:00
YunaiV
d8dbbf156e
✨ feat(mes): 新增发货通知单编码和删除明细逻辑校验
2026-03-30 15:18:32 +08:00
YunaiV
79d63523fe
✨ feat(mes): 增强产品入库单功能,新增数量校验和明细检查
...
新增上架数量的正数校验,确保入库单的数量大于0。同时,增加了收货单明细为空的错误提示,提升数据完整性和用户体验。
2026-03-30 12:54:12 +08:00
YunaiV
4ec4c4dd09
✨ feat(mes): 优化退料单功能,新增提交和执行退料操作
2026-03-30 12:17:03 +08:00
YunaiV
91b2fbb659
✨ feat(mes): 新增库存记录和批次编码字段,优化退料单功能
...
在退料单相关的多个类中新增库存记录 ID 和批次编码字段,以支持更精确的库存管理和数据校验。同时,更新了相关的表单和服务逻辑,确保新字段的正确使用和验证。
2026-03-30 11:48:09 +08:00
YunaiV
b82bb858d0
✨ feat(mes): 重构领料出库单操作逻辑,优化表单提交和删除功能
...
重构了领料出库单的操作逻辑,合并了提交和完成操作的处理方式,简化了代码结构。新增了表单提交前的修改检查,确保数据一致性。同时,优化了删除操作的实现,提升用户体验。
2026-03-30 11:31:15 +08:00
YunaiV
daa269e4ce
✨ feat(mes): 优化领料出库拣货明细表单布局,新增库存记录选择
2026-03-30 10:48:32 +08:00
YunaiV
6c968ac5b7
✨ feat(mes): 增强领料出库单功能,新增客户信息和行数据校验
2026-03-30 10:17:14 +08:00
YunaiV
ef2b54316e
✨ feat(mes): 优化库存选择器和退货明细表单布局
...
调整库存选择器为下拉选择组件,支持前端过滤,提升用户体验。更新退货明细表单,增加库存记录选择,优化表单布局,确保信息展示更为清晰。
2026-03-29 23:16:56 +08:00
YunaiV
51e8cd35fa
✨ feat(mes): 优化库存选择器和退货明细表单布局
...
调整库存选择器为下拉选择组件,支持前端过滤,提升用户体验。更新退货明细表单,增加库存记录选择,优化表单布局,确保信息展示更为清晰。
2026-03-29 23:08:48 +08:00
YunaiV
23bf42c4ad
✨ feat(mes): 优化库存选择器和退货明细表单布局
...
调整库存选择器为下拉选择组件,支持前端过滤,提升用户体验。更新退货明细表单,增加库存记录选择,优化表单布局,确保信息展示更为清晰。
2026-03-29 23:08:42 +08:00
YunaiV
4f76374065
✨ feat(mes): 更新删除操作注释为更明确的描述
2026-03-29 21:57:35 +08:00
YunaiV
fe6e80271d
✨ feat(mes): 优化删除按钮操作及表单数据处理逻辑
2026-03-29 21:57:26 +08:00
YunaiV
5856838c73
✨ feat(mes): 优化退货单操作逻辑,简化提交与完成流程
2026-03-29 21:43:46 +08:00
YunaiV
1f2a0904f4
✨ feat(mes): 增强退货单功能,新增行数据校验与删除逻辑
...
- 新增退货数量字段的校验,确保其大于 0
- 增加根据行 ID 删除明细的功能
- 新增退货单编码的定义
- 增强退货单状态校验,确保状态为草稿才能进行删除操作
2026-03-29 21:01:14 +08:00
YunaiV
5efcbffd67
♻️ refactor(mes): 重命名返回供应商相关文件
2026-03-29 20:25:02 +08:00
YunaiV
f7f6e7ce93
✨ feat(mes): 优化到货通知单和行的表单逻辑
...
调整到货通知单和行的表单结构,增强用户体验。修改了表单字段的布局和逻辑,确保数据的有效性和可用性。更新了相关组件的引用,提升代码的可读性和维护性。
2026-03-29 20:02:15 +08:00
YunaiV
88dcf7f74f
✨ feat(mes): 增强到货通知单表单逻辑与交互
...
更新到货通知单表单,增加字段的只读状态控制,优化用户交互体验。新增表单数据快照功能以支持脏检查,确保用户在提交前确认修改。调整按钮逻辑以适应不同表单状态,提升整体可用性。
2026-03-29 19:36:59 +08:00
YunaiV
32a830b595
✨ feat(mes): 新增到货通知单编码及相关逻辑处理
2026-03-29 19:13:37 +08:00
YunaiV
166caaa72c
✨ feat(mes): 新增到货通知单编码及相关逻辑处理
2026-03-29 19:11:04 +08:00
YunaiV
43e80f868a
✨ feat(mes): 优化入库单表单逻辑和状态管理
...
调整表单字段和状态管理,简化逻辑处理,确保在创建和编辑模式下正确传递数据。增强了用户体验,提升了代码可读性和维护性。
2026-03-29 18:24:08 +08:00
YunaiV
63b212c514
✨ feat(mes): 新增采购订单号字段及相关逻辑处理
2026-03-29 18:13:50 +08:00
YunaiV
98a227a609
🗑️ chore(mes): 清理已移除的冗余 Tab 组件(ClientProductSalesTab、VendorItemReceiptTab、BatchTraceDetailTab)
2026-03-29 16:27:11 +08:00
YunaiV
736f7d2455
✨ feat(mes): 添加 overflow-hidden 类以改善组件布局
2026-03-29 12:09:42 +08:00
YunaiV
dba8ef1ab5
✨ feat(mes): 新增采购订单号字段及相关逻辑处理
2026-03-29 11:22:53 +08:00
YunaiV
526879fa60
✨ feat(mes): 新增采购入库单编码常量及生成逻辑
2026-03-29 10:51:55 +08:00
YunaiV
cc640d8801
✨ feat(mes): 添加数量校验逻辑,更新入库明细处理
...
新增对上架数量和入库数量的校验逻辑,确保入库明细的总数量不超过行入库数量。优化了入库单和入库明细的创建与更新流程,提升数据一致性和准确性。
2026-03-29 10:41:16 +08:00
YunaiV
45f8ea64c7
✨ feat(mes): 新增批次详情弹窗及相关逻辑
2026-03-29 10:24:31 +08:00
YunaiV
884fb1bf66
✨ feat(mes): 新增获取批次详情接口,更新相关逻辑
2026-03-29 10:17:57 +08:00
YunaiV
efd463893e
✨ feat(mes): 更新工具编码及可用数量字段,添加校验逻辑
...
将工具编码字段设置为必填,并添加相应的校验逻辑。更新可用数量字段名称为更具描述性的名称,确保代码一致性和可读性。同时,调整相关逻辑以支持新的字段名称。
2026-03-29 10:04:59 +08:00
YunaiV
d264c06830
✨ feat(mes): 更新保养维护类型字段及相关校验逻辑
2026-03-29 09:46:14 +08:00
YunaiV
5e57cafb22
✨ feat(mes): 新增工具类型编码及相关校验逻辑
...
添加工具类型编码字段,并重构工具类型的保存和更新逻辑,简化数据校验过程。更新表单组件以支持新功能,优化用户体验。
2026-03-29 09:30:47 +08:00
YunaiV
53bfa9be57
✨ feat(mes): 更新物料库存查询逻辑,优化仓库选择组件
2026-03-29 09:17:37 +08:00
YunaiV
4d151e0d5b
✨ feat(mes): 移除生成编码按钮的禁用状态
2026-03-29 00:06:20 +08:00
YunaiV
872fa9fe19
♻️ refactor(mes): 移除多余的布局行,优化表单结构
2026-03-28 23:29:53 +08:00
YunaiV
53fbb03ad4
✨ feat(mes): 重构库区混放规则更新逻辑,简化接口调用
2026-03-28 23:26:57 +08:00
YunaiV
fdcc30415a
✨ feat(mes): 优化库位和库区管理功能,合并混放规则设置接口
...
整合物料混放和批次混放的设置接口为一个更新接口,简化了API调用。
同时,增加了库位和库区编码的生成逻辑,提升了用户体验。
2026-03-28 20:58:30 +08:00
YunaiV
5e1618b1c0
✨ feat(mes): 添加虚拟仓库和库区删除校验,优化物料混放规则更新
2026-03-28 20:25:00 +08:00
YunaiV
075629e49c
✨ feat(mes): 添加车间详情链接和表单只读模式
...
在工作站列表中为车间编码添加了详情链接,点击后可查看车间详细信息。同时,在工作站表单中增加了只读模式,确保在查看详情时无法修改数据。
2026-03-28 19:04:13 +08:00
YunaiV
351ee4fb0d
✨ feat(mes): 添加工作站设备资源的级联删除功能
...
新增按工作站编号删除设备资源的功能,确保在删除工作站时,相关的设备资源能够被自动清理,提升数据一致性和管理效率。
2026-03-28 18:51:12 +08:00
YunaiV
f1b7e53b08
✨ feat(mes): 更新工作站表单,添加工序和设备选择功能
2026-03-28 18:06:46 +08:00
YunaiV
1ad04812e1
✨ feat(mes): 添加工序编号及名称,优化工作站相关功能
...
新增工序编号和名称字段,更新工作站相关逻辑以支持工序信息的处理。优化工作站的创建、更新和查询功能,确保工序信息的有效性和完整性。
2026-03-28 17:54:07 +08:00
YunaiV
78e8ec1772
✨ feat(mes): 添加客户英文名称及出库单查询功能
...
新增客户英文名称字段,优化客户信息展示。实现按客户编号查询销售出库单列表的功能,提升用户体验。
2026-03-28 17:19:31 +08:00
YunaiV
480564042e
✨ feat(mes): 添加供应商入库单列表功能,优化物料清单展示
2026-03-28 16:52:21 +08:00
YunaiV
3ac19a0c73
✨ feat(mes): 更新供应商相关逻辑,添加英文名称及引用校验功能
...
重构供应商数据模型,替换供应商等级为英文名称,并在相关服务中添加对供应商引用的校验逻辑,以确保数据一致性和完整性。
2026-03-28 16:00:04 +08:00
YunaiV
f3138d8cd5
✨ feat(mes): 添加工序存在性校验功能,优化物料表单
2026-03-28 10:56:58 +08:00
YunaiV
3b62e38087
✨ feat(mes): 添加物料分类变更处理逻辑,优化弹窗标题显示
2026-03-28 10:38:48 +08:00
YunaiV
55198c3747
✨ feat(mes): 优化物料分类选择器,禁用分支节点选择
2026-03-28 10:30:24 +08:00
YunaiV
b6bc58d104
✨ feat(mes): 添加物料产品状态更新功能,优化物料分类选择器
2026-03-28 10:08:17 +08:00
YunaiV
db6a9aeabe
✨ feat(mes): 添加物料产品状态更新功能,优化物料分类选择器
2026-03-28 09:47:38 +08:00
YunaiV
3860970490
✨ feat(mes): 添加物料选择弹窗组件,优化物料编码生成逻辑
...
新增物料选择弹窗组件,支持物料分类树和物料列表的搜索与选择功能。优化物料编码生成方法,使用自动编码规则生成物料编码,提升用户体验。
2026-03-28 09:14:55 +08:00
YunaiV
856e8f6a76
✨ feat(mes): 添加条件渲染和调整表单标签宽度
2026-03-28 08:34:04 +08:00
YunaiV
1993e46eb6
✨ feat(mes): 重构「完成」操作逻辑,优化表单处理
...
更新了多个表单的完成操作逻辑,确保在表单修改后先保存数据再完成检验单。此变更提升了用户体验,避免了数据丢失的风险。
2026-03-27 22:48:18 +08:00
YunaiV
0befdd32ad
✨ feat(mes): 添加样品编号生成方法,优化质检表单
2026-03-27 21:54:24 +08:00
YunaiV
4e05ad4691
✨ feat(mes): 更新销售出库单状态流转逻辑,添加 OQC 检验支持
...
优化销售出库单的状态流转逻辑,新增待检测状态以支持 OQC 检验。根据检验结果自动流转状态,提升出库流程的灵活性和准确性。
2026-03-27 19:57:14 +08:00
YunaiV
49b0de72df
✨ feat(mes): 更新质检标志字段,优化相关逻辑
...
将多个类中的质检标志字段从 `iqcCheck` 和 `qcFlag` 更新为 `iqcCheckFlag` 和 `rqcCheckFlag`,以提高代码一致性和可读性。同时,更新相关逻辑以自动计算质量状态,确保系统在处理质检时的准确性。
2026-03-27 19:28:20 +08:00
YunaiV
f39c47a58b
✨ feat(mes): 更新待检任务查询,优化字段描述和逻辑
...
- 修改待检任务查询的注释,提升可读性
- 在 IQC 相关逻辑中添加事务管理
- 更新表单字段,调整来源单据类型和名称
2026-03-27 18:22:30 +08:00
YunaiV
addba55f2d
✨ feat(mes): 添加检测工具字段,优化出货检验单数据结构
...
新增检测工具字段以支持更全面的检验信息,同时优化相关数据结构,提升系统的可用性和灵活性。
2026-03-27 17:26:08 +08:00
YunaiV
3c1d5eb01a
✨ feat(mes): 更新退货检验单相关字段,优化数据结构和逻辑
2026-03-26 22:38:27 +08:00
YunaiV
be159c7070
✨ feat(mes): 添加来源单据编号字段,优化数据结构
2026-03-26 21:44:05 +08:00
YunaiV
9959c6c5f6
✨ feat(mes): 更新退货检验单表单,修正名称并优化字段处理
2026-03-26 13:26:16 +08:00
YunaiV
047e2d08c5
✨ feat(mes): 更新退货检验单逻辑,支持合格/不合格数量拆分
...
优化退货检验单的处理逻辑,新增对合格品和不合格品数量的支持。实现了根据检验结果更新退货单行的质量状态,并在部分合格的情况下进行行拆分。同时,更新了相关的接口和数据结构,确保数据一致性和完整性。
2026-03-25 23:37:29 +08:00
YunaiV
7736768a3e
✨ feat(mes): 添加工单、工作站、任务和客户信息字段
2026-03-25 21:04:24 +08:00
YunaiV
d79d6084c3
✨ feat(mes): 添加过程检验单编码,更新工作站校验方法返回类型
2026-03-24 22:38:28 +08:00
YunaiV
cbf173b75b
✨ feat(mes): 更新单据状态字段宽度,优化界面布局
2026-03-24 21:09:16 +08:00
YunaiV
cbbf44e6ab
✨ feat(mes): 移除来源单据编号字段,优化数据结构
2026-03-24 21:05:11 +08:00
YunaiV
eef5ec9b78
✨ feat(mes): 更新来源单据类型为整型,优化数据一致性
...
将来源单据类型字段从字符串更改为整型,以提高数据一致性和类型安全性。同时,添加了相关的枚举类型以支持新的字段定义。
2026-03-24 14:03:16 +08:00
YunaiV
c9b99e9465
✨ feat(mes): 重命名待检数量字段,优化数据一致性
2026-03-24 09:37:03 +08:00
YunaiV
23748e3433
✨ feat(mes): 添加质检标识字段,优化入库单信息管理
2026-03-24 09:03:03 +08:00
YunaiV
74879e0933
✨ feat(mes): 禁止修改物料和模板字段,优化表单状态管理
2026-03-23 23:37:02 +08:00
YunaiV
8ea418890d
♻️ refactor(mes): 移除更新成功后的窗口关闭逻辑
2026-03-23 23:06:50 +08:00
YunaiV
ec48c03486
✨ feat(mes): 添加来料检验单编码规则和优化界面元素
...
新增来料检验单编码规则,支持自动生成检验单编号。优化了多个表单中的分隔符样式,提升用户体验。
2026-03-23 23:03:50 +08:00
YunaiV
251dd5b720
✨ feat(mes): 更新 IqcForm 组件逻辑,优化新增和更新操作
2026-03-23 22:10:05 +08:00
YunaiV
06689709ea
✨ feat(mes): 移除状态字段并添加来料日期选择功能
...
移除不再使用的状态字段,简化数据结构。同时在前端表单中添加来料日期选择功能,以便用户输入相关信息。
2026-03-23 22:00:47 +08:00
YunaiV
f9717b63ea
✨ feat(mes): 重命名生产领料出库相关类和接口,统一为产品领料出库命名
...
重构生产领料出库相关的类、接口和API,统一命名为产品领料出库,以提高代码的一致性和可读性。包括修改相关的状态枚举、数据对象、服务接口及其实现,确保所有引用均已更新。
BREAKING CHANGE: 相关类和接口的名称已更改,需更新调用代码
2026-03-23 21:32:18 +08:00
YunaiV
46f72e85a8
✨ feat(mes): 修改库存冻结标识字段名称为 'frozen'
2026-03-23 13:02:47 +08:00
DevDengChao
5959539a03
docs: add Vite 8 upgrade and validation notes
...
- document Vite 8 config migration notes
- record effective upgrade validation commands and existing baseline issues
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:10:23 +08:00
DevDengChao
26c7544829
chore: upgrade vite to 8.0.1 and @vitejs/plugin-legacy to 8.0.0
...
- vite
- @vitejs/plugin-legacy
- adapt vite.config.ts for Vite 8 code splitting and Lightning CSS recovery
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:08:26 +08:00
DevDengChao
c792f5fa0f
chore: upgrade stylelint-order to 8.1.1
...
- stylelint-order
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:00:59 +08:00
DevDengChao
f497bf8e23
chore: upgrade wangEditor and BPMN packages
...
- @wangeditor-next/editor
- @wangeditor-next/plugin-mention
- bpmn-js
- diagram-js
- bpmn-js-token-simulation
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:58:02 +08:00
DevDengChao
eade6bd9a4
chore: upgrade eslint, stylelint, typescript-eslint and unocss
...
- eslint
- stylelint
- typescript-eslint
- unocss
- @unocss/eslint-config
- @unocss/eslint-plugin
- @unocss/transformer-variant-group
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:53:25 +08:00
DevDengChao
91c97d7302
chore: upgrade @vitejs/plugin-vue*, rollup, sass, vue-tsc and Vite helpers
...
- @vitejs/plugin-vue
- @vitejs/plugin-vue-jsx
- rollup
- sass
- vite-plugin-eslint2
- vite-plugin-svg-icons-ng
- vue-tsc
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:48:47 +08:00
DevDengChao
27b3c36976
chore: upgrade vue, vue-router, element-plus, vue-i18n and dayjs
...
- vue
- vue-router
- element-plus
- vue-i18n
- dayjs
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:43:21 +08:00
DevDengChao
bfcce06577
chore: upgrade @commitlint/*, @types/*, lint-staged, terser and @iconify/json
...
- @commitlint/cli
- @commitlint/config-conventional
- @iconify/json
- @types/node
- @types/qs
- lint-staged
- terser
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:39:12 +08:00
YunaiV
55845bded4
✨ feat(mes): 修改库存冻结标识字段名称为 'frozen'
...
将库存相关的冻结标识字段从 'frozenFlag' 修改为 'frozen',以提高代码一致性和可读性。涉及多个数据对象和请求/响应对象的更新。
2026-03-23 09:58:07 +08:00
YunaiV
e6f05a0d52
✨ feat(mes): 添加仓库、库区和库位名称字段及相关校验
2026-03-22 21:53:26 +08:00
YunaiV
20bdd0ad31
✨ feat(mes): 更新库存管理逻辑,重命名字段并添加事务记录
...
重构库存管理相关的请求和响应对象,更新字段名称以提高语义清晰度。新增库存事务流水记录,支持库存增减事件的追踪。此变更旨在提升库存管理的可维护性和可读性。
2026-03-22 16:31:59 +08:00
YunaiV
4b08ee3d97
♻️ refactor(mes): 移除流转卡相关的状态和时间字段,简化请求和响应对象
2026-03-21 22:25:58 +08:00
YunaiV
478268f9c9
✨ feat(mes): 重构生产入库单行相关逻辑,更新字段及接口
...
重命名和更新了生产入库单行的请求和响应对象,调整了字段名称以更好地反映业务逻辑。同时,优化了控制器中的相关方法,确保与新的数据结构一致。此变更旨在提升代码的可读性和维护性。
2026-03-21 21:23:56 +08:00
YunaiV
6a7fd807b8
✨ feat(wm): 删除多余的 productproduct 界面
2026-03-21 00:22:02 +08:00
YunaiV
d6fc4ad3ef
✨ feat(mes): 添加物料消耗记录行的请求和响应 VO 及控制器
...
新增物料消耗记录行的请求和响应数据对象,包含分页请求和响应结构。
同时实现了控制器以支持根据报工编号分页获取消耗行列表的功能。
2026-03-19 23:55:27 +08:00
YunaiV
434d68ac11
✨ feat(mes): 添加报工审批功能,优化状态管理
...
新增报工审批功能,包括审批通过和驳回的逻辑,优化了状态枚举和表单交互,提升用户体验。
2026-03-19 13:09:37 +08:00
YunaiV
424f3d04c1
✨ feat(mes): 添加报工人和审核人字段,优化审批逻辑
2026-03-19 08:40:56 +08:00
YunaiV
6553ab1875
✨ feat(mes): 重构报工审批逻辑,更新相关字段和接口
...
优化报工审批功能,修改了相关的请求和响应对象,移除不必要的字段,新增任务信息的自动填充逻辑。调整了控制器中的方法名称和权限校验,确保审批流程的清晰和一致性。
2026-03-18 21:49:34 +08:00
YunaiV
b6a6479ced
✨ feat(mes): 添加条件渲染以显示删除按钮
2026-03-17 21:49:04 +08:00
YunaiV
ea35423d9e
✨ feat(mes): 添加安灯呼叫记录创建和更新请求 VO
2026-03-17 21:15:47 +08:00
YunaiV
8774ea3dad
✨ feat(mes): 添加角色选择器组件,优化安灯呼叫配置
2026-03-17 13:24:02 +08:00
YunaiV
0571b98552
✨ feat(mes): 添加工艺路线编号字段,优化任务查询逻辑
2026-03-17 13:07:41 +08:00
YunaiV
5418806b9f
✨ feat(mes): 优化任务名称构建逻辑,支持数量动态更新
...
重构任务名称构建逻辑,使用独立方法生成任务名称,确保在创建和更新任务时数量信息正确显示。更新甘特图配置,允许在编辑状态下拖动和调整任务持续时间,提升用户交互体验。
2026-03-17 09:51:48 +08:00
YunaiV
0a0cd5f165
✨ feat(mes): 优化生产任务保存请求和验证逻辑
...
调整生产任务保存请求的字段为可选,简化编辑时的请求参数。更新任务验证逻辑,确保在更新时只校验存在的字段,提升用户体验和代码可维护性。同时,新增甘特图编辑页面,支持批量保存任务修改。
2026-03-16 23:28:27 +08:00
YunaiV
98c8b9a5cf
✨ feat(mes): 添加甘特图任务类型映射和国际化支持
...
新增甘特图组件的任务类型映射,使用 BarcodeBizTypeEnum 枚举来处理后端类型。同时,优化了中文国际化设置,确保甘特图组件在中文环境下的正确显示。
2026-03-16 21:44:30 +08:00
YunaiV
81a8f262aa
✨ feat(mes): 添加甘特图数据项 VO 和相关接口逻辑
...
新增 GanttDataRespVO 类以支持甘特图数据结构,并在 MesProTaskController 中实现获取甘特图任务列表的接口。此变更旨在优化任务管理界面,提升用户体验。
2026-03-16 13:03:15 +08:00
YunaiV
5f8a002654
✨ feat(mes): 添加甘特图任务列表接口,优化任务数据加载
2026-03-15 23:28:57 +08:00
YunaiV
3860525dfd
✨ feat(mes): 添加工作站编码字段,移除单位编号字段并优化相关逻辑
2026-03-15 22:04:27 +08:00
YunaiV
d49ba31f78
✨ feat(mes): 添加工单完成功能,优化任务管理界面
2026-03-15 20:55:57 +08:00
YunaiV
3d459b292f
✨ feat(mes): 添加按产品查询工序列表功能
2026-03-15 20:43:44 +08:00
YunaiV
e4c0a881f0
✨ feat(mes): 重构工单对话框,合并排产与详情功能
2026-03-15 18:06:19 +08:00
YunaiV
0bcab49fc0
✨ feat(mes): 添加工单状态和来源单据字段,优化查询功能
2026-03-15 16:45:58 +08:00
YunaiV
39d3efce50
✨ feat(mes): 移除单位编号字段,优化工单 BOM 相关逻辑
2026-03-15 10:39:07 +08:00
YunaiV
1e5f56b54b
✨ feat(mes): 移除单位编号字段,优化工单请求参数
2026-03-15 09:22:05 +08:00
YunaiV
fb8b459182
✨ feat(mes): 移除工单来源、批次号和工单状态字段,简化请求参数
2026-03-14 21:07:39 +08:00
YunaiV
47f4f68ca8
✨ feat(mes): 添加批次分页功能,支持根据条件查询批次列表
2026-03-14 20:16:14 +08:00
YunaiV
0bc189097d
✨ feat(mes): 添加批次追溯功能,支持向前和向后查询批次列表
2026-03-14 14:52:43 +08:00
YunaiV
39c14c61d4
✨ feat(mes): 更新生产批号字段为批号,优化数据模型
2026-03-14 00:35:36 +08:00
YunaiV
e518ffe0fd
✨ feat(mes): 添加批次号字段并更新表单逻辑
...
新增批次号字段至数据模型,并调整表单以支持自动生成批次号的显示。移除不必要的输入项,优化用户体验。
2026-03-14 00:24:15 +08:00
YunaiV
851891eab7
✨ feat(mes): 添加批次管理功能,支持批次生成与获取
...
新增批次生成请求 VO 和批次管理服务接口,支持根据物料批次配置生成或获取批次记录。更新相关数据对象和服务实现,确保批次管理功能的完整性和可用性。
2026-03-13 23:55:24 +08:00
puhui999
dfee5b999d
style(iot): 优化 Database 数据目的的建表提示UX
...
- 表名输入框右侧附加「查看/收起表结构提示」按钮
- 引入 el-collapse-transition 结合酷炫终端卡片实现平滑的折叠动画
- 修正 Vue template 中由于缺少闭合 div 导致的语法编译错误
2026-03-13 12:46:57 +08:00
puhui999
9f19835a80
feat(iot): Database 表单增加建表 SQL 提示和一键复制
...
- 顶部 el-alert 友好提示用户需要先创建表
- 内嵌 SQL 文本框(monospace字体) + 复制按钮
- tableName 默认值设为 iot_device_message_sink
2026-03-13 12:30:04 +08:00
puhui999
ad376b24b4
feat(iot): 前端新增 Database 数据目的配置表单
...
1. DatabaseConfigForm.vue: 新增 Database 配置表单(JDBC地址/用户名/密码/目标表名)
2. config/index.ts: 导出 DatabaseConfigForm 组件
3. DataSinkForm.vue: 引入 DatabaseConfigForm 条件渲染和校验规则
4. api/sink/index.ts: 添加 DatabaseConfig 接口和联合类型
2026-03-13 12:27:09 +08:00
YunaiV
1ec78b1bbb
✨ feat(mes): 添加物料和盘点数量字段的展示与校验逻辑
2026-03-12 01:19:24 +08:00
YunaiV
523866f044
✨ feat(mes): 更新盘点结果相关逻辑,添加盘点数量字段
...
- 修改盘点结果请求和响应对象,新增盘点数量字段并设置为必填
- 更新控制器逻辑,简化创建和更新盘点结果的处理
- 添加盘点任务行的创建和更新逻辑,确保数据一致性
- 优化错误处理,增加相关错误码
2026-03-12 01:05:56 +08:00
YunaiV
6f97a7b473
✨ feat(mes): 添加盘点结果的创建、更新和删除功能
2026-03-11 09:34:42 +08:00
YunaiV
567ed338c8
✨ feat(mes): 更新盘点方案参数类型枚举及相关逻辑
2026-03-11 00:53:50 +08:00
YunaiV
0fb0150579
✨ feat(mes): 添加盘点任务行的请求和响应 VO 及相关控制器
...
新增 MesWmStockTakingTaskLinePageReqVO 和 MesWmStockTakingTaskLineSaveReqVO 类,支持盘点任务行的分页请求和新增/修改请求。同时,创建 MesWmStockTakingTaskLineController 控制器,提供相应的 API 接口,增强系统的功能性和可维护性。
2026-03-10 23:52:09 +08:00
YunaiV
b04162dab0
feat(mes): 支持盘点任务的动态时间过滤:
...
1. 新增动态盘点时间过滤功能
2. 重构盘点任务流程
3. 代码优化
4. 前端适配
2026-03-10 20:15:19 +08:00
funcong
8cffb4a8ca
fix: 修复请求拦截器bug
2026-03-10 18:48:03 +08:00
YunaiV
5df13ec5b8
✨ feat(mes): 添加盘点任务相关的请求和响应 VO
2026-03-10 00:39:53 +08:00
YunaiV
0559f8eccd
✨ feat(mes): 更新盘点方案参数类型枚举及相关逻辑
2026-03-09 22:58:32 +08:00
YunaiV
9a6cd0f6cb
✨ feat(mes): 添加盘点方案状态更新功能及参数校验
...
新增更新盘点方案状态的接口,确保在启用状态时,相关参数不为空。
同时,更新了相关权限控制和错误码定义,提升了系统的健壮性和用户体验。
2026-03-09 22:29:49 +08:00
YunaiV
ca2447f710
✨ feat(mes): 更新盘点方案参数及状态管理逻辑
...
移除不必要的字段,优化参数类型枚举,添加分页请求和响应对象,增强代码可读性和维护性。更新状态管理逻辑,确保盘点方案的启用状态与参数一致性。
2026-03-09 21:47:24 +08:00
YunaiV
34068a5583
✨ feat(mes): 更新盘点方案参数及状态管理逻辑
...
移除不必要的字段,优化参数类型枚举,添加分页请求和响应对象,增强代码可读性和维护性。更新状态管理逻辑,确保盘点方案的启用状态与参数一致性。
2026-03-09 21:46:52 +08:00
DevDengChao
a997f25f98
Merge remote-tracking branch 'upstream/master' into upgrade
2026-03-09 09:57:30 +08:00
YunaiV
43dd2425ed
✨ feat(mes): 添加盘点方案参数相关功能和数据结构
...
新增盘点方案参数的 CRUD 接口及相关枚举,支持在管理后台进行参数的创建、更新和删除操作。同时,更新了前端组件以支持参数的动态选择和展示,提升用户体验。
2026-03-09 09:04:03 +08:00
YunaiV
2cde22dcd7
✨ feat(mes): 添加物料编码、名称及规格字段,更新状态管理
2026-03-08 23:05:25 +08:00
YunaiV
74e058ee49
✨ feat(mes): 添加上架功能及相关字段校验
...
新增执行上架功能,允许将待上架状态的转移单更新为待执行状态。
同时,添加了转移单及转移单行的字段校验,确保必要字段不为空,提升数据完整性。
2026-03-08 22:38:03 +08:00
YunaiV
544546862c
✨ feat(mes): 添加转移单及转移单行的字段校验和状态管理
...
新增转移单及转移单行相关功能,包含字段的必填校验和状态管理逻辑。更新了相关数据结构,确保在创建和提交转移单时进行必要的验证,提升系统的稳定性和数据一致性。
- 添加转移单字段的必填校验
- 更新转移单状态管理逻辑
- 增强数据结构的完整性
2026-03-08 21:13:02 +08:00
YunaiV
0a508c881e
✨ feat(mes): 添加转移单及转移单行相关功能和数据结构
...
新增转移单及转移单行的相关数据对象、服务接口和控制器,支持转移单的创建、修改、删除和查询功能。同时,添加了转移单状态和类型的枚举,完善了相关的 API 接口。
- 添加 MesWmTransferDO、MesWmTransferLineDO、MesWmTransferDetailDO 数据对象
- 实现 MesWmTransferService 和 MesWmTransferLineService 接口
- 新增 MesWmTransferController 和 MesWmTransferLineController 控制器
- 更新相关的 API 接口文档
2026-03-08 20:39:21 +08:00
YunaiV
5dbbb84d1b
✨ feat(mes): 添加装箱单及装箱明细的作者注释和字段类型调整
2026-03-08 13:04:51 +08:00
YunaiV
2cb3b5b492
feat(iot): IoT 产品和设备分页默认改为 12 条
2026-03-08 12:27:47 +08:00
YunaiV
d6cb5e4e5c
✨ feat(mes): 添加装箱单及装箱明细的 VO 和 Mapper 注释
...
为装箱单及装箱明细相关的 VO 和 Mapper 类添加了详细的注释,提升代码可读性和维护性。同时,修正了部分字段类型以确保一致性。
2026-03-08 12:22:24 +08:00
YunaiV
76ee59b868
✨ feat(mes): 重构装箱单及装箱明细相关功能
...
- 移除不必要的仓库、库区和库位字段
- 更新接口名称为 addChildPackage 和 removeChildPackage
- 添加可添加为子箱的装箱单精简列表接口
- 优化相关逻辑,确保代码整洁和可维护性
2026-03-08 12:04:46 +08:00
YunaiV
61d710bc8e
✨ feat(mes): 添加装箱单及装箱明细相关功能
...
新增装箱单和装箱明细的请求和响应对象,支持装箱单的创建、更新、删除及查询功能。包括装箱单的状态管理和子箱的添加与移除逻辑,提升了系统的功能完整性和用户体验。
2026-03-08 11:06:22 +08:00
YunaiV
e58ffbb681
✨ feat(mes): 添加装箱单及装箱明细相关功能
...
新增装箱单和装箱明细的请求和响应对象,完善装箱单的创建、更新、删除及查询功能。
同时,增加装箱单状态的枚举和相关逻辑,提升系统的可用性和扩展性。
2026-03-08 09:22:21 +08:00
YunaiV
001b1c4c86
✨ feat(mes): 添加条码详情查看功能及相关逻辑
2026-03-07 19:18:37 +08:00
YunaiV
4cbfd26da7
✨ feat(mes): 添加级联选择器数据加载逻辑
2026-03-07 18:07:13 +08:00
YunaiV
715135fbb1
✨ feat(mes): 添加条码内容生成接口及相关逻辑
...
新增条码内容生成接口,支持根据业务类型和编码生成条码内容。
同时更新相关服务和前端组件,确保条码内容的自动生成和验证逻辑。
2026-03-07 17:23:22 +08:00
YunaiV
b386c17933
✨ feat(mes): 添加工具精简列表接口及条码自动生成逻辑
...
新增工具精简列表接口,支持获取工具的简化信息。同时,在创建工具、客户、设备等时,自动生成对应的条码,提升条码管理的效率。
2026-03-07 14:47:57 +08:00
芋道源码
f29a384904
!862 fix: 完成 review c153ff93 的所有 TODO 修复
...
Merge pull request !862 from puhui999/master-dev
2026-03-07 03:56:34 +00:00
YunaiV
21821c92d9
✨ feat(mes): 添加条码清单导出功能
...
实现条码清单的 Excel 导出功能,用户可以通过点击导出按钮下载条码清单。此功能增强了用户体验,方便用户管理和使用条码数据。
2026-03-07 10:12:43 +08:00
YunaiV
c7f9d41e07
✨ feat(mes): 更新条码组件和表单逻辑,优化数据处理
2026-03-07 09:10:07 +08:00
YunaiV
184009380d
✨ feat(mes): 更新条码业务类型和表单逻辑
...
调整条码业务类型枚举,修改库位和仓库的常量值,优化条码表单组件的选择逻辑,添加库区和设备的选择器,确保用户能够正确选择业务对象。
2026-03-07 00:49:15 +08:00
YunaiV
00259fd8a2
✨ feat(mes): 更新条码表单组件,优化业务类型选择逻辑
...
调整条码表单中的选择器宽度,确保更好的用户体验。增加了对不同业务类型的动态选择支持,便于后续扩展和维护。
2026-03-06 22:04:06 +08:00
YunaiV
913fa69073
✨ feat(mes): 添加业务名称字段及相关逻辑
...
在 MES 条码相关组件中新增业务名称字段,支持根据业务名称进行查询和管理。更新相关 API 逻辑以适应新字段的使用,提升条码管理的灵活性和准确性。
2026-03-06 09:42:07 +08:00
YunaiV
e20322985c
✨ feat(mes): 添加条码配置和条码相关功能
...
新增条码配置的 API 接口,包括查询、创建、更新和删除功能。同时,重构了条码相关的组件和逻辑,确保与现有系统的兼容性。此更新旨在提升条码管理的灵活性和可维护性。
2026-03-06 08:54:19 +08:00
YunaiV
5960e0102f
✨ feat(mes): 添加编码规则分段详情查询 API
2026-03-06 00:09:34 +08:00
YunaiV
c12d7616f2
✨ feat(mes): 添加条码相关组件和逻辑
...
新增条码格式枚举、条码生成组件及其相关 API,支持条码的创建、查看和配置功能。实现了条码的自动生成逻辑,并优化了条码配置管理界面,提升用户体验。
- 新增 Barcode 组件用于条码展示
- 实现条码生成和下载功能
- 添加条码配置管理功能
2026-03-06 00:09:23 +08:00
DevDengChao
52e538aa43
fix(router): auto-reload on chunk load failure after rebuild
...
Add two layers of error handling for stale chunk imports:
- `vite:preloadError` listener in main.ts for Vite preload failures
- `router.onError` in router/index.ts for dynamic import failures during navigation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:31:02 +08:00
DevDengChao
c4908548a1
feat(cropper): upgrade cropperjs from v1 to v2
...
cropperjs v2 is a complete rewrite using Web Components architecture.
- Cropper.vue: rewrite to use v2 API
- `new Cropper(img, { container })` with Web Components template
- `selection.$toCanvas()` (async) replaces `cropper.getCroppedCanvas()`
- Selection `change` event replaces `crop`/`cropmove` callbacks
- CropperImage `load` event replaces `ready` callback
- CopperModal.vue: update toolbar handlers
- `cropperImage.$rotate()` replaces `cropper.rotate()`
- `cropperImage.$zoom()` replaces `cropper.zoom()`
- `cropperImage.$scale()` replaces `cropper.scaleX/Y()`
- `cropperImage.$resetTransform()` + `selection.$reset()` replaces `cropper.reset()`
- types.ts: replace `Cropper.Data` with inline type (v2 has no Data type)
- Remove v1 CSS import (v2 uses shadow DOM styles)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:37:34 +08:00
YunaiV
e275ef417e
✨ feat(mes): 添加 SN 码生成、查询和导出功能
...
新增 SN 码生成、分页查询和批量删除的 API 接口,支持导出 SN 码分组和明细为 Excel 文件。实现了前端页面的搜索、生成和导出功能,提升了用户操作的便捷性。
2026-03-05 13:36:35 +08:00
DevDengChao
2520de56b4
refactor(icon): replace deprecated @iconify/iconify with @iconify/vue
...
- Remove @iconify/iconify (deprecated), @purge-icons/generated, vite-plugin-purge-icons
- Add @iconify/vue which uses @iconify/utils iconToSVG internally
- Rewrite Icon.vue to use @iconify/vue Icon component instead of manual DOM manipulation
- Pre-load ep/fa/fa-solid icon sets via addCollection for offline support
- Other icon sets (ion, mdi, heroicons, etc.) load from Iconify API on demand
- Remove PurgeIcons() from Vite plugin config
- Verified: all 22 icons on login page render correctly as SVGs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 12:26:12 +08:00
DevDengChao
860d2c0b29
chore(deps): minor updates for bpmn-js and purge-icons
...
- bpmn-js 18.12.0 → 18.13.0
- bpmn-js-properties-panel 5.52.1 → 5.53.0
- @purge-icons/generated 0.9.0 → 0.10.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:22:25 +08:00
DevDengChao
53a1024c11
chore(deps): patch updates for UnoCSS ecosystem (66.6.x)
...
- unocss 66.6.2 → 66.6.5
- @unocss/eslint-config 66.6.3 → 66.6.5
- @unocss/eslint-plugin 66.6.3 → 66.6.5
- @unocss/transformer-variant-group 66.6.3 → 66.6.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:19:42 +08:00
DevDengChao
037b465a64
chore(deps): patch updates for toolchain (commitlint, lint-staged, postcss, iconify/json)
...
- @commitlint/cli 20.4.2 → 20.4.3
- @commitlint/config-conventional 20.4.2 → 20.4.3
- lint-staged 16.3.1 → 16.3.2
- postcss 8.5.6 → 8.5.8
- @iconify/json 2.2.444 → 2.2.446
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:17:06 +08:00
YunaiV
15e462b2d0
✨ feat(mes): 添加编码规则分段详情查询 API
2026-03-05 01:23:22 +08:00
YunaiV
78f7110770
✨ feat(mes): 更新 MES 编码相关的 API 路径并添加编码规则分段功能
2026-03-04 23:55:26 +08:00
YunaiV
2e87bf55b5
✨ feat(mes): 添加外协发料单数量校验功能
...
新增校验接口,确保外协发料单每行明细数量之和与行发料数量一致。此功能提升了数据准确性,避免了潜在的发料错误。
2026-03-04 09:59:33 +08:00
YunaiV
ce14a5ae6d
✨ feat(mes): 添加取消外协发料单功能
...
实现取消外协发料单的接口,支持在特定状态下取消发料单。新增相关的业务逻辑和错误处理,确保只有在允许的状态下才能执行取消操作。
2026-03-04 08:49:00 +08:00
YunaiV
05aca5904c
✨ feat(mes): 添加外协发料单状态管理功能
...
新增提交到待拣货、执行拣货和完成外协发料出库的功能,优化了状态管理逻辑,确保发料单在不同状态下的操作流程更加清晰和安全。
2026-03-04 01:40:33 +08:00
YunaiV
4b1db07af0
✨ feat(mes): 添加外协入库明细的增删改查功能
...
实现外协入库明细的创建、更新、删除和查询功能,增强系统对外协入库明细的管理能力。新增相关的请求和响应 VO,确保数据的有效性和完整性。
2026-03-03 22:52:47 +08:00
YunaiV
2efd2ce442
✨ feat(mes): 添加外协入库单行的请求和响应 VO 及相关控制器功能
2026-03-03 21:53:17 +08:00
YunaiV
d1bd19200f
✨ feat(mes): 添加外协入库单及行相关功能和请求响应 VO
2026-03-03 20:41:21 +08:00
YunaiV
63f28ba4c3
✨ feat(mes): 添加外协发料单行及明细相关功能和请求响应 VO
2026-03-03 20:17:24 +08:00
YunaiV
e6261273d4
✨ feat(mes): 添加杂项入库单行分页功能及明细服务实现
2026-03-03 19:52:54 +08:00
YunaiV
8138e9fa93
✨ feat(mes): 更新杂项类型为整数并添加明细服务
...
将杂项类型字段从字符串更改为整数,以支持新的枚举类型。同时,新增杂项出库明细的服务接口和实现,提供对明细的增删改查功能,提升系统的灵活性和可维护性。
2026-03-03 19:11:48 +08:00
YunaiV
8948a76f63
✨ feat(mes): 添加杂项入库单及行相关请求和响应 VO
2026-03-03 14:05:05 +08:00
YunaiV
16394f3f94
✨ feat(mes): 添加杂项出库单类型及状态枚举支持
...
新增杂项出库单类型和状态枚举,更新相关接口和前端表单以支持业务类型选择。确保系统能够正确处理杂项出库单的状态和类型,提高用户体验和系统的灵活性。
2026-03-03 12:51:32 +08:00
YunaiV
efa794d2ab
✨ feat(mes): 添加杂项出库单及行相关功能
...
新增杂项出库单及行的请求和响应对象,更新相关的接口和枚举,支持杂项出库单的创建、修改、删除和查询功能。优化了相关的业务逻辑和数据结构,以提升系统的可维护性和扩展性。
2026-03-03 11:49:19 +08:00
DevDengChao
ac6097aa9a
fix: resolve ESLint 10 + eslint-plugin-vue 10 rule compat for dev server
...
Disable rules that are new/stricter in eslint-plugin-vue 10 and
typescript-eslint 8+ which would block dev server rendering via
vite-plugin-eslint2:
- vue/no-ref-as-operand, vue/no-mutating-props,
vue/no-side-effects-in-computed-properties
- @typescript-eslint/no-unused-expressions, no-unsafe-function-type,
no-wrapper-object-types, no-this-alias, no-empty-object-type
- Ignore auto-generated src/types/auto-components.d.ts
- Fix hasPermi.ts short-circuit expression
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:00:29 +08:00
DevDengChao
cb5f0fb3f0
fix(deps): restore @iconify/iconify required by @purge-icons/generated
...
Re-added @iconify/iconify as runtime dependency — it's imported by
@purge-icons/generated which is used in src/plugins/svgIcon/index.ts.
Also reverted @purge-icons/generated 0.10 back to 0.9 (both versions
have the same @iconify/iconify import).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:56:06 +08:00
DevDengChao
49f0fb06f4
chore(deps): BPMN ecosystem upgrade and cleanup (Phase D)
...
- diagram-js 12 → 15, min-dash 4 → 5
- Remove unused fast-xml-parser (replaced by steady-xml)
- @purge-icons/generated 0.9 → 0.10
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:50:46 +08:00
DevDengChao
c0845eae75
chore(deps): medium-risk major upgrades (Phase C)
...
- stylelint 16 → 17, config-recommended 14 → 18, config-standard 36 → 40, order 6 → 7
- vue-types 5 → 6
- video.js 7 → 8
- cropperjs v2 evaluated but reverted to v1 due to incompatible API rewrite
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:46:12 +08:00
DevDengChao
e31423bc6d
chore(deps): low-risk major upgrades (Phase B)
...
- Remove deprecated @iconify/iconify (replaced by @purge-icons/generated)
- @commitlint/cli + config-conventional 19 → 20
- lint-staged 15 → 16
- rimraf 5 → 6
- markmap-common/lib/toolbar/view 0.16-0.17 → 0.18
- vue3-signature 0.2 → 0.4
- vue-dompurify-html 4 → 5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:35:24 +08:00
DevDengChao
5284b00706
chore(deps): update all semver-compatible packages to latest
...
Bump ~23 packages within their declared semver ranges, including:
- vue 3.5.26 → 3.5.29
- dayjs, lodash-es, qs, highlight.js, jsencrypt
- prettier, postcss, rollup, terser, autoprefixer
- and others
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:33:08 +08:00
DevDengChao
550c30eae4
chore: post-upgrade cleanup
...
- Update Node.js engine requirement to >= 20.19.0 (Vite 7 requirement)
- Remove duplicate entries in optimizeDeps include list
- Remove build-time-only packages (sass, unocss) from optimizeDeps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:12:44 +08:00
DevDengChao
fd11e07e92
chore(deps): upgrade Vite 5.1.4 → 7.3.1 and ecosystem plugins
...
Core:
- vite 5.1.4 → 7.3.1
- @vitejs/plugin-vue 5 → 6.0.4
- @vitejs/plugin-vue-jsx 3 → 5.1.4
- @vitejs/plugin-legacy 5 → 7.2.1
- @types/node 20.17.9 → 25.3.3
Plugins:
- unplugin-auto-import 0.16.7 → 21.0.0
- unplugin-vue-components 0.25.2 → 31.0.0
- unplugin-element-plus 0.8.0 → 0.11.2
- vite-plugin-svg-icons-ng 1.3.1 → 1.5.2
- vite-plugin-top-level-await 1.4.4 → 1.6.0
Config:
- Switch to Sass Modern Compiler API (api: 'modern-compiler')
- Remove silenceDeprecations workaround
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:49:57 +08:00
DevDengChao
f4b8fea579
chore(deps): upgrade ECharts 5.5.0 → 6.0.0
...
Note: echarts-wordcloud has unmet peer dep (expects echarts ^5)
but works at runtime. Monitor for official v6 support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:46:13 +08:00
DevDengChao
6ffcbbc1d2
chore(deps): migrate ESLint 8 → 10 with flat config
...
- Upgrade eslint 8.57.1 → 10.0.2
- Migrate .eslintrc.js → eslint.config.mjs (flat config)
- Replace vite-plugin-eslint → vite-plugin-eslint2
- Replace @typescript-eslint/eslint-plugin + parser → typescript-eslint
- Upgrade eslint-plugin-vue 9 → 10, vue-eslint-parser 9 → 10
- Remove eslint-define-config, eslint-config-prettier, eslint-plugin-prettier
- Delete .eslintignore (now handled in flat config ignores)
- Remove deprecated rules: vue/script-setup-uses-vars, vue/no-setup-props-destructure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:44:40 +08:00
DevDengChao
53f779afa2
chore(deps): upgrade UnoCSS 0.58.5 → 66.6.2 and related packages
...
- unocss 0.58.9 → 66.6.2
- @unocss/eslint-config 0.57.7 → 66.6.3
- @unocss/eslint-plugin 66.1.0-beta.5 → 66.6.3
- @unocss/transformer-variant-group 0.58.9 → 66.6.3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:38:32 +08:00
YunaiV
32ad593fae
✨ feat(mes): 更新检验单完成接口及权限管理
2026-03-02 19:38:23 +08:00
DevDengChao
643eb92aff
chore(deps): upgrade Vue I18n 9.10.2 → 11.2.8, fix related compat issues
...
- Upgrade vue-i18n to 11.2.8, @intlify/unplugin-vue-i18n to 11.0.7
- Remove vue-i18n CJS alias from vite.config.ts (no longer needed)
- Remove vue-i18n from optimizeDeps include list
- Upgrade bpmn-js-token-simulation 0.36.2 → 0.39.2 (ids@3 compat)
- Fix duplicate route name 'Redirect' (Vue Router 5 enforces uniqueness)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:36:31 +08:00
YunaiV
fa38b554ea
✨ feat(mes): 更新反馈和入库相关接口及状态管理
...
将多个接口的执行方法重命名为完成方法,增强语义清晰度。更新相关的权限控制和状态枚举,确保系统逻辑一致性。
2026-03-02 19:25:37 +08:00
DevDengChao
7991028e0a
chore(deps): upgrade @vueuse/core 10.9.0 → 14.2.1
...
Crosses 4 major versions. All composables used by the project remain
compatible. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:16:43 +08:00
DevDengChao
c0414a563f
chore(deps): upgrade Vue Router 4.4.5 → 5.0.3
...
Major version with no breaking changes for this codebase. Dynamic route
generation via router.addRoute() and navigation guards work correctly.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:14:18 +08:00
DevDengChao
7326634cd3
chore(deps): upgrade Pinia 2.1.7 → 3.0.4, persistedstate 3.2.1 → 4.7.1
...
Pinia 3 is a "boring major" removing only deprecated APIs. The
persistedstate plugin v4 default export remains compatible.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:12:27 +08:00
DevDengChao
81f00adae3
chore(deps): upgrade TypeScript 5.3.3 → 5.9.3
...
Multiple minor versions with improved type inference. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:10:28 +08:00
DevDengChao
136ef314b5
chore(deps): upgrade bpmn-js-properties-panel 5.23.0 → 5.52.1
...
bpmn-js was already at v18. Properties panel minor update.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:06:04 +08:00
DevDengChao
c13d5d7dfd
chore(deps): upgrade vue-tsc 1.8.27 → 3.2.5
...
Major version bump with stricter type checking. Pre-existing type errors
in source code are surfaced but do not affect runtime. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:03:39 +08:00
DevDengChao
b6f40353ad
chore(deps): upgrade Sass 1.69.5 → 1.97.3
...
Patch update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:00:25 +08:00
DevDengChao
dec43ffcee
chore(deps): upgrade Element Plus 2.11.1 → 2.13.3
...
Minor update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:58:47 +08:00
DevDengChao
3dad65a53f
chore(deps): upgrade Axios 1.9.0 → 1.13.6
...
Minor/patch update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:56:55 +08:00
DevDengChao
9864cf5a92
chore(deps): upgrade Vue 3.5.12 → 3.5.26
...
Patch update with no breaking changes. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:54:36 +08:00
YunaiV
4d66a7072c
✨ feat(mes): 添加运单填写功能及相关状态管理
2026-03-02 18:54:26 +08:00
DevDengChao
1b9fcc51a1
test: add Playwright E2E test suite as regression safety net
...
Set up 24 E2E tests covering auth, navigation, user CRUD, permissions,
UI features, and smoke tests using Playwright with API mocking via
page.route(). This provides a safety net before proceeding with
dependency upgrades.
- Add playwright.config.ts with setup project + storageState auth
- Add .env.e2e disabling captcha/tenant/encryption for test mode
- Add e2e/ directory with fixtures, helpers, page objects, and tests
- Add test:e2e scripts to package.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:49:50 +08:00
YunaiV
5375487d57
✨ feat(mes): 更新销售出库单状态枚举及相关逻辑
...
新增待填写运单状态,优化销售出库单状态描述,调整相关方法注释以提高可读性。同时,更新前端表单以支持填写运单功能,确保用户体验一致性。
2026-03-02 18:21:55 +08:00
YunaiV
1a1209088c
✨ review(mes): 移除 WmBatchSelect 组件并更新相关逻辑
2026-03-02 17:20:30 +08:00
YunaiV
77e25ce9d8
✨ feat(mes): 移除收货地址字段并优化发货通知单选择器
2026-03-02 13:32:06 +08:00
YunaiV
0e58608fe1
✨ feat(mes): 添加客户验证逻辑至销售通知单创建与更新
2026-03-02 12:59:47 +08:00
YunaiV
ac6bd643aa
✨ feat(mes): 新增发货通知单状态枚举及相关逻辑优化
...
新增 MES 发货通知单状态枚举,优化发货通知单的状态管理逻辑,提升代码可读性和维护性。移除不必要的字段,简化请求对象。
2026-03-02 12:25:41 +08:00
YunaiV
1f442fb7fd
✨ feat(mes): 新增发货通知单及相关行功能
...
添加发货通知单及其行的相关数据结构和逻辑,包括创建、更新、删除和查询功能。此功能将提升销售出库管理的效率,并支持更灵活的发货通知处理。
2026-03-02 12:07:02 +08:00
YunaiV
10d5510885
✨ feat(mes): 添加销售出库单相关字段及逻辑优化
...
新增出库日期、发货通知单ID、发货通知单编号、客户编码、承运商和运输单号字段,优化了相关数据结构和逻辑,提升了销售出库单的功能完整性和数据准确性。
2026-03-02 11:12:12 +08:00
YunaiV
2242a13401
✨ feat(mes): 新增销售出库单行及明细相关功能和数据结构
...
新增销售出库单行和明细的请求和响应对象,包含分页查询、创建、更新和删除功能。实现了销售出库单行和明细的数据库映射,并提供了相应的服务接口和控制器,支持前端调用。
同时,更新了相关的 API 接口,确保前端能够正确获取和操作销售出库单行及明细数据。
2026-03-02 10:42:20 +08:00
YunaiV
48e2ed8272
✨ feat(mes): 添加物料批次管理校验逻辑
2026-03-01 23:03:56 +08:00
YunaiV
48b9e54fd8
✨ feat(mes): 更新退货单相关字段及逻辑优化
...
- 修改退货数量字段名称为 `quantity`,以简化代码。
- 更新退货原因字段为必填项,确保数据完整性。
- 优化部分逻辑,提升代码可读性和维护性。
2026-03-01 22:47:51 +08:00
YunaiV
38f3e73486
✨ feat(mes): 添加销售退货单及行相关功能和数据结构
...
新增销售退货单及行的相关数据结构、请求和响应对象,包含销售退货单的基本信息、行信息以及相关的 API 接口,支持销售退货单的创建、更新、查询和删除操作,提升了系统的功能性和可维护性。
2026-03-01 22:16:18 +08:00
YunaiV
bc932d0a0d
✨ feat(mes): 添加销售退货单及行相关功能和数据结构
...
新增销售退货单及行的相关数据结构、请求和响应对象,包含销售退货单的基本信息、行信息以及相关的 API 接口,支持销售退货单的创建、更新、查询和删除操作,提升了系统的功能性和可维护性。
2026-03-01 22:16:12 +08:00
YunaiV
c2e397e84c
✨ feat(mes): 重命名产品收货单相关类和接口
...
重命名产品收货单及其相关的 VO、DO、Service 和 API 接口,以统一命名为“Receipt”,提升代码可读性和一致性。此变更包括多个文件的重命名和相应的引用更新,确保系统功能不受影响。
2026-03-01 14:34:11 +08:00
YunaiV
21cfbb9314
✨ feat(mes): 添加产品收货单明细数量校验功能
...
新增校验产品收货单明细数量的接口,确保每行明细数量之和与行收货数量一致。此功能提升了数据的准确性和完整性,避免了潜在的入库错误。
- 添加 checkProductRecptQuantity 方法
- 更新相关接口以支持数量校验
2026-03-01 13:16:39 +08:00
YunaiV
c1a0c63ba6
✨ feat(mes): 添加产品收货单及行相关功能和数据结构
...
新增产品收货单及行的相关数据对象、请求和响应 VO,以及对应的服务和控制器接口。实现了产品收货单的创建、更新、删除和查询功能,支持与物料、仓库等模块的关联,提升了系统的可扩展性和可维护性。
2026-03-01 11:33:09 +08:00
YunaiV
248635e3d7
✨ feat(mes): 移除生产退料单数量校验逻辑及相关接口
2026-03-01 00:55:00 +08:00
YunaiV
a9d08368a6
✨ feat(mes): 更新生产退料单提交逻辑及状态校验
...
重构生产退料单的提交功能,合并确认与提交操作,简化状态流转逻辑。新增状态校验,确保只有草稿状态的退料单可提交,并根据物料质检状态自动决定目标状态(待检验或待上架)。
2026-03-01 00:23:51 +08:00
YunaiV
347b4dfaf4
✨ feat(mes): 添加退料单质检标识及相关字段校验
2026-02-28 23:02:35 +08:00
YunaiV
15de32fcbf
✨ feat(mes): 添加生产退料单确认功能及字段校验
...
新增确认生产退料单的接口,更新相关字段为必填项并添加数量校验逻辑。此变更旨在提升退料单的管理效率和数据准确性。
2026-02-28 22:16:52 +08:00
YunaiV
2a83f67065
refactor(mes): 调整供应商退货模块字段映射
...
refactor(mes): 同步供应商退货字段变更
2026-02-28 18:17:12 +08:00
YunaiV
333c8a1154
✨ feat(mes): 添加生产退料单及明细相关功能
2026-02-28 15:10:10 +08:00
YunaiV
0b29aaadaf
✨ feat(mes): 添加生产退料单及明细相关功能
...
新增生产退料单、退料单行及退料明细的请求和响应对象,完善相关的服务和映射接口,支持生产退料单的创建、更新和查询功能。
2026-02-28 13:28:27 +08:00
YunaiV
639ff7645e
✨ feat(mes): 添加供应商退货单及相关明细功能
...
新增供应商退货单、退货单行及退货明细的数据对象和 API 接口,支持供应商退货管理功能。
2026-02-28 09:56:20 +08:00
YunaiV
3d80f5c216
✨ feat(mes): 添加生产入库单及相关功能
...
新增生产入库单的相关数据结构、API 接口和服务实现,包括入库单、入库明细及其 CRUD 操作。此功能支持生产入库管理,提升仓库管理效率。
- 添加生产入库单相关的请求和响应 VO
- 实现生产入库单的服务接口
- 增加生产入库单行的 CRUD 操作
- 更新相关的数据库映射和查询逻辑
2026-02-28 08:40:57 +08:00
YunaiV
8628548282
♻️ refactor(mes): 删除多余的预留字段
2026-02-28 01:46:31 +08:00
YunaiV
0d3ddca266
✨ feat(mes): 添加领料出库单数量校验功能
...
新增校验领料出库单数量的接口,确保每行明细数量之和等于行领料数量。此功能提升了数据一致性检查,避免了潜在的数量不匹配问题。
2026-02-28 00:52:00 +08:00
YunaiV
1afe2e79e4
✨ feat(mes): 更新领料出库单明细 API 接口及组件
...
- 修改领料出库单明细的 API 接口,支持按行编号查询明细列表
- 替换供应商选择组件,简化供应商选择逻辑
- 添加取消领料出库单的功能,增强用户操作体验
2026-02-27 23:58:35 +08:00
YunaiV
5e2366ace0
✨ feat(mes): 更新领料出库单相关 API 接口及组件
...
重命名领料出库单和明细相关的 API 方法,增强代码可读性。新增领料出库明细表单组件,支持拣货明细的添加与编辑功能。同时,调整相关组件的逻辑以适应新的 API 结构。
2026-02-27 23:33:22 +08:00
YunaiV
bd27ddfc71
✨ feat(mes): 添加生产领料出库单相关功能与接口
...
新增生产领料出库单的状态管理、行验证及明细查询功能,优化了相关数据模型和接口,提升了系统的可用性和用户体验。
2026-02-27 19:04:35 +08:00
YunaiV
a77ef94fd5
✨ feat(mes): 添加生产领料出库单相关功能与组件
...
新增生产领料出库单的相关数据模型、接口及前端组件,支持领料单的创建、编辑和完成操作。优化了数据校验逻辑,并添加了物料、库存和工单选择器,提升用户体验。
- 实现领料单的基本 CRUD 操作
- 增加物料和库存选择功能
- 优化前端表单布局与交互
2026-02-26 21:17:38 +08:00
YunaiV
84f417823d
✨ feat(mes): 添加 MES 领料出库单相关数据模型及接口
...
新增 MES 领料出库单及其行的响应和请求 VO,包含必要的字段和注释。
同时实现了相关的控制器和服务接口,支持创建、更新、删除和查询领料出库单的功能。
此功能将提升领料出库单的管理效率,便于后续的业务逻辑实现。
2026-02-26 19:18:10 +08:00
YunaiV
fe04f0485e
♻️ refactor(mes): 使用 MesOrderStatusConstants 替代状态枚举值
...
重构采购入库单和领料申请单状态枚举,统一使用 MesOrderStatusConstants 中的常量,提升代码可维护性和一致性。
2026-02-26 19:08:52 +08:00
YunaiV
12b6c0df2f
♻️ refactor(mes): 重构质检状态枚举及相关逻辑
...
将质检相关的状态枚举从 MesOrderStatusEnum 更改为 MesQcStatusEnum,确保状态管理的一致性和可维护性。更新了相关的服务和前端逻辑,以反映新的状态枚举。
2026-02-26 09:37:27 +08:00
YunaiV
e26a40fe0e
refactor(mes): 优化弹窗标题显示
...
refactor(framework): 优化 ObjectUtils 工具类
2026-02-26 01:44:00 +08:00
YunaiV
a94e55b533
✨ feat(mes): 添加到货通知单行列表查询接口及相关字段调整
...
新增获取到货通知单行列表的接口,支持通过通知单编号查询。调整相关数据模型,更新字段名称以提高可读性,并移除冗余字段,优化数据结构。同时,更新前端组件以支持新接口的调用和展示。
BREAKING CHANGE: 修改了到货通知单行的字段名称和接口路径
2026-02-26 01:31:00 +08:00
YunaiV
6312e2fe56
refactor(mes): 优化采购入库单界面文案和标记待优化项
...
- 修改列名:上架数量 -> 数量
- 标记界面布局和组件选择器待优化项
- 调整代码格式
2026-02-25 23:16:17 +08:00
YunaiV
b460a0e47d
feat(mes): 优化到货通知单表单交互
...
- 参考 IQC 表单模式,支持详情查看和新增后自动进入编辑
- 移除用户不应填写的字段(合格数量由 IQC 回调设置)
- 使用 MdVendorSelect 组件替换内联选择器
- 添加必填验证(通知单名称、是否检验、到货数量 > 0)
- 修复导航:点击编号查看详情,新增入库单按钮查看相关入库单
2026-02-25 21:37:09 +08:00
YunaiV
2fc5362a7e
feat(mes): 优化 RQC 前端交互,添加缺陷统计显示
...
主要变更:
- RqcForm 添加缺陷情况显示区域和 detail 模式支持
- 检验单编号改为链接,点击可查看详情(对齐 IQC)
- 删除 sourceDocCode 字段,rqcType 改为 type
- RQC Line 的 toolId/toolName 改为 tool 字段
- 新增成功后自动切换到编辑模式,可继续编辑子表
2026-02-25 19:24:30 +08:00
YunaiV
44aa77e79f
refactor(mes-qc): 优化 OQC 出货检验单表单
...
- 删除质检方案(templateId)选择字段
- 恢复合格品数量(qualifiedQuantity)字段
- 优化表单布局(每行 3 个字段)
- 新增数量字段、日期字段、检测人员必填校验
- 删除出货日期、检测日期搜索字段
2026-02-25 13:33:33 +08:00
YunaiV
7df0785818
refactor(mes-qc): 优化 IPQC/IQC 质检模块
...
IPQC 优化:
- 修复 TODO AI 项:模板检索方法、tool 字段重构、删除冗余字段
- 新增废品数量字段(工废/料废/其他废品)及验证
- 添加检测人员和物料的存在性验证
IQC 优化:
- 检测人员由后端自动设置改为前端传递
- 添加检测人员存在性验证
2026-02-25 00:15:05 +08:00
YunaiV
a013f965aa
review(mes): 各种 qc 单的校验逻辑。
2026-02-24 17:10:58 +08:00
YunaiV
81bee7693f
refactor(mes): 新增 mes_order_status 字典,替代 mes_qc_iqc_status
...
- dict.ts:MES_QC_IQC_STATUS → MES_ORDER_STATUS,删除 @AI TODO
- constants.ts:4 个独立 QC 状态枚举(IQC/IPQC/OQC/RQC)合并为统一的 MesOrderStatusEnum(草稿/已确认/审批中/已审批/已完成/已取消)
- iqc/ipqc/oqc/rqc index.vue:字典类型引用更新为 MES_ORDER_STATUS
- iqc/index.vue:状态判断由 MesQcIqcStatusEnum.PREPARE → MesOrderStatusEnum.DRAFT
2026-02-24 05:16:41 +08:00
YunaiV
d7d22b8a8f
✨ feat(mes): 新增供应商和物料存在性校验功能
2026-02-24 04:55:28 +08:00
YunaiV
251a7851a0
♻️ refactor(mes): 调整表格列宽和标签名称
2026-02-24 04:23:08 +08:00
YunaiV
e13a3b2fac
feat(mes): IQC 检验单行 toolId/toolName 改为 tool
...
- api/mes/qc/iqc/line/index.ts: QcIqcLineVO 删除 toolId、toolName,新增 tool
- views/mes/qc/iqc/IqcLineList.vue: 表格列 prop 由 toolName 改为 tool
2026-02-24 03:57:59 +08:00
YunaiV
f1beac7055
refactor(mes): IQC 表单字段清理 + 校验增强
...
1. IqcForm.vue
- 删除质检方案(templateId)、检测人员(inspectorUserId)表单项
- formData/resetForm 移除 templateId/minCheckQuantity/maxUnqualifiedQuantity/checkQuantity/inspectorUserId
- formRules 增加 qualifiedQuantity/unqualifiedQuantity/receiveDate/inspectDate 必填校验
- 移除 QcTemplateSelect、UserSelect 组件引用
- open 方法参数 prefillData → data,去掉 Partial
2. api/mes/qc/iqc/index.ts
- QcIqcVO 删除 minCheckQuantity、maxUnqualifiedQuantity
2026-02-24 00:46:49 +08:00
YunaiV
7ea96e1c2e
refactor(mes): IQC 模块重构 - Service 拆分 + 字段清理 + 业务逻辑优化
...
1. 拆分 MesQcTemplateService → MesQcTemplateDetailService
- 检测指标项、产品关联 CRUD 迁移至 DetailService
- 新增 getRequiredTemplateByItemIdAndType 方法
2. MesQcIqcSaveReqVO 字段清理
- 删除 templateId/minCheckQuantity/maxUnqualifiedQuantity/checkQuantity/inspectorUserId
- 增加 qualifiedQuantity/unqualifiedQuantity @NotNull + @DecimalMin 校验
- 增加 receiveDate/inspectDate @NotNull 校验
3. MesQcIqcServiceImpl 业务逻辑调整
- createIqc/updateIqc 增加 inspectorUserId 参数,由 Controller 传入 getLoginUserId()
- templateId 不再由前端传递,后端根据 itemId + IQC 类型自动查找模板
- checkQuantity 由后端计算(= qualifiedQuantity + unqualifiedQuantity)
- updateIqc 禁止修改 sourceDocType/sourceDocId/sourceLineId/templateId
4. MesQcIqcDO/RespVO 删除 minCheckQuantity、maxUnqualifiedQuantity 字段
5. 更新调用方:IndicatorController、ItemController、IQC/OQC/IPQC ServiceImpl
2026-02-24 00:46:37 +08:00
YunaiV
f2dd52706b
feat(mes): 新增待检任务列表页 + IqcForm 支持预填
...
- 新增 pendinginspect/index.vue 待检任务列表页
- 新增 api/mes/qc/pendinginspect/index.ts API 定义
- 搜索栏:来源单据编号、产品物料(MdItemSelect)、检验类型
- 表格列:来源单据编号、检验类型/名称、物料编码/名称、规格型号、待检数量、单位
- IQC 行显示"创建检验单"按钮,打开 IqcForm 并预填来源数据
- IqcForm.vue: open() 增加 prefillData 参数,isFromPendingTask 控制来源字段只读
- 新增菜单 SQL(mes_qc_pending_inspect.sql)
- 新增待检任务测试数据(mes_wm_arrival_notice.sql id=100~102)
2026-02-23 15:55:57 +08:00
YunaiV
3b52a8a2ad
feat(mes): 同步 IQC 与到货通知单后端变更
...
1. IQC API sourceDocType 从 string 改 number,删除 sourceDocCode
2. IQC 表单删除 sourceDocCode 字段(formData + resetForm)
3. 到货通知单 API 删除 approveArrivalNotice 方法(后端已移除该端点)
2026-02-23 12:26:29 +08:00
YunaiV
e736f26166
✨ feat(mes): 添加采购入库明细列表接口及上架明细表单功能
2026-02-23 02:16:35 +08:00
YunaiV
ea476a1ec3
✨ feat(mes): 完善入库单操作逻辑与界面交互
...
重构入库单相关组件,优化用户操作体验。移除不必要的审批按钮,简化执行入库流程为直接确认并调用接口。更新状态判断逻辑,确保只有待上架和待入库状态可以取消操作。调整表单展示逻辑,确保在不同模式下的字段可读性。
此变更旨在提升用户操作的直观性与效率,减少误操作的可能性。
2026-02-23 00:43:22 +08:00
YunaiV
72c3e545f1
✨ feat(mes): 添加到货通知单精简列表接口及状态筛选功能
...
新增获取到货通知单的精简列表接口,支持按状态筛选。更新相关状态枚举和校验逻辑,优化采购入库单的审批和取消功能,确保系统在处理入库单时的状态管理更加清晰和高效。
2026-02-22 23:34:13 +08:00
YunaiV
fcd90edc08
✨ feat(mes): 添加物料接收单状态枚举及相关功能
...
新增物料接收单的状态枚举,包含草稿、待质检、已完成和待入库状态。
同时更新相关的请求和响应对象,确保在物料接收流程中能够正确处理状态变更。
2026-02-22 19:16:30 +08:00
YunaiV
6e56876c3c
✨ feat(mes): 添加入库日期和状态筛选功能
...
在 MES 采购入库单请求中新增入库日期字段,并在数据查询中支持根据入库日期进行筛选。此功能提升了用户在管理入库单时的灵活性和准确性。
2026-02-22 18:13:07 +08:00
YunaiV
b32770d77e
feat(mes): 新增到货通知单和到货通知单行的表单组件
2026-02-22 18:00:32 +08:00
YunaiV
5aea9a0428
✨ feat(mes): 添加到货通知单的到货日期和状态枚举
...
新增到货日期字段到 MES 到货通知单请求 VO,并在查询中支持根据到货日期范围筛选。同时,添加到货通知单状态的枚举定义,提升系统的可维护性和可读性。
2026-02-22 18:00:24 +08:00
YunaiV
39187b441e
feat(mes): 新增到货通知单和到货通知单行的表单组件
2026-02-22 17:28:11 +08:00
YunaiV
6fd1806c4c
feat(mes): add request and response VO for MES item receipt and detail, including service and controller implementations
2026-02-22 15:43:58 +08:00
YunaiV
87d24ab7a4
feat(mes): add VO and service for managing MES arrival notice and arrival notice line
2026-02-22 15:43:49 +08:00
YunaiV
b6e875c6bb
feat(mes): change rqcType from String to Integer and update related fields in RQC classes
2026-02-22 15:13:52 +08:00
YunaiV
b1f0a71b7a
feat(mes): update IPQC type to Integer and add source document fields in RQC
2026-02-22 14:27:35 +08:00
YunaiV
52785c5c08
feat(mes): add RQC line request and response VO, and implement RQC line controller and service
2026-02-22 12:24:20 +08:00
YunaiV
479f35ffb8
feat(mes): add RQC (退货检验单) related classes and API for handling inspection lines
2026-02-22 11:21:37 +08:00
YunaiV
969b4a70f0
feat(mes): 新增 IPQC 过程检验前端页面,集成缺陷记录与检测结果
...
- 新增 IPQC 列表页、表单弹窗、检验行子表
- IpqcForm 新增"检测结果"标签页,复用 QcIndicatorResultList 组件
- IpqcLineList 新增"缺陷列表"操作列,集成 DefectRecordInlineList 弹窗,添加分页
- 新增 IPQC API 和 Line API(TypeScript)
- dict.ts 注册 MES_IPQC_TYPE 字典类型
- constants.ts 新增 MesQcIpqcStatusEnum 枚举
2026-02-22 11:03:12 +08:00
YunaiV
418de29138
refactor(mes): 优化检验结果表单,简化接口调用和字段处理
...
1. API:合并 getResult + getDetailTemplate 为 getDetail(qcId, qcType, id?),
精简 VO 类型定义,移除后端不再返回的关联字段
2. Form:open 方法统一 formData.value = data 赋值(不再区分 create/update),
合并 valueFloat/valueInteger 为 valueNumber,
getDictOptions 改为 getStrDictOptions,补全 JSDoc 注释
3. 新增 IPQC 模块页面(index.vue/IpqcForm.vue/IpqcLineList.vue)及 API
2026-02-22 08:36:21 +08:00
YunaiV
a8ffdfab75
feat(mes): add validation for inspection result detail list and update related comments
2026-02-22 08:04:09 +08:00
YunaiV
db33e04451
feat(mes): refactor inspection result types and add new result detail structure
2026-02-21 23:42:34 +08:00
YunaiV
47c84d3104
refactor(mes): 质检指标 resultType 改为 number 类型,resultSpec 重命名为 resultSpecification,result 目录重命名为 indicatorresult
...
1. indicator/index.ts:resultType 从 string 改为 number,resultSpec 重命名为 resultSpecification
2. IndicatorForm.vue:getStrDictOptions 改为 getIntDictOptions,条件判断改为数字比较(4=DICT, 5=FILE)
3. indicator/index.vue:结果值类型筛选下拉改用 getIntDictOptions
4. qc/result 目录整体重命名为 qc/indicatorresult(views + api),更新 IqcForm.vue 的引用路径
2026-02-21 22:40:41 +08:00
YunaiV
461510786e
【后端】refactor(mes): 将 MesQcDefectRecordDO 相关类从 qc/defect 包独立到 qc/defectrecord 包
...
【前端】refactor(mes): 将缺陷记录相关文件从 qc/defect/record 目录独立到 qc/defectrecord 目录
2026-02-21 22:11:21 +08:00
YunaiV
79bc5c6ea0
feat(mes): 添加生成检验单编号功能,重构质检方案选择组件,优化表单逻辑和注释
2026-02-21 21:17:28 +08:00
YunaiV
298ad41d5b
feat(mes): 重构缺陷记录相关类的包结构,更新缺陷等级字段类型为整数,优化缺陷记录内联编辑组件
2026-02-21 21:03:14 +08:00
YunaiV
31cc9bd31e
feat(mes): 更新质检缺陷记录权限标识,重构相关校验逻辑,优化缺陷统计计算
2026-02-21 19:26:47 +08:00
YunaiV
87d10eacb8
feat(mes): 适配通用质检缺陷记录 API,更新 IQC 缺陷列表组件
...
配合后端 mes_qc_defect_record 通用化重构,前端同步适配。
主要变更:
1. 新增 api/mes/qc/defect-record/index.ts 通用缺陷记录 API
2. IqcDefectList.vue 切换至 QcDefectRecordApi,字段映射调整
(defectName→name, defectLevel→level, defectQuantity→quantity, iqcId→qcId)
3. 新增 qcType=1 参数标识 IQC 类型
2026-02-21 16:52:03 +08:00
YunaiV
473a0d9017
feat(mes): 移除不必要的字段,优化流转卡和工序记录的校验逻辑,添加工序记录列表组件
2026-02-21 12:35:48 +08:00
YunaiV
e9e066cf25
feat(mes): 添加报工相关字段和简化选择组件,优化数据处理逻辑
2026-02-21 12:29:49 +08:00
YunaiV
1c4ae03e7d
feat(mes): 添加计划班组和班次相关的 VO 及 API,新增点检保养方案设备和项目的 VO 及 API,添加工序选择器组件
2026-02-21 12:22:47 +08:00
YunaiV
335f367e00
feat(mes): 添加生产任务选择器和工单选择器组件,支持前端过滤功能
2026-02-21 12:21:36 +08:00
YunaiV
7b274a0990
feat(mes): 添加流转卡和工序记录相关的请求和响应 VO,重构服务接口及实现
2026-02-21 11:58:14 +08:00
YunaiV
eab4883204
feedback
2026-02-21 11:15:00 +08:00
YunaiV
170b9e0857
feat(mes): 添加生产报工相关的请求和响应 VO,重构报工控制器及服务实现
2026-02-21 09:27:45 +08:00
YunaiV
f7d8682073
feat(mes): 添加安灯配置编号和用户信息字段,重构相关数据对象和服务接口
2026-02-21 09:26:06 +08:00
YunaiV
b505744d0c
feat(mes): 重构安灯相关组件,优化导入路径,增加注释以提升可读性
2026-02-21 08:46:51 +08:00
YunaiV
a0ac62e0fa
feat(mes): 重构 IQC 状态管理,使用枚举替代硬编码,简化代码并提升可维护性
2026-02-21 08:10:12 +08:00
YunaiV
99b983f00f
feat(mes): 添加安灯呼叫配置和记录相关功能,包括请求和响应 VO、枚举及服务接口
2026-02-21 08:07:15 +08:00
YunaiV
5ddc53bce9
feat(mes): qc 添加安灯处置状态和级别枚举,更新相关错误码和接口定义
2026-02-21 00:19:09 +08:00
YunaiV
e20122bd3c
feat(mes):通过枚举和用户关联来重构缺陷处理流程,并增强内部质量控制功能
2026-02-20 22:49:14 +08:00
YunaiV
ccc58e9a74
feat(mes): 添加维修工单确认和不通过功能,更新相关服务和前端接口
2026-02-20 19:55:08 +08:00
YunaiV
51d255a9fd
feat(mes): 添加设备保养记录提交功能,新增状态枚举及相关校验
2026-02-20 19:50:11 +08:00
YunaiV
a65c5c4cfb
feat(mes): 更新检验单和缺陷记录相关功能,优化表单和列表展示
2026-02-20 19:41:12 +08:00
YunaiV
13e0222d0c
feat(mes): 添加维修工单和维修工单行相关功能,包括请求和响应 VO 及控制器
2026-02-20 19:16:40 +08:00
YunaiV
b8ea0645d3
feat(mes): 更新点检结果字段类型为整数,重构相关枚举和状态描述
2026-02-20 18:42:03 +08:00
YunaiV
d033bcaaf5
feat(mes): 新增设备点检记录相关功能,包括记录明细接口及表单组件
2026-02-20 16:55:23 +08:00
YunaiV
afaf6e371e
feat(mes): 添加维修工单和点检记录相关状态及错误码常量
2026-02-20 16:05:11 +08:00
YunaiV
05d7212bd0
feat(mes): 重构点检保养方案界面,新增设备和项目选择器组件,优化启用停用逻辑
2026-02-20 15:33:47 +08:00
YunaiV
11b0b290eb
feat(mes): 新增设备和点检保养项目精简列表接口及批次号字段
2026-02-20 15:25:37 +08:00
YunaiV
8d7b7cf473
feat(mes): 新增 MES 点检保养方案相关功能,包括设备和项目的增删改查接口及数据模型
2026-02-20 15:24:31 +08:00
YunaiV
9392e32630
refactor(mes): 重构设备保养记录模块,抽取可复用 Select 组件
...
1. 新增 DvMachinerySelect、DvCheckPlanSelect、UserSelect 三个通用选择器组件
2. MaintenRecordForm 和 index 页面改用 Select 组件替代内联远程搜索逻辑
3. MaintenRecordLineForm 合并到 MaintenRecordLineList(参考 pro/route 风格)
4. API 文件 maintenRecordLine.ts 迁移至 line/index.ts
5. 保养记录状态枚举从 10/20 改为 0/1,与后端对齐
2026-02-20 14:42:46 +08:00
YunaiV
083c187f2f
refactor(mes): 重构设备保养记录模块,抽取可复用 Select 组件
...
1. 新增 DvMachinerySelect、DvCheckPlanSelect、UserSelect 三个通用选择器组件
2. MaintenRecordForm 和 index 页面改用 Select 组件替代内联远程搜索逻辑
3. MaintenRecordLineForm 合并到 MaintenRecordLineList(参考 pro/route 风格)
4. API 文件 maintenRecordLine.ts 迁移至 line/index.ts
5. 保养记录状态枚举从 10/20 改为 0/1,与后端对齐
2026-02-20 14:42:19 +08:00
YunaiV
9845059d4a
feat(mes): 新增设备保养记录及明细相关功能,包括请求和响应 VO、Controller、Service 及 API 接口
2026-02-20 11:40:31 +08:00
YunaiV
2a83789782
feat(mes): 新增 MES 点检保养项目相关功能,包括请求和响应 VO、Controller 及 API 接口
2026-02-20 09:49:49 +08:00
YunaiV
b76ecb2460
feat(mes): 新增来料检验单及缺陷记录相关功能,包括请求和响应 VO、Mapper、Controller 及 API 接口
2026-02-20 09:36:23 +08:00
YunaiV
c454002370
feat(mes): 更新物料库存模块,优化物料查询逻辑并新增工作站和库区数量统计功能
2026-02-20 09:27:07 +08:00
YunaiV
fff9c7f34e
pro-task
2026-02-20 08:58:09 +08:00
YunaiV
3c3bf1b13b
feat(mes): 新增生产排产(pro_task)前端页面
...
- 新增生产任务 API(task + task_issue)和 VO 定义
- 新增排产主页面:甘特图预览 + 待排产工单列表 + 排产/进度 Drawer
- 新增任务 CRUD 列表(ProTaskList)、任务表单(ProTaskForm)
- 新增 dhtmlx-gantt 甘特图组件封装(GanttChart)和全屏编辑(GanttEdit)
- 新增生产进度圆形进度条展示(ProTaskProgress)
- 新增任务投料列表(ProTaskIssueList,预留)
- 新增工作站下拉选择器(MdWorkstationSelect)
- 新增 MES_PRO_TASK_STATUS 字典和 MesProTaskStatusEnum 枚举
- 安装 dhtmlx-gantt 依赖
2026-02-20 08:57:56 +08:00
YunaiV
2740f3d26b
feat(mes): 新增仓库管理-库存台账前端页面
...
新增:
- api/mes/wm/materialStock/index.ts:库存台账 API
- views/mes/wm/materialStock/index.vue:主页面(左侧物料分类树 + 搜索 + 表格 + 冻结开关 + 导出)
- views/mes/wm/materialStock/AreaDetailDialog.vue:库位详情只读弹窗
2026-02-20 08:26:54 +08:00
YunaiV
d1e6d4109f
fix(mes): 完善生产工单前端,支持树形展示、子工单生成及 BOM 内联编辑
...
1. index.vue:工单列表改为 handleTree 树形展示(row-key + tree-props),
新增「确认」「新增子工单」操作按钮,移除父工单列,搜索条件对齐
2. WorkOrderForm:移除 batchCode 字段,需求日期改为 date 类型,
新增 parentId 及子工单预填逻辑,新增 WorkOrderItemList 物料需求 Tab
3. WorkOrderBomList:合并 WorkOrderBomForm 弹窗为内联编辑(仅编辑数量/备注),
草稿状态显示编辑按钮,已确认+自行生产+产品类型显示「生成工单」按钮
4. WorkOrderItemList:API 调用迁移到 ProWorkOrderBomApi
5. API 层:workorder/index.ts 新增 confirmWorkOrder、移除 batchCode;
bom/index.ts 新增 getWorkOrderBomItemListByWorkOrderId、itemOrProduct 字段
6. 删除独立的 WorkOrderBomForm.vue 组件
7. constants.ts 新增 MesProTaskStatusEnum,dict.ts 新增对应字典类型
2026-02-20 08:24:58 +08:00
YunaiV
e5bd477a7e
feat(mes): 优化排班日历功能,新增假期按日期范围查询逻辑及假期类型枚举
2026-02-19 22:26:01 +08:00
YunaiV
f4239e8a0e
feat(mes): 完善排班日历功能,新增假期过滤及班组排班记录查询逻辑
2026-02-19 21:25:17 +08:00
YunaiV
93a76b19db
refactor(mes): 重构排班日历视图,提取公共日历格子组件
...
- 新增 CalendarDateCell.vue:抽取三个视图中重复的农历/节气/节假日/班次渲染逻辑,统一维护
- CalendarTypeView.vue → TypeView.vue,PersonView.vue → UserView.vue:按视图含义重命名,去掉多余前缀
- UserView.vue:用户选择从 el-input-number 改为 el-select 下拉,调用 getSimpleUserList 获取用户列表
- TeamView.vue / TypeView.vue / UserView.vue:统一使用 CalendarDateCell 组件;补充变量行尾注释、函数 JSDoc 及关键逻辑行内注释
- index.vue:更新组件引用
2026-02-19 20:56:39 +08:00
YunaiV
64b3ce64c3
feat(mes): 新增开始日期和结束日期字段,优化排班日历请求和响应对象
2026-02-19 20:28:57 +08:00
YunaiV
3ec6a0bd79
fix(mes): 修复生产工单前端 TODO,搜索增强、条件显隐、BOM 拆分
...
- index.vue:新增产品/客户搜索,补充父工单/来源单据/客户编码列,"来源类型"改"工单来源"
- WorkOrderForm.vue:工单编码生成按钮,来源单据编号/供应商条件显隐,"生产数量"改"工单数量"
- WorkOrderBom 拆分为 WorkOrderBomList + WorkOrderBomForm
- constants.ts 新增 MesProWorkOrderTypeEnum、MesProWorkOrderSourceTypeEnum
2026-02-19 19:26:41 +08:00
YunaiV
115dcb2df6
fix(mes): 修复生产工单前端 TODO,搜索增强、条件显隐、BOM 拆分
...
- index.vue:新增产品/客户搜索,补充父工单/来源单据/客户编码列,"来源类型"改"工单来源"
- WorkOrderForm.vue:工单编码生成按钮,来源单据编号/供应商条件显隐,"生产数量"改"工单数量"
- WorkOrderBom 拆分为 WorkOrderBomList + WorkOrderBomForm
- constants.ts 新增 MesProWorkOrderTypeEnum、MesProWorkOrderSourceTypeEnum
2026-02-19 19:26:25 +08:00
YunaiV
112e24f97d
fix(mes): 工艺路线前端 TODO 修复:状态按钮化、MdItemSelect、字段优化
...
- index.vue 状态操作改为按钮,启用后禁用「禁用」和「删除」按钮
- RouteProcessList 前3列 fixed、label 改名、布尔字段用 dict-tag、颜色显示 hex 值
- RouteProductList/RouteProductBomList 物料选择改用 MdItemSelect 组件
- RouteProductList BOM 弹窗移入产品编辑表单,动态宽度
- RouteProductBomList label 改名、processId 类型修复
2026-02-19 18:45:50 +08:00
YunaiV
1c0cbc0dc6
refactor(mes): 合并子列表 Form 到 List 组件,统一 Panel 重命名为 List
...
1. 合并 4 对 Form→List:将独立的 *Form.vue 弹窗组件内联到对应的 *List.vue 中
- TemplateIndicatorForm → TemplateIndicatorList
- TemplateItemForm → TemplateItemList
- CalTeamMemberForm → CalTeamMemberList
- ProProcessContentForm → ProProcessContentList
2. 重命名 5 个 Panel→List,更新引用方 import
- WorkstationMachinePanel → WorkstationMachineList
- WorkstationToolPanel → WorkstationToolList
- WorkstationWorkerPanel → WorkstationWorkerList
- CalPlanTeamPanel → CalPlanTeamList
- CalShiftPanel → CalShiftList
3. 统一 9 个子列表组件的注释风格
- 补全文件头注释、defineOptions、模板区域注释
- 统一分隔线、JSDoc、变量行尾注释、watch 注释
- 去掉多余的闭合行尾注释
4. 修复 WorkstationToolList 中 createSuccess/updateSuccess 提示写反的 bug
2026-02-19 18:24:25 +08:00
YunaiV
e94f2d4fee
fix(mes): 修复工艺路线前端 TODO,补全注释与交互优化
...
- API 文件(4 个)补充 VO 字段注释和方法注释,新增 updateRouteStatus 方法
- index.vue 字段加"工艺路线"前缀,状态列改为 el-switch 开关操作
- RouteForm.vue 补充行内注释,status 默认值改用 CommonStatusEnum.ENABLE
- RouteProcessList/ProductList/ProductBomList 补充变量行内注释
- CalendarTypeView/TeamView 修复 ESLint 问题
2026-02-19 17:44:58 +08:00
YunaiV
0da99069c5
refactor(mes): 将 enableFlag/enabled/areaEnabled 重构为 status/areaStatus(CommonStatus)
...
QC Template: enableFlag(Boolean) -> status(Integer),使用 CommonStatusEnum
Warehouse Area: enabled(Boolean) -> status(Integer),使用 CommonStatusEnum
Warehouse Location: areaEnabled(Boolean) -> areaStatus(Integer),使用 CommonStatusEnum
涉及前端 API 定义、列表页、表单页的字段名和字典类型切换(INFRA_BOOLEAN_STRING -> COMMON_STATUS),
以及后端 DO、RespVO、SaveReqVO、PageReqVO、Mapper 的同步修改。
注意:语义反转,原 true(启用) 对应新 status=0(开启),原 false(禁用) 对应新 status=1(关闭)。
2026-02-19 17:17:13 +08:00
YunaiV
545887ed38
refactor(mes): 将 enableFlag/enabled/areaEnabled 重构为 status/areaStatus(CommonStatus)
...
QC Template: enableFlag(Boolean) -> status(Integer),使用 CommonStatusEnum
Warehouse Area: enabled(Boolean) -> status(Integer),使用 CommonStatusEnum
Warehouse Location: areaEnabled(Boolean) -> areaStatus(Integer),使用 CommonStatusEnum
涉及前端 API 定义、列表页、表单页的字段名和字典类型切换(INFRA_BOOLEAN_STRING -> COMMON_STATUS),
以及后端 DO、RespVO、SaveReqVO、PageReqVO、Mapper 的同步修改。
注意:语义反转,原 true(启用) 对应新 status=0(开启),原 false(禁用) 对应新 status=1(关闭)。
2026-02-19 17:15:20 +08:00
YunaiV
e95d613965
feat(mes): 新增工艺路线模块,支持路线、工序链、产品及 BOM 管理
...
从 ktg-mes 迁移工艺路线(pro-route)模块,包含:
- 4 个 DO:MesProRoute / RouteProcess / RouteProduct / RouteProductBom
- 4 个 Mapper 及 9 个 VO(含工序链 findPre/findNext 查询)
- 4 对 Service 接口+实现(链表重建、启用校验、级联删除)
- 4 个 Controller(路线 CRUD+导出,子资源复用父权限)
2026-02-19 16:39:43 +08:00
YunaiV
20c6876f2c
feat(mes): 清理 qc-template TODO,补全注释风格与表单布局
...
- TemplateForm/TemplateIndicatorForm/TemplateItemForm/TemplateIndicatorList/TemplateItemList:注释风格对齐(ref 行内注释、函数步骤注释、defineExpose/defineEmits 说明)
- TemplateIndicatorForm:表单布局调整为多行 el-row/el-col(质检指标+标准值 / 计量单位+误差上下限 / 检测方法 / 说明图 / 备注)
- TemplateItemForm:表单布局调整为多行(产品物料 / 最低检测数+最大不合格数 / 致命+严重+轻微缺陷率 / 备注),补充缺失的备注字段
- index.vue:搜索项检测种类改为单值 Integer 查询
2026-02-19 12:57:00 +08:00
YunaiV
e7a066d9c5
feat(mes): 重构质检方案页面,子表维护移入编辑弹窗
...
- api/mes/qc/template/ 拆分为 index.ts / indicator.ts / item.ts 三个文件
- TemplateForm.vue:Dialog 宽度改为 900px,编辑模式下新增 el-tabs,
内嵌检测指标项(TemplateIndicatorList)和产品关联(TemplateItemList)子表
- index.vue:移除底部子表区域及 currentRow/activeTab 逻辑,简化为纯列表页;
检测种类搜索字段由 types 改为 type(单选)
- TemplateIndicatorList/Form、TemplateItemList/Form:更新 import 路径至拆分后的 API 文件
- 清理所有 TODO @AI 注释
2026-02-19 12:41:57 +08:00
YunaiV
e7a8095a35
review(mes):cal-calender 日历功能
2026-02-19 12:23:18 +08:00
YunaiV
b8254baf5a
feat(mes): 抽取通用 Select 下拉组件,替换各表单内联 el-select
...
将 MES 模块中各表单的内联 el-select + 手动加载 SimpleList 数据的模式,
统一抽取为独立的 Select 组件,每个组件自包含数据加载和前端搜索过滤。
新增 8 个 Select 组件:
- MdItemSelect(物料产品选择器)
- MdClientSelect(客户选择器)
- MdVendorSelect(供应商选择器)
- MdUnitMeasureSelect(计量单位选择器)
- MdWorkshopSelect(车间选择器)
- WmWarehouseSelect(仓库选择器)
- QcIndicatorSelect(质检指标选择器)
- TmToolTypeSelect(工具类型选择器)
改造 10 个消费者文件:
- WorkOrderForm.vue:产品/客户/供应商选择器替换
- WorkOrderBom.vue:物料/单位选择器替换,修复 handleBomItemChange
- MdItemForm.vue:计量单位选择器替换
- WorkstationForm.vue:车间/仓库选择器替换
- MachineryForm.vue:车间选择器替换
- TemplateItemForm.vue:物料选择器替换
- TemplateIndicatorForm.vue:质检指标/计量单位选择器替换
- ToolForm.vue:工具类型选择器替换
- workstation/index.vue:搜索栏车间选择器替换
- tool/index.vue:搜索栏工具类型选择器替换
2026-02-19 12:09:52 +08:00
YunaiV
5f010acc5f
review(mes):qc-template 的实现代码
2026-02-18 22:48:56 +08:00
YunaiV
50be43d9e2
feat(mes): 重构生产工序模块包结构,拆分 process-content 为独立子模块
...
前端:
- api/mes/pro/process/index.ts:移除 contents 字段
- 新建 api/mes/pro/process/content/index.ts,删除旧 process-content/index.ts
- views/mes/pro/process/index.vue:移除 expand 行交互和工艺要求列,
对齐 ktg-mes 风格
- ProProcessForm.vue:工序编码增加生成按钮,标签改为工序说明,
编辑时弹窗内嵌操作步骤列表(el-divider + ProProcessContentList)
- 新建 ProProcessContentList.vue(列表)和 ProProcessContentForm.vue
(表单弹窗),拆分自原内联实现,对齐 CalTeamMemberList/Form 风格
2026-02-18 16:08:12 +08:00
YunaiV
67e6e59120
review(mes):pro-process 的初步实现 50%
2026-02-18 15:47:18 +08:00
YunaiV
3c198013ba
feat(mes): 重构 cal-team 班组成员前端文件结构
...
- 删除 api/mes/cal/team/member.ts、shift.ts,迁移至
member/index.ts、shift/index.ts(与其他模块保持一致)
- CalTeamMemberPanel.vue 重命名为 CalTeamMemberList.vue,拆分为
List(列表+删除)和 Form(添加弹窗)两个独立组件
- CalTeamMemberForm.vue(新增):用户下拉选择(getSimpleUserList)、
表单校验、提交,通过 defineExpose open() + emit success 与 List 交互
- CalTeamForm.vue:更新引用为 CalTeamMemberList
2026-02-18 15:32:14 +08:00
YunaiV
377bf6e2ed
feat(mes): 优化 cal-team 班组成员相关逻辑
...
- MesCalTeamMemberController:注入 AdminUserApi,合并 list-by-team 与
list-by-team-ids 为单一接口(支持 teamId / teamIds 参数),新增
buildMemberRespVOList 方法批量填充用户昵称和手机号
- MesCalTeamMemberServiceImpl:validateTeamMemberExists 改为 void 返回;
validateUserUnique 去掉冗余的 excludeId 参数
- MesCalTeamMemberMapper:selectByUserIdExcludeId 简化为 selectByUserId
2026-02-18 15:31:59 +08:00
YunaiV
ecd21a5dbd
feat(mes): 新增 CAL 模块班组前端页面及修复班组选择下拉
...
新增 views/mes/cal/team 及对应 API:
- api/mes/cal/team/{index,member,shift}.ts:班组/成员/排班三个 API 模块
- views/mes/cal/team/index.vue:班组列表页(搜索/分页/导出)
- views/mes/cal/team/CalTeamForm.vue:班组表单弹窗(编辑时内嵌成员管理 Tab)
- views/mes/cal/team/CalTeamMemberPanel.vue:班组成员管理面板
修复 CalPlanTeamPanel.vue:
- 班组选择从 el-input-number 改为 el-select 下拉(对接 CalTeamApi.getTeamList)
2026-02-18 11:21:22 +08:00
YunaiV
3b43e9e463
🎨 style(mes/wm): 对齐注释风格、修复 TODO、重构冗余代码
2026-02-18 09:08:09 +08:00
YunaiV
5289b8b3bd
🎨 style(mes/wm): 对齐注释风格、修复 TODO、重构冗余代码
...
- warehouse/index.vue:补充变量行内注释;将 chargeUserId 展示内联到模板
- WarehouseForm.vue:删除非标准 DONE @AI 注释;补充变量注释、defineExpose/defineEmits 注释、submitForm 步骤注释
- location/index.vue:补充变量行内注释;修复 warehouseId 类型;使用具名路由跳转
- location/LocationForm.vue:补充注释;修复 warehouseId 类型;补充新增时默认值注释
- area/index.vue:合并 parseQueryId 到 loadLocationContext;将 4 个散 ref 合并为 currentLocation 对象;补充变量行内注释
- area/AreaForm.vue:修复 locationId 类型;简化 open 方法中逐字段赋值为直接赋值;补充注释
- md/workstation/WorkstationForm.vue:补充 JSDoc 注释、变量注释、submitForm 步骤注释
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 09:07:29 +08:00
YunaiV
47fd8b6018
review(mes):wm-warehouse 的初步实现 80%
2026-02-17 23:51:33 +08:00
YunaiV
9546589ccc
review(mes):wm-warehouse 的初步实现 50%
2026-02-17 22:52:45 +08:00
YunaiV
57894e7ab5
review(mes):wm-warehouse 的初步实现
2026-02-17 21:53:33 +08:00
YunaiV
38405b1d20
review(mes):work-order 的代码实现,功能测试
2026-02-17 21:00:24 +08:00
YunaiV
3463213cd4
review(mes):cal-plan 的代码实现,功能测试
2026-02-17 20:58:24 +08:00
YunaiV
416778c8e5
review(mes):qc-template 的代码实现,功能测试
2026-02-17 20:43:40 +08:00
YunaiV
0772290be9
review(mes):work-order 的代码实现,功能测试
2026-02-17 20:21:31 +08:00
YunaiV
721449d834
feat(mes):qc-template 初始化
2026-02-17 18:57:14 +08:00
YunaiV
ce761e536e
review(mes):cal-plan 的实现
2026-02-17 17:05:45 +08:00
YunaiV
663b2e32b5
feat:新增 qc indicator 质量管理 - 检测项
2026-02-17 16:09:37 +08:00
YunaiV
2f86852483
✨ feat(mes/cal-plan): 新增排班计划专用 confirm 接口
...
- 后端新增 PUT /mes/cal/plan/confirm 接口,仅接收 id 参数
- Service 层新增 confirmPlan(Long id) 方法,含草稿状态校验和班组数量校验
- updatePlan 中强制忽略 status 字段,禁止通过 update 修改状态
- 前端 API 新增 confirmPlan(id: number) 方法
- CalPlanForm handleConfirm 改为调用专用 confirmPlan 接口
2026-02-17 16:05:24 +08:00
YunaiV
d5303a1e7d
feat(mes-pro): 新增生产工单前端页面
...
- 新增工单列表页,支持编码/名称/类型/状态/来源/需求日期筛选
- 新增工单表单弹窗(新增/编辑/详情),产品选择自动填充单位
- 新增工单 BOM 子组件,内嵌分页表格 + 增删改弹窗
- 新增工单和 BOM 的 API 文件
- dict.ts 增加 3 个字典类型,constants.ts 增加工单状态枚举
2026-02-17 15:37:12 +08:00
YunaiV
e920999bff
fix(mes-cal): 清理前端 3 处 TODO @AI 注释
...
1. team.ts: 删除"挪到 plan/team 目录下"注释(文件已在正确位置)
2. CalPlanTeamPanel.vue: 删除"晚点 review 下"注释
3. CalPlanForm.vue: 删除"单独一个接口"注释,更新确认提示语
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:26:46 +08:00
YunaiV
501db918f3
feat(mes):优化、实现 plan 的逻辑
2026-02-17 15:15:25 +08:00
YunaiV
778141bf7f
feat(mes):新增 defect 缺陷类型
2026-02-17 14:38:26 +08:00
YunaiV
2d79633b07
feat(mes): 设备状态枚举同步调整,表单增加点检保养时间选择器
...
1. constants.ts MesDvMachineryStatusEnum 改为 STOP/PRODUCING/MAINTENANCE
2. MachineryForm 默认状态改为 STOP,新增 lastCheckTime、lastMaintenTime 两个 el-date-picker 字段
2026-02-17 11:32:41 +08:00
YunaiV
d313450069
feat(mes-dv): 设备台账添加导入功能前端 UI
...
- 新增 MachineryImportForm 组件,参考物料导入模式
- 列表页添加导入按钮和导入弹窗
- API 新增 importTemplate 方法(后端接口待实现)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:25:03 +08:00
YunaiV
5428ed8351
feat(mes-dv): 设备台账列表添加左侧设备类型分类树
...
- 新增 MachineryTypeTree 组件,支持搜索过滤和点击/取消选择
- 列表页改为左树右表布局(4:20 比例),参考物料模块
- 移除搜索栏中的「设备类型」下拉(由左侧树代替)
- 重置时同时清空分类树选中状态
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:23:07 +08:00
YunaiV
e0ec6249ae
refactor(mes-dv): 设备台账列表去掉最近保养/点检时间列
...
这两个时间字段在列表中意义不大,已移至设备详情表单中展示。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:21:35 +08:00
YunaiV
babb4c3979
feat(mes-dv): MachineryForm 添加点检/保养/维修 Tab 占位
...
- 删除多余的「所属车间」TODO 注释(form 已有车间选择框)
- 编辑模式下显示 3 个子资源 Tab:点检记录、保养记录、维修工单
- 子模块尚未实现,使用 el-empty 占位,待后续对接
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:20:48 +08:00
YunaiV
f0fe6e3f01
feat(mes-dv): MachineryForm 改为 3 列布局并添加编码生成按钮
...
- 第一行改为 3 列:设备编码(含生成按钮)、设备名称、品牌
- 编码生成按钮使用 generateRandomStr,编辑模式下禁用
- 调整规格型号到第三行,整体布局更紧凑
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:19:35 +08:00
YunaiV
969eac21df
fix(mes-dv): 修复 MachineryTypeForm 的 TypeScript linter 警告
...
移除 formData 声明中多余的 `as unknown as number/string` 类型断言,
与 WorkstationForm 等其他表单组件保持一致的写法。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:18:12 +08:00
YunaiV
c6ab40e175
feat(mes-dv): 新增设备类型和设备台账前端页面
...
新增设备类型(dv/machinery/type,树形表格)和设备台账(dv/machinery)的前端实现,
包含 API 定义、列表页、表单弹窗,以及 dict.ts 和 constants.ts 中 DV 相关补充
2026-02-17 09:53:14 +08:00
YunaiV
9f5303aea6
feat(mes-cal): 新增排班计划和班次管理前端页面
...
- 新增班次管理独立页面(index.vue + CalShiftForm.vue),支持 CRUD + 导出
- 新增排班计划列表页(index.vue),支持按编码/名称/轮班方式/状态搜索
- 新增排班计划表单(CalPlanForm.vue),含编码生成、条件显示倒班方式/天数、确认计划操作
- 新增班次子表面板(CalShiftPanel.vue),嵌入计划表单 Tab
- 新增班组子表面板(CalPlanTeamPanel.vue),嵌入计划表单 Tab
- 新增 shift/plan/plan-team 三个 API 文件
- dict.ts 新增 4 个字典类型常量(shift_type/shift_method/calendar_type/plan_status)
2026-02-17 09:52:46 +08:00
YunaiV
153fa2cf25
fix(mes-tm): 修复工具管理前端 TODO 项,完善表单布局、编码生成和列宽
...
1. ToolForm:表单改为 el-row/el-col 栅格布局(960px 宽弹窗),新增编码"生成"按钮(TL 前缀)
2. ToolTypeForm:类型编码新增"生成"按钮(TT 前缀),保养周期拆分为天/次两个条件字段
3. type/index:保养周期列增加天/次单位后缀展示
4. tool/index + type/index:补齐所有表格列宽(编码 120、名称 min-150、状态 80 等)
2026-02-16 22:42:47 +08:00
YunaiV
6a83adf543
refactor(mes-tm): 工具管理前端枚举优化
...
1. 新增 MesToolStatusEnum、MesMaintenTypeEnum 到 mes/utils/constants.ts
2. ToolForm、ToolTypeForm、index 页面使用枚举常量替代魔法值
3. 移除 as unknown as 类型断言,移除 TODO @AI 注释
2026-02-16 22:30:52 +08:00
YunaiV
d6a4857f6f
refactor(mes-tm): 工具管理前端枚举优化
...
1. 新增 MesToolStatusEnum、MesMaintenTypeEnum 到 mes/utils/constants.ts
2. ToolForm、ToolTypeForm、index 页面使用枚举常量替代魔法值
3. 移除 as unknown as 类型断言,移除 TODO @AI 注释
2026-02-16 22:30:15 +08:00
YunaiV
b15cd9021e
feat(mes): 新增工具管理(TM)模块前端页面
...
新增工具类型和工具台账的 API、列表页和表单弹窗,
dict.ts 补充 MES_TM_TOOL_STATUS 和 MES_TM_MAINTEN_TYPE 字典类型。
2026-02-16 21:12:42 +08:00
YunaiV
23531c6c5b
refactor(mes): 优化假期设置交互,精简接口对齐后端
...
1. 右键改左键点击弹出设置弹窗,阻止非当前月切换
2. 弹窗打开时调 get-by-day 接口回显已有 type 和 remark
3. 新增备注(remark)输入框,时间戳传参用 formatDate 转换
4. HolidayType 枚举抽取到 mes/utils/constants.ts 统一管理
5. 精简 API:移除 page/export/update/delete,create 改为 save
2026-02-16 21:01:41 +08:00
YunaiV
369d3bbff2
refactor(mes): 优化假期设置交互,精简接口对齐后端
...
1. 右键改左键点击弹出设置弹窗,阻止非当前月切换
2. 弹窗打开时调 get-by-day 接口回显已有 type 和 remark
3. 新增备注(remark)输入框,时间戳传参用 formatDate 转换
4. HolidayType 枚举抽取到 mes/utils/constants.ts 统一管理
5. 精简 API:移除 page/export/update/delete,create 改为 save
2026-02-16 20:59:01 +08:00
YunaiV
f40b415b9c
feat(mes): 新增假期设置日历页面,使用 dayjs-plugin-lunar 显示农历
...
基于 el-calendar 实现假期设置页面,右键日期可设置假期/工作日类型,
日历单元格显示班/休标签、农历日期、公历节日、农历节日和节气。
使用 dayjs-plugin-lunar(底层 tyme4ts)替代手写 667 行农历工具。
新增文件:
- src/api/mes/cal/holiday/index.ts
- src/views/mes/cal/holiday/index.vue
- src/views/mes/cal/holiday/HolidayForm.vue
修改文件:
- src/utils/dict.ts:新增 MES_CAL_HOLIDAY_TYPE
新增依赖:
- dayjs-plugin-lunar
2026-02-16 18:39:12 +08:00
YunaiV
cb56866deb
refactor(mes): 重构产品 BOM/SIP/SOP 表单,统一代码风格并修复 TODO
...
1. 统一表单方法风格,对齐 WorkstationWorkerPanel 的写法:
- 弹窗变量统一命名为 dialogVisible/dialogTitle
- dialogTitle 使用 t('action.' + type) 国际化
- submitForm 添加 formRef 校验守卫,使用 t() 国际化提示
- create/update 判断顺序统一为先 create 后 update
2. SIP/SOP 的 orderNumber 字段全局重命名为 sort
3. BOM 物料选择简化为无论选择几条都直接批量创建
4. 修复 formData 展开赋值的 TS 类型错误,改为逐字段赋值
5. 清理所有 TODO @AI 注释
2026-02-16 17:46:33 +08:00
YunaiV
b0548b329d
feat(mes): 优化工作站模块,新增获取车间列表和车间 Map 方法,重构表单弹窗逻辑
2026-02-16 15:47:05 +08:00
YunaiV
435496bdbd
feat(mes): 添加假期类型常量及相关错误码,调整SOP和SIP模块的展示顺序
2026-02-16 13:19:50 +08:00
YunaiV
debce44339
refactor(mes-ui): 修正工作站模块中文标签命名 + 拆分 API
...
- 表单标签/占位符/校验提示:工位 → 工作站
- API 注释:工位设备 → 设备资源、工位工具 → 工装夹具资源、工位人员 → 人力资源
- 拆分 workstation API 到 machine/tool/worker/workshop 子目录
2026-02-16 12:36:00 +08:00
YunaiV
95c478d739
refactor(mes-ui): 修正工作站模块中文标签命名 & 拆分 API 文件
...
- 表单标签/占位符/校验提示:工位 → 工作站
- API 注释:工位设备 → 设备资源、工位工具 → 工装夹具资源、工位人员 → 人力资源
- 拆分 workstation API 到 machine/tool/worker/workshop 子目录
2026-02-16 12:12:03 +08:00
YunaiV
59bd23b3e0
feat(mes): 新增产品 BOM、SOP、SIP 子表前端组件
...
- 新增 productBom / productSop / productSip 三组 API 文件
- BOM 组件:表格列表,支持远程搜索物料、编辑用量
- SOP / SIP 组件:卡片式图片列表,支持上传/预览/排序
- MdItemForm.vue 集成三个组件,替换原 el-empty 占位
2026-02-16 08:58:31 +08:00
YunaiV
403b7e75af
feat(mes): 新增车间管理、工位管理模块前端
...
- API 接口:workstation/index.ts(工位+3个子资源)、workshop.ts(车间)
- 车间:列表页(搜索+分页)+ 表单弹窗
- 工位:列表页 + 表单弹窗(一行3列布局 + 编码自动生成)
- 工位子资源:设备/工具/人员 3 个 Tab 面板组件
- 共 9 个 Vue/TS 文件
2026-02-16 08:40:27 +08:00
YunaiV
8a3e33952b
feat(mes): 新增车间管理、工位管理模块前端
...
- API 接口:workstation/index.ts、workshop.ts
- 车间:列表页 + 表单弹窗
- 工位:列表页 + 表单弹窗(含设备/工具/人员三个子资源 Tab 面板)
- 共 9 个 Vue/TS 文件
2026-02-16 08:09:29 +08:00
YunaiV
15dd4dce76
feat(mes): 新增物料批次属性配置前端组件
...
1. 新增 MdItemBatchConfigForm 组件,根据 itemOrProduct 区分 ITEM/PRODUCT 展示不同 checkbox
2. 嵌入 MdItemForm 的"批次属性"tab,仅 batchFlag 开启时显示
3. API 文件放置于 batchConfig/index.ts 子目录
4. 使用 MesItemOrProductEnum 常量替代硬编码字符串
5. MdItemForm 变量名语义优化:itemTypeList → itemTypeTree,itemTypeFlatList → itemTypeList
6. 布局优化:采用 CSS Grid 一行 5 个,checkbox label 模式(☑ 文字)
2026-02-16 01:28:10 +08:00
YunaiV
3d103f1f46
feat(mes): 新增供应商管理前端页面
...
新增供应商管理的前端代码,参照客户模块风格:
- 列表页:编码/名称/简称/等级/评分/电话/状态/备注,支持搜索与分页
- 表单弹窗:完整字段编辑,支持编码自动生成(VD前缀)
- 导入弹窗:Excel 文件上传,支持更新已存在数据,下载导入模板
- API 定义:完整 CRUD + 导出 + 导入模板接口
2026-02-16 00:28:17 +08:00
YunaiV
15d64fe772
feat(mes): 新增 MES 客户表 DDL、字典、菜单权限与测试数据
...
- 建表 mes_md_client(含逻辑删除、多租户字段)
- 字典 mes_client_type:企业客户(1)、个人(2)
- 菜单权限 5140~5146:查询/创建/更新/删除/导出/导入
- 测试数据:比亚迪、博世、德力西
2026-02-15 23:34:50 +08:00
YunaiV
5153adf1cf
feat(mes): 完善计量单位、物料导入与客户管理前端
...
1. 计量单位管理:新增 API + 列表页 + 表单(UnitMeasureForm)
2. 物料单位选择器:MdItemForm 单位字段从 el-input 改为 el-select 下拉
3. 物料导入:新增 MdItemImportForm 组件(上传 Excel、下载模板、更新已有数据)
4. 物料导入权限:v-hasPermi 改为 mes:md-item:import
5. API VO 字段调整:unitOfMeasure → unitMeasureId + unitMeasureName
6. 客户管理:新增 API + 列表页 + 表单(MdClientForm)
2026-02-15 22:18:46 +08:00
YunaiV
27f5fcb66e
feat(mes): 完善物料分类与物料产品前端功能
...
1. 新增 ItemTypeTree 左侧分类树组件(支持搜索过滤、点击切换)
2. 物料列表改为左右布局(左侧树 + 右侧列表)
3. 新增 MesItemOrProductEnum 常量({ label, value } 结构)
4. 物料/产品列用 getItemOrProductLabel 翻译,安全库存列用 dict-tag 渲染
5. 表单改为 3 列布局(span=8),增加编码生成按钮和底部 Tab 占位
6. 分类管理移除导出按钮,分类表单修复 TS 类型和枚举默认值
7. 分类 API 移除 exportItemType
2026-02-15 15:43:49 +08:00
YunaiV
6bb27899c1
feat(mes): 新增物料产品分类与物料产品管理
...
迁移 ktg-mes 的 md_item_type 和 md_item 两张表到 yudao-module-mes,
包含完整的 CRUD、树形分类、物料分页查询、enrichment 等功能。
后端新增 17 个文件(1337 行):
- DO: MesMdItemTypeDO(树形分类)、MesMdItemDO(物料产品)
- VO: 分类 3 个(List/Save/Resp)、物料 3 个(Page/Save/Resp)
- Mapper: 2 个(BaseMapperX,纯 Java,无 XML)
- Service: 4 个(接口 + 实现)
- Controller: 2 个(/mes/md/item-type、/mes/md/item)
- ErrorCodeConstants 追加 9 个错误码
关键业务逻辑:
- 分类:父分类递归环路检测、同级名称/编码唯一性、删除保护(子分类+物料)
- 物料:编码/名称全局唯一、分类存在校验、安全库存联动清零
- enrichment:物料 RespVO 通过 Service 关联填充 itemTypeName、itemOrProduct
- 循环依赖:MesMdItemTypeServiceImpl 用 @Lazy 注入 MesMdItemService
plan: plans/swirling-stirring-metcalfe.md
2026-02-15 14:03:59 +08:00
LesanOuO
80128c5406
feat: 条件节点添加包含和不包含操作符
2026-02-14 16:53:21 +08:00
芋道源码
d3f008eb33
!863 !854 feat:【iot】接入 modbus 协议,重构所有协议的配置
...
Merge pull request !863 from 芋道源码/feature/iot
2026-02-14 03:10:48 +00:00
芋道源码
bb10760137
!854 feat:【iot】modbus-tcp 协议接入 100%:完整实现,修复 todo
...
Merge pull request !854 from 芋道源码/feature/iot-modbus
2026-02-14 03:09:03 +00:00
YunaiV
ab8de6ea83
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/iot
2026-02-13 15:40:15 +08:00
YunaiV
deed7eaff2
feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示
2026-02-13 15:35:41 +08:00
puhui999
e54c2b3e7a
fix: 完成 review c153ff93 的所有 TODO 修复
2026-02-11 17:37:58 +08:00
puhui999
572c14a41a
fix: 完成 review c153ff93 的所有 TODO 修复
...
- AreaSelect.vue: 删除未使用的 handleTree 导入
- AreaSelect.vue: 使用 AreaLevelEnum 枚举类型替代硬编码数字
- IframeComponent.vue: 已使用全局 isUrl 方法
- useAreaSelectRule.ts: 恢复代码格式空行,使用枚举常量
- useIframeRule.ts: 恢复代码格式空行
2026-02-11 17:27:07 +08:00
YunaiV
155edc41a9
feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示
...
1. ProtocolTypeEnum 拆分:MODBUS_TCP → MODBUS_TCP_MASTER + MODBUS_TCP_SLAVE
2. Slave 模式新增 mode(工作模式)、frameFormat(帧格式)字段,使用字典管理
3. 配置表单和详情页按 Master/Slave 模式条件展示不同字段,表单校验规则动态适配
4. 新增 DICT_TYPE:IOT_MODBUS_MODE、IOT_MODBUS_FRAME_FORMAT
5. 修复设备卡片 deviceName 过长溢出问题,添加文本截断
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:33:10 +08:00
YunaiV
c153ff93c7
review:“新增 iframe 和省市区选择器组件”
2026-02-08 14:37:55 +08:00
芋道源码
c119040307
!861 feat(form-create): 新增 iframe 和省市区选择器组件
...
Merge pull request !861 from puhui999/master-dev
2026-02-08 06:32:21 +00:00
puhui999
99b1e6da2c
Merge remote-tracking branch 'yudao/master' into master-dev
2026-02-08 11:56:45 +08:00
puhui999
a62251f900
feat(form-create): 新增 iframe 和省市区选择器组件
...
- 新增 iframe 网页嵌入组件,支持 URL 配置和实时预览
- 新增省市区三级联动选择器组件
2026-02-08 11:56:18 +08:00
YunaiV
5f211558fb
Merge branch 'feature/iot-protocol' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/iot-modbus
...
# Conflicts:
# src/views/iot/device/device/detail/index.vue
2026-02-07 21:24:36 +08:00
YunaiV
91fb07971e
fix(crm): 修复线索详情页转化状态按钮误显示,对应 https://t.zsxq.com/wq7ix
2026-02-07 21:07:31 +08:00
YunaiV
3aeb719ec2
fix(mall):OrderDetail detailData 为 null 的情况
2026-02-07 19:45:27 +08:00
YunaiV
1678bf6e57
fix: 忘记密码页面未开启验证码时,隐藏 Verify 组件,避免请求 captcha/get 接口
2026-02-07 16:42:23 +08:00
YunaiV
57a77b2ba9
feat(iot):【协议改造】移除 codecType,使用 protocolType 替代
2026-02-04 22:05:03 +08:00
YunaiV
4c5825389e
feat(iot): refactor TimerConditionGroupConfig and PropertySelector for improved readability
2026-01-29 19:39:19 +08:00
芋道源码
da969d3be7
!859 feat(iot):【场景联动】定时触发,增加条件组
...
Merge pull request !859 from puhui999/feature/iot
2026-01-25 13:39:46 +00:00
puhui999
38e9298fa6
feat(iot):【场景联动】定时触发,增加条件组
2026-01-25 17:41:47 +08:00
YunaiV
972eb47610
feat:【iot】modbus-tcp 协议接入 100%:完整实现,修复 todo
2026-01-18 00:07:23 +08:00
YunaiV
56a25258ee
feat:【iot】modbus-tcp 协议接入 40%:优化部分表单的实现,基于 dreamy-stirring-kazoo.md
2026-01-17 23:34:43 +08:00
YunaiV
8587a549c6
feat:【iot】modbus-tcp 协议接入 20%:初步实现,基于 dynamic-forging-wigderson.md 规划
2026-01-17 19:36:51 +08:00
8614095
3314dfe365
feat:增加说明文案
2026-01-15 11:13:20 +08:00
dylanmay
d599ca91c6
接口变更
2025-02-10 14:34:29 +08:00
dylanmay
5c1bb25237
feat: 联系人
2024-12-12 22:19:14 +08:00
dylanmay
e5b90372a6
数据持久化
2024-11-12 09:12:10 +08:00
dylanmay
5feb3e6815
socket接入
2024-11-12 09:11:08 +08:00
dylanmay
755bf1bb08
去掉conversatNo的使用
2024-10-28 16:31:04 +08:00
YunaiV
0d347643ca
【代码评审】IM:会话、消息相关的接口
2024-10-28 09:41:29 +08:00
dylanmay
f3968db2e0
会话和消息处理
2024-10-26 19:45:08 +08:00
YunaiV
90461a8cdf
Merge branch 'im' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into im
2024-10-20 13:52:05 +08:00
YunaiV
d8d3366687
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into im
2024-10-20 13:51:15 +08:00
dylanmay
90619542c8
单聊对接
2024-10-19 16:06:29 +08:00
YunaiV
d2a212fb80
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into im
...
# Conflicts:
# src/router/modules/remaining.ts
2024-10-14 12:34:09 +08:00
dylanmay
aaba03d001
update friend
2023-09-22 16:30:43 +08:00
dylanmay
5b8b51a894
feat: friends
2023-09-20 17:51:50 +08:00
dylanmay
e3f8a3a94b
feat: chat
2023-09-08 17:36:37 +08:00