|  | @@ -141,6 +141,7 @@ import { ref, onMounted, reactive, provide, nextTick } from "vue"
 | 
											
												
													
														|  |  import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
 |  |  import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
 | 
											
												
													
														|  |  import { Edit, CaretBottom } from "@element-plus/icons-vue"
 |  |  import { Edit, CaretBottom } from "@element-plus/icons-vue"
 | 
											
												
													
														|  |  import { tr } from "element-plus/es/locale/index.mjs"
 |  |  import { tr } from "element-plus/es/locale/index.mjs"
 | 
											
												
													
														|  | 
 |  | +import { request, uploadFile } from "@/utils/request"
 | 
											
												
													
														|  |  let formLabelWidth3 = ref(100)
 |  |  let formLabelWidth3 = ref(100)
 | 
											
												
													
														|  |  let formLabelWidth1 = ref(170)
 |  |  let formLabelWidth1 = ref(170)
 | 
											
												
													
														|  |  let formLabelWidth2 = ref(250)
 |  |  let formLabelWidth2 = ref(250)
 | 
											
										
											
												
													
														|  | @@ -150,6 +151,9 @@ let checked2 = ref(true)
 | 
											
												
													
														|  |  let checked3 = ref(true)
 |  |  let checked3 = ref(true)
 | 
											
												
													
														|  |  let analyzed = ref('1')
 |  |  let analyzed = ref('1')
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +let pid = ref()
 | 
											
												
													
														|  | 
 |  | +let xfid = ref()
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  let xfoilvalue = ref({
 |  |  let xfoilvalue = ref({
 | 
											
												
													
														|  |    iter: 100,
 |  |    iter: 100,
 | 
											
												
													
														|  |    ppar: 200,
 |  |    ppar: 200,
 | 
											
										
											
												
													
														|  | @@ -170,51 +174,66 @@ let inParams = ref([
 | 
											
												
													
														|  |      code: "1",
 |  |      code: "1",
 | 
											
												
													
														|  |      value: 0.1,
 |  |      value: 0.1,
 | 
											
												
													
														|  |      name: "AoA",
 |  |      name: "AoA",
 | 
											
												
													
														|  | -    flag: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 1
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  |      code: "2",
 |  |      code: "2",
 | 
											
												
													
														|  |      value: 0.1,
 |  |      value: 0.1,
 | 
											
												
													
														|  |      name: "Ma",
 |  |      name: "Ma",
 | 
											
												
													
														|  | -    flag: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 1
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  |      code: "3",
 |  |      code: "3",
 | 
											
												
													
														|  |      value: 6.5e6,
 |  |      value: 6.5e6,
 | 
											
												
													
														|  |      name: "Re",
 |  |      name: "Re",
 | 
											
												
													
														|  | -    flag: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 1
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  ])
 |  |  ])
 | 
											
												
													
														|  | -let fenxtable = ref([
 |  | 
 | 
											
												
													
														|  | 
 |  | +let outParams = ref([
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "1",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "升力系数Cl",
 |  |      name: "升力系数Cl",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "2",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "阻力系数Cd",
 |  |      name: "阻力系数Cd",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "3",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "压阻力系数Cdp",
 |  |      name: "压阻力系数Cdp",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "4",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "力矩系数Cm",
 |  |      name: "力矩系数Cm",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "5",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "上表面转换点位置xtr-upper",
 |  |      name: "上表面转换点位置xtr-upper",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    {
 |  |    {
 | 
											
												
													
														|  | -    data: "000",
 |  | 
 | 
											
												
													
														|  | 
 |  | +    code: "6",
 | 
											
												
													
														|  | 
 |  | +    value: "000",
 | 
											
												
													
														|  |      name: "下表面转换点位置xtr-lower",
 |  |      name: "下表面转换点位置xtr-lower",
 | 
											
												
													
														|  | -    enable: 1
 |  | 
 | 
											
												
													
														|  | 
 |  | +    flag: 1,
 | 
											
												
													
														|  | 
 |  | +    type: 2
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |  ])
 |  |  ])
 | 
											
												
													
														|  |  // 选项卡
 |  |  // 选项卡
 | 
											
										
											
												
													
														|  | @@ -231,6 +250,87 @@ const addRow = () => {
 | 
											
												
													
														|  |    })
 |  |    })
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +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 => {
 | 
											
												
													
														|  | 
 |  | +    // 获取每一列的数据,排除带有 'id' 的字段
 | 
											
												
													
														|  | 
 |  | +    return Object.keys(row)
 | 
											
												
													
														|  | 
 |  | +      .map(key => {
 | 
											
												
													
														|  | 
 |  | +        const value = row[key];
 | 
											
												
													
														|  | 
 |  | +        return (value === null || value === undefined || value === '') ? ' ' : value; // 处理 null、undefined 和空字符串
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      .join(',');  // 将每个字段的值用逗号连接
 | 
											
												
													
														|  | 
 |  | +  }).join(';');
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  return result;
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +const getxfoil = (id) => {
 | 
											
												
													
														|  | 
 |  | +  pid.value = id;
 | 
											
												
													
														|  | 
 |  | +  const params = {
 | 
											
												
													
														|  | 
 |  | +    transCode: "MDO0046",
 | 
											
												
													
														|  | 
 |  | +    pid: pid.value,
 | 
											
												
													
														|  | 
 |  | +  };
 | 
											
												
													
														|  | 
 |  | +  request(params).then((res) => {
 | 
											
												
													
														|  | 
 |  | +    if (res.hasOwnProperty("xfid")) {
 | 
											
												
													
														|  | 
 |  | +      getxfoilAssign(res);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +  })
 | 
											
												
													
														|  | 
 |  | +  .catch((err) => {
 | 
											
												
													
														|  | 
 |  | +      ElMessage.error(err.returnMsg)
 | 
											
												
													
														|  | 
 |  | +    })
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +const getxfoilAssign = (data) => {
 | 
											
												
													
														|  | 
 |  | +  xfid.value = data.xfid;
 | 
											
												
													
														|  | 
 |  | +  xfoilvalue.value.iter = data.iter;
 | 
											
												
													
														|  | 
 |  | +  xfoilvalue.value.ppar = data.ppar;
 | 
											
												
													
														|  | 
 |  | +  xfoilvalue.value.cpwr = data.cpwr;
 | 
											
												
													
														|  | 
 |  | +  xfoilvalue.value.yxzb = data.yxzb;
 | 
											
												
													
														|  | 
 |  | +  xfoilvalue.value.pacc = data.pacc;
 | 
											
												
													
														|  | 
 |  | +  analyzed.value = data.analyzed;
 | 
											
												
													
														|  | 
 |  | +  inParams.value = data.inParams;
 | 
											
												
													
														|  | 
 |  | +  outParams.value = data.outParams;
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +const getxfoilsave = () => {
 | 
											
												
													
														|  | 
 |  | +  const params = {
 | 
											
												
													
														|  | 
 |  | +    transCode: "MDO0047",
 | 
											
												
													
														|  | 
 |  | +    pid: pid.value,
 | 
											
												
													
														|  | 
 |  | +    iter: xfoilvalue.value.iter,
 | 
											
												
													
														|  | 
 |  | +    ppar: xfoilvalue.value.ppar,
 | 
											
												
													
														|  | 
 |  | +    cpwr: xfoilvalue.value.cpwr,
 | 
											
												
													
														|  | 
 |  | +    yxzb: xfoilvalue.value.yxzb,
 | 
											
												
													
														|  | 
 |  | +    pacc: xfoilvalue.value.pacc,
 | 
											
												
													
														|  | 
 |  | +    analyzed: analyzed.value,
 | 
											
												
													
														|  | 
 |  | +    checked:1,
 | 
											
												
													
														|  | 
 |  | +    inParams: convertToStringArray([],inParams.value),
 | 
											
												
													
														|  | 
 |  | +    outParams: convertToStringArray([],outParams.value)
 | 
											
												
													
														|  | 
 |  | +  };
 | 
											
												
													
														|  | 
 |  | +  request(params).then((res) => {
 | 
											
												
													
														|  | 
 |  | +    ElMessage({
 | 
											
												
													
														|  | 
 |  | +        message: res.returnMsg,
 | 
											
												
													
														|  | 
 |  | +        type: 'success',
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +  })
 | 
											
												
													
														|  | 
 |  | +  .catch((err) => {
 | 
											
												
													
														|  | 
 |  | +      ElMessage.error(err.returnMsg)
 | 
											
												
													
														|  | 
 |  | +    })
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +defineExpose({
 | 
											
												
													
														|  | 
 |  | +  getxfoil,
 | 
											
												
													
														|  | 
 |  | +  getxfoilAssign,
 | 
											
												
													
														|  | 
 |  | +  getxfoilsave
 | 
											
												
													
														|  | 
 |  | +})
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  </script>
 |  |  </script>
 | 
											
												
													
														|  |  
 |  |  
 |