优化: 所有剩余UI/UX待办一批完成(持久化+AuditLog+解耦+total+原12大改+P2)
持久化(P1-c):新建 usePersistedRef composable,Tasks/AuditLog/ProjectDetail 等接入 localStorage
AuditLog(P1-d):后端 list_tool_executions 加 WHERE 筛选+返 {items,total,has_more},前端对接+长列折叠+筛选持久化
数据源解耦(P1-g):ProjectDetail projectTasks 按 project_id 独立加载 + ChatInput @项目联想独立加载(不读 store.tasks 当前页)
GitChanges(12a):后端 get_module_commits 加 git rev-list --count 返 total,前端显真实总数
原12大改:Dashboard 统计卡压底行(1)/Projects 列表卡片视图(2)/project_event 埋点排序(3)/TaskDetail 重设计(4)/IdeaDetail 重设计(5)/KnowledgeDetail 重设计(6)/界面持久化+侧栏Ctrl+B+审批数字键(7)/ProjectDetail 三栏改两栏(10)
P2打磨:文件浏览器(FileTree去重/FilePreview行号.md Diff/selectedFilePath归位)/settings反馈(假保存/端口校验)/AI会话(try-catch/scrollIntoView)/后端计数(move_queue事件/timeline total/workflow分页/import_batch分块)/杂项(TopBar/ConfirmDialog键盘/CIStatus i18n/ToolResultBody/ModuleNode/ApprovalDialog全选)
This commit is contained in:
@@ -41,6 +41,14 @@ export default {
|
||||
// UX-260617-08:对话加载/切换失败反馈(网络抖动/IPC 断开 → 列表空/切换空白,原静默无反馈)
|
||||
loadConvFail: '对话列表加载失败,请检查网络或后端连接',
|
||||
switchConvFail: '对话切换失败,请重试',
|
||||
// M30:重命名/归档/置顶 IPC 失败反馈(原无 try/catch 异常进 unhandledrejection,用户无感)
|
||||
renameConvFail: '重命名失败,请重试',
|
||||
archiveConvFail: '{action}失败,请重试',
|
||||
pinConvFail: '{action}失败,请重试',
|
||||
archiveAction: '归档',
|
||||
unarchiveAction: '取消归档',
|
||||
pinAction: '置顶',
|
||||
unpinAction: '取消置顶',
|
||||
// AE-2025-07: Agentic 循环进度条文案
|
||||
// 注:max 轮次/已完成工具数本轮后端暂不透传,模板条件渲染省略;后端补全后新增 *WithMax key
|
||||
agenticProgress: '🔄 循环 {round} · ⏳{pending}待审批',
|
||||
|
||||
@@ -241,5 +241,11 @@ export default {
|
||||
// ── AE-2025-04 会话级信任(Session Trust) ──
|
||||
// 自动放行 toast(同会话已批准过同类操作:同工具+同目录,轻量 info 非审批气泡)
|
||||
autoApprovedToast: '已自动放行: {tool}({dir})',
|
||||
|
||||
// ── CIStatus.vue(代码提交 CI 检查状态卡)──
|
||||
ciTitle: 'CI 检查',
|
||||
ciNFailed: '{n} 项失败',
|
||||
ciNPending: '{n} 项进行中',
|
||||
ciNPassed: '{n} 项通过',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ export default {
|
||||
next: '下一页',
|
||||
page: '第 {n} 页',
|
||||
last: '(末页)',
|
||||
total: '共 {n} 条',
|
||||
},
|
||||
|
||||
risk: {
|
||||
@@ -42,6 +43,7 @@ export default {
|
||||
executing: '执行中',
|
||||
completed: '已完成',
|
||||
failed: '失败',
|
||||
interrupted: '已中断',
|
||||
},
|
||||
|
||||
decided: {
|
||||
|
||||
@@ -14,6 +14,9 @@ export default {
|
||||
close: '关闭',
|
||||
loading: '加载中…',
|
||||
unknownError: '未知错误',
|
||||
// 折叠/展开(可复用通用词,描述折叠/日志折叠/未来长内容)
|
||||
expand: '展开',
|
||||
collapse: '收起',
|
||||
// 分页 UI(F-260621-02 P3 基建,默认不分页,用户选每页 N 条才触发)
|
||||
pagination: {
|
||||
prev: '上一页',
|
||||
|
||||
@@ -135,6 +135,8 @@ export default {
|
||||
|
||||
// 原生对话框文案(confirm / alert)
|
||||
confirmDelete: '确定删除灵感「{title}」?此操作不可撤销。',
|
||||
// ⑥ 状态切换确认(终态 promoted/rejected/archived 或离开 approved 失去立项入口)
|
||||
confirmStatus: '将灵感「{title}」状态从 {from} 改为 {to}?',
|
||||
promoteFailed: '立项失败',
|
||||
evalFailed: '评估失败',
|
||||
},
|
||||
|
||||
@@ -20,6 +20,12 @@ export default {
|
||||
publish: '发布',
|
||||
reject: '拒绝',
|
||||
archive: '归档',
|
||||
// ⑤ 操作反馈 toast
|
||||
savedToast: '已保存',
|
||||
publishedToast: '已发布到知识库',
|
||||
rejectedToast: '已拒绝',
|
||||
archivedToast: '已归档',
|
||||
createdToast: '已创建,进入待处理',
|
||||
// 详情徽章
|
||||
reuseCount: '🔄 复用 {n} 次',
|
||||
confidenceBadge: '置信度: {label}',
|
||||
@@ -99,6 +105,7 @@ export default {
|
||||
createFailed: '创建知识失败',
|
||||
updateStatusFailed: '更新状态失败',
|
||||
archiveFailed: '归档失败',
|
||||
saveFailed: '保存失败',
|
||||
loadConfigFailed: '加载配置失败',
|
||||
saveConfigFailed: '保存配置失败',
|
||||
extractFailed: '立即抽取失败',
|
||||
|
||||
@@ -64,6 +64,8 @@ export default {
|
||||
// 审批操作
|
||||
approvalConfirm: '确认({count})',
|
||||
approvalCancel: '取消',
|
||||
approvalSelectAll: '全选',
|
||||
approvalInvert: '反选',
|
||||
// 技术栈
|
||||
techStackLabel: '技术栈',
|
||||
// Tab 导航
|
||||
|
||||
@@ -4,6 +4,10 @@ export default {
|
||||
// 头部操作
|
||||
create: '+ 新建项目',
|
||||
trash: '🗑 回收站',
|
||||
// 视图模式切换(list 紧凑单列默认 / card 宽松双列)
|
||||
viewModeTitle: '切换视图模式',
|
||||
viewList: '列表视图',
|
||||
viewCard: '卡片视图',
|
||||
// 新建项目模态框
|
||||
createTitle: '新建项目',
|
||||
nameLabel: '项目名称',
|
||||
|
||||
@@ -66,8 +66,9 @@ export default {
|
||||
fetchHintSaveFirst: '请先保存 Provider 后再拉取模型',
|
||||
labelWeight: '权重',
|
||||
modelListTitle: '已拉取模型({count} 个)',
|
||||
modelListHint: '已启用 / 权重为本次会话内调整,下次「测试连接」会以最新探测结果覆盖',
|
||||
modelListHint: '勾选 / 权重调整后,请点下方「保存」一并写入 Provider 配置;下次「测试连接」会以最新探测结果覆盖',
|
||||
saveModels: '保存模型配置',
|
||||
modelListUnsavedHint: '模型列表有未保存的调整(启用 / 权重),关闭或切走将丢弃',
|
||||
toastFetchOk: '已拉取 {count} 个模型',
|
||||
toastFetchFail: '拉取模型失败:{msg}',
|
||||
fetchFailedTimeout: '拉取超时,请检查 Base URL 是否可达:{msg}',
|
||||
@@ -212,6 +213,8 @@ export default {
|
||||
// ===== Toast 提示 =====
|
||||
toastLoadProviderFail: '加载提供商失败',
|
||||
toastSaveIncomplete: '请填写完整(名称 / Base URL / API Key / 模型)',
|
||||
// L19: 表单有改动时取消/关闭的二次确认
|
||||
confirmDiscardUnsaved: '表单有未保存的改动,确定放弃吗?',
|
||||
toastSaved: '已保存',
|
||||
toastSaveFail: '保存失败:{msg}',
|
||||
// P0-2: 保存失败分类建议(常驻错误横幅,非裸 Err 文本)
|
||||
@@ -224,6 +227,7 @@ export default {
|
||||
toastSetDefaultOk: '已设为默认',
|
||||
toastSetDefaultFail: '设置默认失败:{msg}',
|
||||
toastConnIncomplete: '请填写名称和 Host',
|
||||
toastConnPortInvalid: '端口必须在 1-65535 范围内',
|
||||
|
||||
// ===== 导入 / 导出(阶段6) =====
|
||||
export: '导出',
|
||||
|
||||
@@ -62,5 +62,10 @@ export default {
|
||||
workflowEdgeDetail: '边条件编辑',
|
||||
workflowUnconditional: '无条件',
|
||||
workflowCondPlaceholder: '输入条件表达式(如 outputs.done == true)',
|
||||
// 描述折叠(超 400px 显展开按钮,Problem4 重设计)
|
||||
expand: '展开',
|
||||
collapse: '收起',
|
||||
// 关联信息面板标题(宽屏右栏 / 信息分组)
|
||||
relatedTitle: '关联信息',
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user