优化: 工程实体化(description/stack/status)+ 概览工程列表

- project_modules 加 description/status 列(V40 迁移,stack V34 已有)+ models/repo/INSERT/UPDATE/SELECT 映射

- FileExplorer 工程 CRUD 弹窗加 description(textarea)/stack(input)/status(select)输入,工程有完整身份

- ProjectDetail 概览工程列表升级:name+status badge+path + description 段(2行省略)+ stack tag

- 老工程兼容(None=active),update 部分更新语义,status 归一(active/archived)
This commit is contained in:
lxy
2026-08-05 22:10:07 +08:00
parent 8e4c7c68cf
commit ec9f0bf1ea
9 changed files with 551 additions and 47 deletions
+9
View File
@@ -34,6 +34,15 @@ export default {
modulePathPlaceholder: 'e.g. D:/projects/my-app/frontend',
moduleGitUrl: 'Git URL',
moduleGitUrlPlaceholder: 'https://github.com/… (optional)',
// V40 module entity: description / stack / status
optSuffix: '(optional)',
moduleDescription: 'Description',
moduleDescriptionPlaceholder: 'e.g. Frontend web app / Backend API service / Infrastructure',
moduleStack: 'Tech Stack',
moduleStackPlaceholder: 'comma-separated, e.g. Vue, TypeScript, Vite',
moduleStatus: 'Status',
moduleStatusActive: 'Active',
moduleStatusArchived: 'Archived',
editModule: 'Edit Module',
removeModule: 'Remove Module',
removeConfirm: 'Are you sure to remove module "{name}"? This action cannot be undone.',
+10
View File
@@ -70,6 +70,16 @@ export default {
techStackLabel: 'Tech Stack',
// Module list (multi-module read-only display)
modulesLabel: 'Modules ({n})',
// V40 module entity: status badge (legacy status=null treated as active)
moduleStatusActive: 'Active',
moduleStatusArchived: 'Archived',
// Overview module management (CRUD + scan)
modulesEmptyHint: 'A project can contain multiple sub-modules (frontend / backend / infra). Add a module, or scan the bound directory for sub-repos to auto-discover.',
scanFound: 'Found {n} new module(s)',
scanNone: 'No new modules found',
moduleAddSuccess: 'Module added',
moduleUpdateSuccess: 'Module updated',
moduleRemoved: 'Module removed',
// Tab navigation
tabOverview: '📋 Overview',
},
+9
View File
@@ -34,6 +34,15 @@ export default {
modulePathPlaceholder: '例如 D:/projects/my-app/frontend',
moduleGitUrl: 'Git 地址',
moduleGitUrlPlaceholder: 'https://github.com/…(可选)',
// V40 工程实体化:描述 / 技术栈 / 状态(可选后缀统一用 optSuffix,替代缺失的 common.optional)
optSuffix: '(可选)',
moduleDescription: '职责描述',
moduleDescriptionPlaceholder: '例如 前端 web 工程 / 后端 API 服务 / 基础设施',
moduleStack: '技术栈',
moduleStackPlaceholder: '逗号分隔,例如 Vue, TypeScript, Vite',
moduleStatus: '状态',
moduleStatusActive: '活跃',
moduleStatusArchived: '归档',
editModule: '编辑工程',
removeModule: '删除工程',
removeConfirm: '确定删除工程「{name}」吗?此操作不可撤销。',
+10
View File
@@ -70,6 +70,16 @@ export default {
techStackLabel: '技术栈',
// 工程列表(多工程只读展示)
modulesLabel: '工程({n})',
// V40 工程实体化:状态 badge(老工程 status=null 视作 active)
moduleStatusActive: '活跃',
moduleStatusArchived: '归档',
// 概览工程管理(增删改 + 扫描)
modulesEmptyHint: '一个项目可包含多个子工程(前端 / 后端 / 基础设施…)。添加工程,或扫描绑定目录下的子仓库自动发现。',
scanFound: '扫描到 {n} 个新工程',
scanNone: '未发现新工程',
moduleAddSuccess: '工程已添加',
moduleUpdateSuccess: '工程已更新',
moduleRemoved: '工程已删除',
// Tab 导航
tabOverview: '📋 概览',
},