Browse Source

优化器内容更新

tangjunhao 6 months ago
parent
commit
2344aa44d7

BIN
src/assets/img/dengzx.png


BIN
src/assets/img/seka.png


BIN
src/assets/img/yu.png


+ 10 - 14
src/views/home.vue

@@ -1164,7 +1164,7 @@
                   <el-col :span="2"></el-col>
                   <el-col v-for="(item,index) in cloudbtnbox" :key="index" :span="4">
                     <el-button style="width: 100%;" @click="openSeconddialog(item.btnname)">
-                      <!-- <el-image :src="getImgPath(item.url)" alt="img" fit="cover"  /> -->
+                      <el-image :src="getImgPath(item.url)" alt="img" fit="cover" style="width: 20px;margin-right: 4px;" />
                       {{ item.btnname }}
                     </el-button>
                   </el-col>
@@ -1233,19 +1233,14 @@
           <!-- 导出报告 -->
           <el-dialog v-model="dialog.exportreport" 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="500" class="dialog_class bgcolor tianjia sel" style="max-height: 70%;">
+            :before-close="handleClose" width="700" class="dialog_class bgcolor tianjia sel" style="height: 722px;">
 
             <template #header="{ titleId, titleClass }">
               <div class="my-header ">
-                
                 <h4 :id="titleId" :class="titleClass">导出报告:</h4>
               </div>
             </template>
-            <div class="numberinput lefttext">
-              <el-form>
-                <el-image :src="getImgPath('baog.png')" fit="contain"></el-image>
-              </el-form>
-            </div>
+            <Exreport />
             <template #footer>
               <div class="dialog-footer">
                 <el-button @click="dialog.exportreport = false">取消</el-button>
@@ -2075,6 +2070,7 @@ import Flight from './titlecomponent/Flight.vue'
 import ListSE from "./titlecomponent/ListSE.vue";
 
 import fileUploads from './components/fileuploads.vue'
+import Exreport from "./titlecomponent/Exreport.vue";
 
 
 let Sidebarref = ref();
@@ -2558,11 +2554,11 @@ let paretocheckbox = ref([
 ])
 
 let cloudbtnbox = ref([
-  {url:'',btnname:'文件选择'},
-  {url:'',btnname:'域'},
-  {url:'',btnname:'云图'},
-  {url:'',btnname:'色卡'},
-  {url:'',btnname:'等值线'},
+  {url:'meshFile.png',btnname:'文件选择'},
+  {url:'yu.png',btnname:'域'},
+  {url:'kk9.png',btnname:'云图'},
+  {url:'seka.png',btnname:'色卡'},
+  {url:'dengzx.png',btnname:'等值线'},
 ])
 
 let dialog = ref({
@@ -3160,7 +3156,7 @@ const dialogbolen = () => {
       dialog.value.lookover = true;
       break;
     case "导出报告":
-      dialog.value.lookover = true;
+      dialog.value.exportreport = true;
       break;
     default:
   }

+ 61 - 19
src/views/titlecomponent/Doptimize.vue

@@ -16,8 +16,12 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
-                <el-form-item label="实验设计方法:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.ndoe" :step="100" :min="0" :max="1000" controls-position="right" />
+                <el-form-item label="试验设计方法:"  :label-width="formLabelWidth200">
+                <!-- <el-input v-model="youhua.ndoe" :step="100" :min="0" :max="1000" controls-position="right" /> -->
+                <el-select v-model="youhua.ndoe" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in tdlist" :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;">
@@ -104,16 +108,27 @@
                   </el-select>
                 </el-form-item>
                 <el-form-item label="加点准则:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.infill" :step="100" :min="0" :max="1000" controls-position="right" />
+                  <!-- <el-input v-model="youhua.infill" :step="100" :min="0" :max="1000" controls-position="right" /> -->
+                  <el-select v-model="youhua.infill" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in daililist7" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="KB加点数量:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.nparallel" :step="100" :min="0" :max="1000" controls-position="right" />
                 </el-form-item>
                 <el-form-item label="子优化方法:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.iopt" :step="100" :min="0" :max="1000" controls-position="right" />
+                  <!-- <el-input v-model="youhua.iopt" :step="100" :min="0" :max="1000" controls-position="right" /> -->
+                  <el-select v-model="youhua.iopt" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in daililist8" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="约束处理方法:"  :label-width="formLabelWidth200">
-                <el-input v-model="youhua.icstr" :step="100" :min="0" :max="1000" controls-position="right" />
+                  <el-select v-model="youhua.icstr" :suffix-icon="CaretBottom" placeholder="请选择">
+                    <el-option v-for="item in daililist9" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                  </el-select>
                 </el-form-item>
                 <el-form-item label="种群规模:"  :label-width="formLabelWidth200">
                 <el-input v-model="youhua.ipopsize" :step="100" :min="0" :max="1000" controls-position="right" />
@@ -141,7 +156,7 @@ let youhua = ref({
   algorithm: 'SurroOpt',
   iout: 19,
   irestart: '0',
-  ndoe: 1,
+  ndoe: '拉丁超立方LHS',
   ns: 10,
   nsmax: 100,
   nslf: 20,
@@ -158,10 +173,10 @@ let youhua = ref({
   dcmp: '0',
   paraopt: '1',
   regular: '0',
-  infill: 11,
+  infill: 'EI+MSP',
   nparallel: 1,
-  iopt: 100,
-  icstr: 100,
+  iopt: '当前最优+局部优化',
+  icstr: '概率相乘法',
   ipopsize: 50,
   maxgen: 100,
   pc: 0.9,
@@ -177,6 +192,13 @@ let cswitch = ref([
   { label: '是', value: '1' },
   { label: '否', value: '0' },
 ])
+
+let tdlist = ref([
+  {label:'拉丁超立方LHS',value:'0'},
+  {label:'均匀设计UD',value:'1'},
+  {label:'蒙特卡洛MCD',value:'2'},
+])
+
 let dlival=ref('Kriging')
 let daililist = ref([
   { label: 'Kriging', value: 'Kriging' },
@@ -185,41 +207,41 @@ let daililist = ref([
   { label: 'HK', value: 'HK' },
   { label: 'MHK', value: 'MHK' },
 ])
-let dlival1=ref('三次样条函数')
+
 let daililist1= ref([
   { label: '各向异性高斯指数函数', value: '0' },
   { label: '各向同性高斯指数函数', value: '1' },
   { label: '三次样条函数', value: '2' },
 
 ])
-let dlival2=ref('0')
+
 let daililist2= ref([
-  { label: '不优化超参数', value: '0' },
-  { label: '使用随机初值优化超参数', value: '1' },
-  { label: '上一轮建模数据作为初值优化超参数', value: '2' },
+  { label: '不优化', value: '0' },
+  { label: '随机初值优化', value: '1' },
+  { label: '上一轮建模数据作为初值优化', value: '2' },
 
 ])
-let dlival3=ref('0')
+
 let daililist3= ref([
   { label: '普通Kriging', value: '0' },
   { label: '泛Kriging', value: '1' },
 
 ])
-let dlival4=ref('0')
+
 let daililist4= ref([
   { label: 'LU分解', value: '0' },
   { label: 'Cholesky分解', value: '1' },
-  { label: '采用第三方库并行分解', value: '2' },
+  { label: '第三方库并行分解', value: '2' },
 
 ])
-let dlival5=ref('1')
+
 let daililist5= ref([
   { label: 'HookeJeeves', value: '1' },
   { label: 'BFGS', value: '2' },
   { label: '单纯形搜索方法', value: '3' },
 
 ])
-let dlival6=ref('0')
+
 let daililist6= ref([
   { label: '不进行正则化', value: '0' },
   { label: '常数正则化', value: '1' },
@@ -227,6 +249,26 @@ let daililist6= ref([
 
 ])
 
+let daililist7= ref([
+  { label: 'EI+MSP', value: '0' },
+  { label: '局部EI', value: '1' },
+  { label: 'EI', value: '2' },
+  { label: 'MSP', value: '3' },
+  { label: 'LCB', value: '4' },
+  { label: 'PI', value: '5' },
+  { label: 'MSE', value: '6' },
+  { label: 'MSP+MSE', value: '7' },
+])
+
+let daililist8= ref([
+  { label: '当前最优+局部优化', value: '0' },
+  { label: '当前最优+局部优化+GA', value: '1' },
+])
+
+let daililist9= ref([
+  { label: '概率相乘法', value: '0' },
+])
+
 const getDoptimize = (id) => {
   pid.value = id;
   const params = {

+ 99 - 0
src/views/titlecomponent/Exreport.vue

@@ -0,0 +1,99 @@
+<template>
+  <el-form label-position="left">
+    <!-- <span>导出格式</span> -->
+    <el-form-item label="导出格式" :label-width="formLabelWidth">
+    </el-form-item>
+    <el-radio-group v-model="exformat">
+      <el-radio :value="doc">doc</el-radio>
+      <el-radio :value="pdf">pdf</el-radio>
+      <el-radio :value="HTML">HTML</el-radio>
+      <el-radio :value="image">image</el-radio>
+    </el-radio-group>
+    <div style="text-align: center;width: 100%;">
+      <el-transfer 
+      v-model="selectedvalue" 
+      :data="tranlist"
+      
+      />
+    </div>
+    <el-form-item label="选择文件:" :label-width="formLabelWidth">
+      <el-row style="width: 100%">
+        <el-col :span="24">
+          <el-input    
+            readonly
+          />
+        </el-col>
+        <!-- 文件上传按钮部分 -->
+        <el-col :span="1" style="display: flex; align-items: center; margin-left: -35px">
+          <fileUploads
+            :projectId="123" 
+            solverType="exampleSolver" 
+            accept="" 
+            upId="uniqueId1" 
+            name="点击选择文件"
+            :imgSrc="meshFileImgSrc"  
+          />
+        </el-col>
+      </el-row>
+    </el-form-item>
+    <div>
+      <el-checkbox-group>
+        <el-checkbox label="表1" value="表1"/>
+        <el-checkbox label="表1" value="表1"/>
+        <el-checkbox label="表1" value="表1"/>
+        <el-checkbox label="表1" value="表1"/>
+      </el-checkbox-group>
+    </div>
+    <el-form-item label="选择名称:" :label-width="formLabelWidth">
+      <el-row>
+        <el-col span="20">
+          <el-input></el-input>
+        </el-col>
+        <el-col span="4">
+          <el-button>打开</el-button>
+        </el-col>
+      </el-row>
+    </el-form-item>
+    <el-form-item label="文件类型:" :label-width="formLabelWidth">
+      <el-select v-model="selflietype">
+        <el-option 
+        v-for = "item in flietypelist" 
+        :key="item.value" 
+        :label="item.label" 
+        :value="item.value" 
+        />
+      </el-select>
+    </el-form-item>
+  </el-form>
+</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"
+
+import fileUploads from "../components/fileuploads.vue";
+const meshFileImgSrc = new URL("@/assets/img/open.png", import.meta.url).href;
+
+let formLabelWidth = ref(90)
+
+let exformat = ref('pdf')
+
+let selectedvalue = ref([])
+let selflietype = ref('Adobe PDF(*.pdf)')
+
+let tranlist = ref([
+  { key: '1', label: '表1' },
+  { key: '2', label: '表1' },
+  { key: '3', label: '表1' },
+  { key: '4', label: '表1' },
+])
+
+let flietypelist = ref([
+  { label:"Adobe PDF(*.pdf)", value:"pdf" },
+  { label:"Word 97-2003 Document(*.doc)", value:"doc" },
+  { label:"HTML(*.html)", value:"html" },
+  { label:"All Image Files(*.png,*.jpg,*.jpeg,*.gif)", value:"img" },
+])
+
+</script>

+ 3 - 3
src/views/titlecomponent/Xfoil.vue

@@ -75,8 +75,8 @@
       <div class="eldesign classtable" style="margin-top: 10px;height: 400px">
         <el-form-item label="计算完成:" :label-width="formLabelWidth1">
           <el-radio-group v-model="analyzed">
-            <el-radio label="1" value=1>是</el-radio>
-            <el-radio label="0" value=0>否</el-radio>
+            <el-radio label="1" value="1">是</el-radio>
+            <el-radio label="0" value="0">否</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="迭代次数:" :label-width="formLabelWidth1">
@@ -307,7 +307,7 @@ const getxfoilAssign = (data) => {
   xfoilvalue.value.cpwr = data.cpwr;
   xfoilvalue.value.yxzb = data.yxzb;
   xfoilvalue.value.pacc = data.pacc;
-  analyzed.value = data.analyzed;
+  analyzed.value = String(data.analyzed);
   inParams.value = data.inParams;
   outParams.value = data.outParams;
 }