| 
					
				 | 
			
			
				@@ -9,14 +9,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <template  #node-default="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <eltree :node="props" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <template #edge-default="props"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <custom-edge :sourceX="props.sourceX"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :sourceY="props.sourceY"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :targetX="props.targetX"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :targetY="props.targetY" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :label="props.data.label" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <Background pattern-color="#aaa" :gap="16" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -97,30 +89,131 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div style="margin-top: 5px;padding: 10px 35px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="datacontent === '1'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-card :shadow="none" style="min-height: 240px; max-height: 480px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-checkbox v-model="checkAll"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :indeterminate="isIndeterminate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @change="handlecheckAllchange">全选</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="eldesign classtable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-table :data="shujuliutable" border> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table :data="youhuaFFDtable" border :show-header="false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               type="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               label="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              :header-cell-style="{ display: 'none' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-table-column prop="flag" width="55"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamflag" width="55"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <el-checkbox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 :false-label="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 :true-label="1"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                v-model="row.flag"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="row.steamflag"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 @change="handlecheckFlagchange"></el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-table-column prop="data" label="" ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="name" label="" ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="datacontent === '2'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-card :shadow="none" style="min-height: 240px; max-height: 480px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-checkbox v-model="checkAll"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :indeterminate="isIndeterminate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @change="handlecheckAllchange">全选</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="eldesign classtable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table :data="youhuaCSTtable" border :show-header="false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamflag" width="55"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-checkbox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :false-label="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :true-label="1"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="row.steamflag"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @change="handlecheckFlagchange"></el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="name" label="" ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="datacontent === '3'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-card :shadow="none" style="min-height: 240px; max-height: 480px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-checkbox v-model="checkAll"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :indeterminate="isIndeterminate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @change="handlecheckAllchange">全选</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="eldesign classtable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table :data="ADflowyouhuatable" border :show-header="false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamflag" width="55"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-checkbox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :false-label="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :true-label="1"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="row.steamflag"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @change="handlecheckFlagchange"></el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="name" label="" ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamtype"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-select v-model="row.steamtype"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-option  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  v-for="item in steamtypeoptions" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :key="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :value="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="datacontent === '4'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-card :shadow="none" style="min-height: 240px; max-height: 480px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-checkbox v-model="checkAll"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :indeterminate="isIndeterminate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @change="handlecheckAllchange">全选</el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="eldesign classtable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table :data="Xfoilyouhuatable" border :show-header="false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamflag" width="55"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-checkbox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :false-label="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :true-label="1"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="row.steamflag"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @change="handlecheckFlagchange"></el-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="name" label="" show-overflow-tooltip></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-table-column prop="steamtype"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <template #default="{ row }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-select v-model="row.steamtype"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-option  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  v-for="item in steamtypeoptions" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :key="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :value="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="dialog-footer"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,6 +320,7 @@ const changeName = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onNodeContextMenu((e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   noid.value = e.node; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   changeName.value.name = e.node.data.label; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -258,9 +352,7 @@ emitter.on('child2Data', data => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   datatree.value = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(datatree.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-onUnmounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  emitter.off('child2Data'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function onNodeClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   noid.value = e.node; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   changeName.value.name=e.node.data.label; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -367,8 +459,6 @@ function onNodeDoubleClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     emit('optimizerfalse','CST'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }else if(e.node.data.name=="ADflow"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     emit('optimizerfalse','ADflow'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }else if(e.node.data.name=="CST"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    emit('optimizerfalse','CST'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }else if(e.node.data.name=="FFD"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     emit('optimizerfalse','FFD'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }else if(e.node.data.name=="TACS"){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -402,7 +492,7 @@ function onEdgeClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       previousEdge.style = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ...previousEdge.style, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stroke: previousEdge.originalColor,  // 恢复原始颜色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        strokeWidth: 1,                      // 恢复原始宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        strokeWidth: previousEdge.originalWidth,// 恢复原始宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -413,6 +503,7 @@ function onEdgeClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 暂时更改当前选中边缘的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   seledge.value.originalColor = seledge.value.style.stroke;  // 保存当前边缘的原始颜色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  seledge.value.originalWidth = seledge.value.style.strokeWidth; // 保存当前边缘的原始宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   seledge.value.style = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ...seledge.value.style, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stroke: '#2267B1',       // 设置选中边缘的颜色 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -421,50 +512,195 @@ function onEdgeClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 保存当前选中的边缘作为上一个选中边缘 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   previousEdge = seledge.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let dataflowshow=ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let shujuliutable = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  {data: '升力系数Cl',flag:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  {data: '阻力系数Cd',flag:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  {data: '压阻力系数Cdp',flag:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  {data: '上表面转换点位置xtr-upper',flag:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  {data: '下表面转换点位置xtr-lower',flag:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let youhuaFFDtable = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { name:'FFD参数(sample)', steamflag:1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let youhuaCSTtable = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { name:"上表面CST参数(upper)", steamflag:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { name:'下表面CST参数(lower)', steamflag:1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let steamtypeoptions = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { label:'约束条件', value:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { label:'优化目标', value:2 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let ADflowyouhuatable = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { code: "cl", name:'升力系数Cl', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { code: "cd", name:'阻力系数Cd', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { code: "cm", name:'力矩系数Cm', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { code: " ", name:'体积', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let Xfoilyouhuatable = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'升力系数Cl', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'阻力系数Cd', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'压阻力系数Cdp', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'力矩系数Cm', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'上表面转换点位置xtr-upper', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { code:'', name:'下表面转换点位置xtr-lower', comtype:2 , steamflag:1, steamtype:1 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let checkAll = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let isIndeterminate = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const handlecheckAllchange = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  shujuliutable.value.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    item.flag = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  isIndeterminate.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const dataTables = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '1': youhuaFFDtable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '2': youhuaCSTtable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '3': ADflowyouhuatable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '4': Xfoilyouhuatable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handlecheckFlagchange = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  let checkedCount = shujuliutable.value.filter((item) => item.flag).length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  checkAll.value = checkedCount === shujuliutable.value.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  isIndeterminate.value = checkedCount > 0 && checkedCount < shujuliutable.value.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const table = dataTables[datacontent.value]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!table) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let checkedCount = table.value.filter(item => Boolean(item.steamflag)).length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  checkAll.value = checkedCount === table.value.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  isIndeterminate.value = checkedCount > 0 && checkedCount < table.value.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handlecheckAllchange = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const table = dataTables[datacontent.value]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!table) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  table.value.forEach(item => item.steamflag = val ? 1 : 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  isIndeterminate.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const confirmselection=()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  let checkedData = shujuliutable.value.filter((item) => item.flag).map((item) => item.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const table = dataTables[datacontent.value]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let checkedData = table.value.filter((item) => item.steamflag).map((item) => item.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log('xuanzhongshuju:',checkedData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log('seledge:',seledge.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   seledge.value.label=checkedData.join('\n'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(datacontent.value === '4') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataFlowsave(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   dataflowshow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const xfid = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const adid = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 监听组件xfoil返回的xfid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleXfid = (xfidFromB) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  xfid.value = xfidFromB.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleAdid = (adidFromB) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  adid.value = adidFromB.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let datacontent = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function onEdgeDoubleClick(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  handlecheckFlagchange(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log('Edge Double Click', e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   seledge.value = e.edge; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  dataflowshow.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // dataflowshow.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log('qidian:',e.edge.sourceNode.data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log('zhongdian:',e.edge.targetNode.data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let qidian = e.edge.sourceNode.data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let zhongdian = e.edge.targetNode.data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let youhualist = ['优化器','代理优化器','进化优化器','梯度优化器']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if( youhualist.includes(qidian) && zhongdian ==='FFD' ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    datacontent.value = '1'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataflowshow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }else if( youhualist.includes(qidian) && zhongdian ==='CST') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    datacontent.value = '2'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataflowshow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }else if( qidian === 'ADflow' && youhualist.includes(zhongdian) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    datacontent.value = '3'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    emitter.emit('requestGetadid',pid.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log('adid:',adid.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(adid.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // querydataFlow(adid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataflowshow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ElMessage.error('ADflow未初始化!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }else if ( qidian === 'Xfoil' && youhualist.includes(zhongdian) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    datacontent.value = '4'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    emitter.emit('requestGetxfid',pid.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log('xfid:',xfid.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(xfid.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      querydataFlow(xfid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataflowshow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ElMessage.error('Xfoil未初始化!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log('leixing:',datacontent.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handlecheckFlagchange(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const querydataFlow = (comid) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    transCode: "MDO0052", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pid: pid.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    comid: comid.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  request(params).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(datacontent.value === '4'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Xfoilyouhuatable.value = res.params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handlecheckFlagchange(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ElMessage.error(err.returnMsg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const dataFlowsave = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    transCode: "MDO0053", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    paramstr: convertToStringArray([],Xfoilyouhuatable.value), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  request(params).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ElMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        message: res.returnMsg, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'success', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ElMessage.error(err.returnMsg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const convertToStringArray = (result, Data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log('Data:', Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 安全检查 Data,确保它是一个数组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!Array.isArray(Data)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.error('Data should be an array'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return result; // 返回原 result 或者根据需要返回其他默认值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  result = Data.map(row => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取每一行的 `code`, `name`, `value` 和 `flag` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const paramid = row.paramid ?? ' '; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const steamflag = row.steamflag ?? ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const steamtype = row.steamtype ?? ' '; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 将字段连接为一个以逗号分隔的字符串 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return `${paramid},${steamflag},${steamtype}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }).join(';');  // 每行之间用分号分隔 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -649,10 +885,41 @@ function toggleDarkMode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setTimeout(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getroter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, 1500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 1500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // childfun(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (vueFlowRef.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    vueFlowRef.value.$el.addEventListener('click', (event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 确保点击的不是边缘 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (seledge.value && !event.target.closest('.vue-flow__edge')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 恢复选中边缘的原始样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        seledge.value.style = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ...seledge.value.style, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          stroke: seledge.value.originalColor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          strokeWidth: previousEdge?.originalWidth || 1, // 恢复原始宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 清空选中的边缘 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        seledge.value = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Edgeid.value = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        previousEdge = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.on("xfidFromxfoil", handleXfid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.on("adidFromadflow", handleAdid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+onUnmounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.off('child2Data'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.off("xfidFromxfoil", handleXfid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.off("adidFromadflow", handleAdid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取链接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getroter=()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //datatree.value[0].children=[]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -736,18 +1003,16 @@ defineExpose({changeAllEdgesColor,linestrokeWidth,getroter,onSelection,bgcolorfu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* 设置edges的左对齐 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.edge-label { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  background-color: rgba(0, 0, 0, 0.6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  color: white; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  padding: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  border-radius: 4px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  white-space: pre-line;  /* 保证文本支持换行 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.vue-flow__edge-text { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  transform:  translateY(-10px); /* 将 label 向上偏移 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: transparent !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-family: 'Source Sans Pro-Regular'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: #333333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.edge-label-line { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  margin-bottom: 4px; /* 控制每行的间距 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.vue-flow__edge-textbg { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fill: transparent !important; /* 将背景设置为透明 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #contextMenu { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -817,8 +1082,5 @@ panel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .field{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.node-label, .edge-label,.custom-node span { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    text-transform: none; /* 确保文本不转换为大写 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    font-family: 'Inter-Regular'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |