|
|
@@ -43,21 +43,25 @@
|
|
|
<el-table-column prop="trainedStatus" label="训练状态">
|
|
|
<template #default="scope">
|
|
|
<div v-if="scope.row.trainedStatus==='已训练'" >
|
|
|
- <el-button type="text" icon="el-icon-video-play" class="yellow"
|
|
|
+ <el-button type="text" icon="el-icon-circle-check" class="yellow"
|
|
|
@click="handleTrainRes(scope.$index, scope.row)">查看训练结果</el-button>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-button type="text" icon="el-icon-video-play" class="green"
|
|
|
- @click="handleTrain(scope.$index, scope.row)">模型训练</el-button>
|
|
|
+ @click="handleTrain(scope.row.modelId)">模型训练</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="180" align="center">
|
|
|
<template #default="scope">
|
|
|
-
|
|
|
- <el-button type="text" icon="el-icon-mouse"
|
|
|
- @click="editUseModel(scope.$index, scope.row)">模型使用
|
|
|
+ <div v-if="scope.row.trainedStatus==='已训练'">
|
|
|
+ <el-button type="text" icon="el-icon-mouse"
|
|
|
+ @click="editUseModel(scope.$index, scope.row)">模型使用
|
|
|
</el-button>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-button type="text" icon="el-icon-lock" style="color: gray">暂未训练</el-button>
|
|
|
+ </div>
|
|
|
<el-button type="text" icon="el-icon-delete" class="red"
|
|
|
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
|
|
|
|
|
|
@@ -111,6 +115,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
import {getAllModel,train,use} from "../api/model";
|
|
|
import {GetAllFile} from "../api/file";
|
|
|
import {useRoute, useRouter} from "vue-router";
|
|
|
+import {deleteModel} from "../api/model";
|
|
|
|
|
|
export default {
|
|
|
name: "model",
|
|
|
@@ -187,23 +192,47 @@ export default {
|
|
|
getData();
|
|
|
};
|
|
|
//todo模型训练
|
|
|
- const handleTrain = (index) => {
|
|
|
- ElMessageBox.confirm("要进行训练吗?", "提示", {
|
|
|
- type: "info",
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- //console.log(tableData)
|
|
|
- let modelId=tableData.value[index].modelId
|
|
|
- train({modelId:modelId}).then(res=>{
|
|
|
- if(res.status===200)
|
|
|
- ElMessage.success("模型"+modelId+"训练成功");
|
|
|
+ const handleTrain =(modelId) => {
|
|
|
+ ElMessageBox( {
|
|
|
+ title: "确定要训练吗?",
|
|
|
+ showCancelButton: true,
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ beforeClose: (action, instance, done) => {
|
|
|
+ if (action === 'confirm') {
|
|
|
+ instance.confirmButtonLoading = true
|
|
|
+ instance.confirmButtonText = '训练中...'
|
|
|
+ let idx=modelId;
|
|
|
+ console.log("modelId: "+idx);
|
|
|
+ train({
|
|
|
+ modelId: idx
|
|
|
+ }).then(res=>{
|
|
|
+ instance.confirmButtonLoading = false
|
|
|
+ console.log("train_res: ",res);
|
|
|
+ if (res.status === 200 & res.data === true)
|
|
|
+ {
|
|
|
+ // ElMessageBox({
|
|
|
+ // title: '模型训练',
|
|
|
+ // message: `模型训练成功`,
|
|
|
+ // confirmButtonText: '确定',
|
|
|
+ // })
|
|
|
+ location.reload();
|
|
|
+ done()
|
|
|
+ }
|
|
|
else
|
|
|
- ElMessage.error("模型"+modelId+"失败");
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
+ {
|
|
|
+ console.log(res);
|
|
|
+ ElMessage.error("训练失败!失败码:"+res.status);
|
|
|
+ done()
|
|
|
+ }
|
|
|
+ }).catch(err=>{
|
|
|
+ console.log(err)
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ done()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ })
|
|
|
};
|
|
|
const modelRes=ref();
|
|
|
const resVisible = ref(false);
|
|
|
@@ -266,13 +295,19 @@ const usemodelId=ref();
|
|
|
// ElMessage.success("删除成功");
|
|
|
// tableData.value.splice(index, 1);
|
|
|
console.log("删除");
|
|
|
- let idx=tableData.value[index].id;
|
|
|
+ let idx=tableData.value[index].modelId;
|
|
|
console.log(idx);
|
|
|
+ deleteModel(idx
|
|
|
+ ).then(res=>{
|
|
|
+ //console.log("deleteres",res);
|
|
|
+ if(res.status===200){
|
|
|
+ location.reload();
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
};
|
|
|
-
|
|
|
//TODO
|
|
|
const handleSelectionChange = (val) => {
|
|
|
multipleSelection.value = val
|