liuqiao 7 mesiacov pred
rodič
commit
3f83e63211
2 zmenil súbory, kde vykonal 231 pridanie a 160 odobranie
  1. 34 160
      src/views/home.vue
  2. 197 0
      src/views/titlecomponent/ADflow.vue

+ 34 - 160
src/views/home.vue

@@ -1242,140 +1242,7 @@
               </el-tab-pane>
               <!-- ADflow -->
               <el-tab-pane label="ADflow" name="ADflow">
-                <div class="XFpdding">
-                    <ul>
-                      <li class="item"   v-for="(tab, index) in tabslist1" :key="index" :class="{ active: currentTab1 === index }"
-                     @click="selectTab1(index)">{{tab.name  }}</li>
-                    </ul>
-                    <!-- 网格文件 -->
-                      <!-- 执行 -->
-                    <div class="eldesign classtable" style="margin-top: 10px;" v-if="currentTab1 == '0'">
-                      <div style="display: flex;">
-                        <el-form-item label="选择路径"  :label-width="formLabelWidth1">
-                          <!-- <el-select v-model="zhixing" :suffix-icon="CaretBottom" placeholder="请选择">
-                            <el-option label="Rosenbrock" value="Rosenbrock">
-                            </el-option>
-                          </el-select> -->
-                          <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                        </el-form-item>
-                        <el-button type="primary" style="margin-left: 10px;">选择路径</el-button>
-                      </div>
-                    </div>
-                        <!-- 来流参数 v-show="currentTab=='0'"-->
-                        <div  v-show="currentTab1=='1'">
-                      <div class="eldesign classtable" style="margin-top: 10px;">
-                   <el-table :data="lailiutable"  border style="width: 100%;height:400px" >
-                    <el-table-column type="index" width="70"  label="编号"/>
-                  <el-table-column prop="name" label="参数名称">
-                    <template #default="{ row }">
-                      <el-input v-model="row.name" @change="handleEdit(row)" />
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="data" label="参数值">
-                    <template #default="{ row }">
-                      <el-input v-model.number="row.data" @change="handleEdit(row)" />
-                    </template>
-                  </el-table-column>
-                 <el-table-column prop="con" label="启用" width="100">
-                    <template v-slot="scope">
-                      <el-checkbox :false-label="'-1'" :true-label="'1'" :label="false" v-model="scope.row.enable"  @change="changecheck($event,scope.row)"/>
-                    </template>
-                  </el-table-column> 
-              
-                </el-table>
-              </div>
-                    </div>
-               
-                  <!-- 设置参数 -->
-              
-                <div class="eldesign  classtable dlheight" style="margin-top: 10px;"  v-show="currentTab1=='2'">
-                  <el-form-item label="工况条件:" :label-width="formLabelWidth1">
-                  <el-select v-model="youhua.algorithm" :suffix-icon="CaretBottom" placeholder="请选择">
-                    <el-option v-for="item in yslist" :key="item.value" :label="item.label" :value="item.value">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="计算维数:" :label-width="formLabelWidth1">
-                  <el-select v-model="ad1" :suffix-icon="CaretBottom" placeholder="请选择">
-                    <el-option v-for="item in adlist1" :key="item.value" :label="item.label" :value="item.value">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="控制方程:" :label-width="formLabelWidth1">
-                  <el-select v-model="ad2" :suffix-icon="CaretBottom" placeholder="请选择">
-                    <el-option v-for="item in adlist2" :key="item.value" :label="item.label" :value="item.value">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="升力定义方向:" :label-width="formLabelWidth1">
-                  <el-select v-model="ad3" :suffix-icon="CaretBottom" placeholder="请选择">
-                    <el-option v-for="item in adlist3" :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="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-                <el-form-item label="参考温度:"  :label-width="formLabelWidth1">
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-                <el-form-item label="参考面积:"  :label-width="formLabelWidth1">
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-             
-                <el-form-item label="力矩中心:"  :label-width="formLabelWidth1">
-                  <div style="display: flex;">
-                <el-input style="margin-right: 10px;" v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                <el-input style="margin-right: 10px;" v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-              </div>
-              </el-form-item>
-             
-                <el-form-item label="多重网格:"  :label-width="formLabelWidth1">
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-                <el-form-item label="计算步数:"  :label-width="formLabelWidth1">
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-                <el-form-item label="监控变量:"  :label-width="formLabelWidth1">
-                  <div style="width: 50%;">
-                  <el-checkbox v-model="checked1" label="密度残差resrho" size="large" />
-                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
-                </div>
-                <div style="width: 50%;">
-                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
-                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
-                </div>
-                </el-form-item>
-                <el-form-item label="细网格收敛残差:"  :label-width="formLabelWidth1">
-                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
-                </el-form-item>
-                </div>
-                    <!-- 分析参数 v-show="currentTab=='0'"-->
-                    <div  v-show="currentTab1=='3'">
-                      <div class="eldesign classtable" style="margin-top: 10px;">
-                   <el-table :data="lailiutable"  border style="width: 100%;height:400px" >
-                    <el-table-column type="index" width="70"  label="编号"/>
-                  <el-table-column prop="name" label="参数名称">
-                    <template #default="{ row }">
-                      <el-input v-model="row.name" @change="handleEdit(row)" />
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="data" label="参数值">
-                    <template #default="{ row }">
-                      <el-input v-model.number="row.data" @change="handleEdit(row)" />
-                    </template>
-                  </el-table-column>
-                 <el-table-column prop="con" label="启用" width="100">
-                    <template v-slot="scope">
-                      <el-checkbox :false-label="'-1'" :true-label="'1'" :label="false" v-model="scope.row.enable"  @change="changecheck($event,scope.row)"/>
-                    </template>
-                  </el-table-column> 
-              
-                </el-table>
-              </div>
-                    </div>
-              </div>
+                <ADflow/>
               </el-tab-pane>
             </el-tabs>
               </el-form>
@@ -1392,7 +1259,7 @@
              <!-- 气动分析CST、FFD -->
              <el-dialog v-model="dialog.cstffd" align-center :modal="false" :close-on-click-modal="false"
             :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
-            :before-close="handleClose" width="1000" class="dialog_class bgcolor tianjia sel colortext">
+            :before-close="handleClose" width="800" class="dialog_class bgcolor tianjia sel colortext">
 
             <template #header="{ titleId, titleClass }">
               <div class="my-header ">
@@ -1704,6 +1571,27 @@
                 </el-button>
               </div>
             </template>
+          </el-dialog>
+                 <!-- 单独的ADflow -->
+                 <el-dialog v-model="dialog.isADflow" align-center :modal="false" :close-on-click-modal="false"
+            :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
+            :before-close="handleClose" width="630" class="dialog_class bgcolor tianjia sel colortext">
+
+            <template #header="{ titleId, titleClass }">
+              <div class="my-header ">
+                <!-- <el-image :src="getImgPath('t2.png')" fit="contain"></el-image> -->
+                <h4 :id="titleId" :class="titleClass">ADflow</h4>
+              </div>
+            </template>
+            <ADflow/>
+            <template #footer>
+              <div class="dialog-footer">
+                <el-button @click="dialog.isADflow = false">取消</el-button>
+                <el-button type="primary" @click=" dialog.isADflow = false">
+                  确定
+                </el-button>
+              </div>
+            </template>
           </el-dialog>
           <!-- 内容区 -->
           <div class="main  mianflex">
@@ -2025,6 +1913,7 @@ import radar from './echart/radar.vue'
 import Doptimize from './titlecomponent/Doptimize.vue'
 import Joptimize from './titlecomponent/Joptimize.vue'
 import Toptimize from './titlecomponent/Toptimize.vue'
+import ADflow from './titlecomponent/ADflow.vue'
 let Sidebarref = ref();
 let resource=ref(0);
 let cstnum=ref('');
@@ -2032,7 +1921,7 @@ let f4ce = ref("优化问题组件");
 let modelban = ref("学科分析组件");
 let undmodel=ref('优化器组件');
 let optiongroup1 = ref([
-  { label: '二维Rosenbrock', value: '二维Rosenbrock' }
+  { label: '优化问题', value: '优化问题' }
 ])
 let options4 = ref([
   { label: '进化优化器', value: '进化优化器' },
@@ -2160,7 +2049,6 @@ let scnewtable = ref([
     con:1
   },
 ]);
-let checked1=ref(false);
 let sctable = ref([]);
 // let quxian=ref([{
 //   val:'1',name:"设计变量",
@@ -2174,14 +2062,7 @@ let tabslist = ref([
   { id: '1', name: '设置参数' },
   { id: '2', name: '分析参数' },
 ])
-let currentTab1=ref(0);
-let tabslist1 = ref([
-  { id: '0', name: '网格文件' },
-  { id: '1', name: '来流参数' },
-  { id: '2', name: '设置参数' },
-  { id: '3', name: '分析参数' },
 
-])
 let currentTab2=ref(0);
 let tabslist2= ref([
   { id: '0', name: '网格文件' },
@@ -2366,17 +2247,7 @@ let adlist1 = ref([
   { label: '二维', value: '二维' },
   { label: '三维', value: '三维' },
 ])
-let ad2=ref('RANS')
-let adlist2 = ref([
-  { label: 'RANS', value: 'RANS' },
-  { label: 'Euler', value: 'Euler' },
-])
-let ad3=ref('x')
-let adlist3 = ref([
-  { label: 'x', value: 'x' },
-  { label: 'y', value: 'y' },
-  { label: 'z', value: 'z' },
-])
+
 let addval1 = ref("概率相乘法")
 let addlist1 = ref([
   { label: '概率相乘法', value: '概率相乘法' },
@@ -2415,6 +2286,7 @@ let dialog = ref({
   jboptimizer: false,
   dboptimize: false,
   tboptimizer: false,
+  isADflow:false,
   lookover:false,
   Xfiol: false,
   tidu:false,
@@ -2681,10 +2553,14 @@ const optimizerfalse = (val) => {
    /// dialog.value.CSTt = true;
    activeadf.value='CST';
     dialog.value.cstffd = true;
-  }else if(val == 'ADflow'||val == 'Xfiol'){
+  }else if(val == 'ADflow'){
    // adfhandleClick();
    activeadf.value='ADflow';
-    dialog.value.XfAD = true;
+   dialog.value.isADflow = true;
+    // dialog.value.XfAD = true;
+  }else if(val == 'Xfiol'){
+   activeadf.value='Xfiol';
+   dialog.value.XfAD = true;
   }else if(val == 'FFD'){
    activeadf.value='FFD';
     dialog.value.cstffd = true;
@@ -3767,9 +3643,7 @@ const footerShows = (evt) => {
 const selectTab=(index)=>{
   currentTab.value = index;
 }
-const selectTab1=(index)=>{
-  currentTab1.value = index;
-}
+
 const selectTab2=(index)=>{
   currentTab2.value = index;
 }

+ 197 - 0
src/views/titlecomponent/ADflow.vue

@@ -0,0 +1,197 @@
+<template>
+            <div class="XFpdding">
+                    <ul>
+                      <li class="item"   v-for="(tab, index) in tabslist1" :key="index" :class="{ active: currentTab1 === index }"
+                     @click="selectTab1(index)">{{tab.name  }}</li>
+                    </ul>
+                    <!-- 网格文件 -->
+                      <!-- 执行 -->
+                    <div class="eldesign classtable" style="margin-top: 10px;" v-if="currentTab1 == '0'">
+                      <div style="display: flex;">
+                        <el-form-item label="选择路径"  :label-width="formLabelWidth3">
+                          <!-- <el-select v-model="zhixing" :suffix-icon="CaretBottom" placeholder="请选择">
+                            <el-option label="Rosenbrock" value="Rosenbrock">
+                            </el-option>
+                          </el-select> -->
+                          <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                        </el-form-item>
+                        <el-button type="primary" style="margin-left: 10px;">选择路径</el-button>
+                      </div>
+                    </div>
+                        <!-- 来流参数 v-show="currentTab=='0'"-->
+                        <div  v-show="currentTab1=='1'">
+                      <div class="eldesign classtable" style="margin-top: 10px;">
+                   <el-table :data="lailiutable"  border style="width: 100%;height:400px" >
+                    <el-table-column type="index" width="70"  label="编号"/>
+                  <el-table-column prop="name" label="参数名称">
+                    <template #default="{ row }">
+                      <el-input v-model="row.name" @change="handleEdit(row)" />
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="data" label="参数值">
+                    <template #default="{ row }">
+                      <el-input v-model.number="row.data" @change="handleEdit(row)" />
+                    </template>
+                  </el-table-column>
+                 <el-table-column prop="con" label="启用" width="100">
+                    <template v-slot="scope">
+                      <el-checkbox :false-label="'-1'" :true-label="'1'" :label="false" v-model="scope.row.enable"  @change="changecheck($event,scope.row)"/>
+                    </template>
+                  </el-table-column> 
+              
+                </el-table>
+              </div>
+                    </div>
+               
+                  <!-- 设置参数 -->
+              
+                <div class="eldesign  classtable dlheight" style="margin-top: 10px;"  v-show="currentTab1=='2'">
+                  <el-form-item label="工况条件:" :label-width="formLabelWidth1">
+                  <el-select v-model="youhua.algorithm" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in yslist" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="计算维数:" :label-width="formLabelWidth1">
+                  <el-select v-model="ad1" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in adlist1" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="控制方程:" :label-width="formLabelWidth1">
+                  <el-select v-model="ad2" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in adlist2" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="升力定义方向:" :label-width="formLabelWidth1">
+                  <el-select v-model="ad3" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in adlist3" :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="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                <el-form-item label="参考温度:"  :label-width="formLabelWidth1">
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                <el-form-item label="参考面积:"  :label-width="formLabelWidth1">
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+             
+                <el-form-item label="力矩中心:"  :label-width="formLabelWidth1">
+                  <div style="display: flex;">
+                <el-input style="margin-right: 10px;" v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                <el-input style="margin-right: 10px;" v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+              </div>
+              </el-form-item>
+             
+                <el-form-item label="多重网格:"  :label-width="formLabelWidth1">
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                <el-form-item label="计算步数:"  :label-width="formLabelWidth1">
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                <el-form-item label="监控变量:"  :label-width="formLabelWidth1">
+                  <div style="width: 50%;">
+                  <el-checkbox v-model="checked1" label="密度残差resrho" size="large" />
+                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
+                </div>
+                <div style="width: 50%;">
+                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
+                  <el-checkbox v-model="checked1" label="升力系数cl" size="large" />
+                </div>
+                </el-form-item>
+                <el-form-item label="细网格收敛残差:"  :label-width="formLabelWidth1">
+                <el-input v-model="youhua.popsize" :step="100" :min="0" :max="1000" controls-position="right" />
+                </el-form-item>
+                </div>
+                    <!-- 分析参数 v-show="currentTab=='0'"-->
+                    <div  v-show="currentTab1=='3'">
+                      <div class="eldesign classtable" style="margin-top: 10px;">
+                   <el-table :data="lailiutable"  border style="width: 100%;height:400px" >
+                    <el-table-column type="index" width="70"  label="编号"/>
+                  <el-table-column prop="name" label="参数名称">
+                    <template #default="{ row }">
+                      <el-input v-model="row.name" @change="handleEdit(row)" />
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="data" label="参数值">
+                    <template #default="{ row }">
+                      <el-input v-model.number="row.data" @change="handleEdit(row)" />
+                    </template>
+                  </el-table-column>
+                 <el-table-column prop="con" label="启用" width="100">
+                    <template v-slot="scope">
+                      <el-checkbox :false-label="'-1'" :true-label="'1'" :label="false" v-model="scope.row.enable"  @change="changecheck($event,scope.row)"/>
+                    </template>
+                  </el-table-column> 
+              
+                </el-table>
+              </div>
+                    </div>
+              </div> 
+</template>
+<script  setup>
+import { ref, onMounted, reactive, provide, nextTick } from "vue";
+import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
+import { Edit, CaretBottom } from '@element-plus/icons-vue'
+let formLabelWidth3=ref(100)
+let formLabelWidth1=ref(170)
+let formLabelWidth200=ref(200)
+let currentTab1=ref(0);
+let checked1=ref(false);
+let ad2=ref('RANS')
+let adlist2 = ref([
+  { label: 'RANS', value: 'RANS' },
+  { label: 'Euler', value: 'Euler' },
+])
+let ad3=ref('x')
+let adlist3 = ref([
+  { label: 'x', value: 'x' },
+  { label: 'y', value: 'y' },
+  { label: 'z', value: 'z' },
+])
+let lailiutable=ref([
+{
+     data: 1,
+    name: 'Aleyna Kutzner',
+    con:-1
+  },
+  {
+    data: 23,
+    name: 'Helen Jacobi',
+    con:1
+  }])
+let youhua = ref({
+algorithm: 'GA',
+popsize: 100,
+epoch: 100,
+probcrossover: 0.1,
+probmut: 0.1,
+proboperator: 'SBX交叉',
+probscale: 1,
+strategy: '最佳保留策略',
+operator: '倒位变异',
+gpu: 'YES'
+})
+let yslist = ref([
+  { label: 'GA', value: 'GA' },
+  { label: 'PSO', value: 'PSO' },
+  { label: 'NSGA2', value: 'NSGA2' },
+])
+let tabslist1 = ref([
+  { id: '0', name: '网格文件' },
+  { id: '1', name: '来流参数' },
+  { id: '2', name: '设置参数' },
+  { id: '3', name: '分析参数' },
+
+])
+const selectTab1=(index)=>{
+  currentTab1.value = index;
+}
+</script>
+
+