|
@@ -1,8 +1,8 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
|
|
+ <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
|
<el-form-item label="算法类型" prop="type">
|
|
<el-form-item label="算法类型" prop="type">
|
|
- <el-select v-model="queryParams.type" placeholder="请选择算法类型" clearable filterable @change=changeQueryType()>
|
|
|
|
|
|
+ <el-select v-model="queryParams.type" placeholder="请选择算法类型" clearable filterable @change="changeQueryType()">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in dict.type.process_type"
|
|
v-for="dict in dict.type.process_type"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -23,8 +23,7 @@
|
|
:key="item.id"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:label="item.name"
|
|
:value="item.id"
|
|
:value="item.id"
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="名称" prop="name">
|
|
<el-form-item label="名称" prop="name">
|
|
@@ -68,58 +67,58 @@
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:add']"
|
|
type="primary"
|
|
type="primary"
|
|
plain
|
|
plain
|
|
icon="el-icon-plus"
|
|
icon="el-icon-plus"
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleAdd"
|
|
@click="handleAdd"
|
|
- v-hasPermi="['algoManager:algorithm:add']"
|
|
|
|
>新增</el-button>
|
|
>新增</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:edit']"
|
|
type="success"
|
|
type="success"
|
|
plain
|
|
plain
|
|
icon="el-icon-edit"
|
|
icon="el-icon-edit"
|
|
size="mini"
|
|
size="mini"
|
|
:disabled="single"
|
|
:disabled="single"
|
|
@click="handleUpdate"
|
|
@click="handleUpdate"
|
|
- v-hasPermi="['algoManager:algorithm:edit']"
|
|
|
|
>修改</el-button>
|
|
>修改</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:remove']"
|
|
type="danger"
|
|
type="danger"
|
|
plain
|
|
plain
|
|
icon="el-icon-delete"
|
|
icon="el-icon-delete"
|
|
size="mini"
|
|
size="mini"
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
@click="handleDelete"
|
|
@click="handleDelete"
|
|
- v-hasPermi="['algoManager:algorithm:remove']"
|
|
|
|
>删除</el-button>
|
|
>删除</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:export']"
|
|
type="warning"
|
|
type="warning"
|
|
plain
|
|
plain
|
|
icon="el-icon-download"
|
|
icon="el-icon-download"
|
|
size="mini"
|
|
size="mini"
|
|
:disabled="single"
|
|
:disabled="single"
|
|
@click="handleExport"
|
|
@click="handleExport"
|
|
- v-hasPermi="['algoManager:algorithm:export']"
|
|
|
|
>导出</el-button>
|
|
>导出</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:run']"
|
|
type="success"
|
|
type="success"
|
|
plain
|
|
plain
|
|
icon="el-icon-mouse"
|
|
icon="el-icon-mouse"
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleRun"
|
|
@click="handleRun"
|
|
- v-hasPermi="['algoManager:algorithm:run']"
|
|
|
|
>算法运行</el-button>
|
|
>算法运行</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList()"></right-toolbar>
|
|
|
|
|
|
+ <right-toolbar :show-search.sync="showSearch" @queryTable="getList()" />
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="algorithmList" @selection-change="handleSelectionChange">
|
|
<el-table v-loading="loading" :data="algorithmList" @selection-change="handleSelectionChange">
|
|
@@ -127,14 +126,14 @@
|
|
<el-table-column label="编号" align="center" prop="id" />
|
|
<el-table-column label="编号" align="center" prop="id" />
|
|
<el-table-column label="算法类型" align="center" prop="type">
|
|
<el-table-column label="算法类型" align="center" prop="type">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <dict-tag :options="dict.type.process_type" :value="scope.row.type"/>
|
|
|
|
|
|
+ <dict-tag :options="dict.type.process_type" :value="scope.row.type" />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="算法子类型" align="center" prop="algoSubName" />
|
|
<el-table-column label="算法子类型" align="center" prop="algoSubName" />
|
|
<el-table-column label="名称" align="center" prop="name" />
|
|
<el-table-column label="名称" align="center" prop="name" />
|
|
<el-table-column label="运行状态" align="center" prop="status">
|
|
<el-table-column label="运行状态" align="center" prop="status">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <dict-tag :options="dict.type.algo_run_status" :value="scope.row.status"/>
|
|
|
|
|
|
+ <dict-tag :options="dict.type.algo_run_status" :value="scope.row.status" />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
|
|
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
|
|
@@ -154,31 +153,31 @@
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-button
|
|
<el-button
|
|
v-show="scope.row.status == 0"
|
|
v-show="scope.row.status == 0"
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:edit']"
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
icon="el-icon-edit"
|
|
@click="handleUpdate(scope.row)"
|
|
@click="handleUpdate(scope.row)"
|
|
- v-hasPermi="['algoManager:algorithm:edit']"
|
|
|
|
>修改</el-button>
|
|
>修改</el-button>
|
|
<el-button
|
|
<el-button
|
|
v-show="scope.row.status == 2"
|
|
v-show="scope.row.status == 2"
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:edit']"
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-warning-outline"
|
|
icon="el-icon-warning-outline"
|
|
@click="viewResult(scope.row)"
|
|
@click="viewResult(scope.row)"
|
|
- v-hasPermi="['algoManager:algorithm:edit']"
|
|
|
|
>查看结果</el-button>
|
|
>查看结果</el-button>
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['algoManager:algorithm:remove']"
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-delete"
|
|
icon="el-icon-delete"
|
|
@click="handleDelete(scope.row)"
|
|
@click="handleDelete(scope.row)"
|
|
- v-hasPermi="['algoManager:algorithm:remove']"
|
|
|
|
>删除</el-button>
|
|
>删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
-
|
|
|
|
|
|
+
|
|
<pagination
|
|
<pagination
|
|
v-show="total>0"
|
|
v-show="total>0"
|
|
:total="total"
|
|
:total="total"
|
|
@@ -191,13 +190,13 @@
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-form-item label="算法类型" prop="type">
|
|
<el-form-item label="算法类型" prop="type">
|
|
- <el-select v-model="form.type" placeholder="请选择算法类型" clearable filterable :disabled="form.status == 2" @change='changeFormType()'>
|
|
|
|
|
|
+ <el-select v-model="form.type" placeholder="请选择算法类型" clearable filterable :disabled="form.status == 2" @change="changeFormType()">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in dict.type.process_type"
|
|
v-for="dict in dict.type.process_type"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
:label="dict.label"
|
|
:label="dict.label"
|
|
:value="dict.value"
|
|
:value="dict.value"
|
|
- ></el-option>
|
|
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="算法子类型" prop="subTypeId">
|
|
<el-form-item label="算法子类型" prop="subTypeId">
|
|
@@ -207,25 +206,24 @@
|
|
clearable
|
|
clearable
|
|
filterable
|
|
filterable
|
|
:disabled="form.status == 2"
|
|
:disabled="form.status == 2"
|
|
- @change='changeFormSubType()'
|
|
|
|
|
|
+ @change="changeFormSubType()"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in algoTypeList"
|
|
v-for="item in algoTypeList"
|
|
:key="item.id"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:label="item.name"
|
|
:value="item.id"
|
|
:value="item.id"
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<template v-if="form.subTypeId">
|
|
<template v-if="form.subTypeId">
|
|
- <el-form-item v-for="item in form.ioSubList" :label="item.name" :key="item.id">
|
|
|
|
|
|
+ <el-form-item v-for="item in form.ioSubList" :key="item.id" :label="item.name">
|
|
<!-- <file-upload v-model="form.path"/> -->
|
|
<!-- <file-upload v-model="form.path"/> -->
|
|
- <image-preview v-if="form.status == 2 && imageList.includes(item.path.split('.').pop())" :src="item.path" :width="50" :height="50"/>
|
|
|
|
|
|
+ <image-preview v-if="form.status == 2 && imageList.includes(item.path.split('.').pop())" :src="item.path" :width="50" :height="50" />
|
|
<template v-else-if="form.status == 2 && textList.includes(item.path.split('.').pop())">
|
|
<template v-else-if="form.status == 2 && textList.includes(item.path.split('.').pop())">
|
|
<div>
|
|
<div>
|
|
<!-- 显示文件内容 -->
|
|
<!-- 显示文件内容 -->
|
|
- <div class="file-content" v-show="fileContent">
|
|
|
|
|
|
+ <div v-show="fileContent" class="file-content">
|
|
{{ fileContent }}
|
|
{{ fileContent }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -243,26 +241,25 @@
|
|
:key="inputFile.id"
|
|
:key="inputFile.id"
|
|
:label="inputFile.name"
|
|
:label="inputFile.name"
|
|
:value="inputFile.id"
|
|
:value="inputFile.id"
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
<template v-if="form.status == 2">
|
|
<template v-if="form.status == 2">
|
|
<el-button
|
|
<el-button
|
|
|
|
+ v-hasPermi="['data:model:edit']"
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-download"
|
|
icon="el-icon-download"
|
|
@click="download(item.path)"
|
|
@click="download(item.path)"
|
|
- v-hasPermi="['data:model:edit']"
|
|
|
|
>{{ "下载文件" }}
|
|
>{{ "下载文件" }}
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</template>
|
|
</template>
|
|
<el-form-item label="名称" prop="name">
|
|
<el-form-item label="名称" prop="name">
|
|
- <el-input v-model="form.name" placeholder="请输入名称" :disabled="form.status == 2"/>
|
|
|
|
|
|
+ <el-input v-model="form.name" placeholder="请输入名称" :disabled="form.status == 2" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="备注" prop="remark">
|
|
<el-form-item label="备注" prop="remark">
|
|
- <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="form.status == 2"/>
|
|
|
|
|
|
+ <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="form.status == 2" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -274,16 +271,16 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { listAlgorithm, getAlgorithmDto, delAlgorithm, addOrUpdateDto, runAlgorithms } from "@/api/algoManager/algorithm";
|
|
|
|
-import { getAlgoSubOption } from "@/api/algoManager/algorithm";
|
|
|
|
-import { getIoSubList } from "@/api/conf/field";
|
|
|
|
-import { getFileList, getInputFileList } from "@/api/algoManager/file";
|
|
|
|
-import axios from 'axios';
|
|
|
|
-import { isExternal } from "@/utils/validate";
|
|
|
|
|
|
+import { listAlgorithm, getAlgorithmDto, delAlgorithm, addOrUpdateDto, runAlgorithms } from '@/api/algoManager/algorithm'
|
|
|
|
+import { getAlgoSubOption } from '@/api/algoManager/algorithm'
|
|
|
|
+import { getIoSubList } from '@/api/conf/field'
|
|
|
|
+import { getInputFileList } from '@/api/algoManager/file'
|
|
|
|
+import axios from 'axios'
|
|
|
|
+import { isExternal } from '@/utils/validate'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- name: "Algorithm",
|
|
|
|
- dicts: ['process_type','algo_run_status'],
|
|
|
|
|
|
+ name: 'Algorithm',
|
|
|
|
+ dicts: ['process_type', 'algo_run_status'],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
// 遮罩层
|
|
// 遮罩层
|
|
@@ -309,7 +306,7 @@ export default {
|
|
// 输入文件表格数据
|
|
// 输入文件表格数据
|
|
inputFileList: [],
|
|
inputFileList: [],
|
|
// 弹出层标题
|
|
// 弹出层标题
|
|
- title: "",
|
|
|
|
|
|
+ title: '',
|
|
// 是否显示弹出层
|
|
// 是否显示弹出层
|
|
open: false,
|
|
open: false,
|
|
// 查询参数
|
|
// 查询参数
|
|
@@ -320,72 +317,64 @@ export default {
|
|
subTypeId: null,
|
|
subTypeId: null,
|
|
|
|
|
|
name: null,
|
|
name: null,
|
|
- dictType: "process_type",
|
|
|
|
|
|
+ dictType: 'process_type',
|
|
startTime: null,
|
|
startTime: null,
|
|
completedTime: null,
|
|
completedTime: null,
|
|
- costSecond: null,
|
|
|
|
|
|
+ costSecond: null
|
|
},
|
|
},
|
|
// 表单参数
|
|
// 表单参数
|
|
form: {},
|
|
form: {},
|
|
// 表单校验
|
|
// 表单校验
|
|
rules: {
|
|
rules: {
|
|
subTypeId: [
|
|
subTypeId: [
|
|
- { required: true, message: "算法子类型不能为空", trigger: "blur" }
|
|
|
|
- ],
|
|
|
|
|
|
+ { required: true, message: '算法子类型不能为空', trigger: 'blur' }
|
|
|
|
+ ]
|
|
},
|
|
},
|
|
typeMap: new Map(),
|
|
typeMap: new Map(),
|
|
- imageList: ["jpg", "jpeg", "png", "bmp", "gif"],
|
|
|
|
- textList: ["txt", "doc", "hlp", "wps"],
|
|
|
|
- fileContent: '',
|
|
|
|
- };
|
|
|
|
|
|
+ imageList: ['jpg', 'jpeg', 'png', 'bmp', 'gif'],
|
|
|
|
+ textList: ['txt', 'doc', 'hlp', 'wps'],
|
|
|
|
+ fileContent: ''
|
|
|
|
+ }
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.getList();
|
|
|
|
- this.getAlgoSubOption();
|
|
|
|
|
|
+ this.getList()
|
|
|
|
+ this.getAlgoSubOption()
|
|
},
|
|
},
|
|
activated() {
|
|
activated() {
|
|
- this.getList();
|
|
|
|
- this.getAlgoSubOption();
|
|
|
|
|
|
+ this.getList()
|
|
|
|
+ this.getAlgoSubOption()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
/** 查询算法列表 */
|
|
/** 查询算法列表 */
|
|
getList() {
|
|
getList() {
|
|
- this.loading = true;
|
|
|
|
|
|
+ this.loading = true
|
|
listAlgorithm(this.queryParams).then(response => {
|
|
listAlgorithm(this.queryParams).then(response => {
|
|
- this.algorithmList = response.rows;
|
|
|
|
- this.total = response.total;
|
|
|
|
- this.loading = false;
|
|
|
|
- });
|
|
|
|
|
|
+ this.algorithmList = response.rows
|
|
|
|
+ this.total = response.total
|
|
|
|
+ this.loading = false
|
|
|
|
+ })
|
|
},
|
|
},
|
|
|
|
|
|
getAlgoSubOption() {
|
|
getAlgoSubOption() {
|
|
getAlgoSubOption().then((resp) => {
|
|
getAlgoSubOption().then((resp) => {
|
|
- this.algorithmSubList = resp.data;
|
|
|
|
- this.createTypeMap();
|
|
|
|
- console.info(resp);
|
|
|
|
- });
|
|
|
|
|
|
+ this.algorithmSubList = resp.data
|
|
|
|
+ this.createTypeMap()
|
|
|
|
+ console.info(resp)
|
|
|
|
+ })
|
|
},
|
|
},
|
|
|
|
|
|
- // getFileList() {
|
|
|
|
- // getFileList().then((resp) => {
|
|
|
|
- // this.fileList = resp.data;
|
|
|
|
- // console.info(resp);
|
|
|
|
- // console.info(this);
|
|
|
|
- // });
|
|
|
|
- // },
|
|
|
|
-
|
|
|
|
getInputFileList() {
|
|
getInputFileList() {
|
|
getInputFileList(this.form.subTypeId).then((resp) => {
|
|
getInputFileList(this.form.subTypeId).then((resp) => {
|
|
- this.inputFileList = resp.data;
|
|
|
|
- console.info(resp);
|
|
|
|
- console.info(this);
|
|
|
|
- });
|
|
|
|
|
|
+ this.inputFileList = resp.data
|
|
|
|
+ console.info(resp)
|
|
|
|
+ console.info(this)
|
|
|
|
+ })
|
|
},
|
|
},
|
|
|
|
|
|
// 取消按钮
|
|
// 取消按钮
|
|
cancel() {
|
|
cancel() {
|
|
- this.open = false;
|
|
|
|
- this.reset();
|
|
|
|
|
|
+ this.open = false
|
|
|
|
+ this.reset()
|
|
},
|
|
},
|
|
// 表单重置
|
|
// 表单重置
|
|
reset() {
|
|
reset() {
|
|
@@ -404,77 +393,78 @@ export default {
|
|
remark: null,
|
|
remark: null,
|
|
// 具体算法输入输出文件列表
|
|
// 具体算法输入输出文件列表
|
|
ioSubList: []
|
|
ioSubList: []
|
|
- };
|
|
|
|
- this.resetForm("form");
|
|
|
|
|
|
+ }
|
|
|
|
+ this.resetForm('form')
|
|
},
|
|
},
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
handleQuery() {
|
|
handleQuery() {
|
|
- this.queryParams.pageNum = 1;
|
|
|
|
- this.getList();
|
|
|
|
|
|
+ this.queryParams.pageNum = 1
|
|
|
|
+ this.getList()
|
|
},
|
|
},
|
|
/** 重置按钮操作 */
|
|
/** 重置按钮操作 */
|
|
resetQuery() {
|
|
resetQuery() {
|
|
- this.resetForm("queryForm");
|
|
|
|
- this.handleQuery();
|
|
|
|
|
|
+ this.resetForm('queryForm')
|
|
|
|
+ this.handleQuery()
|
|
},
|
|
},
|
|
// 多选框选中数据
|
|
// 多选框选中数据
|
|
handleSelectionChange(selection) {
|
|
handleSelectionChange(selection) {
|
|
this.ids = selection.map(item => item.id)
|
|
this.ids = selection.map(item => item.id)
|
|
- this.single = selection.length!==1
|
|
|
|
|
|
+ this.single = selection.length !== 1
|
|
this.multiple = !selection.length
|
|
this.multiple = !selection.length
|
|
},
|
|
},
|
|
/** 新增按钮操作 */
|
|
/** 新增按钮操作 */
|
|
handleAdd() {
|
|
handleAdd() {
|
|
- this.reset();
|
|
|
|
- this.open = true;
|
|
|
|
- this.title = "添加算法";
|
|
|
|
|
|
+ this.reset()
|
|
|
|
+ this.open = true
|
|
|
|
+ this.title = '添加算法'
|
|
},
|
|
},
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|
|
handleUpdate(row) {
|
|
handleUpdate(row) {
|
|
- this.reset();
|
|
|
|
|
|
+ this.reset()
|
|
const id = row.id || this.ids
|
|
const id = row.id || this.ids
|
|
getAlgorithmDto(id).then(response => {
|
|
getAlgorithmDto(id).then(response => {
|
|
- this.form = response.data;
|
|
|
|
- this.open = true;
|
|
|
|
- this.title = "修改算法";
|
|
|
|
- this.algoTypeList = this.typeMap.get(this.form.type);
|
|
|
|
- });
|
|
|
|
- console.info(this);
|
|
|
|
|
|
+ this.form = response.data
|
|
|
|
+ this.open = true
|
|
|
|
+ this.title = '修改算法'
|
|
|
|
+ this.algoTypeList = this.typeMap.get(this.form.type)
|
|
|
|
+ })
|
|
|
|
+ console.info(this)
|
|
},
|
|
},
|
|
/** 查看结果按钮操作 */
|
|
/** 查看结果按钮操作 */
|
|
viewResult(row) {
|
|
viewResult(row) {
|
|
- this.reset();
|
|
|
|
|
|
+ this.reset()
|
|
const id = row.id || this.ids
|
|
const id = row.id || this.ids
|
|
getAlgorithmDto(id).then(response => {
|
|
getAlgorithmDto(id).then(response => {
|
|
- this.form = response.data;
|
|
|
|
- this.open = true;
|
|
|
|
- this.title = "查看结果";
|
|
|
|
- this.algoTypeList = this.typeMap.get(this.form.type);
|
|
|
|
- this.fetchFileContent(this.form.ioSubList);
|
|
|
|
- });
|
|
|
|
- console.info(this);
|
|
|
|
|
|
+ this.form = response.data
|
|
|
|
+ this.title = '查看结果'
|
|
|
|
+ this.algoTypeList = this.typeMap.get(this.form.type)
|
|
|
|
+ this.fetchFileContent(this.form.ioSubList)
|
|
|
|
+ this.getInputFileList()
|
|
|
|
+ this.open = true
|
|
|
|
+ })
|
|
|
|
+ console.info(this)
|
|
},
|
|
},
|
|
/** 提交按钮 */
|
|
/** 提交按钮 */
|
|
submitForm() {
|
|
submitForm() {
|
|
- this.$refs["form"].validate(valid => {
|
|
|
|
|
|
+ this.$refs['form'].validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
addOrUpdateDto(this.form).then(response => {
|
|
addOrUpdateDto(this.form).then(response => {
|
|
- this.$modal.msgSuccess("成功");
|
|
|
|
- this.open = false;
|
|
|
|
- this.getList();
|
|
|
|
- });
|
|
|
|
|
|
+ this.$modal.msgSuccess('成功')
|
|
|
|
+ this.open = false
|
|
|
|
+ this.getList()
|
|
|
|
+ })
|
|
}
|
|
}
|
|
- });
|
|
|
|
|
|
+ })
|
|
},
|
|
},
|
|
/** 删除按钮操作 */
|
|
/** 删除按钮操作 */
|
|
handleDelete(row) {
|
|
handleDelete(row) {
|
|
- const ids = row.id || this.ids;
|
|
|
|
|
|
+ const ids = row.id || this.ids
|
|
this.$modal.confirm('是否确认删除算法编号为"' + ids + '"的数据项?').then(function() {
|
|
this.$modal.confirm('是否确认删除算法编号为"' + ids + '"的数据项?').then(function() {
|
|
- return delAlgorithm(ids);
|
|
|
|
|
|
+ return delAlgorithm(ids)
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- this.getList();
|
|
|
|
- this.$modal.msgSuccess("删除成功");
|
|
|
|
- }).catch(() => {});
|
|
|
|
|
|
+ this.getList()
|
|
|
|
+ this.$modal.msgSuccess('删除成功')
|
|
|
|
+ }).catch(() => {})
|
|
},
|
|
},
|
|
/** 导出按钮操作 */
|
|
/** 导出按钮操作 */
|
|
handleExport() {
|
|
handleExport() {
|
|
@@ -487,89 +477,87 @@ export default {
|
|
const id = row.id || this.ids
|
|
const id = row.id || this.ids
|
|
// debugger
|
|
// debugger
|
|
runAlgorithms(id).then(response => {
|
|
runAlgorithms(id).then(response => {
|
|
- this.$modal.msgSuccess("成功");
|
|
|
|
- this.getList();
|
|
|
|
- });
|
|
|
|
|
|
+ this.$modal.msgSuccess('成功')
|
|
|
|
+ this.getList()
|
|
|
|
+ })
|
|
},
|
|
},
|
|
-
|
|
|
|
- /**创建连接算法大类型和算法子类列表的map */
|
|
|
|
|
|
+
|
|
|
|
+ /** 创建连接算法大类型和算法子类列表的map */
|
|
createTypeMap() {
|
|
createTypeMap() {
|
|
- this.typeMap = new Map();
|
|
|
|
|
|
+ this.typeMap = new Map()
|
|
for (const algorithmSub of this.algorithmSubList) {
|
|
for (const algorithmSub of this.algorithmSubList) {
|
|
- if(this.typeMap.has(algorithmSub.type)) {
|
|
|
|
|
|
+ if (this.typeMap.has(algorithmSub.type)) {
|
|
this.typeMap.get(algorithmSub.type).push({
|
|
this.typeMap.get(algorithmSub.type).push({
|
|
id: algorithmSub.id,
|
|
id: algorithmSub.id,
|
|
name: algorithmSub.name
|
|
name: algorithmSub.name
|
|
- });
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
this.typeMap.set(algorithmSub.type, [{
|
|
this.typeMap.set(algorithmSub.type, [{
|
|
id: algorithmSub.id,
|
|
id: algorithmSub.id,
|
|
name: algorithmSub.name
|
|
name: algorithmSub.name
|
|
- }]);
|
|
|
|
|
|
+ }])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
changeQueryType() {
|
|
changeQueryType() {
|
|
- this.queryParams.subTypeId = null;
|
|
|
|
- this.algoTypeList = this.typeMap.get(this.queryParams.type);
|
|
|
|
|
|
+ this.queryParams.subTypeId = null
|
|
|
|
+ this.algoTypeList = this.typeMap.get(this.queryParams.type)
|
|
},
|
|
},
|
|
|
|
|
|
changeFormType() {
|
|
changeFormType() {
|
|
- this.form.subTypeId = null;
|
|
|
|
- this.algoTypeList = this.typeMap.get(this.form.type);
|
|
|
|
|
|
+ this.form.subTypeId = null
|
|
|
|
+ this.algoTypeList = this.typeMap.get(this.form.type)
|
|
},
|
|
},
|
|
|
|
|
|
changeFormSubType() {
|
|
changeFormSubType() {
|
|
- if(this.form.subTypeId) {
|
|
|
|
|
|
+ if (this.form.subTypeId) {
|
|
getIoSubList(this.form.subTypeId, this.form.id).then((resp) => {
|
|
getIoSubList(this.form.subTypeId, this.form.id).then((resp) => {
|
|
- this.form.ioSubList = resp.data;
|
|
|
|
- console.info(resp);
|
|
|
|
- });
|
|
|
|
- this.getInputFileList();
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- this.inputFileList = [];
|
|
|
|
|
|
+ this.form.ioSubList = resp.data
|
|
|
|
+ console.info(resp)
|
|
|
|
+ })
|
|
|
|
+ this.getInputFileList()
|
|
|
|
+ } else {
|
|
|
|
+ this.inputFileList = []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
download(path) {
|
|
download(path) {
|
|
- this.$download.resource(path);
|
|
|
|
|
|
+ this.$download.resource(path)
|
|
},
|
|
},
|
|
|
|
|
|
// 拿到文本文件里的内容
|
|
// 拿到文本文件里的内容
|
|
async fetchFileContent(ioSubList) {
|
|
async fetchFileContent(ioSubList) {
|
|
try {
|
|
try {
|
|
- let filePath;
|
|
|
|
- for (let item of ioSubList) {
|
|
|
|
|
|
+ let filePath
|
|
|
|
+ for (const item of ioSubList) {
|
|
if (this.textList.includes(item.path.split('.').pop())) {
|
|
if (this.textList.includes(item.path.split('.').pop())) {
|
|
- filePath = item.path;
|
|
|
|
|
|
+ filePath = item.path
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (filePath) {
|
|
if (filePath) {
|
|
- const response = await axios.get(this.realSrc(filePath), { responseType: 'text' });
|
|
|
|
- this.fileContent = response.data;
|
|
|
|
|
|
+ const response = await axios.get(this.realSrc(filePath), { responseType: 'text' })
|
|
|
|
+ this.fileContent = response.data
|
|
}
|
|
}
|
|
// const response = await axios.get(this.realSrc(filePath), { responseType: 'text' });
|
|
// const response = await axios.get(this.realSrc(filePath), { responseType: 'text' });
|
|
// this.fileContent = response.data;
|
|
// this.fileContent = response.data;
|
|
} catch (error) {
|
|
} catch (error) {
|
|
- console.error("Error fetching the file:", error);
|
|
|
|
- alert('无法加载文件内容');
|
|
|
|
|
|
+ console.error('Error fetching the file:', error)
|
|
|
|
+ alert('无法加载文件内容')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
// 通过path得到绝对路径
|
|
// 通过path得到绝对路径
|
|
realSrc(src) {
|
|
realSrc(src) {
|
|
if (!src) {
|
|
if (!src) {
|
|
- return;
|
|
|
|
|
|
+ return
|
|
}
|
|
}
|
|
- let real_src = src.split(",")[0];
|
|
|
|
|
|
+ const real_src = src.split(',')[0]
|
|
if (isExternal(real_src)) {
|
|
if (isExternal(real_src)) {
|
|
- return real_src;
|
|
|
|
|
|
+ return real_src
|
|
}
|
|
}
|
|
- return process.env.VUE_APP_BASE_API + real_src;
|
|
|
|
- },
|
|
|
|
|
|
+ return process.env.VUE_APP_BASE_API + real_src
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-};
|
|
|
|
|
|
+}
|
|
</script>
|
|
</script>
|