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
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
芋道源码
5e6b6bdd8e
回退 'Pull Request !870 : fix: 菜单名称过长时没有正确显示省略号'
2026-05-03 10:55:35 +00: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
芋道源码
2e65691737
!870 fix: 菜单名称过长时没有正确显示省略号
...
Merge pull request !870 from 李家辉/fix-text-overflow
2026-05-03 10:38:57 +00:00
芋道源码
aafe5f12bc
!866 fix: 修复请求拦截器bug
...
Merge pull request !866 from funcong/fc-fix-bug
2026-05-03 10:37:47 +00: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
芋道源码
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
芋道源码
7fd0a24ca5
!875 fix(bpm):修复流程网关分支问题
...
Merge pull request !875 from 郭某人/master
2026-05-02 16:01:00 +00: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
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
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
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
d6f8fb7b55
♻️ refactor(mes): 修正质检缺陷记录删除权限
2026-04-12 20:38:01 +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
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