feat(知识领域): 添加敏捷裁剪因素功能
1. 类型定义:
- 新增TailoringFactor接口定义敏捷裁剪因素
- 为KnowledgeArea添加可选的tailoringFactors字段
2. 数据更新:
- 为KA05(项目质量管理)添加4个敏捷裁剪因素:
* 政策合规与审计
* 标准与法规合规性
* 持续改进
* 干系人参与
3. 页面展示:
- 在知识领域详情页添加敏捷裁剪因素展示区域
- 使用灯泡图标和编号列表样式
- 支持深色模式
via [HAPI](https://hapi.run)
Co-Authored-By: HAPI <noreply@hapi.run>
This commit is contained in:
@@ -48,7 +48,25 @@
|
||||
"order": 5,
|
||||
"color": "#F59E0B",
|
||||
"description": "把组织的质量政策应用于规划、管理、控制项目和产品质量要求",
|
||||
"processCount": 3
|
||||
"processCount": 3,
|
||||
"tailoringFactors": [
|
||||
{
|
||||
"title": "政策合规与审计",
|
||||
"description": "有哪些质量政策和程序?使用哪些质量工具、技术和模板?"
|
||||
},
|
||||
{
|
||||
"title": "标准与法规合规性",
|
||||
"description": "是否存在必须遵守的行业质量标准?需要考虑哪些政府、法律或法规方面的制约因素?"
|
||||
},
|
||||
{
|
||||
"title": "持续改进",
|
||||
"description": "如何管理项目中的质量改进?在组织层面还是单个项目层面管理?"
|
||||
},
|
||||
{
|
||||
"title": "干系人参与",
|
||||
"description": "项目环境是否有利于与干系人及供应商合作?"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "KA06",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useEffect, useRef } from 'react'
|
||||
import { Link, useParams } from 'react-router-dom'
|
||||
import { motion } from 'framer-motion'
|
||||
import { ArrowRight, FileText, Wrench, FileOutput } from 'lucide-react'
|
||||
import { ArrowRight, FileText, Wrench, FileOutput, Lightbulb } from 'lucide-react'
|
||||
import { knowledgeAreas, processesByKnowledgeArea, knowledgeAreaMap, processGroupMap } from '@/data'
|
||||
|
||||
const containerVariants = {
|
||||
@@ -73,6 +73,34 @@ export function KnowledgeAreasPage() {
|
||||
<p className="mt-2 text-sm text-gray-600 dark:text-gray-300">{selectedKA.description}</p>
|
||||
</motion.div>
|
||||
|
||||
{/* 敏捷裁剪因素 */}
|
||||
{selectedKA.tailoringFactors && selectedKA.tailoringFactors.length > 0 && (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 10 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ delay: 0.1 }}
|
||||
className="bg-white dark:bg-gray-800 rounded-lg p-4 shadow-sm border border-gray-100 dark:border-gray-700"
|
||||
>
|
||||
<div className="flex items-center gap-2 mb-3">
|
||||
<Lightbulb size={18} className="text-amber-500" />
|
||||
<h2 className="text-base font-semibold text-gray-900 dark:text-white">敏捷裁剪因素</h2>
|
||||
</div>
|
||||
<div className="space-y-3">
|
||||
{selectedKA.tailoringFactors.map((factor, index) => (
|
||||
<div key={index} className="flex gap-3">
|
||||
<div className="flex-shrink-0 w-6 h-6 rounded-full bg-amber-100 dark:bg-amber-900/30 flex items-center justify-center text-amber-600 dark:text-amber-400 text-xs font-medium">
|
||||
{index + 1}
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="text-sm font-medium text-gray-900 dark:text-white mb-1">{factor.title}</h3>
|
||||
<p className="text-xs text-gray-600 dark:text-gray-400">{factor.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
|
||||
{/* 过程列表 - 紧凑版 */}
|
||||
<motion.div variants={containerVariants} initial="hidden" animate="visible" className="space-y-2">
|
||||
{processes.map((process) => {
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
* PMP项目管理ITTO可视化学习平台
|
||||
*/
|
||||
|
||||
// 敏捷裁剪因素项
|
||||
export interface TailoringFactor {
|
||||
title: string; // 因素标题
|
||||
description: string; // 因素描述
|
||||
}
|
||||
|
||||
// 知识领域
|
||||
export interface KnowledgeArea {
|
||||
id: string; // 如 "KA01"
|
||||
@@ -13,6 +19,7 @@ export interface KnowledgeArea {
|
||||
color: string; // 主题色
|
||||
description: string; // 简要描述
|
||||
processCount: number; // 包含的过程数量
|
||||
tailoringFactors?: TailoringFactor[]; // 敏捷裁剪因素(可选)
|
||||
}
|
||||
|
||||
// 过程组
|
||||
|
||||
Reference in New Issue
Block a user