| 
					
				 | 
			
			
				@@ -1347,6 +1347,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="right_container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="main_model"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="jindutiao" v-show="progressshow"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <!-- 进度条 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <span style="width: 150px;">运行进度</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <!-- <el-progress :text-inside="true" :stroke-width="26" :percentage="70" /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="demo-progress"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1750,7 +1751,8 @@ let tablecstHeaders=ref([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let treeitem = ref({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let treeitem2 = ref({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let treeitem3 = ref({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let percentage = ref(70); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let percentage = ref(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let percentageTotalstep = ref(100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let progressshow = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let flowshow = ref(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let jiankong = ref(false); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2251,9 +2253,14 @@ onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // vuefval.value.getroter() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 1500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // childfun(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.on("stepfromyouhuaqi",handlePercentage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+onUnmounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emitter.off("stepfromyouhuaqi", handlePercentage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const sjdelete = (index, row) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   console.log(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   designtable.value.splice(index, 1) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3980,6 +3987,11 @@ function convertToPercentage(number) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (number * 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handlePercentage = (val) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  console.log("步数设置:",val), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  percentageTotalstep.value = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //websockct的连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function initWebSocket() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4016,8 +4028,10 @@ const websocketonmessage = (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 解析 WebSocket 接收到的消息数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let parsedData = JSON.parse(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let step = Number(parsedData.step); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log('步数:',step) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(parsedData.type === 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      percentage.value = Math.round((step / 30) * 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log('总步数:',percentageTotalstep.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      percentage.value = Math.round((step / percentageTotalstep.value) * 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     console.log("进度:", percentage.value); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4036,17 +4050,14 @@ const websocketonmessage = (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       processMonitor2ref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // optmonitor1.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // processMonitor1ref.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // processMonitor2ref.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // arearef.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // bargraphref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // echartLineref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // BarChartref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // radarref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // scatterref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // pieref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // paretoref.value.getsockechart(arrobj.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 新增:记录结构化 JSON 数据到日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const cleanedJsonLog = res.data.split('\n').filter(line => line.trim() !== '').join('\n'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    logs.value = logs.value + '\n' + cleanedJsonLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 自动滚动日志到底部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let textarea = document.getElementById("textarea_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    textarea.scrollTop = textarea.scrollHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (res.data.indexOf('——成功') !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const timer = setTimeout(function () { 
			 |