方案确认

{{ getProgressPercentage() | number:'1.0-0' }}% 完成
@if (activeTab === 'overview') {
@if (selectedVersion) {

{{ selectedVersion.name }}

当前方案

{{ selectedVersion.description }}

主色调
{{ selectedVersion.mainColor.colorTemp }}
预算 ¥{{ selectedVersion.budget | number }}
工期 {{ selectedVersion.workDays }}天
材质比例
@for (material of selectedVersion.materialRatio; track material.material) {
{{ material.material }}
{{ material.percentage }}%
}
} @if (show3DPreview) {

3D方案预览

3D预览加载中...

支持鼠标拖拽查看全景
} @if (showCADOverlay) {
承重柱 家具区域 人流动线
}
} @if (activeTab === 'versions') {

选择方案版本

@for (version of proposalVersions; track version.id) {
@if (version.preview) { } @else {
}
{{ version.name }}

{{ version.description }}

¥{{ version.budget | number }} {{ version.workDays }}天
}
@if (showVersionComparison && comparisonVersions) {

版本对比分析

对比项目
{{ comparisonVersions.versionA.name }}
{{ comparisonVersions.versionB.name }}
差异
@if (versionDifferences) { @for (diff of versionDifferences | keyvalue; track diff.key) {
{{ diff.value.field }}
{{ diff.value.valueA }}
{{ diff.value.valueB }}
@if (diff.value.type === 'increase') { +{{ diff.value.difference }} } @else if (diff.value.type === 'decrease') { {{ diff.value.difference }} } @else if (diff.value.type === 'different') { 不同 } @else { 相同 }
} }
对比总结
预算差异 ¥{{ (comparisonVersions.versionB.budget - comparisonVersions.versionA.budget) | number }}
工期差异 {{ comparisonVersions.versionB.workDays - comparisonVersions.versionA.workDays }}天
}
} @if (activeTab === 'details' && quantifiedProposal) {

空间功能模块 @if (getSpaceModulesVerified()) { 已验证 }

@for (module of quantifiedProposal.spaceModules; track module.id) {
{{ module.name }}
{{ module.requirements }}
@for (furniture of module.furniture; track furniture.name) {
{{ furniture.name }}
尺寸: {{ furniture.size }} 材质: {{ furniture.material }} 颜色: {{ furniture.color }} @if (furniture.price) { ¥{{ furniture.price | number }} }
@for (feature of furniture.features; track feature) { {{ feature }} }
}
}

色彩与质感 @if (quantifiedProposal.colorAndTexture.verified) { 已验证 }

主色调
RGB: {{ quantifiedProposal.colorAndTexture.mainColor.rgb }} 色温: {{ quantifiedProposal.colorAndTexture.mainColor.colorTemp }}
材质比例
@for (material of quantifiedProposal.colorAndTexture.materialRatio; track material.material) {
{{ material.material }}
{{ material.percentage }}%
}
色彩样本对比
@for (sample of quantifiedProposal.colorAndTexture.colorSamples; track sample.name) {
{{ sample.name }}
参考色
实际方案色
差异度: {{ sample.difference }}%
}

结构适配 @if (quantifiedProposal.structuralAdaptation.verified) { 已验证 }

结构约束
@for (constraint of quantifiedProposal.structuralAdaptation.constraints; track constraint.position) {
{{ constraint.type === 'load-bearing' ? '承重柱' : constraint.type }} 位置: {{ constraint.position }} 尺寸: {{ constraint.size }} {{ constraint.changeable ? '可调整' : '不可改动' }}
}
适配方案
@for (adaptation of quantifiedProposal.structuralAdaptation.adaptations; track adaptation.area) {
{{ adaptation.area }}
{{ adaptation.solution }}
人流动线宽度: {{ adaptation.flowWidth }}
{{ adaptation.compliance ? '符合标准' : '需要调整' }}
}

可行性验证 @if (quantifiedProposal.feasibilityVerification.verified) { 已验证 }

结构可行性
{{ quantifiedProposal.feasibilityVerification.structural.message }}
成本与工期
预算: ¥{{ quantifiedProposal.feasibilityVerification.cost.budget | number }}
采购周期: {{ quantifiedProposal.feasibilityVerification.cost.timeline }}
@if (quantifiedProposal.feasibilityVerification.cost.risks.length > 0) {
风险提示
@for (risk of quantifiedProposal.feasibilityVerification.cost.risks; track risk) {
{{ risk }}
}
}
工期安排
@for (phase of quantifiedProposal.feasibilityVerification.timeline.phases; track phase.name) {
{{ phase.name }}
{{ phase.days }}天
@if (phase.dependencies.length > 0) {
依赖: {{ phase.dependencies.join(', ') }}
}
}
总工期: {{ quantifiedProposal.feasibilityVerification.timeline.totalDays }}天
} @if (activeTab === 'collaboration') {
@if (showMentionSuggestions) {
@for (user of filteredMentionUsers; track user.id) {
{{ user.name }} {{ user.role }}
}
}

协作批注 ({{ annotations.length }})

@if (annotations.length === 0) {

暂无批注,点击上方添加批注开始协作

} @else { @for (annotation of annotations; track annotation.id) {
{{ annotation.author }} {{ annotation.type === 'question' ? '疑问' : annotation.type === 'suggestion' ? '建议' : '确认' }} {{ annotation.timestamp | date:'MM-dd HH:mm' }}
@if (annotation.status === 'open') { } @else { 已解决 }
@if (annotation.position) {
位置: {{ annotation.position.element }} ({{ annotation.position.x }}, {{ annotation.position.y }})
}
@if (annotation.replies.length > 0) {
@for (reply of annotation.replies; track reply.id) {
{{ reply.author }} {{ reply.timestamp | date:'MM-dd HH:mm' }}
}
} @if (annotation.status === 'open') {
}
} }
} @if (activeTab === 'confirmation') {

方案确认流程

{{ getProgressPercentage() | number:'1.0-0' }}%
整体进度 {{ getConfirmedRequiredCount() }} / {{ getRequiredCount() }} 项已确认
@for (step of confirmationSteps; track step.id) {
{{ $index + 1 }}
@if (step.status === 'confirmed') { } @else if (step.status === 'rejected') { } @else { }
{{ step.name }}
@if (step.required) { 必需 } @if (step.timestamp) { {{ step.timestamp | date:'MM-dd HH:mm' }} }

{{ step.description }}

@if (step.status === 'pending') { } @else if (step.status === 'rejected') { @if (step.rejectionReason) {
拒绝原因:{{ step.rejectionReason }}
} } @else { 已确认 @if (step.confirmedAt) { {{ step.confirmedAt | date:'yyyy-MM-dd HH:mm' }} } }
}
@if (allStepsConfirmed) {

所有必需项目已确认完成

您可以进行最终确认,确认后将进入设计执行阶段

@if (!isFinalConfirmed) { } @else {
方案已最终确认 确认时间:{{ finalConfirmedAt | date:'yyyy-MM-dd HH:mm:ss' }}
}
} @else {

请完成所有必需确认项目

还有 {{ getRequiredUnconfirmedCount() }} 项必需内容需要确认

}
}
@if (isAdjusting) {

方案调整

} @if (versionHistory.length > 0) {

版本历史

@for (historyItem of versionHistory; track $index) {
{{ historyItem.timestamp | date:'MM-dd HH:mm' }}
}
}
@if (showRejectReasonDialog) { } @if (showConfirmationHistory) { }