|  | @@ -1778,6 +1778,10 @@ let input3=ref()
 | 
	
		
			
				|  |  |  let eid = ref('');//进步优化器的eid
 | 
	
		
			
				|  |  |  let logs = ref("");
 | 
	
		
			
				|  |  |  let pid = ref("");
 | 
	
		
			
				|  |  | +let pythonwid = ref();
 | 
	
		
			
				|  |  | +let youhuaqiwid = ref();
 | 
	
		
			
				|  |  | +let canshuhuawid = ref();
 | 
	
		
			
				|  |  | +let qidongyouhuawid = ref();
 | 
	
		
			
				|  |  |  let fid = ref('');
 | 
	
		
			
				|  |  |  let conid = ref('');
 | 
	
		
			
				|  |  |  let tableval = ref();
 | 
	
	
		
			
				|  | @@ -2319,37 +2323,39 @@ const handleNodeClick = (data) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const optimizerfalse = (val) => {
 | 
	
		
			
				|  |  |    console.log('双击',val);
 | 
	
		
			
				|  |  | -  if (val == '优化器') {
 | 
	
		
			
				|  |  | +  const name = val.name;
 | 
	
		
			
				|  |  | +  const wid = val.wid;
 | 
	
		
			
				|  |  | +  if (name == '优化器') {
 | 
	
		
			
				|  |  |      // dialog.value.optimizer = true;
 | 
	
		
			
				|  |  |      activeadf.value='代理优化器';
 | 
	
		
			
				|  |  | -    initoptimize();
 | 
	
		
			
				|  |  | +    initoptimize(wid);
 | 
	
		
			
				|  |  |      dialog.value.optgroup = true;
 | 
	
		
			
				|  |  | -  } else if (val == '参数化') {
 | 
	
		
			
				|  |  | +  } else if (name == '参数化') {
 | 
	
		
			
				|  |  |      activeadf.value='CST';
 | 
	
		
			
				|  |  | -    initcstffds();
 | 
	
		
			
				|  |  | +    initcstffds(wid);
 | 
	
		
			
				|  |  |      dialog.value.cstffd = true;
 | 
	
		
			
				|  |  | -  }else if (val == '气动分析') {
 | 
	
		
			
				|  |  | +  }else if (name == '气动分析') {
 | 
	
		
			
				|  |  |      activeadf.value='Xfoil'
 | 
	
		
			
				|  |  | -    intxfoiladflow();
 | 
	
		
			
				|  |  | +    intxfoiladflow(wid);
 | 
	
		
			
				|  |  |      dialog.value.XfAD = true;
 | 
	
		
			
				|  |  | -  } else if (val == '进化优化器') {
 | 
	
		
			
				|  |  | +  } else if (name == '进化优化器') {
 | 
	
		
			
				|  |  |      activeadf.value='进化优化器';
 | 
	
		
			
				|  |  |      dialog.value.jboptimizer = true;
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Joptimizeref.value) {
 | 
	
		
			
				|  |  |          // 调用 Joptimize 的 getoptimize 方法
 | 
	
		
			
				|  |  | -        Joptimizeref.value.getoptimize(pid.value);
 | 
	
		
			
				|  |  | +        Joptimizeref.value.getoptimize(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -  } else if (val == '代理优化器') {
 | 
	
		
			
				|  |  | +  } else if (name == '代理优化器') {
 | 
	
		
			
				|  |  |      activeadf.value='代理优化器';
 | 
	
		
			
				|  |  |      // dialog.value.optgroup = true;
 | 
	
		
			
				|  |  |      dialog.value.dboptimizer = true;
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Doptimizeref.value) {
 | 
	
		
			
				|  |  | -        Doptimizeref.value.getDoptimize(pid.value);
 | 
	
		
			
				|  |  | +        Doptimizeref.value.getDoptimize(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    } 
 | 
	
	
		
			
				|  | @@ -2358,67 +2364,67 @@ const optimizerfalse = (val) => {
 | 
	
		
			
				|  |  |    //   dialog.value.Xfiol = true;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    // }
 | 
	
		
			
				|  |  | -  else if(val == '梯度优化器'){
 | 
	
		
			
				|  |  | +  else if(name == '梯度优化器'){
 | 
	
		
			
				|  |  |      activeadf.value='梯度优化器';
 | 
	
		
			
				|  |  |      dialog.value.tboptimizer = true;
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Toptimizeref.value) {
 | 
	
		
			
				|  |  | -        Toptimizeref.value.getToptimize(pid.value);
 | 
	
		
			
				|  |  | +        Toptimizeref.value.getToptimize(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -  }else if(val == 'CST'){
 | 
	
		
			
				|  |  | +  }else if(name == 'CST'){
 | 
	
		
			
				|  |  |     /// dialog.value.CSTt = true;
 | 
	
		
			
				|  |  |      activeadf.value='CST';
 | 
	
		
			
				|  |  |      dialog.value.CSTt = true;
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Cstref.value) {
 | 
	
		
			
				|  |  | -        Cstref.value.getcst(pid.value);
 | 
	
		
			
				|  |  | +        Cstref.value.getcst(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -  }else if(val == 'FFD'){
 | 
	
		
			
				|  |  | +  }else if(name == 'FFD'){
 | 
	
		
			
				|  |  |     /// dialog.value.CSTt = true;
 | 
	
		
			
				|  |  |      activeadf.value='FFD';
 | 
	
		
			
				|  |  |      dialog.value.ffdt = true;
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Ffdref.value) {
 | 
	
		
			
				|  |  | -        Ffdref.value.getffds(pid.value);
 | 
	
		
			
				|  |  | +        Ffdref.value.getffds(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  else if(val == 'ADflow'){
 | 
	
		
			
				|  |  | +  else if(name == 'ADflow'){
 | 
	
		
			
				|  |  |     // adfhandleClick();
 | 
	
		
			
				|  |  |     activeadf.value='ADflow';
 | 
	
		
			
				|  |  |     dialog.value.isADflow = true;
 | 
	
		
			
				|  |  |     nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (ADflowref.value) {
 | 
	
		
			
				|  |  | -        ADflowref.value.getadflow(pid.value);
 | 
	
		
			
				|  |  | +        ADflowref.value.getadflow(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -  }else if(val == 'Xfoil'){
 | 
	
		
			
				|  |  | +  }else if(name == 'Xfoil'){
 | 
	
		
			
				|  |  |    //  activeadf.value='Xfiol';
 | 
	
		
			
				|  |  |     dialog.value.Xfiol = true;
 | 
	
		
			
				|  |  |     nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Xfoilref.value) {
 | 
	
		
			
				|  |  | -        Xfoilref.value.getxfoil(pid.value);
 | 
	
		
			
				|  |  | +        Xfoilref.value.getxfoil(pid.value,wid);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -  }else if(val == 'TACS'){
 | 
	
		
			
				|  |  | +  }else if(name == 'TACS'){
 | 
	
		
			
				|  |  |      dialog.value.Taxs = true;
 | 
	
		
			
				|  |  | -  }else if(val == '模版'){
 | 
	
		
			
				|  |  | +  }else if(name == '模版'){
 | 
	
		
			
				|  |  |      dialog.value.optgroup = true;
 | 
	
		
			
				|  |  |      activeadf.value='代理优化器';
 | 
	
		
			
				|  |  | -  }else if(val == 'Python'){
 | 
	
		
			
				|  |  | +  }else if(name == 'Python'){
 | 
	
		
			
				|  |  |      dialog.value.Pythonshow = true;
 | 
	
		
			
				|  |  | -    initPython();
 | 
	
		
			
				|  |  | -  }else if(val == 'FUM to FEM'){
 | 
	
		
			
				|  |  | +    initPython(wid);
 | 
	
		
			
				|  |  | +  }else if(name == 'FUM to FEM'){
 | 
	
		
			
				|  |  |      dialog.value.fsidialog = true;
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  | -  }else if(val == 'Flight'){
 | 
	
		
			
				|  |  | +  }else if(name == 'Flight'){
 | 
	
		
			
				|  |  |      dialog.value.flightdialog = true;
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -2439,18 +2445,22 @@ const optimizerfalse = (val) => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 优化器窗口初始化
 | 
	
		
			
				|  |  | -const initoptimize = () => {
 | 
	
		
			
				|  |  | +const initoptimize = (nowid) => {
 | 
	
		
			
				|  |  | +  youhuaqiwid.value = nowid;
 | 
	
		
			
				|  |  |    const params1 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0018',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: youhuaqiwid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    const params2 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0031',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: youhuaqiwid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    const params3 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0033',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: youhuaqiwid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    Promise.all([
 | 
	
		
			
				|  |  |      request(params1),
 | 
	
	
		
			
				|  | @@ -2489,14 +2499,17 @@ const initoptimize = () => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // CST/FFD窗口初始化
 | 
	
		
			
				|  |  | -const initcstffds = () => {
 | 
	
		
			
				|  |  | +const initcstffds = (nowid) => {
 | 
	
		
			
				|  |  | +  canshuhuawid.value = nowid;
 | 
	
		
			
				|  |  |    const params1 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0040',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: canshuhuawid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    const params2 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0043',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: canshuhuawid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    Promise.all([
 | 
	
		
			
				|  |  |      request(params1),
 | 
	
	
		
			
				|  | @@ -2524,14 +2537,17 @@ const initcstffds = () => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Xfoil/ADflow窗口初始化
 | 
	
		
			
				|  |  | -const intxfoiladflow = () => {
 | 
	
		
			
				|  |  | +const intxfoiladflow = (nowid) => {
 | 
	
		
			
				|  |  | +  qidongyouhuawid.value = nowid;
 | 
	
		
			
				|  |  |    const params1 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0046',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: qidongyouhuawid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    const params2 = {
 | 
	
		
			
				|  |  |      transCode:'MDO0049',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: qidongyouhuawid.value
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    Promise.all([
 | 
	
		
			
				|  |  |      request(params1),
 | 
	
	
		
			
				|  | @@ -2559,11 +2575,13 @@ const intxfoiladflow = () => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Python窗口初始化
 | 
	
		
			
				|  |  | -const initPython = () => {
 | 
	
		
			
				|  |  | +const initPython = (nowid) => {
 | 
	
		
			
				|  |  |    console.log('Pythonchushihua');
 | 
	
		
			
				|  |  | +  pythonwid.value = nowid;
 | 
	
		
			
				|  |  |    const param = {
 | 
	
		
			
				|  |  |      transCode: 'MDO0036',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: pythonwid.value
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  |    
 | 
	
		
			
				|  |  |    request(param).then((res) => {
 | 
	
	
		
			
				|  | @@ -2574,7 +2592,7 @@ const initPython = () => {
 | 
	
		
			
				|  |  |        textarea1.value = res.ptython;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }).catch((err) => {
 | 
	
		
			
				|  |  | -    console.error('请求失败:', err);
 | 
	
		
			
				|  |  | +    console.error('Python内容初始化失败');
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2584,12 +2602,16 @@ const pythonSubmit = () => {
 | 
	
		
			
				|  |  |    const param = {
 | 
	
		
			
				|  |  |      transCode:'MDO0037',
 | 
	
		
			
				|  |  |      pid: pid.value,
 | 
	
		
			
				|  |  | +    wid: pythonwid.value,
 | 
	
		
			
				|  |  |      python: textarea1.value,
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    request(param).then((res) => {
 | 
	
		
			
				|  |  | -    console.log('Python确认按钮提交:', res);
 | 
	
		
			
				|  |  | +    ElMessage({
 | 
	
		
			
				|  |  | +        message: '保存成功',
 | 
	
		
			
				|  |  | +        type: 'success',
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |    }).catch((err) => {
 | 
	
		
			
				|  |  | -    console.error('请求失败:', err);
 | 
	
		
			
				|  |  | +    ElMessage.error('保存失败')
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3899,52 +3921,65 @@ const adfhandleClick=(tab,event)=>{
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Joptimizeref.value) {
 | 
	
		
			
				|  |  |          // 调用 Joptimize 的 getoptimize 方法
 | 
	
		
			
				|  |  | -        Joptimizeref.value.getoptimize(pid.value);
 | 
	
		
			
				|  |  | +        Joptimizeref.value.getoptimize(pid.value,youhuaqiwid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }else if(tab.props.name === '代理优化器'){
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Doptimizeref.value) {
 | 
	
		
			
				|  |  | -        Doptimizeref.value.getDoptimize(pid.value);
 | 
	
		
			
				|  |  | +        Doptimizeref.value.getDoptimize(pid.value,youhuaqiwid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }else if(tab.props.name === '梯度优化器'){
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Toptimizeref.value) {
 | 
	
		
			
				|  |  | -        Toptimizeref.value.getToptimize(pid.value);
 | 
	
		
			
				|  |  | +        Toptimizeref.value.getToptimize(pid.value,youhuaqiwid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const getaddsave = () => {
 | 
	
		
			
				|  |  | +const getaddsave = (nowid) => {
 | 
	
		
			
				|  |  |    if (Joptimizeref.value && typeof Joptimizeref.value.getaddsave === 'function') {
 | 
	
		
			
				|  |  | -    Joptimizeref.value.getaddsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Joptimizeref.value.getaddsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Joptimizeref.value.getaddsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const getDaddsave = () => {
 | 
	
		
			
				|  |  | +const getDaddsave = (nowid) => {
 | 
	
		
			
				|  |  |    if (Doptimizeref.value && typeof Doptimizeref.value.getaddDsave === 'function') {
 | 
	
		
			
				|  |  | -    Doptimizeref.value.getaddDsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Doptimizeref.value.getaddDsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Doptimizeref.value.getaddDsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const getTaddsave = () => {
 | 
	
		
			
				|  |  | +const getTaddsave = (nowid) => {
 | 
	
		
			
				|  |  |    if (Toptimizeref.value && typeof Toptimizeref.value.getaddTsave === 'function') {
 | 
	
		
			
				|  |  | -    Toptimizeref.value.getaddTsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Toptimizeref.value.getaddTsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Toptimizeref.value.getaddTsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const getSave = (ref) => {
 | 
	
		
			
				|  |  |    if (ref == '进化优化器'){
 | 
	
		
			
				|  |  | -    getaddsave();
 | 
	
		
			
				|  |  | +    getaddsave(youhuaqiwid.value);
 | 
	
		
			
				|  |  |    }else if(ref == '代理优化器'){
 | 
	
		
			
				|  |  | -    getDaddsave();
 | 
	
		
			
				|  |  | +    getDaddsave(youhuaqiwid.value);
 | 
	
		
			
				|  |  |    }else if(ref == '梯度优化器'){
 | 
	
		
			
				|  |  | -    getTaddsave();
 | 
	
		
			
				|  |  | +    getTaddsave(youhuaqiwid.value);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3957,14 +3992,14 @@ const adfhandleClick2=(tab,event)=>{
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Cstref.value) {
 | 
	
		
			
				|  |  | -        Cstref.value.getcst(pid.value);
 | 
	
		
			
				|  |  | +        Cstref.value.getcst(pid.value,canshuhuawid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }else if(tab.props.name === 'FFD'){
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Ffdref.value) {
 | 
	
		
			
				|  |  | -        Ffdref.value.getffds(pid.value);
 | 
	
		
			
				|  |  | +        Ffdref.value.getffds(pid.value,canshuhuawid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -3972,19 +4007,27 @@ const adfhandleClick2=(tab,event)=>{
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 单独cst保存
 | 
	
		
			
				|  |  | -const cstok=()=>{
 | 
	
		
			
				|  |  | - // cstnum.value='';
 | 
	
		
			
				|  |  | - if(Cstref.value){
 | 
	
		
			
				|  |  | -  Cstref.value.getcstsave();
 | 
	
		
			
				|  |  | +const cstok=(nowid)=>{
 | 
	
		
			
				|  |  | +  // cstnum.value='';
 | 
	
		
			
				|  |  | +  if(Cstref.value){
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Cstref.value.getcstsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Cstref.value.getcstsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    dialog.value.CSTt = false;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  // 单独ffd保存
 | 
	
		
			
				|  |  | -const ffdok=()=>{
 | 
	
		
			
				|  |  | +const ffdok=(nowid)=>{
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |     if(Ffdref.value){
 | 
	
		
			
				|  |  | -    Ffdref.value.getffdsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Ffdref.value.getffdsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Ffdref.value.getffdsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      dialog.value.ffdt = false;
 | 
	
		
			
				|  |  |    
 | 
	
	
		
			
				|  | @@ -3992,9 +4035,9 @@ const ffdok=()=>{
 | 
	
		
			
				|  |  |  // cstffd保存
 | 
	
		
			
				|  |  |  const getCstFfdsave = (activeadf) => {
 | 
	
		
			
				|  |  |    if (activeadf == 'CST') {
 | 
	
		
			
				|  |  | -    cstok();
 | 
	
		
			
				|  |  | +    cstok(canshuhuawid.value);
 | 
	
		
			
				|  |  |    } else if (activeadf == 'FFD') {
 | 
	
		
			
				|  |  | -    ffdok();
 | 
	
		
			
				|  |  | +    ffdok(canshuhuawid.value);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4006,40 +4049,47 @@ const adfhandleClick3=(tab,event)=>{
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (Xfoilref.value) {
 | 
	
		
			
				|  |  | -        console.log('pid-0:',pid.value)
 | 
	
		
			
				|  |  | -        Xfoilref.value.getxfoil(pid.value);
 | 
	
		
			
				|  |  | +        Xfoilref.value.getxfoil(pid.value,qidongyouhuawid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }else if(tab.props.name === 'ADflow'){
 | 
	
		
			
				|  |  |      nextTick(() => {
 | 
	
		
			
				|  |  |        // 确保 ref 已经初始化
 | 
	
		
			
				|  |  |        if (ADflowref.value) {
 | 
	
		
			
				|  |  | -        ADflowref.value.getadflow(pid.value);
 | 
	
		
			
				|  |  | +        ADflowref.value.getadflow(pid.value,qidongyouhuawid.value);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // xfoil保存
 | 
	
		
			
				|  |  | -const xfoilok=()=>{
 | 
	
		
			
				|  |  | +const xfoilok=(nowid)=>{
 | 
	
		
			
				|  |  |    if(Xfoilref.value){
 | 
	
		
			
				|  |  | -    Xfoilref.value.getxfoilsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      Xfoilref.value.getxfoilsave(nowid);
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +      Xfoilref.value.getxfoilsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // adflow保存
 | 
	
		
			
				|  |  | -const adflowok=()=>{
 | 
	
		
			
				|  |  | +const adflowok=(nowid)=>{
 | 
	
		
			
				|  |  |    if(ADflowref.value){
 | 
	
		
			
				|  |  | -    ADflowref.value.getadflowsave();
 | 
	
		
			
				|  |  | +    if(nowid){
 | 
	
		
			
				|  |  | +      ADflowref.value.getadflowsave(nowid);
 | 
	
		
			
				|  |  | +    }else{ 
 | 
	
		
			
				|  |  | +      ADflowref.value.getadflowsave();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // xfoiladflow保存
 | 
	
		
			
				|  |  |  const getXfoilAdflowsave = (activeadf) => {
 | 
	
		
			
				|  |  |    if (activeadf == 'Xfoil') {
 | 
	
		
			
				|  |  | -    xfoilok();
 | 
	
		
			
				|  |  | +    xfoilok(qidongyouhuawid.value);
 | 
	
		
			
				|  |  |    } else if (activeadf == 'ADflow') {
 | 
	
		
			
				|  |  | -    adflowok();
 | 
	
		
			
				|  |  | +    adflowok(qidongyouhuawid.value);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |