优化 ITTO 明细展示
- 为 P1.2 输出"项目管理计划"添加明细(子管理计划、基准、其他组件) - 将明细展示从纵向列表改为横向显示,用顿号分隔 - 节省空间,提升可读性 via [HAPI](https://hapi.run) Co-Authored-By: HAPI <noreply@hapi.run>
This commit is contained in:
@@ -50,7 +50,16 @@
|
|||||||
},
|
},
|
||||||
"TT032"
|
"TT032"
|
||||||
],
|
],
|
||||||
"outputs": ["A008"],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"id": "A008",
|
||||||
|
"detail": [
|
||||||
|
{ "label": "子管理计划" },
|
||||||
|
{ "label": "基准" },
|
||||||
|
{ "label": "其他组件" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"w5h1": {
|
"w5h1": {
|
||||||
"who": "项目经理主导,团队参与",
|
"who": "项目经理主导,团队参与",
|
||||||
"what": "定义、准备、协调所有子计划并整合为综合项目管理计划",
|
"what": "定义、准备、协调所有子计划并整合为综合项目管理计划",
|
||||||
|
|||||||
@@ -244,15 +244,14 @@ export function ProcessDetailPage() {
|
|||||||
<div className="font-medium text-gray-900 dark:text-white text-sm">{inputDetail.name || inputDetail.id}</div>
|
<div className="font-medium text-gray-900 dark:text-white text-sm">{inputDetail.name || inputDetail.id}</div>
|
||||||
{inputDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{inputDetail.nameEn}</div>}
|
{inputDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{inputDetail.nameEn}</div>}
|
||||||
{hasDetail && (
|
{hasDetail && (
|
||||||
<div className="mt-2 pl-3 border-l-2 border-blue-200 dark:border-blue-700">
|
<div className="mt-1.5 text-xs text-gray-600 dark:text-gray-400">
|
||||||
<ul className="space-y-1">
|
<span className="text-blue-600 dark:text-blue-400">包含:</span>
|
||||||
{inputDetail.detail.map((item: any, idx: number) => (
|
{inputDetail.detail.map((item: any, idx: number) => (
|
||||||
<li key={item.id || idx} className="text-xs text-gray-600 dark:text-gray-400 flex items-start gap-1.5">
|
<span key={item.id || idx}>
|
||||||
<span className="text-blue-500 dark:text-blue-400 mt-0.5">•</span>
|
{item.label}
|
||||||
<span>{item.label}</span>
|
{idx < inputDetail.detail.length - 1 && '、'}
|
||||||
</li>
|
</span>
|
||||||
))}
|
))}
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{inputDetail.note && (
|
{inputDetail.note && (
|
||||||
@@ -314,15 +313,14 @@ export function ProcessDetailPage() {
|
|||||||
<div className="font-medium text-gray-900 dark:text-white text-sm">{toolDetail.name || toolDetail.id}</div>
|
<div className="font-medium text-gray-900 dark:text-white text-sm">{toolDetail.name || toolDetail.id}</div>
|
||||||
{toolDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{toolDetail.nameEn}</div>}
|
{toolDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{toolDetail.nameEn}</div>}
|
||||||
{hasDetail && (
|
{hasDetail && (
|
||||||
<div className="mt-2 pl-3 border-l-2 border-amber-200 dark:border-amber-700">
|
<div className="mt-1.5 text-xs text-gray-600 dark:text-gray-400">
|
||||||
<ul className="space-y-1">
|
<span className="text-amber-600 dark:text-amber-400">包含:</span>
|
||||||
{toolDetail.detail.map((item: any, idx: number) => (
|
{toolDetail.detail.map((item: any, idx: number) => (
|
||||||
<li key={item.id || idx} className="text-xs text-gray-600 dark:text-gray-400 flex items-start gap-1.5">
|
<span key={item.id || idx}>
|
||||||
<span className="text-amber-500 dark:text-amber-400 mt-0.5">•</span>
|
{item.label}
|
||||||
<span>{item.label}</span>
|
{idx < toolDetail.detail.length - 1 && '、'}
|
||||||
</li>
|
</span>
|
||||||
))}
|
))}
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{toolDetail.note && (
|
{toolDetail.note && (
|
||||||
@@ -384,15 +382,14 @@ export function ProcessDetailPage() {
|
|||||||
<div className="font-medium text-gray-900 dark:text-white text-sm">{outputDetail.name || outputDetail.id}</div>
|
<div className="font-medium text-gray-900 dark:text-white text-sm">{outputDetail.name || outputDetail.id}</div>
|
||||||
{outputDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{outputDetail.nameEn}</div>}
|
{outputDetail.nameEn && <div className="text-xs text-gray-500 dark:text-gray-400">{outputDetail.nameEn}</div>}
|
||||||
{hasDetail && (
|
{hasDetail && (
|
||||||
<div className="mt-2 pl-3 border-l-2 border-emerald-200 dark:border-emerald-700">
|
<div className="mt-1.5 text-xs text-gray-600 dark:text-gray-400">
|
||||||
<ul className="space-y-1">
|
<span className="text-emerald-600 dark:text-emerald-400">包含:</span>
|
||||||
{outputDetail.detail.map((item: any, idx: number) => (
|
{outputDetail.detail.map((item: any, idx: number) => (
|
||||||
<li key={item.id || idx} className="text-xs text-gray-600 dark:text-gray-400 flex items-start gap-1.5">
|
<span key={item.id || idx}>
|
||||||
<span className="text-emerald-500 dark:text-emerald-400 mt-0.5">•</span>
|
{item.label}
|
||||||
<span>{item.label}</span>
|
{idx < outputDetail.detail.length - 1 && '、'}
|
||||||
</li>
|
</span>
|
||||||
))}
|
))}
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{outputDetail.note && (
|
{outputDetail.note && (
|
||||||
|
|||||||
Reference in New Issue
Block a user