优化: 工程实体化(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',
},