|
@@ -901,17 +901,17 @@
|
|
|
<div class="youhualog youhualog1" style="height: 480px;">
|
|
|
<ul>
|
|
|
<li v-for="(tab, index) in xfoil" :key="index" :class="{ 'active2': activeIndex3 === index }"
|
|
|
- @click="activeIndex3 = index">{{ tab }}</li>
|
|
|
+ @click="dianjia(index)">{{ tab }}</li>
|
|
|
</ul>
|
|
|
<div class="chushij">
|
|
|
<el-button type="info" size="small" @click="initialize()">初始化</el-button>
|
|
|
</div>
|
|
|
<!-- 输入 -->
|
|
|
<div class="eldesign classtable" style="margin-top: 10px;" v-if="activeIndex3==0">
|
|
|
- <el-table :data="designtable" border style="width: 100%" height="400">
|
|
|
- <el-table-column prop="name" label="启用" width="50">
|
|
|
+ <el-table :data="srtable" border style="width: 100%" height="400">
|
|
|
+ <el-table-column prop="enable" label="启用" width="50">
|
|
|
<template v-slot="scope">
|
|
|
- <el-checkbox :label="false" v-model="scope.row.qi" />
|
|
|
+ <el-checkbox :false-label="'0'" :true-label="'1'" :label="false" v-model="scope.row.enable" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="name" label="参数">
|
|
@@ -919,16 +919,32 @@
|
|
|
<el-input v-model="row.name" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="yin" label="参数值1">
|
|
|
+ <el-table-column prop="v1" label="参数值1">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.yin" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.number="row.v1" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="cai" label="参数值2" width="100">
|
|
|
+ <el-table-column prop="v2" label="参数值2" width="100">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.cai" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.number="row.v2" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="操作" width="140">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="success"
|
|
|
+ @click.stop="susave(scope.$index, scope.row)"
|
|
|
+ >保存</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="danger"
|
|
|
+ @click.stop="sudelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<!-- 执行 -->
|
|
@@ -942,34 +958,50 @@
|
|
|
</div>
|
|
|
<!-- 输出 -->
|
|
|
<div class="eldesign classtable" style="margin-top: 10px;" v-if="activeIndex3==2">
|
|
|
- <el-table :data="designtable" border style="width: 100%" height="400">
|
|
|
- <el-table-column prop="name" label="启用" width="50">
|
|
|
- <template v-slot="scope">
|
|
|
- <el-checkbox :label="false" v-model="scope.row.qi" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-table :data="sctable" border style="width: 100%" height="400">
|
|
|
+ <el-table-column prop="enable" label="启用" width="50">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <el-checkbox :false-label="'0'" :true-label="'1'" :label="false" v-model="scope.row.enable" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<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="yin" label="参数值1">
|
|
|
+ <el-table-column prop="v1" label="参数值1">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.yin" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model="row.v1" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="cai" label="参数值2" width="100">
|
|
|
+ <el-table-column prop="v2" label="参数值2" width="100">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.cai" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model="row.v2" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="操作" width="140">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="success"
|
|
|
+ @click.stop="scsave(scope.$index, scope.row)"
|
|
|
+ >保存</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="danger"
|
|
|
+ @click.stop="scdelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
- <el-button type="primary" >新建 </el-button>
|
|
|
- <el-button @click="dialog.Xfiol = false">取消</el-button>
|
|
|
+ <el-button type="info" @click="newxfiol" >新建 </el-button>
|
|
|
+ <el-button type="info" @click="dialog.Xfiol = false">取消</el-button>
|
|
|
<el-button type="primary" @click="dialog.Xfiol = false">
|
|
|
确定
|
|
|
</el-button>
|
|
@@ -1082,12 +1114,12 @@
|
|
|
</el-table-column> -->
|
|
|
<el-table-column prop="s1" label="上限值">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.s1" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.Number="row.s1" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="x1" label="下限值">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.x1" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.Number="row.x1" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column prop="q" label="权重系数">
|
|
@@ -1097,7 +1129,7 @@
|
|
|
</el-table-column> -->
|
|
|
<el-table-column prop="f" label="基准值" width="100">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.f" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.Number="row.f" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="d" label="说明">
|
|
@@ -1144,7 +1176,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="address" label="约束基准值">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.address" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.Number="row.address" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -1191,18 +1223,19 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="q" label="权重系数">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.q" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.number="row.q" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="s" label="数据缩放">
|
|
|
+ <!-- :label="scope.row.s?'采用':'不采用'" -->
|
|
|
<template v-slot="scope">
|
|
|
- <el-checkbox :label="scope.row.qi?'采用':'不采用'" v-model="scope.row.qi" />
|
|
|
+ <el-checkbox :false-label="0" :true-label="1" :label="scope.row.s?'采用':'不采用'" v-model="scope.row.s" />
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="yin" label="缩放因子">
|
|
|
<template #default="{ row }">
|
|
|
- <el-input v-model="row.yin" @change="handleEdit(row)" />
|
|
|
+ <el-input v-model.number="row.yin" oninput ="value=value.replace(/^|[^0-9]/g,'')" @change="handleEdit(row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="d" label="说明" >
|
|
@@ -1272,14 +1305,18 @@
|
|
|
const route = useRoute();
|
|
|
let logs=ref("");
|
|
|
let pid=ref("");
|
|
|
+ let fid=ref('');
|
|
|
+ let conid=ref('');
|
|
|
let tableval=ref();
|
|
|
let vuefval=ref();
|
|
|
let elodingfalse=ref(false);
|
|
|
let footerShow=ref(true);
|
|
|
let tabName=ref("one")
|
|
|
const tabs = ['信息栏', '优化问题'];
|
|
|
- const listli = ['设计变量', '约束条件', '优化目标'];
|
|
|
+ const listli = ['设计变量', '约束条件', '目标函数'];
|
|
|
const xfoil = ['输入', '执行', '输出'];
|
|
|
+ let srtable=ref();
|
|
|
+ let sctable=ref();
|
|
|
// let quxian=ref([{
|
|
|
// val:'1',name:"设计变量",
|
|
|
// val:'2',name:"约束条件",
|
|
@@ -1289,7 +1326,7 @@
|
|
|
let quxian = ref([
|
|
|
{ label: '设计变量', value: '设计变量' },
|
|
|
{ label: '约束条件', value: '约束条件' },
|
|
|
- { label: '优化目标', value: '优化目标' },
|
|
|
+ { label: '目标函数', value: '目标函数' },
|
|
|
])
|
|
|
let quval = ref("设计变量")
|
|
|
const activeIndex = ref(0);
|
|
@@ -1332,8 +1369,8 @@ let quval = ref("设计变量")
|
|
|
{ label: '翼型面积', value: '翼型面积' },
|
|
|
])
|
|
|
let options3=ref([
|
|
|
-{ label: '大于', value: 1 },
|
|
|
-{ label: '小于', value: 0 },
|
|
|
+{ label: '大于', value: -1 },
|
|
|
+{ label: '小于', value: 1 },
|
|
|
])
|
|
|
let defaultExpandedArr=ref([]);
|
|
|
const defaultProps = {
|
|
@@ -1448,7 +1485,7 @@ let options3=ref([
|
|
|
])
|
|
|
|
|
|
let yslist = ref([
|
|
|
- { label: 'GA遗传算法', value: 'GA遗传算法' },
|
|
|
+ { label: 'GA', value: 'GA' },
|
|
|
{ label: 'PSO', value: 'PSO' },
|
|
|
{ label: 'NSGA2', value: 'NSGA2' },
|
|
|
])
|
|
@@ -1551,21 +1588,21 @@ let options3=ref([
|
|
|
])
|
|
|
const tableData = ref([
|
|
|
{
|
|
|
- name: '',
|
|
|
- da:0,
|
|
|
+ name: 'g1',
|
|
|
+ da:-1,
|
|
|
address:''
|
|
|
|
|
|
},
|
|
|
])
|
|
|
const designtable = ref([
|
|
|
- {
|
|
|
- name:"x1",
|
|
|
- s1:'1',
|
|
|
- x1:"2",
|
|
|
- f:"1",
|
|
|
- d:''
|
|
|
+ {
|
|
|
+ name:"x1",
|
|
|
+ s1:0,
|
|
|
+ x1:0,
|
|
|
+ f:0,
|
|
|
+ d:''
|
|
|
|
|
|
- },
|
|
|
+ }
|
|
|
])
|
|
|
const tasktable = ref([
|
|
|
{
|
|
@@ -1651,7 +1688,7 @@ console.log(route.query.pid);
|
|
|
}
|
|
|
//表格点击事件
|
|
|
const handleEdit = (row) => {
|
|
|
- console.log('编辑后的数据:', row);
|
|
|
+ // console.log('编辑后的数据:', row);
|
|
|
// 在这里处理数据保存逻辑,例如发送请求到后端更新数据
|
|
|
};
|
|
|
const footerClick = (tab, event) => {
|
|
@@ -1774,10 +1811,10 @@ console.log(route.query.pid);
|
|
|
if(activeIndex2.value==0){
|
|
|
for (let i = 0; i < tablevalnum; i++) {
|
|
|
designtable.value.push( {
|
|
|
- name:"",
|
|
|
- s1:'',
|
|
|
- x1:"",
|
|
|
- f:"",
|
|
|
+ name:"x1",
|
|
|
+ s1:0,
|
|
|
+ x1:0,
|
|
|
+ f:0,
|
|
|
d:''
|
|
|
|
|
|
})
|
|
@@ -1785,8 +1822,8 @@ console.log(route.query.pid);
|
|
|
} else if(activeIndex2.value==1){
|
|
|
for (let i = 0; i < tablevalnum; i++) {
|
|
|
tableData.value.push( {
|
|
|
- name: '',
|
|
|
- da:0,
|
|
|
+ name: 'g1',
|
|
|
+ da:-1,
|
|
|
address:''
|
|
|
|
|
|
})
|
|
@@ -1796,9 +1833,9 @@ console.log(route.query.pid);
|
|
|
eloptimize.value.push({
|
|
|
name:"",
|
|
|
f:1,
|
|
|
- q:Number(),
|
|
|
- s:Number(),
|
|
|
- yin:Number(),
|
|
|
+ q:0,
|
|
|
+ s:0,
|
|
|
+ yin:0,
|
|
|
d:'',
|
|
|
})
|
|
|
|
|
@@ -1806,51 +1843,63 @@ console.log(route.query.pid);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+//对象数组转化字符串
|
|
|
+const getarr=(name,arrays)=>{
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
+ let arr=[];
|
|
|
+ for (const key in arrays[i]) {
|
|
|
+ if ( arrays[i].hasOwnProperty(key)) {
|
|
|
+ arr.push(arrays[i][key]);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+for (let j = 0; j < arr.length; j++) {
|
|
|
+ if(typeof arr[j]==='string'&&arr[j]==""){
|
|
|
+ console.log(11111)
|
|
|
+ arr[j]=" ";
|
|
|
+ }
|
|
|
+}
|
|
|
+console.log(arr)
|
|
|
+ const valuesWithSemiColons = arr.join(',');
|
|
|
+ name+= valuesWithSemiColons + ';';
|
|
|
+
|
|
|
+ }
|
|
|
+ console.log(name)
|
|
|
+ return name;
|
|
|
+}
|
|
|
const onokItem=()=>{
|
|
|
console.log(activeIndex2.value);
|
|
|
if(activeIndex2.value==0){
|
|
|
svarlist.value='';
|
|
|
- for (let i = 0; i < designtable.value.length; i++) {
|
|
|
- console.log(designtable.value[i])
|
|
|
- const values = Object.values(designtable.value[i]);
|
|
|
- const valuesWithSemiColons = values.join(',');
|
|
|
- svarlist.value+= valuesWithSemiColons +','+ ';';
|
|
|
- }
|
|
|
- devise();
|
|
|
+ svarlist.value= getarr(svarlist.value,designtable.value)
|
|
|
+ // for (let i = 0; i < designtable.value.length; i++) {
|
|
|
+ // const values2 = Object.values(designtable.value[i]);
|
|
|
+ // console.log(values2);
|
|
|
+ // for (let j = 0; j < values2.length; j++) {
|
|
|
+ // console.log(values2[j]);
|
|
|
+ // if(values2[j]==""){
|
|
|
+ // values2[j]=" ";
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // let valuesWithSemiColons2 = values2.join(',');
|
|
|
+ // svarlist.value+= valuesWithSemiColons2 + ';';
|
|
|
+ // };
|
|
|
+ // console.log( svarlist.value);
|
|
|
+ devise();
|
|
|
|
|
|
} else if(activeIndex2.value==1){
|
|
|
conlist.value='';
|
|
|
- for (let i = 0; i < tableData.value.length; i++) {
|
|
|
- const values1 = Object.values(tableData.value[i]);
|
|
|
- console.log(values1);
|
|
|
- for (let j = 0; j < values1.length; j++) {
|
|
|
- if(values1[j]==""){
|
|
|
- values1[j]=" ";
|
|
|
- }
|
|
|
- }
|
|
|
- let valuesWithSemiColons1 = values1.join(',');
|
|
|
- conlist.value+= valuesWithSemiColons1 + ';';
|
|
|
- };
|
|
|
+ conlist.value= getarr( conlist.value, tableData.value)
|
|
|
restrain();
|
|
|
|
|
|
}else if(activeIndex2.value==2){
|
|
|
funlist.value='';
|
|
|
- for (let i = 0; i < eloptimize.value.length; i++) {
|
|
|
- const values2 = Object.values(eloptimize.value[i]);
|
|
|
- console.log(values2);
|
|
|
- for (let j = 0; j < values2.length; j++) {
|
|
|
- if(values2[j]==""){
|
|
|
- values2[j]=" ";
|
|
|
- }
|
|
|
- }
|
|
|
- let valuesWithSemiColons2 = values2.join(',');
|
|
|
- funlist.value+= valuesWithSemiColons2 + ';';
|
|
|
- };
|
|
|
- console.log(conlist.value);
|
|
|
+ funlist.value= getarr(funlist.value,eloptimize.value)
|
|
|
funlistaa();
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//设计变量的添加
|
|
|
const devise=()=>{
|
|
|
const params = {
|
|
@@ -1928,16 +1977,159 @@ const importget=()=>{
|
|
|
transCode: 'MDO0012',
|
|
|
pid:pid.value,
|
|
|
}
|
|
|
+ request(params)
|
|
|
+ .then((res) => {
|
|
|
+ srtable.value=res.rows;
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ElMessage.error(err.returnMsg)
|
|
|
+ })
|
|
|
+}
|
|
|
+//输入保存
|
|
|
+const susave=(index,row)=>{
|
|
|
+console.log(row);
|
|
|
+const params = {
|
|
|
+ transCode: 'MDO0013',
|
|
|
+ pid:pid.value,
|
|
|
+ inid:row.inid,
|
|
|
+ vid:row.vid,
|
|
|
+ enable:row.enable,
|
|
|
+ name:row.name,
|
|
|
+ v1:row.v1,
|
|
|
+ v2:row.v2
|
|
|
+ }
|
|
|
request(params)
|
|
|
.then((res) => {
|
|
|
ElMessage({
|
|
|
- message: res.returnMsg,
|
|
|
+ message: '保存成功',
|
|
|
+ type: 'success',
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ElMessage.error(err.returnMsg)
|
|
|
+ })
|
|
|
+}
|
|
|
+// 输入的删除
|
|
|
+
|
|
|
+const suelete=(index,row)=>{
|
|
|
+console.log(row);
|
|
|
+const params = {
|
|
|
+ transCode: 'MDO0014',
|
|
|
+ inid:row.inid,
|
|
|
+ }
|
|
|
+ request(params)
|
|
|
+ .then((res) => {
|
|
|
+ importget();
|
|
|
+ ElMessage({
|
|
|
+ message:" 删除成功",
|
|
|
type: 'success',
|
|
|
})
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
ElMessage.error(err.returnMsg)
|
|
|
})
|
|
|
+}
|
|
|
+//输入输出的新建
|
|
|
+const newxfiol=()=>{
|
|
|
+if(activeIndex3.value==0){
|
|
|
+ srtable.value.push({
|
|
|
+ name:"",
|
|
|
+ v1:'0',
|
|
|
+ v2:'0',
|
|
|
+ enable:'0'
|
|
|
+
|
|
|
+ })
|
|
|
+}else if(activeIndex3.value==2){
|
|
|
+ console.log( sctable.value);
|
|
|
+ sctable.value.push({
|
|
|
+ name:"",
|
|
|
+ v1:'',
|
|
|
+ v2:'',
|
|
|
+ enable:'0'
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+// 点击掉查询接口
|
|
|
+const dianjia=(index)=>{
|
|
|
+ activeIndex3.value=index;
|
|
|
+ if(activeIndex3.value==0){
|
|
|
+ importget()
|
|
|
+}else if(activeIndex3.value==2){
|
|
|
+ console.log(11111)
|
|
|
+ exportget();
|
|
|
+}
|
|
|
+}
|
|
|
+
|
|
|
+//输出参数查询
|
|
|
+const exportget=()=>{
|
|
|
+ const params = {
|
|
|
+ transCode: 'MDO0015',
|
|
|
+ pid:pid.value,
|
|
|
+ }
|
|
|
+ request(params)
|
|
|
+ .then((res) => {
|
|
|
+ sctable.value=res.rows;
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ElMessage.error(err.returnMsg)
|
|
|
+ })
|
|
|
+}
|
|
|
+// 输出保存
|
|
|
+const scsave=(index,row)=>{
|
|
|
+if(row.hasOwnProperty('fid')==true){
|
|
|
+ fid.value=row.fid;
|
|
|
+}
|
|
|
+if(row.hasOwnProperty('conid')==true){
|
|
|
+ conid.value=row.conid;
|
|
|
+}
|
|
|
+const params = {
|
|
|
+ transCode: 'MDO0016',
|
|
|
+ pid:pid.value,
|
|
|
+ outid:row.outid,
|
|
|
+ fid:fid.value,
|
|
|
+ conid:conid.value,
|
|
|
+ enable:row.enable,
|
|
|
+ name:row.name,
|
|
|
+ v1:row.v1,
|
|
|
+ v2:row.v2
|
|
|
+ }
|
|
|
+ request(params)
|
|
|
+ .then((res) => {
|
|
|
+ ElMessage({
|
|
|
+ message: '保存成功',
|
|
|
+ type: 'success',
|
|
|
+ })
|
|
|
+ exportget();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ElMessage.error(err.returnMsg)
|
|
|
+ })
|
|
|
+}
|
|
|
+//输出删除scdelete
|
|
|
+const scdelete=(index,row)=>{
|
|
|
+console.log(row);
|
|
|
+if(row.hasOwnProperty('outid')==false){
|
|
|
+ console.log(2222)
|
|
|
+}else{
|
|
|
+const params = {
|
|
|
+ transCode: 'MDO0017',
|
|
|
+ outid:row.outid,
|
|
|
+ }
|
|
|
+ request(params)
|
|
|
+ .then((res) => {
|
|
|
+ exportget();
|
|
|
+ ElMessage({
|
|
|
+ message:" 删除成功",
|
|
|
+ type: 'success',
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ElMessage.error(err.returnMsg)
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
// 日志框
|
|
|
// 日志的文本框
|