Ver código fonte

6.4编写今天页面

liuqiao 1 ano atrás
pai
commit
dbeba55faa

+ 7 - 0
package-lock.json

@@ -8,6 +8,7 @@
       "name": "disater",
       "version": "0.0.0",
       "dependencies": {
+        "@element-plus/icons": "^0.0.11",
         "@element-plus/icons-vue": "^2.1.0",
         "@kitware/vtk.js": "^29.7.3",
         "axios": "^1.5.0",
@@ -1961,6 +1962,12 @@
         "node": ">=10"
       }
     },
+    "node_modules/@element-plus/icons": {
+      "version": "0.0.11",
+      "resolved": "https://registry.npmjs.org/@element-plus/icons/-/icons-0.0.11.tgz",
+      "integrity": "sha512-iKQXSxXu131Ai+I9Ymtcof9WId7kaXvB1+WRfAfpQCW7UiAMYgdNDqb/u0hgTo2Yq3MwC4MWJnNuTBEpG8r7+A==",
+      "deprecated": "Please use @element-plus/icons-vue instead."
+    },
     "node_modules/@element-plus/icons-vue": {
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz",

+ 1 - 0
package.json

@@ -11,6 +11,7 @@
     "lint:script": "eslint --ext .jsx,.vue,.tsx,.ts,.js --fix"
   },
   "dependencies": {
+    "@element-plus/icons": "^0.0.11",
     "@element-plus/icons-vue": "^2.1.0",
     "@kitware/vtk.js": "^29.7.3",
     "axios": "^1.5.0",

BIN
src/assets/img/q0.png


BIN
src/assets/img/q1.png


BIN
src/assets/img/q2.png


BIN
src/assets/img/q3.png


BIN
src/assets/img/r1.png


BIN
src/assets/img/r2.png


BIN
src/assets/img/t0.png


BIN
src/assets/img/t1.png


BIN
src/assets/img/t2.png


BIN
src/assets/img/t3.png


BIN
src/assets/img/t4.png


+ 56 - 1
src/style/index.css

@@ -160,4 +160,59 @@ body{
 .el-dialog__headerbtn{
     height: 40px !important;
     top: 3px;
-}
+}
+.el-button+.el-button{
+    background-color:#2267B1; 
+}
+.summary-dlg {
+    pointer-events: none;
+}
+.el-dialog {
+    pointer-events: auto;
+}
+.numberinput .el-input-number{
+    width: 100% !important;
+
+}
+.numberinput .el-input-number .el-input__inner{
+    text-align: left;
+}
+.el-form-item__label{
+    color: #6D6D6D;
+    font-size: 13px;
+    line-height: 30px;
+letter-spacing: 1px;
+text-align: right;
+font-style: normal;
+text-transform: none;
+}
+.no-border .el-input,.no-border  .el-input__wrapper {
+    border: none;
+    box-shadow: none !important;
+
+  }
+  .no-border .el-input__wrapper {
+    background-color: rgba(255, 255, 255, 0) !important; /* 设置为白色背景 */
+  }
+  .headersele{
+    width: 97px;
+    height: 9px;
+    margin-top: -15px;
+    background-color: #eee;
+  }
+  .headersele .select-trigger{
+    height: 9px;
+    overflow: hidden;
+  }
+  .headersele .el-input__inner{
+    display: none;
+  }
+  .headersele .el-input.is-focus .el-input__wrapper{
+    box-shadow:none !important;
+  }
+  .headersele .el-input .el-select__caret.el-icon{
+    top: -11px;
+  }
+  .sel .el-select{
+    width: 100%;
+  }

+ 655 - 23
src/views/index.vue

@@ -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>