From 4e7831ac4842a063a7a99ae196e1ad0b9bebd0cc Mon Sep 17 00:00:00 2001 From: ittoview Date: Fri, 10 Apr 2026 15:11:15 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=85=AB=E5=A4=A7?= =?UTF-8?q?=E7=BB=A9=E6=95=88=E5=9F=9F=E7=9B=AE=E5=BD=95=E9=A1=B5=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=83=A8=E7=BD=B2=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- src/App.tsx | 2 + src/data/performance-domains.ts | 75 ++++++++++++++ src/pages/PerformanceDomainsPage.tsx | 148 +++++++++++++++++++++++++++ src/pages/index.ts | 2 + 5 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 src/data/performance-domains.ts create mode 100644 src/pages/PerformanceDomainsPage.tsx diff --git a/docker-compose.yml b/docker-compose.yml index 5de6064..627b581 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,4 +8,4 @@ services: container_name: ittoview ports: - "11.144.144.9:8035:80" - restart: unless-stopped + restart: always diff --git a/src/App.tsx b/src/App.tsx index dcc2627..bbe1b1b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -11,6 +11,7 @@ import { ToolDetailPage } from './pages/ToolDetailPage' import { SettingsPage } from './pages/SettingsPage' import ProcessPracticePage from './pages/ProcessPracticePage' import PrinciplesPage from './pages/PrinciplesPage' +import { PerformanceDomainsPage } from './pages/PerformanceDomainsPage' function App() { return ( @@ -26,6 +27,7 @@ function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/src/data/performance-domains.ts b/src/data/performance-domains.ts new file mode 100644 index 0000000..0cfdb6c --- /dev/null +++ b/src/data/performance-domains.ts @@ -0,0 +1,75 @@ +export interface PerformanceDomainItem { + id: string + name: string + nameEn: string + description: string + color: string + accentClass: string +} + +export const performanceDomains: PerformanceDomainItem[] = [ + { + id: 'PD01', + name: '干系人绩效域', + nameEn: 'Stakeholders', + description: '关注干系人的识别、参与、沟通与期望管理,确保项目价值被关键相关方理解和支持。', + color: '#6366F1', + accentClass: 'from-indigo-500 to-violet-500', + }, + { + id: 'PD02', + name: '团队绩效域', + nameEn: 'Team', + description: '聚焦团队文化、协作方式、领导力与能力建设,提升项目团队的执行效率与凝聚力。', + color: '#8B5CF6', + accentClass: 'from-violet-500 to-fuchsia-500', + }, + { + id: 'PD03', + name: '开发/生命周期绩效域', + nameEn: 'Development Approach & Life Cycle', + description: '围绕开发方法、生命周期模型与交付节奏进行选择和管理,匹配项目环境与目标。', + color: '#EC4899', + accentClass: 'from-pink-500 to-rose-500', + }, + { + id: 'PD04', + name: '规划绩效域', + nameEn: 'Planning', + description: '强调范围、进度、成本、资源等多维规划活动,形成可执行且可持续调整的计划体系。', + color: '#F59E0B', + accentClass: 'from-amber-500 to-orange-500', + }, + { + id: 'PD05', + name: '项目工作绩效域', + nameEn: 'Project Work', + description: '关注项目工作的组织、协调、实施与持续改进,确保工作流顺畅并支撑目标达成。', + color: '#10B981', + accentClass: 'from-emerald-500 to-teal-500', + }, + { + id: 'PD06', + name: '交付绩效域', + nameEn: 'Delivery', + description: '聚焦价值交付、质量达成与成果验收,确保项目输出真正满足业务需求与预期。', + color: '#06B6D4', + accentClass: 'from-cyan-500 to-sky-500', + }, + { + id: 'PD07', + name: '测量绩效域', + nameEn: 'Measurement', + description: '通过度量指标、绩效数据和分析机制,及时掌握项目状态并支持决策与调整。', + color: '#3B82F6', + accentClass: 'from-blue-500 to-indigo-500', + }, + { + id: 'PD08', + name: '不确定性绩效域', + nameEn: 'Uncertainty', + description: '针对风险、复杂性、模糊性和变化进行识别与应对,增强项目的适应性和韧性。', + color: '#EF4444', + accentClass: 'from-red-500 to-pink-500', + }, +] diff --git a/src/pages/PerformanceDomainsPage.tsx b/src/pages/PerformanceDomainsPage.tsx new file mode 100644 index 0000000..1634c36 --- /dev/null +++ b/src/pages/PerformanceDomainsPage.tsx @@ -0,0 +1,148 @@ +import { motion } from 'framer-motion' +import { + ArrowRight, + BadgeCheck, + BarChart3, + GitBranch, + Handshake, + Rocket, + Target, + Users, + Workflow, + AlertTriangle, +} from 'lucide-react' +import { performanceDomains } from '@/data/performance-domains' + +const containerVariants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { + staggerChildren: 0.06, + }, + }, +} + +const itemVariants = { + hidden: { opacity: 0, y: 16 }, + visible: { + opacity: 1, + y: 0, + transition: { + duration: 0.35, + }, + }, +} + +const iconMap = { + PD01: Handshake, + PD02: Users, + PD03: GitBranch, + PD04: Target, + PD05: Workflow, + PD06: Rocket, + PD07: BarChart3, + PD08: AlertTriangle, +} as const + +export function PerformanceDomainsPage() { + return ( +
+ +
+
+ + PMBOK 第七版 · 八大绩效域 +
+

八大绩效域

+

+ 这里先提供目录入口页面,集中展示八大绩效域的学习入口与结构分组,方便你先确认页面风格与信息排布。 +

+
+ +
+
+ + +
+ {[ + { label: '绩效域数量', value: 8, color: 'text-indigo-600' }, + { label: '当前状态', value: '目录页', color: 'text-emerald-600' }, + { label: '页面阶段', value: '首版', color: 'text-amber-600' }, + { label: '左侧菜单', value: '未加入', color: 'text-rose-600' }, + ].map((item) => ( +
+
{item.value}
+
{item.label}
+
+ ))} +
+ + + {performanceDomains.map((domain, index) => { + const Icon = iconMap[domain.id as keyof typeof iconMap] + + return ( + +
+
+
+
+ +
+
+
+ {String(index + 1).padStart(2, '0')} +
+

+ {domain.name} +

+
+
+ + 入口 + +
+ +

+ {domain.description} +

+ +
+
英文标识
+
+ {domain.nameEn} +
+
+ +
+ 详情页后续再补 + + 查看入口样式 + + +
+
+
+ ) + })} +
+
+ ) +} diff --git a/src/pages/index.ts b/src/pages/index.ts index b46808f..53669b2 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -8,3 +8,5 @@ export { ProcessGraphPage } from './ProcessGraphPage' export { ArtifactDetailPage } from './ArtifactDetailPage' export { ToolDetailPage } from './ToolDetailPage' export { SettingsPage } from './SettingsPage' + +export { PerformanceDomainsPage } from './PerformanceDomainsPage'