tangjunhao 6 сар өмнө
parent
commit
bfbe9259a0

+ 11 - 2
src/components/PythonEditor/index.vue

@@ -20,6 +20,15 @@ const emit = defineEmits(['change']);
 const editor = ref(null);
 
 onMounted(() => {
+  monaco.editor.defineTheme("custom-light", {
+    base: "vs", // 基于白色主题
+    inherit: true,
+    rules: [],
+    colors: {
+      "editorGutter.background": "#EEEEEE", // 设置行号栏背景为灰色
+    },
+  });
+
   editor.value = monaco.editor.create(document.getElementById('editorContainer'), {
     value: props.value || '',
     language: props.language || 'python',
@@ -28,7 +37,7 @@ onMounted(() => {
     },
     colorDecorators: true, // 颜色装饰器
     readOnly: false, // 是否开启已读功能
-    theme: "vs-dark", // 主题 vs hc-black 
+    theme: "custom-light", // 主题 vs hc-black 
     automaticLayout: true,
   });
 
@@ -45,6 +54,6 @@ onMounted(() => {
 
 <style>
 #editorContainer{
-  height: 300px !important;
+  height: 400px !important;
 }
 </style>

+ 34 - 6
src/style/index.css

@@ -193,8 +193,8 @@ body{
     text-align: left;
 }
 .el-form-item__label{
-    color: #6D6D6D;
-    font-size: 13px;
+  color: #333333;
+    font-size: 14px;
     line-height: 30px;
 letter-spacing: 1px;
 text-align: right;
@@ -575,6 +575,10 @@ box-sizing: border-box;
 .youhualog{
   padding: 5px 10px;
 }
+.custom-divider {
+  border-color: #B3B3B3;
+  border-width: 1px;
+}
 .colortext .el-tabs__item{
   font-family: 'Source Sans-Regular';
   font-weight: 400;
@@ -660,7 +664,7 @@ ul{
 .colortext  .el-table tr{
 height: 30px;
 }
-.colortext  .classtable .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf, .eldesign,.colortext  .classtable .el-table td.el-table__cell div{
+.colortext  .classtable .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf,.colortext  .classtable .el-table td.el-table__cell div{
    background-color:#fafafa; 
    color: #333333;
    font-weight: 400;
@@ -691,7 +695,7 @@ height: 30px;
   font-family: 'Source Sans Pro-Regular';
 }
 
-.colortext .classtable .el-radio__label ,.colortext .classtable span{
+.colortext .classtable .el-radio__label ,.colortext .classtable span,.colortext .classtable .el-checkbox__label{
   color: #333333;
   font-size: 16px;
   font-family: 'Source Sans Pro-Regular';
@@ -703,6 +707,30 @@ height: 30px;
   font-family: 'Source Sans Pro-Regular';
 }
 
+.classtable .header-blue {
+  border-bottom: 2px solid #2267B1 !important;
+}
+
+.classtable .header-green {
+  border-bottom: 2px solid #00A023 !important;
+}
+
+.classtable .header-yellow {
+  border-bottom: 2px solid #FFD153 !important;
+}
+
+.classtable .header-first {
+  border-bottom: 2px solid #2267B1 !important;
+}
+
+.classtable .header-second {
+  border-bottom: 2px solid #00A023 !important;
+}
+
+.classtable .header-third {
+  border-bottom: 2px solid #FFD153 !important;
+}
+
 .el-card__body {
   border-radius: 0px 0px 0px 0px;
   border: 1px solid #B3B3B3;
@@ -763,7 +791,7 @@ width: 200px;
   --el-tabs-header-height: 30px;
 }
 .el-image__inner {
-  vertical-align: middle;
+  /* vertical-align: middle; */
   opacity: 1;
 }
 .pythfoter{
@@ -800,5 +828,5 @@ width: 200px;
   height: 380px!important;
 }
 .footerp .pythfoter .el-textarea__inner{
-  height: 100px!important;
+  min-height: 60px!important;
 }

+ 65 - 33
src/views/home.vue

@@ -1228,8 +1228,8 @@
                 <h4 :id="titleId" :class="titleClass">Python</h4>
               </div>
             </template>
-            <div class="footerp" style="height:500px;padding:15px">
-          <div>
+            <div class="footerp" style="height:525px;padding:15px">
+              <div>
           <!-- <el-input
           v-model="textarea1"
        
@@ -1238,19 +1238,20 @@
           type="textarea"
           placeholder="Please input"
         /> -->
-            <PythonEdit :value="textarea1" language="python" @change="handleEditorChange"/>
-          </div>
-        <div class="pythfoter">
-           <div class="span active" >
-                 <el-image :src="xin" fit="contain"></el-image>
-             <span>信息栏 </span></div>
-             <el-input
-          v-model="textarea2"
-          style="width: 100%"
-          :autosize="{ minRows: 2, maxRows: 4 }"
-          type="textarea"
-          placeholder="Please input"
-        />
+              <PythonEdit :value="textarea1" language="python" @change="handleEditorChange"/>
+              </div>
+              <div class="pythfoter">
+                <div class="span active" >
+                  <el-image :src="xin"  style="width: 25px;height: 25px;margin-right: 5px;"></el-image>
+                  <span>信息栏 </span>
+                </div>
+                <el-input
+                  v-model="textarea2"
+                  style="width: 100%"
+                  :autosize="{ minRows: 2, maxRows: 4 }"
+                  type="textarea"
+                  placeholder=""
+                />
              </div>
             </div>
             <template #footer>
@@ -1328,7 +1329,7 @@
                   <!-- 中间部分 -->
                    <!-- 列表监控 -->
                   <div class="conter_mian classtable " v-show="jiankong" style="width:100%; height: 100%;">
-                    <el-table :data="tableDatalieb" border style="display: flex; flex: 1; overflow: auto; height: 100%;" >
+                    <el-table :data="tableDatalieb" border style="display: flex; flex: 1; overflow: auto; height: 100%;" :header-cell-class-name="lbjkheaderCellClassName">
                       <el-table-column type="index" label="编号" width="150"></el-table-column>
                       <el-table-column v-for="(header, index) in tableHeaders" :key="index" :prop="header.prop"
                         :label="header.label" >
@@ -1400,11 +1401,14 @@
                       </div>
                       <div class="youhualog" v-if="activeIndex == 1">
                         <ul>
-                          <li v-for="(tab, index) in listli" :key="index" :class="{ 'active2': activeIndex2 === index }"
-                            @click="issueclick(index)">
-                            <el-image v-if="activeIndex2 === index" :src="tab.isimg" fit="contain"></el-image>
-                            <el-image v-else :src="tab.noimg" fit="contain"></el-image>
-                          {{ tab.name }}</li>
+                          <template v-for="(tab, index) in listli" :key="index">
+                            <el-divider v-if="index !== 0" direction="vertical" class="custom-divider"></el-divider>
+                            <li @click="issueclick(index)" :class="{ 'active2': activeIndex2 === index }">
+                              <el-image v-if="activeIndex2 === index" :src="tab.isimg" fit="contain"></el-image>
+                              <el-image v-else :src="tab.noimg" fit="contain"></el-image>
+                              {{ tab.name }}
+                            </li>
+                          </template>
                         </ul>
                         <div class="footer-content">
                           <div class="eldesign classtable" v-if="activeIndex2 == 0">
@@ -1427,7 +1431,7 @@
                                     @change="handleEdit(row)" />
                                 </template>
                               </el-table-column>
-                              <el-table-column prop="reference" label="基准值" width="100">
+                              <el-table-column prop="reference" label="基准值" >
                                 <template #default="{ row }">
                                   <el-input v-model.Number="row.reference" oninput="value=value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1')"
                                     @change="handleEdit(row)" />
@@ -1438,17 +1442,17 @@
                                   <el-input v-model="row.remark" @change="handleEdit(row)" />
                                 </template>
                               </el-table-column>
-                              <el-table-column label="操作" width="140">
+                              <!-- <el-table-column label="操作" width="140">
                                 <template #default="scope">
                                   <el-button size="small" type="danger"
                                     @click.stop="sjdelete(scope.$index, scope.row)">删除</el-button>
                                 </template>
-                              </el-table-column>
+                              </el-table-column> -->
                             </el-table>
 
                           </div>
                           <div class="elconstraint classtable" v-if="activeIndex2 == 1">
-                            <el-table :data="tableData" stripe style="width: 100%" height="100">
+                            <el-table :data="tableData" border style="width: 100%" height="100">
                               <el-table-column type="index" label="编号" width="100" />
                               <el-table-column prop="name" label="约束名称">
                                 <template #default="{ row }">
@@ -1486,17 +1490,17 @@
                                     @change="handleEdit(row)" />
                                 </template>
                               </el-table-column>
-                              <el-table-column label="操作" width="140">
+                              <!-- <el-table-column label="操作" width="140">
                                 <template #default="scope">
                                   <el-button size="small" type="danger"
                                     @click.stop="ysdelete(scope.$index, scope.row)">删除</el-button>
                                 </template>
-                              </el-table-column>
+                              </el-table-column> -->
                             </el-table>
 
                           </div>
                           <div class="eloptimize classtable" v-if="activeIndex2 == 2">
-                            <el-table :data="eloptimize" stripe style="width: 100%" height="100">
+                            <el-table :data="eloptimize" border style="width: 100%" height="100">
                               <el-table-column type="index" label="编号" width="70" />
                               <!-- <el-table-column prop="qi" label="启用" width="70">
                   <template v-slot="scope">
@@ -1561,12 +1565,12 @@
                                   <el-input v-model="row.remark" @change="handleEdit(row)" />
                                 </template>
                               </el-table-column>
-                              <el-table-column label="操作" width="140">
+                              <!-- <el-table-column label="操作" width="140">
                                 <template #default="scope">
                                   <el-button size="small" type="danger"
                                     @click.stop="mbdelete(scope.$index, scope.row)">删除</el-button>
                                 </template>
-                              </el-table-column>
+                              </el-table-column> -->
                             </el-table>
 
                           </div>
@@ -1578,7 +1582,7 @@
                                 <el-form-item label="新增变量数:">
                                   <el-input v-model="tableval" maxlength="18"
                                     oninput="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" class="w-50 m-2"
-                                    placeholder="请输入关键字" /> </el-form-item>
+                                     /> </el-form-item>
                                 <el-button class="btncolor">导入</el-button>
                                 <el-button class="btncolor" @click="onAddItem">新增</el-button>
                                 <el-button class="btncolor" @click="onokItem">确认</el-button>
@@ -3892,6 +3896,21 @@ const openSeconddialog = (name) => {
 };
 
 
+const lbjkheaderCellClassName = ({ columnIndex }) => {
+  if( columnIndex === 0 ) return '';
+  let dynamicColumnIndex = columnIndex - 1;
+  let totalColumns = tableHeaders.value.length;
+  let partsize = Math.ceil( totalColumns/3 );
+
+  if( dynamicColumnIndex < partsize ) {
+    return 'header-first';
+  }else if( dynamicColumnIndex < partsize*2 ) {
+    return 'header-second';
+  }else {
+    return 'header-third';
+  }
+}
+
 
 </script>
 <style lang="scss" scoped>
@@ -4060,11 +4079,12 @@ color: #2267B1;
 .youhualog ul {
   width:504px;
   display: flex;
+  align-items: center;
 }
 .youhualog ul li {
   font-family: 'Source Sans-Regular';
   flex: 1;
-  border-left: 1px solid #B3B3B3;
+  /* border-left: 1px solid #B3B3B3; */
   font-size: 14px;
   height: 32px;
   /* line-height: 40px; */
@@ -4080,7 +4100,7 @@ color: #2267B1;
   /* // padding: 15px 24px; */
   padding: 5px;
   border: 1px solid #B3B3B3;
-  margin-right: 119px;
+  /* margin-right: 119px; */
 }
 
 .footer-add {
@@ -4099,6 +4119,12 @@ color: #2267B1;
   width: 226px;
 }
 
+.dibu .el-form-item_label {
+  color: #333333;
+  font-size: 14px;
+  font-family: 'Source Sans Pro-Regular';
+}
+
 .dibu .btncolor {
   margin-top: 2px;
   height: 27px;
@@ -4133,6 +4159,12 @@ color: #2267B1;
   font-family: 'Source Sans Pro-Regular';
 }
 
+.footer-content .classtable .el-table td.el-table__cell,.footer-content .classtable .el-table th.el-table__cell {
+  color: #333333;
+  font-size: 14px;
+  font-family: 'Source Sans Pro-Regular';
+}
+
 .classtable .el-table td.el-table__cell div {
   height: 31px;
   overflow: hidden;

+ 59 - 4
src/views/titlecomponent/ADflow.vue

@@ -69,7 +69,7 @@
     <!-- 来流参数 v-show="currentTab=='0'"-->
     <div v-show="currentTab1 == '1'">
       <div class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="inParams" border style="width: 100%; height: 400px">
+        <el-table :data="inParams" border style="width: 100%; height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
             <!-- <template #default="{ row }">
@@ -102,7 +102,39 @@
       style="margin-top: 10px"
       v-show="currentTab1 == '2'"
     >
-      <el-form-item label="工况条件:" :label-width="formLabelWidth1">
+      <el-form-item label="分析对象:" :label-width="formLabelWidth1">
+        <el-select
+          v-model="adflowvalue.anobj"
+          :suffix-icon="CaretBottom"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in objlist"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="计算进程数:" :label-width="formLabelWidth1">
+        <el-input
+          v-model="adflowvalue.countp"
+        />
+      </el-form-item>
+      <el-form-item label="Newton-Krylov求解:" :label-width="formLabelWidth1">
+          <el-radio-group v-model="adflowvalue.NewtonKrylov">
+            <el-radio :value="1" :label="1">是</el-radio>
+            <el-radio :value="0" :label="0">否</el-radio>
+          </el-radio-group>  
+      </el-form-item>
+      <el-form-item label="ANK求解:" :label-width="formLabelWidth1">
+          <el-radio-group v-model="adflowvalue.ANK">
+            <el-radio :value="1" :label="1">是</el-radio>
+            <el-radio :value="0" :label="0">否</el-radio>
+          </el-radio-group>  
+      </el-form-item>
+      <!-- <el-form-item label="工况条件:" :label-width="formLabelWidth1">
         <el-select
           v-model="adflowvalue.proname"
           :suffix-icon="CaretBottom"
@@ -116,7 +148,7 @@
           >
           </el-option>
         </el-select>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="计算维数:" :label-width="formLabelWidth1">
         <el-select
           v-model="isairfoil"
@@ -286,7 +318,7 @@
     <!-- 分析参数 v-show="currentTab=='0'"-->
     <div v-show="currentTab1 == '3'">
       <div class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="outParams" border style="width: 100%; height: 400px">
+        <el-table :data="outParams" border style="width: 100%; height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
             <!-- <template #default="{ row }">
@@ -415,6 +447,10 @@ let outParams = ref([
 let adflowvalue = ref({
   gridfile: "",
   fid:'',
+  anobj:'CRM',
+  countp:'1',
+  NewtonKrylov:1,
+  ANK:1,
   proname: "巡航工况",
   temperature: 288.15,
   length: 1,
@@ -428,6 +464,12 @@ let adflowvalue = ref({
   l2convergencecoarse: 1.0e-4
 })
 
+
+let objlist = ref([
+  {label:'CRM' , value:'CRM'},
+])
+
+
 let wclist = ref([{ label: "巡航工况", value: "cruise" }])
 let tabslist1 = ref([
   { id: "0", name: "网格文件", imgSrc: meshFile },
@@ -439,6 +481,19 @@ const selectTab1 = (index) => {
   currentTab1.value = index
 }
 
+const headerCellClassName = ({ column }) => {
+  // console.log('列:',column.property)
+  if (column.property === 'name') {
+    console.log('yanse',column.property)
+    return 'header-blue';
+  } else if (column.property === 'value') {
+    return 'header-green';
+  } else if (column.property === 'flag') {
+    return 'header-yellow';
+  }
+  return '';
+};
+
 const convertToStringArray = (result, Data) => {
   console.log("Data:", Data)
 

+ 15 - 4
src/views/titlecomponent/Cloudsecond.vue

@@ -55,7 +55,7 @@
         </el-row>
       </div>
       <div class="classtable tabledomain">
-        <el-table :data="tableDatadomain" style="width: 100%" border="true">
+        <el-table :data="tableDatadomain" style="width: 100%" border="true" :header-cell-class-name="headerCellClassName">
             <el-table-column prop="rowname" label="域名称"  />
             <el-table-column
               v-for="(item, index) in tabledomainColumns"
@@ -170,7 +170,7 @@
       </div>
     </div>
     <!-- 色卡 -->
-    <div v-show="activesd.colorchart">
+    <div v-show="activesd.colorchart" class="numberinput">
       <el-form label-position="left">
         <el-form-item label="" :label-width="formLabelWidth1">
           <el-checkbox label="显示色卡" v-model="skvalue.check1"></el-checkbox>
@@ -260,7 +260,7 @@
         </el-form-item>
 
         <el-form-item label="精度:" :label-width="formLabelWidth1">
-          <el-input-number v-model="skvalue.jingdu"></el-input-number>
+          <el-input-number v-model="skvalue.jingdu" controls-position="right"></el-input-number>
         </el-form-item>
 
         <el-form-item label="" :label-width="formLabelWidth1">
@@ -530,7 +530,18 @@ let dzxvalue = ref({
   min:'0.00'
 })
 
-
+const headerCellClassName = ({ column }) => {
+  // console.log('列:',column.property)
+  if (column.property === 'state') {
+    console.log('yanse',column.property)
+    return 'header-blue';
+  } else if (column.property === 'type') {
+    return 'header-green';
+  } else if (column.property === 'area') {
+    return 'header-yellow';
+  }
+  return '';
+};
 
 </script>
 

+ 16 - 13
src/views/titlecomponent/Doptimize.vue

@@ -7,9 +7,6 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
-                <el-form-item label="屏幕输出等级:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.iout" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
                 <el-form-item label="续算开关:" :label-width="formLabelWidth200">
                   <el-select v-model="youhua.irestart" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-option v-for="item in cswitch" :key="item.value" :label="item.label" :value="item.value">
@@ -23,6 +20,12 @@
                     </el-option>
                 </el-select>
                 </el-form-item>
+                <el-form-item label="代理模型:" :label-width="formLabelWidth200">
+                  <el-select v-model="youhua.surromod" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in daililist" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
                 <el-form-item label="样本点数:"  :label-width="formLabelWidth200">
                   <div style="display: flex;">
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.ns">
@@ -34,10 +37,15 @@
                 </el-input>
               </div>
               </el-form-item>
-              <el-form-item label="低可信度样本点数:"  :label-width="formLabelWidth200">
+              <el-form-item label="优化进程数:"  :label-width="formLabelWidth200">
+                <el-input v-model="youhua.proscount" :step="100" :min="0" :max="1000" controls-position="right" />
+              </el-form-item>
+              <el-form-item label="屏幕输出等级:"  :label-width="formLabelWidth200">
+                <el-input v-model="youhua.iout" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+              <!-- <el-form-item label="低可信度样本点数:"  :label-width="formLabelWidth200">
                   <div style="display: flex;">
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.nslf">
-                  <!-- <template #prepend>X方向</template> -->
                   <template  #prefix>初始 </template>
                 </el-input>
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.nsmaxlf">
@@ -48,14 +56,13 @@
               <el-form-item label="各可信度样本点数:"  :label-width="formLabelWidth200">
                   <div style="display: flex;">
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.nsmk">
-                  <!-- <template #prepend>X方向</template> -->
                   <template  #prefix>初始 </template>
                 </el-input>
                 <el-input type="text" style="margin-right: 10px;" v-model="youhua.nsmaxmk">
                   <template  #prefix>最大</template>
                 </el-input>
               </div>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item label="最优解收敛性容差:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.xtol" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item>
@@ -65,12 +72,7 @@
                 <el-form-item label="代理模型约束容差:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.feasibilitytolsurro" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item>
-                <el-form-item label="选择代理模型:" :label-width="formLabelWidth200">
-                  <el-select v-model="youhua.surromod" :suffix-icon="CaretBottom" placeholder="请选择">
-                    <el-option v-for="item in daililist" :key="item.value" :label="item.label" :value="item.value">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
+                
                 <el-form-item label="相关函数:" :label-width="formLabelWidth200">
                   <el-select v-model="youhua.corr" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-option v-for="item in daililist1" :key="item.value" :label="item.label" :value="item.value">
@@ -155,6 +157,7 @@ let formLabelWidth200=ref(200)
 let youhua = ref({
   algorithm: 'SurroOpt',
   iout: 19,
+  proscount:'1',
   irestart: '0',
   ndoe: '拉丁超立方LHS',
   ns: 10,

+ 31 - 16
src/views/titlecomponent/Flight.vue

@@ -14,7 +14,10 @@
     </ul>
     <div v-show="currentTab1 == '0'" class="eldesign classtable" style="margin-top: 10px">
       <el-collapse v-model="activeNames">
-        <el-collapse-item title="飞行包线" name="1">
+        <el-collapse-item name="1">
+          <template #title>
+            <span class="collapse-title">飞行包线</span>
+          </template>
           <el-table :data="fxbxtable" border style="width: 100%; " :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称" >
@@ -39,8 +42,11 @@
           </el-table-column>
           </el-table>
         </el-collapse-item>
-        <el-collapse-item title="起飞着陆" name="2">
-          <el-table :data="qfzltable" border style="width: 100%; ">
+        <el-collapse-item name="2">
+          <template #title>
+            <span class="collapse-title">起飞着陆</span>
+          </template>
+          <el-table :data="qfzltable" border style="width: 100%; " :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
             <!-- <template #default="{ row }">
@@ -70,6 +76,9 @@
       <div v-show="currentTab1 == '1'" class="eldesign classtable" style="margin-top: 10px">
         <el-collapse v-model="activeNames1">
           <el-collapse-item title="静稳定性" name="1">
+            <template #title>
+              <span class="collapse-title">静稳定性</span>
+            </template>
             <el-form-item label="纵向静稳定导数:" :label-width="formLabelWidth1">
               <el-input></el-input>
             </el-form-item>
@@ -80,6 +89,9 @@
           <el-collapse-item title="动稳定性" name="2">
             <!-- <el-form-item label="纵向" :label-width="formLabelWidth1">
             </el-form-item> -->
+            <template #title>
+              <span class="collapse-title">动稳定性</span>
+            </template>
             <span style="padding-left: 20px;">纵向</span>
             <el-form>
               <el-form-item label="长周期模态" :label-width="formLabelWidth1">
@@ -129,7 +141,7 @@
       </div> 
 
       <div v-show="currentTab1 == '2'" class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="zltxtable" border style="width: 100%; height: 400px">
+        <el-table :data="zltxtable" border style="width: 100%; height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
             <!-- <template #default="{ row }">
@@ -155,7 +167,7 @@
       </div>
 
       <div v-show="currentTab1 == '3'" class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="tltxtable" border style="width: 100%; height: 400px">
+        <el-table :data="tltxtable" border style="width: 100%; height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
             <!-- <template #default="{ row }">
@@ -295,14 +307,14 @@ let tltxtable = ref([
 
 
 const headerCellClassName = ({ column }) => {
-  console.log('列:',column.property)
+  // console.log('列:',column.property)
   if (column.property === 'name') {
     console.log('yanse',column.property)
-    return 'header-name';
+    return 'header-blue';
   } else if (column.property === 'value') {
-    return 'header-age';
+    return 'header-green';
   } else if (column.property === 'flag') {
-    return 'header-address';
+    return 'header-yellow';
   }
   return '';
 };
@@ -311,15 +323,18 @@ const headerCellClassName = ({ column }) => {
 </script>
 
 <style scoped>
-.header-name {
-  border-bottom: 2px solid red;
-}
 
-.header-age {
-  border-bottom: 2px solid blue;
+:deep(.collapse-title) {
+  flex: 1 0 90%;
+  order: 1;
+  text-align: left;
 }
 
-.header-address {
-  border-bottom: 2px solid green;
+:deep(.collapse-title) .el-collapse-item__header {
+  flex: 1 0 auto;
+  order: -1;
 }
+
+
+
 </style>

+ 5 - 5
src/views/titlecomponent/Joptimize.vue

@@ -12,7 +12,7 @@
              <el-form-item label="种群规模:" :label-width="formLabelWidth1">
                <el-input-number v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
              </el-form-item>
-             <el-form-item label="迭代次数:" :label-width="formLabelWidth1">
+             <el-form-item label="最大进化次数:" :label-width="formLabelWidth1">
                <el-input-number v-model="youhua.epoch" :step="100" :min="0" :max="1000" controls-position="right" />
              </el-form-item>
              <el-form-item label="交叉概率:" :label-width="formLabelWidth1">
@@ -71,8 +71,8 @@ probcrossover: 0.1,
 probmut: 0.1,
 proboperator: 'SBX交叉',
 probscale: 1,
-strategy: '最佳保留策略',
-operator: '倒变异',
+strategy: '最佳保留优选策略',
+operator: '倒变异',
 gpu: 'NO'
 })
 let pid=ref();
@@ -91,11 +91,11 @@ let addlist2 = ref([
 
 let ys = ref("GA")
 let addlist3 = ref([
-  { label: '最佳保留策略', value: '最佳保留策略' },
+  { label: '最佳保留优选策略', value: '最佳保留优选策略' },
 ])
 
 let addlist4 = ref([
-  { label: '倒位变异', value: '倒位变异' },
+  { label: '倒立变异', value: '倒立变异' },
 ])
 
 let addlist7 = ref([

+ 23 - 10
src/views/titlecomponent/TACS.vue

@@ -165,6 +165,7 @@
           :data="TACSfenxitable"
           border
           style="width: 100%; "
+          :header-cell-class-name="headerCellClassName"
         >
           <el-table-column type="index" width="70" label="编号" />
           <el-table-column prop="name" label="参数名称">
@@ -172,18 +173,18 @@
                       <el-input v-model="row.name" @change="handleEdit(row)" />
                     </template> -->
           </el-table-column>
-          <el-table-column prop="data" label="参数值">
+          <el-table-column prop="value" label="参数值">
             <template #default="{ row }">
-              <el-input v-model.number="row.data" @change="handleEdit(row)" />
+              <el-input v-model.number="row.value" @change="handleEdit(row)" />
             </template>
           </el-table-column>
-          <el-table-column prop="con" label="启用" width="100">
+          <el-table-column prop="flag" label="启用" width="100">
             <template v-slot="scope">
               <el-checkbox
                 :false-label="'-1'"
                 :true-label="'1'"
                 :label="false"
-                v-model="scope.row.enable"
+                v-model="scope.row.flag"
               />
             </template>
           </el-table-column>
@@ -281,19 +282,19 @@ let TACSlailiutable=ref([
 
 let TACSfenxitable=ref([
   {
-    data: 13972.2123,
     name: '结构质量',
-    enable:'1'
+    value: 13972.2123,
+    flag:'1'
   },
   {
-    data: 0.3337,
     name: 'KS聚合应力',
-    enable:'1'
+    value: 0.3337,
+    flag:'1'
   },
   {
-    data: 0.0,
     name: '最大变形',
-    enable: '1'
+    value: 0.0,
+    flag: '1'
   }
 ])
 
@@ -301,6 +302,18 @@ const selectTab2=(index)=>{
   currentTab2.value = index;
 }
 
+const headerCellClassName = ({ column }) => {
+  // console.log('列:',column.property)
+  if (column.property === 'name') {
+    console.log('yanse',column.property)
+    return 'header-blue';
+  } else if (column.property === 'value') {
+    return 'header-green';
+  } else if (column.property === 'flag') {
+    return 'header-yellow';
+  }
+  return '';
+};
 
 </script>
 

+ 37 - 2
src/views/titlecomponent/Xfoil.vue

@@ -15,7 +15,7 @@
     <!-- 来流参数 -->
     <div v-show="currentTab == '0'">
       <div class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="inParams" border style="width: 100%; height: 400px">
+        <el-table :data="inParams" border style="width: 100%; height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号"/>
           <!-- <el-table-column prop="code" width="70" label="编码" /> -->
           <el-table-column prop="name" label="参数名称">
@@ -44,7 +44,7 @@
     <!-- 分析参数 -->
     <div v-show="currentTab == '2'">
       <div class="eldesign classtable" style="margin-top: 10px">
-        <el-table :data="outParams" border style="width: 100%;height: 400px">
+        <el-table :data="outParams" border style="width: 100%;height: 400px" :header-cell-class-name="headerCellClassName">
           <el-table-column type="index" width="70" label="编号" />
           <!-- <el-table-column prop="code" width="70" label="编码" /> -->
           <el-table-column prop="name" label="参数名称">
@@ -73,6 +73,21 @@
     <!-- 设置参数 -->
     <div v-show="currentTab == '1'">
       <div class="eldesign classtable" style="margin-top: 10px;height: 400px">
+        <el-form-item label="分析对象:" :label-width="formLabelWidth1">
+          <el-select
+            v-model="xfoilvalue.anobj"
+            :suffix-icon="CaretBottom"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in objlist"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="计算完成:" :label-width="formLabelWidth1">
           <el-radio-group v-model="analyzed">
             <el-radio label="1" value="1">是</el-radio>
@@ -162,6 +177,7 @@ let pid = ref()
 let xfid = ref()
 
 let xfoilvalue = ref({
+  anobj:'CRM',
   iter: 100,
   ppar: 200,
   cpwr:"op.dat",
@@ -169,6 +185,11 @@ let xfoilvalue = ref({
   pacc:"output.dat"
 })
 
+let objlist = ref([
+  {label:'CRM' , value:'CRM'},
+])
+
+
 let tabslist = ref([
   { id: "0", name: "来流参数" ,imgSrc: inputParams},
   { id: "1", name: "设置参数" ,imgSrc: configParams},
@@ -243,6 +264,20 @@ let outParams = ref([
     
   }
 ])
+
+const headerCellClassName = ({ column }) => {
+  // console.log('列:',column.property)
+  if (column.property === 'name') {
+    console.log('yanse',column.property)
+    return 'header-blue';
+  } else if (column.property === 'value') {
+    return 'header-green';
+  } else if (column.property === 'flag') {
+    return 'header-yellow';
+  }
+  return '';
+};
+
 // 选项卡
 const selectTab = (index) => {
   currentTab.value = index

+ 13 - 1
src/views/titlecomponent/csts.vue

@@ -77,7 +77,7 @@
           </div>
         </div>
         <div class="classtable">
-          <el-table :data="tableDatacst" style="width: 100%" border="true">
+          <el-table :data="tableDatacst" style="width: 100%" border="true" :header-cell-class-name="headerCellClassName">
             <el-table-column prop="date" label="" width="150" />
             <el-table-column
               v-for="(item, index) in tablecstHeaders"
@@ -131,6 +131,18 @@ let tablecstHeaders = ref([
   {prop:"X8",label:"X8"},
   {prop:"X9",label:"X9"},
 ])
+
+const headerCellClassName = ({columnIndex}) => {
+  if( columnIndex !== 0 ) {
+    return 'header-blue';
+  }
+
+  return '';
+}
+
+
+
+
 // cst时间
 const clickblur = () => {
   //cstnum.value='';

+ 11 - 1
src/views/titlecomponent/ffds.vue

@@ -49,7 +49,7 @@
       </el-row>
     </el-form-item>
     <div class="classtable">
-      <el-table :data="tableDatacst1" style="width: 100%" border>
+      <el-table :data="tableDatacst1" style="width: 100%" border :header-cell-class-name="headerCellClassName">
         <el-table-column prop="axis" label="" width="60" />
         <el-table-column
           v-for="(item, index) in tablecstHeaders"
@@ -102,6 +102,16 @@ let tablecstHeaders = ref([
   {prop:"X9",label:"X9"},
 ]) 
 const imageSrc = new URL('@/assets/flowimg/ffdFileSave.png', import.meta.url).href;
+
+const headerCellClassName = ({columnIndex}) => {
+  if( columnIndex !== 0 ) {
+    return 'header-blue';
+  }
+
+  return '';
+}
+
+
 const generateTable = () => {
   console.log("generateTable");