| 
					
				 | 
			
			
				@@ -191,24 +191,31 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <!-- 左侧保留 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="left-column"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="project-info-card card"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="card-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="card-header" (click)="toggleCustomerInfo()" style="cursor: pointer;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <h2>客户信息</h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="sync-status" [class.syncing]="isSyncingCustomerInfo"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  @if (isSyncingCustomerInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <span class="sync-indicator"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span class="sync-spinner"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      同步中... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } @else if (lastSyncTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <span class="sync-time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <i class="icon-sync"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      已同步: {{ formatTime(lastSyncTime) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="header-actions"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="sync-status" [class.syncing]="isSyncingCustomerInfo"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @if (isSyncingCustomerInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span class="sync-indicator"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <span class="sync-spinner"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        同步中... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } @else if (lastSyncTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span class="sync-time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <i class="icon-sync"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        已同步: {{ formatTime(lastSyncTime) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="toggle-icon" [class.expanded]="isCustomerInfoExpanded"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               @if (project) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="info-grid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="info-grid" [class.collapsed]="!isCustomerInfoExpanded"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <!-- 显示订单创建时填写的客户信息,如果有的话 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   @if (orderCreationData?.customerInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <!-- 基本客户信息 --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -231,7 +238,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="info-item"><label>项目创建</label><span>{{ formatDate(project.createdAt) }}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="info-item"><label>截止日期</label><span>{{ formatDate(project.deadline) }}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="tags-container" style="margin-top: 12px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="tags-container" [class.collapsed]="!isCustomerInfoExpanded" style="margin-top: 12px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="tag-section"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <h3>客户标签</h3> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="tags"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -241,161 +248,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       @if (project.customerTags.length === 0) { <span class="desc">暂无标签</span> } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class="tag-section"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <h3>高优先级需求</h3> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <ul class="need-list"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      @for (need of project.highPriorityNeeds; track $index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <li>{{ need }}</li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      @if (project.highPriorityNeeds.length === 0) { <li class="desc">无</li> } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <!-- 新增:需求关键信息同步区域 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="requirement-sync-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <h4>项目需求信息</h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <!-- 显示订单创建时填写的需求信息 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      @if (orderCreationData?.requirementInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="order-requirement-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <h5>订单创建阶段需求</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="key-info-grid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.downPayment) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">定金金额</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">¥{{ orderCreationData.requirementInfo.downPayment }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.budget) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">预算范围</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">¥{{ orderCreationData.requirementInfo.budget }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">房屋面积</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.area }}㎡</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.houseType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">房屋类型</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.houseType }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.smallImageTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">小图时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ formatDate(orderCreationData.requirementInfo.smallImageTime) }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.largeImageTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">大图时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ formatDate(orderCreationData.requirementInfo.largeImageTime) }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.spaceRequirements) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">涉及空间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.spaceRequirements }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.designAngles) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">设计角度</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.designAngles }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.specialAreaHandling) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">特殊区域处理</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.specialAreaHandling }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.materialRequirements) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">材质要求</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.materialRequirements }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            @if (orderCreationData.requirementInfo.lightingRequirements) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-label">灯光要求</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-value">{{ orderCreationData.requirementInfo.lightingRequirements }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <!-- 显示偏好标签 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (orderCreationData.preferenceTags && orderCreationData.preferenceTags.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="preference-tags"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-label">偏好标签:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="tags"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                @for (tag of orderCreationData.preferenceTags; track tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <span class="tag">{{ tag }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <!-- 确认需求阶段的关键信息 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <div class="confirmed-requirement-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <h5>确认需求关键信息</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="key-info-grid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (requirementKeyInfo.colorAtmosphere.description) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-label">色彩氛围</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-value">{{ requirementKeyInfo.colorAtmosphere.description }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="color-preview" [style.background-color]="requirementKeyInfo.colorAtmosphere.mainColor"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (requirementKeyInfo.spaceStructure.aspectRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-label">空间结构</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-value">比例 {{ requirementKeyInfo.spaceStructure.aspectRatio.toFixed(1) }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (requirementKeyInfo.materialWeights.woodRatio > 0 || requirementKeyInfo.materialWeights.fabricRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-label">材质权重</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="material-weights"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                @if (requirementKeyInfo.materialWeights.woodRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <span class="weight-item">木质 {{ requirementKeyInfo.materialWeights.woodRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                @if (requirementKeyInfo.materialWeights.fabricRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <span class="weight-item">布艺 {{ requirementKeyInfo.materialWeights.fabricRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                @if (requirementKeyInfo.materialWeights.metalRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <span class="weight-item">金属 {{ requirementKeyInfo.materialWeights.metalRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (requirementKeyInfo.presetAtmosphere.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-label">预设氛围</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="info-value">{{ requirementKeyInfo.presetAtmosphere.name }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="color-temp">{{ requirementKeyInfo.presetAtmosphere.colorTemp }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        @if (getRequirementSummary().length === 0 && !orderCreationData.requirementInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="sync-placeholder"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <span class="placeholder-text">暂无同步的需求信息</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <button class="sync-btn" (click)="syncRequirementKeyInfo({})">手动同步</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } @else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="loading-state"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="loading-spinner"></div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -403,6 +257,115 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 方案确认卡片 - 优化样式与左侧客户信息卡片保持一致 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="proposal-confirm-card card"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="card-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <h2>方案确认</h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="sync-status"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span class="progress-text">{{ getRequiredStagesProgress() }}% 完成</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <!-- 需求信息展示区域 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @if (areRequiredStagesCompleted()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="info-grid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 色调信息 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.colorAtmosphere.description) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>色调</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.colorAtmosphere.description }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      @if (requirementKeyInfo.colorAtmosphere.mainColor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="color-preview" [style.background-color]="requirementKeyInfo.colorAtmosphere.mainColor"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 材质信息 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.colorAtmosphere.materials && requirementKeyInfo.colorAtmosphere.materials.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>材质</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        @for (material of requirementKeyInfo.colorAtmosphere.materials; track material; let isLast = $last) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          {{ material }}@if (!isLast) {, } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 空间结构 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.spaceStructure.aspectRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>空间比例</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.spaceStructure.aspectRatio.toFixed(1) }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.spaceStructure.ceilingHeight > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>层高</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.spaceStructure.ceilingHeight }}m</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 材质权重 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.materialWeights.woodRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>木质比例</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.materialWeights.woodRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.materialWeights.fabricRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>布艺比例</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.materialWeights.fabricRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.materialWeights.metalRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>金属比例</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.materialWeights.metalRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 预设氛围 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (requirementKeyInfo.presetAtmosphere.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>预设氛围</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ requirementKeyInfo.presetAtmosphere.name }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 小图时间 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  @if (getEstimatedSmallImageTime()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="info-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label>预计时间</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>{{ getEstimatedSmallImageTime() }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- 确认方案按钮 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="proposal-actions"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <button class="confirm-btn" (click)="confirmProposal()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    确认方案 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } @else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- 等待状态 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="waiting-state"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="waiting-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <h5>等待需求信息完善</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p>需求沟通阶段完成后,方案确认功能将自动开启</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="progress-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span>当前进度: {{ getRequiredStagesProgress() }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <!-- 右侧三分之二 - 制作流程进度 --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -435,217 +398,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           (dataUpdated)="onRequirementDataUpdated($event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </app-requirements-confirm-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       } @else if (stage === '方案确认') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <!-- 方案确认阶段 - 需求信息展示 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="proposal-confirm-section"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="section-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <h4>方案确认</h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="progress-indicator"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <span class="progress-text">{{ getRequiredStagesProgress() }}% 完成</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <!-- 方案确认阶段 - 已移动到左侧列 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="proposal-confirm-placeholder"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="placeholder-message"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <p>方案确认卡片已移动到左侧区域</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <!-- 需求信息展示区域 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          @if (areRequiredStagesCompleted()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="requirement-info-display"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <h5>确认的需求信息</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span class="info-subtitle">来自需求沟通阶段</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="info-grid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <!-- 色调和材质并排布局 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <div class="color-material-row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 色调 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (requirementKeyInfo.colorAtmosphere.description) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item color-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <circle cx="12" cy="12" r="10"></circle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <path d="M12 6v6l4 2"></path> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        色调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <span class="info-value">{{ requirementKeyInfo.colorAtmosphere.description }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        @if (requirementKeyInfo.colorAtmosphere.mainColor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <div class="color-preview" [style.background-color]="requirementKeyInfo.colorAtmosphere.mainColor"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 材质 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (requirementKeyInfo.colorAtmosphere.materials && requirementKeyInfo.colorAtmosphere.materials.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item material-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <rect x="7" y="7" width="10" height="10" rx="1" ry="1"></rect> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        材质 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div class="material-list"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @for (material of requirementKeyInfo.colorAtmosphere.materials; track material) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <span class="material-tag">{{ material }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <!-- 空间结构和材质权重并排布局 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <div class="structure-weight-row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 空间结构 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (requirementKeyInfo.spaceStructure.aspectRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item structure-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <line x1="9" y1="9" x2="15" y2="15"></line> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        空间结构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div class="structure-details"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <span class="structure-item">比例: {{ requirementKeyInfo.spaceStructure.aspectRatio.toFixed(1) }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.spaceStructure.ceilingHeight > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <span class="structure-item">层高: {{ requirementKeyInfo.spaceStructure.ceilingHeight }}m</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.spaceStructure.flowWidth > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <span class="structure-item">流线宽度: {{ requirementKeyInfo.spaceStructure.flowWidth }}m</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 材质权重 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (requirementKeyInfo.materialWeights.woodRatio > 0 || requirementKeyInfo.materialWeights.fabricRatio > 0 || requirementKeyInfo.materialWeights.metalRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item weight-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <path d="M3 3v18h18"></path> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <path d="M7 16l4-4 4 4 6-6"></path> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        材质权重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div class="weight-list"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.materialWeights.woodRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <div class="weight-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-label">木质</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-value">{{ requirementKeyInfo.materialWeights.woodRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.materialWeights.fabricRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <div class="weight-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-label">布艺</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-value">{{ requirementKeyInfo.materialWeights.fabricRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.materialWeights.metalRatio > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <div class="weight-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-label">金属</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              <span class="weight-value">{{ requirementKeyInfo.materialWeights.metalRatio }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <!-- 预设氛围和小图时间并排布局 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <div class="atmosphere-time-row"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 预设氛围 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (requirementKeyInfo.presetAtmosphere.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item atmosphere-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"></path> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        预设氛围 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div class="atmosphere-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <span class="atmosphere-name">{{ requirementKeyInfo.presetAtmosphere.name }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          @if (requirementKeyInfo.presetAtmosphere.colorTemp) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            <span class="color-temp">{{ requirementKeyInfo.presetAtmosphere.colorTemp }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <!-- 小图时间 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  @if (getEstimatedSmallImageTime()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    <div class="info-item time-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-label"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <circle cx="12" cy="12" r="10"></circle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          <polyline points="12,6 12,12 16,14"></polyline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        小图时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      <div class="info-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <span class="time-estimate">{{ getEstimatedSmallImageTime() }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <!-- 确认方案按钮 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="proposal-confirm-actions"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <button class="confirm-proposal-btn"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      (click)="confirmProposal()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        appearance: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        border: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        background: linear-gradient(135deg, #007aff 0%, #0066ff 50%, #0051d5 100%) !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        color: white !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        padding: 16px 40px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        border-radius: 16px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        font-size: 16px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        font-weight: 600 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        cursor: pointer !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        display: flex !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        align-items: center !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        gap: 10px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        box-shadow: 0 8px 24px rgba(0, 122, 255, 0.25), 0 4px 12px rgba(0, 122, 255, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        min-width: 180px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        justify-content: center !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        position: relative !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        overflow: hidden !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        text-transform: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        letter-spacing: normal !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        line-height: normal !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      "> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" style="color: white !important;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <polyline points="20,6 9,17 4,12"></polyline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                确认方案 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } @else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <div class="requirement-pending"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="pending-icon"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <circle cx="12" cy="12" r="10"></circle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <polyline points="12,6 12,12 16,14"></polyline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                </svg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <h5>等待需求确认完成</h5> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <p>请先完成"流程进度 > 确认需求 > 需求沟通"四个流程,确认需求信息后方可查看。</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              <div class="progress-status"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <span>当前进度: {{ getRequiredStagesProgress() }}%</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       } @else if (stage === '建模') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div class="upload-section"> 
			 |