|
@@ -13,7 +13,97 @@
|
|
|
<div class="imgzong">
|
|
|
<!-- <button @click="etImgPath()"></button> -->
|
|
|
<div class="listitem lbg_color3 bkcolor3" v-for="(item, index) in Startlist" :key="'one0-' + index"
|
|
|
- :class="{ activeOrange: active == 'one0-' + index }" @click="clickgeometry($event, index, 'one0-' + index)">
|
|
|
+ :class="{ activeOrange: active == 'one0-' + index }"
|
|
|
+ @click="clickgeometry($event, index, 'one0-' + index)">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath(item.url)" fit="cover" />
|
|
|
+ <span>{{ item.titlie }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="优化问题" name="Config">
|
|
|
+ <div class="imgzong">
|
|
|
+ <!-- <button @click="etImgPath()"></button> -->
|
|
|
+ <div class="listitem lbg_color3 bkcolor3" v-for="(item, index) in question" :key="'Config-' + index"
|
|
|
+ :class="{ activeOrange: active == 'one0-' + index }"
|
|
|
+ @click="clickgeometry($event, index, 'Config-' + index)">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath(item.url)" fit="cover" />
|
|
|
+ <span>{{ item.titlie }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="优化流程" name="Role">
|
|
|
+ <div class="imgzong">
|
|
|
+ <div class="listitem lbg_color3 bkcolor3"
|
|
|
+ @click="clickgeometry($event, index, 'Role-'+ '1' )">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath('r1.png')" fit="cover" />
|
|
|
+ <span>{{ modelban }}</span>
|
|
|
+ <el-select v-model="modelban" class="no-border headersele" :suffix-icon="CaretBottom">
|
|
|
+ <el-option-group
|
|
|
+ v-for="group in optiongroup"
|
|
|
+ :key="group.label"
|
|
|
+ :label="group.label"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in group.options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-option-group>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="listitem lbg_color3 bkcolor3"
|
|
|
+ @click="clickgeometry($event, index, 'Role-'+ '2' )">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath('r2.png')" fit="cover" />
|
|
|
+ <span>{{ undmodel }}</span>
|
|
|
+ <el-select v-model="undmodel" class="no-border headersele" :suffix-icon="CaretBottom">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options4"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="优化模型" name="Task">
|
|
|
+ <div class="imgzong">
|
|
|
+ <!-- <button @click="etImgPath()"></button> -->
|
|
|
+ <div class="listitem lbg_color3 bkcolor3" v-for="(item, index) in tasktion" :key="'Task-' + index"
|
|
|
+ :class="{ activeOrange: active == 'Task-' +'11' }"
|
|
|
+ @click="clickgeometry($event, index, 'Task-' + '11')">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath(item.url)" fit="cover" />
|
|
|
+ <span>{{ item.titlie }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="listitem lbg_color3 bkcolor3"
|
|
|
+ @click="clickgeometry($event, index, 'Task-'+ '22' )">
|
|
|
+ <div class="item2 ">
|
|
|
+ <el-image :src="getImgPath('t1.png')" fit="cover" />
|
|
|
+ <span>{{ tasksel }}</span>
|
|
|
+ <el-select v-model="tasksel" class="no-border headersele" :suffix-icon="CaretBottom">
|
|
|
+ <el-option
|
|
|
+ v-for="item in tasklist"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="listitem lbg_color3 bkcolor3" v-for="(item, index) in tasktion2" :key="'Task-' + index"
|
|
|
+ :class="{ activeOrange: active == 'Task-' + index }"
|
|
|
+ @click="clickgeometry($event, index, 'Task-' + index)">
|
|
|
<div class="item2 ">
|
|
|
<el-image :src="getImgPath(item.url)" fit="cover" />
|
|
|
<span>{{ item.titlie }}</span>
|
|
@@ -21,9 +111,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="优化问题" name="Config">优化问题</el-tab-pane>
|
|
|
- <el-tab-pane label="优化流程" name="Role">优化流程</el-tab-pane>
|
|
|
- <el-tab-pane label="优化模型" name="Task">优化模型</el-tab-pane>
|
|
|
<el-tab-pane label="优化运行" name="Three">优化运行</el-tab-pane>
|
|
|
<el-tab-pane label="优化结果" name="Six">优化结果</el-tab-pane>
|
|
|
<el-tab-pane label="数据库管理" name="Seven">数据库管理</el-tab-pane>
|
|
@@ -31,9 +118,9 @@
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
<!-- 新建任务 -->
|
|
|
- <!-- 添加弹窗 -->
|
|
|
- <el-dialog v-model="dialog.newdialog" align-center :append-to-body="true" width="480"
|
|
|
- class="dialog_class bgcolor tianjia">
|
|
|
+ <el-dialog v-model="dialog.newdialog" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="480" class="dialog_class bgcolor tianjia">
|
|
|
|
|
|
<template #header="{ titleId, titleClass }">
|
|
|
<div class="my-header ">
|
|
@@ -66,13 +153,340 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="dialog.newdialog = false">Cancel</el-button>
|
|
|
- <el-button type="primary" @click="dialog.newdialog= false">
|
|
|
- Confirm
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.newdialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.newdialog = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 问题设定 -->
|
|
|
+ <el-dialog v-model="dialog.setdialog" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="480" class="dialog_class bgcolor tianjia">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('q0.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">问题设定</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="numberinput">
|
|
|
+ <el-form>
|
|
|
+ <el-form-item label="目标函数个数:" :label-width="formLabelWidth1">
|
|
|
+ <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="建立代理模型约束个数:" :label-width="formLabelWidth1">
|
|
|
+ <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="不建立代理模型约束个数:" :label-width="formLabelWidth1">
|
|
|
+ <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.setdialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.setdialog = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 优化目标 -->
|
|
|
+ <el-dialog v-model="dialog.targetdialog" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="50%" class="dialog_class bgcolor tianjia">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('q1.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">优化目标</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div>
|
|
|
+
|
|
|
+ <el-table :data="tableData" stripe style="width: 100%">
|
|
|
+ <el-table-column type="index" label="编号" width="70" />
|
|
|
+ <el-table-column prop="qi" label="启用" width="70">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-checkbox :label="false" v-model="scope.row.qi" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="data" label="目标类型" width="120">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-select v-model="scope.row.device" class="no-border " :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="优化方向" width="100">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-select class="no-border " v-model="scope.row.z" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options1"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="q" label="权重系数"/>
|
|
|
+ <el-table-column prop="cai" label="采用基准翼型数据缩放" width="180">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-checkbox :label="scope.row.qi?'采用':'不采用'" v-model="scope.row.qi" />
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="yin" label="缩放因子" />
|
|
|
+ <el-table-column prop="address" label="备注" width="200" />
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.targetdialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="targetclick(); dialog.targetdialog = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 设计变量 -->
|
|
|
+ <el-dialog v-model="dialog.design" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="50%" class="dialog_class bgcolor tianjia">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('q2.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">设计变量</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div>
|
|
|
+
|
|
|
+ <el-table :data="designtable" stripe style="width: 100%">
|
|
|
+ <el-table-column type="index" label="编号" width="70" />
|
|
|
+ <el-table-column prop="name" label="变量名称" width="100"/>
|
|
|
+ <el-table-column prop="date" label="变量类型" width="120"/>
|
|
|
+ <el-table-column prop="name" label="上限值" width="100"/>
|
|
|
+ <el-table-column prop="q" label="权重系数"/>
|
|
|
+ <el-table-column prop="cai" label="基准值" width="100"/>
|
|
|
+ <el-table-column prop="yin" label="下限值" />
|
|
|
+ <el-table-column prop="address" label="备注" />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.design = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.design = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 约束条件 -->
|
|
|
+ <el-dialog v-model="dialog.constraint" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="800" class="dialog_class bgcolor tianjia">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('q3.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">约束条件</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div>
|
|
|
+
|
|
|
+ <el-table :data="tableData" stripe style="width: 100%">
|
|
|
+ <el-table-column type="index" label="编号" width="100" />
|
|
|
+ <el-table-column prop="data" label="约束类型" >
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-select v-model="scope.row.device" class="no-border " :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options2"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="约束关系" >
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-select class="no-border " v-model="scope.row.z" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options3"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="address" label="约束基准值" />
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.constraint = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click=" dialog.constraint = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 外形参数化 -->
|
|
|
+ <el-dialog v-model="dialog.parameter" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="480" class="dialog_class bgcolor tianjia sel">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('t0.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">外形参数化</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="numberinput">
|
|
|
+ <el-form>
|
|
|
+ <el-form-item label="参数化方法:" :label-width="formLabelWidth6">
|
|
|
+ <el-select v-model="canshu" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in canshulist"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.parameter = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.parameter = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 代理模型 -->
|
|
|
+ <el-dialog v-model="dialog.agency" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="480" class="dialog_class bgcolor tianjia sel">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('t2.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">代理模型</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="numberinput">
|
|
|
+ <el-form>
|
|
|
+ <el-form-item label="代理模型类型:" :label-width="formLabelWidth2">
|
|
|
+ <el-select v-model="canshu" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in agelist"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="设计空间类型:" :label-width="formLabelWidth2">
|
|
|
+ <el-select v-model="canshu" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in agelist1"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="试验设计方法:" :label-width="formLabelWidth2">
|
|
|
+ <el-select v-model="canshu" :suffix-icon="CaretBottom" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in agelist2"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="初始样本点数:" :label-width="formLabelWidth2">
|
|
|
+ <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.agency = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.agency = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 终止条件 -->
|
|
|
+ <el-dialog v-model="dialog.enddialog" align-center :modal="false" :close-on-click-modal="true"
|
|
|
+ :append-to-body="true" draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg"
|
|
|
+ :before-close="handleClose" width="480" class="dialog_class bgcolor tianjia sel">
|
|
|
+
|
|
|
+ <template #header="{ titleId, titleClass }">
|
|
|
+ <div class="my-header ">
|
|
|
+ <el-image :src="getImgPath('t4.png')" fit="contain"></el-image>
|
|
|
+ <h4 :id="titleId" :class="titleClass">终止条件</h4>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="numberinput">
|
|
|
+ <el-form>
|
|
|
+ <el-form-item label="EI最小值:" :label-width="formLabelWidth1">
|
|
|
+ <el-input v-model="name" 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 label="目标函数收敛误差:" :label-width="formLabelWidth1">
|
|
|
+ <el-input v-model="name" 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 label="优化解收敛精度:" :label-width="formLabelWidth1">
|
|
|
+ <el-input v-model="name" 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 label="真实函数约束精度:" :label-width="formLabelWidth1">
|
|
|
+ <el-input v-model="name" 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 label="代理模型约束精度:" :label-width="formLabelWidth1">
|
|
|
+ <el-input v-model="name" 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>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="dialog.enddialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dialog.enddialog = false">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</el-main>
|
|
@@ -84,36 +498,254 @@
|
|
|
import { ref, onMounted, reactive, } from "vue";
|
|
|
import myheader from "@/components/header.vue"
|
|
|
import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
|
|
|
+import { Edit,CaretBottom } from '@element-plus/icons-vue'
|
|
|
import '@/utils/flexible'
|
|
|
import s0 from "@/assets/img/s0.png"
|
|
|
const activeName = ref('User')
|
|
|
let active = ref('');
|
|
|
-let formLabelWidth6=ref(100)
|
|
|
+let formLabelWidth6 = ref(100)
|
|
|
+let formLabelWidth1 = ref(200)
|
|
|
+let formLabelWidth2 = ref(130)
|
|
|
+let modelban=ref("模版");
|
|
|
+let undmodel=ref("自定义");
|
|
|
+let tasksel=ref("学科组件")
|
|
|
+let canshu=ref();
|
|
|
let Startlist = ref([
|
|
|
{ url: 's0.png', titlie: "新建任务" },
|
|
|
{ url: 's1.png', titlie: "打开任务" },
|
|
|
{ url: 's2.png', titlie: "保存任务" },
|
|
|
{ url: 's3.png', titlie: "关闭任务" },
|
|
|
])
|
|
|
-let dialog=ref({
|
|
|
- newdialog:false
|
|
|
+let question = ref([
|
|
|
+ { url: 'q0.png', titlie: "问题设定" },
|
|
|
+ { url: 'q1.png', titlie: "优化目标" },
|
|
|
+ { url: 'q2.png', titlie: "设计变量" },
|
|
|
+ { url: 'q3.png', titlie: "约束条件" },
|
|
|
+])
|
|
|
+let roletion = ref([
|
|
|
+ { url: 'r1.png', titlie: "模版" },
|
|
|
+ { url: 'r2.png', titlie: "自定义" },
|
|
|
+])
|
|
|
+let tasktion = ref([
|
|
|
+ { url: 't0.png', titlie: "外形参数化" },
|
|
|
+])
|
|
|
+let tasktion2 = ref([
|
|
|
+ { url: 't2.png', titlie: "代理模型" },
|
|
|
+ { url: 't3.png', titlie: "加点方法" },
|
|
|
+ { url: 't4.png', titlie: "终止条件" },
|
|
|
+])
|
|
|
+let canshulist = ref([
|
|
|
+{ label: 'CST参数化', value: 'CST参数化' },
|
|
|
+{ label: 'FFD参数化', value: 'FFD参数化' },
|
|
|
+])
|
|
|
+let agelist = ref([
|
|
|
+{ label: 'Kriging模型', value: 'Kriging模型' },
|
|
|
+{ label: '相关函数类型', value: '相关函数类型' },
|
|
|
+{ label: '超参数优化方法', value: '超参数优化方法' },
|
|
|
+{ label: 'Hooke Jeeves方法循环次数', value: 'Hooke Jeeves方法循环次数' },
|
|
|
+])
|
|
|
+let agelist1 = ref([
|
|
|
+{ label: '固定设计空间', value: '固定设计空间' },
|
|
|
+])
|
|
|
+let agelist2 = ref([
|
|
|
+{ label: '拉丁超立方', value: '拉丁超立方' },
|
|
|
+])
|
|
|
+let dialog = ref({
|
|
|
+ newdialog: false,
|
|
|
+ setdialog: false,
|
|
|
+ targetdialog: false,
|
|
|
+ design:false,
|
|
|
+ constraint:false,
|
|
|
+ parameter:false,
|
|
|
+ agency:false,
|
|
|
+ enddialog:false,
|
|
|
})
|
|
|
-let name=ref("1")
|
|
|
+let options=ref([
|
|
|
+{ label: '升阻比', value: '升阻比' },
|
|
|
+{ label: 'RCS', value: 'RCS' },
|
|
|
+])
|
|
|
+let options1=ref([
|
|
|
+{ label: '增大', value: '增大' },
|
|
|
+{ label: '减小', value: '减小' },
|
|
|
+])
|
|
|
+let options2=ref([
|
|
|
+{ label: '升力系数', value: '升力系数' },
|
|
|
+{ label: '翼型面积', value: '翼型面积' },
|
|
|
+])
|
|
|
+let options3=ref([
|
|
|
+{ label: '大于', value: '大于' },
|
|
|
+{ label: '小于', value: '小于' },
|
|
|
+])
|
|
|
+let options4=ref([
|
|
|
+{ label: '流程', value: '流程' },
|
|
|
+{ label: '循环', value: '循环' },
|
|
|
+{ label: '条件', value: '条件' },
|
|
|
+])
|
|
|
+let tasklist=ref([
|
|
|
+{ label: '气动', value: '气动' },
|
|
|
+{ label: '结构', value: '结构' },
|
|
|
+{ label: '隐身', value: '隐身' },
|
|
|
+{ label: '噪声', value: '噪声' },
|
|
|
+])
|
|
|
+
|
|
|
+const optiongroup = [
|
|
|
+ {
|
|
|
+ label: '大飞机',
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ value: '气动优化',
|
|
|
+ label: '气动优化',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '气弹优化',
|
|
|
+ label: '气弹优化',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '直升机',
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ value: '气动优化',
|
|
|
+ label: '气动优化',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '气弹优化',
|
|
|
+ label: '气弹优化',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '气动噪声优化',
|
|
|
+ label: '气动噪声优化',
|
|
|
+ },
|
|
|
+
|
|
|
+ ],
|
|
|
+ },
|
|
|
+]
|
|
|
+const tableData = ref([
|
|
|
+ {
|
|
|
+ qi:"false",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ qi:"true",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ qi:"false",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+])
|
|
|
+const designtable = ref([
|
|
|
+ {
|
|
|
+ name:"false",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name:"true",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name:"false",
|
|
|
+ date: '2016-05-03',
|
|
|
+ device: '升阻比',
|
|
|
+ z: '增大',
|
|
|
+ q:1.0,
|
|
|
+ cai:false,
|
|
|
+ yin:1.0,
|
|
|
+ address:'serrrrrrr'
|
|
|
+
|
|
|
+ },
|
|
|
+])
|
|
|
+
|
|
|
+let name = ref("1")
|
|
|
+let num = ref(1)
|
|
|
const getImgPath = (url) => {
|
|
|
return new URL(`../assets/img/${url}`, import.meta.url).href
|
|
|
}
|
|
|
const handleClick = (tab, event) => {
|
|
|
- console.log(tab, event)
|
|
|
+ // console.log(tab, event)
|
|
|
}
|
|
|
// 模块选择
|
|
|
const clickgeometry = (e, index, key) => {
|
|
|
console.log(key);
|
|
|
switch (key) {
|
|
|
- case "one0-0":
|
|
|
- dialog.value.newdialog=true;
|
|
|
-
|
|
|
- break;
|
|
|
+ case "one0-0":
|
|
|
+ dialog.value.newdialog = true;
|
|
|
+ break;
|
|
|
+ case "Config-0":
|
|
|
+ dialog.value.setdialog = true;
|
|
|
+ break;
|
|
|
+ case "Config-1":
|
|
|
+ dialog.value.targetdialog = true;
|
|
|
+ break;
|
|
|
+ case "Config-2":
|
|
|
+ dialog.value.design = true;
|
|
|
+ break;
|
|
|
+ case "Config-3":
|
|
|
+ dialog.value.constraint = true;
|
|
|
+ break;
|
|
|
+ case "Task-11":
|
|
|
+ dialog.value.parameter = true;
|
|
|
+ break;
|
|
|
+ case "Task-0":
|
|
|
+ dialog.value.agency = true;
|
|
|
+ break;
|
|
|
+ case "Task-1":
|
|
|
+ dialog.value.agency = true;
|
|
|
+ break;
|
|
|
+ case "Task-2":
|
|
|
+ dialog.value.enddialog = true;
|
|
|
+ break;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+const deviceSelectChange = () => {
|
|
|
+
|
|
|
+}
|
|
|
+const handleClose = (done) => {
|
|
|
+ console.log(111)
|
|
|
+ dialog.value.newdialog = false;
|
|
|
+ done();
|
|
|
+};
|
|
|
+const targetclick=()=>{
|
|
|
+ console.log(tableData.value)
|
|
|
+}
|
|
|
</script>
|
|
|
<style lang="scss" scoped></style>
|