|  | @@ -101,26 +101,26 @@ const checkeclear = () => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const changecheckbox = (val) => {
 | 
	
		
			
				|  |  | -  vtkmodel.delpump();//清除风机风门
 | 
	
		
			
				|  |  |    if (checked1.value) {
 | 
	
		
			
				|  |  | +    uncheckOthers(checked1);
 | 
	
		
			
				|  |  |      vtkmodel.showPname();
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  |      vtkmodel.removePname();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  const changecheckbox2 = (val) => {
 | 
	
		
			
				|  |  | -  vtkmodel.delpump();//清除风机风门
 | 
	
		
			
				|  |  |    if (checked2.value) {
 | 
	
		
			
				|  |  | +    uncheckOthers(checked2);
 | 
	
		
			
				|  |  |      vtkmodel.showSoure();
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  |      vtkmodel.removeSoure();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    console.log(checked2.value);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -const changecheckbox3 = (val) => {
 | 
	
		
			
				|  |  | -  vtkmodel.delpump();//清除风机风门
 | 
	
		
			
				|  |  | +const changecheckbox3 = async (val) => {
 | 
	
		
			
				|  |  |    if (checked3.value) {
 | 
	
		
			
				|  |  | -    console.log("调用监测")
 | 
	
		
			
				|  |  | +    uncheckOthers(checked3);
 | 
	
		
			
				|  |  | +    await delay(10); // 等待 500ms
 | 
	
		
			
				|  |  |      vtkmodel.showjc();
 | 
	
		
			
				|  |  |      // 选中出弹窗
 | 
	
		
			
				|  |  |      dialogtrue1.value.dialoglog = true;
 | 
	
	
		
			
				|  | @@ -132,12 +132,13 @@ const changecheckbox3 = (val) => {
 | 
	
		
			
				|  |  |      dialogtrue1.value.closeDialog();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -const changecheckbox4 = (val) => {
 | 
	
		
			
				|  |  | -  vtkmodel.delpump();//清除风机风门
 | 
	
		
			
				|  |  | +const changecheckbox4 = async (val) => {
 | 
	
		
			
				|  |  |    if (checked4.value) {
 | 
	
		
			
				|  |  | -    console.log("调用传感")
 | 
	
		
			
				|  |  | -    vtkmodel.showSensor();
 | 
	
		
			
				|  |  | -    // 选中出弹窗
 | 
	
		
			
				|  |  | +    uncheckOthers(checked4);
 | 
	
		
			
				|  |  | +    await delay(10); // 等待 500ms
 | 
	
		
			
				|  |  | +    vtkmodel.showSensor(); // 延时后执行
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    // 其他逻辑
 | 
	
		
			
				|  |  |      dialogtrue.value.dialoglog = true;
 | 
	
		
			
				|  |  |      vtkmodel.selectSensors();
 | 
	
		
			
				|  |  |      dialogtrue.value.jgSelect();
 | 
	
	
		
			
				|  | @@ -146,7 +147,27 @@ const changecheckbox4 = (val) => {
 | 
	
		
			
				|  |  |      dialogtrue.value.dialoglog = false;
 | 
	
		
			
				|  |  |      dialogtrue.value.closeDialog();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const uncheckOthers = (currentCheckbox) => {
 | 
	
		
			
				|  |  | +  const checkboxes = [
 | 
	
		
			
				|  |  | +    { ref: checked1, changeFn: changecheckbox },
 | 
	
		
			
				|  |  | +    { ref: checked2, changeFn: changecheckbox2 },
 | 
	
		
			
				|  |  | +    { ref: checked3, changeFn: changecheckbox3 },
 | 
	
		
			
				|  |  | +    { ref: checked4, changeFn: changecheckbox4 },
 | 
	
		
			
				|  |  | +  ];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  checkboxes.forEach(({ ref, changeFn }) => {
 | 
	
		
			
				|  |  | +    if (ref !== currentCheckbox) {
 | 
	
		
			
				|  |  | +      ref.value = false;
 | 
	
		
			
				|  |  | +      changeFn(false); // 手动触发 change 事件
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  emitter.on('myaddsg', (data) => {
 | 
	
		
			
				|  |  |    changecheckbox4(data);
 | 
	
		
			
				|  |  |  })
 |