|
@@ -0,0 +1,141 @@
|
|
|
+<template>
|
|
|
+ <div class="XFpdding" style="height: 350px;">
|
|
|
+ <ul>
|
|
|
+ <li
|
|
|
+ class="item"
|
|
|
+ v-for="(tab, index) in tabslist1"
|
|
|
+ :key="index"
|
|
|
+ :class="{ active: currentTab1 === index }"
|
|
|
+ @click="selectTab1(index)"
|
|
|
+ >
|
|
|
+ <img :src="tab.imgSrc" style="width: 22px;"/>
|
|
|
+ {{ tab.name }}
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <div v-show="currentTab1 == '0'" class="eldesign classtable" style="margin-top: 10px">
|
|
|
+ <el-table :data="xvaluelist" border style="width: 100%; " :header-cell-class-name="headerCellClassName">
|
|
|
+ <el-table-column type="index" width="70" label="编号"/>
|
|
|
+ <el-table-column prop="name" label="参数名称">
|
|
|
+ <!-- <template #default="{ row }">
|
|
|
+ <el-input v-model="row.name" />
|
|
|
+ </template> -->
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="value" label="参数值">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.value" type="number" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="flag" label="启用" width="100">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-checkbox
|
|
|
+ :false-label="-1"
|
|
|
+ :true-label="1"
|
|
|
+ :label="false"
|
|
|
+ v-model="scope.row.flag"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-show="currentTab1 == '1'" style="margin-top: 10px">
|
|
|
+ <PythonEdit :value="textarea" language="python" />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-show="currentTab1 == '2'" class="eldesign classtable" style="margin-top: 10px">
|
|
|
+ <el-table :data="yvaluelist" border style="width: 100%; height: 280px" :header-cell-class-name="headerCellClassName">
|
|
|
+ <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="value" label="参数值">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.value" type="number" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="flag" label="启用" width="100">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-checkbox
|
|
|
+ :false-label="0"
|
|
|
+ :true-label="1"
|
|
|
+ :label="false"
|
|
|
+ v-model="scope.row.flag"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script setup>
|
|
|
+import { ref, onMounted, reactive, provide, nextTick } from "vue"
|
|
|
+import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
|
|
|
+import { request, uploadFile } from "@/utils/request"
|
|
|
+
|
|
|
+import PythonEdit from '@/components/PythonEditor/index.vue';
|
|
|
+import configParams from "@/assets/img/configParams.png";
|
|
|
+import MathFuncX from "@/assets/img/MathFuncX.png";
|
|
|
+import MathFuncFx from "@/assets/img/MathFuncFx.png";
|
|
|
+import MathFuncY from "@/assets/img/MathFuncY.png";
|
|
|
+
|
|
|
+let currentTab1 = ref(0)
|
|
|
+
|
|
|
+let tabslist1 = ref([
|
|
|
+ { id: "0", name: "自变量x", imgSrc: MathFuncX },
|
|
|
+ { id: "1", name: "表达式y=F(x)", imgSrc: MathFuncFx },
|
|
|
+ { id: "2", name: "因变量y", imgSrc: MathFuncY },
|
|
|
+])
|
|
|
+
|
|
|
+let xvaluelist = ref([
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+])
|
|
|
+
|
|
|
+let textarea = ref(`import os
|
|
|
+import numpy as np
|
|
|
+from surromdao.solver import BaseSolver
|
|
|
+
|
|
|
+class Branin(BaseSolver):
|
|
|
+ def __init__(self, filename=os.path):
|
|
|
+ super().__init__(filename)
|
|
|
+
|
|
|
+ def compute(self, xdict):
|
|
|
+ x = np.zeros(2)
|
|
|
+ # x[1] = x[2]`);
|
|
|
+
|
|
|
+let yvaluelist = ref([
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+ { name: "00", value: 0, flag: 1 },
|
|
|
+])
|
|
|
+
|
|
|
+let emit = defineEmits(['selectTab']);
|
|
|
+const selectTab1 = (index) => {
|
|
|
+ // console.log('dayin',index);
|
|
|
+ currentTab1.value = index;
|
|
|
+ // console.log('currentTab1',currentTab1.value);
|
|
|
+ emit('selectTab', index);
|
|
|
+}
|
|
|
+
|
|
|
+const headerCellClassName = ({ column }) => {
|
|
|
+ // console.log('列:',column.property)
|
|
|
+ if (column.property === 'name') {
|
|
|
+ console.log('yanse',column.property)
|
|
|
+ return 'header-blue';
|
|
|
+ } else if (column.property === 'value') {
|
|
|
+ return 'header-green';
|
|
|
+ } else if (column.property === 'flag') {
|
|
|
+ return 'header-yellow';
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+</script>
|