update code
parent
9f7acbdaec
commit
86faa6878b
|
@ -39,3 +39,11 @@ export function isExternal(path: string) {
|
|||
const isExternal = /^(https?:|http?:|mailto:|tel:)/.test(path);
|
||||
return isExternal;
|
||||
}
|
||||
|
||||
export function toJson(d:any){
|
||||
try {
|
||||
return JSON.parse(d);
|
||||
} catch (e) {
|
||||
return {};
|
||||
}
|
||||
}
|
|
@ -3,78 +3,41 @@
|
|||
<div class="app-container model-detail">
|
||||
<!-- 算子新增表单 -->
|
||||
<el-card v-loading="loading">
|
||||
<template #header
|
||||
><svg-icon icon-class="pause" style="width: 20px; height: 20px" /> 算子基本信息
|
||||
<template #header><svg-icon icon-class="pause" style="width: 20px; height: 20px" /> 算子基本信息
|
||||
</template>
|
||||
<el-row>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<el-form ref="formRef" :model="formData" :rules="rules" label-width="80px">
|
||||
<el-form-item label="算子名称" prop="operator_name">
|
||||
<el-input
|
||||
v-model="formData.operator_name"
|
||||
maxlength="64"
|
||||
show-word-limit
|
||||
placeholder="请输入算子名称"
|
||||
/>
|
||||
<el-input v-model="formData.operator_name" maxlength="64" show-word-limit placeholder="请输入算子名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="算子类型" prop="oper_sub_type">
|
||||
<el-row style="width: 100%">
|
||||
<el-col :span="12">
|
||||
<el-select
|
||||
v-model="formData.oper_main_type"
|
||||
placeholder="请选择算子主类型"
|
||||
style="width: 100%"
|
||||
@change="handleChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in listOpt.operTypeList"
|
||||
:key="item.oper_main_type"
|
||||
:label="item.oper_main_type_name"
|
||||
:value="item.oper_main_type"
|
||||
/>
|
||||
<el-select v-model="formData.oper_main_type" placeholder="请选择算子主类型" style="width: 100%"
|
||||
@change="handleChange">
|
||||
<el-option v-for="item in listOpt.operTypeList" :key="item.oper_main_type"
|
||||
:label="item.oper_main_type_name" :value="item.oper_main_type" />
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-select
|
||||
v-model="formData.oper_sub_type"
|
||||
placeholder="请选择算子子类型"
|
||||
style="width: 100%"
|
||||
@change="handleChangeRules"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in listOpt.operSubTypeList"
|
||||
:key="item.oper_sub_type"
|
||||
:label="item.oper_sub_type_name"
|
||||
:value="item.oper_sub_type"
|
||||
/>
|
||||
<el-select v-model="formData.oper_sub_type" placeholder="请选择算子子类型" style="width: 100%"
|
||||
@change="handleChangeRules">
|
||||
<el-option v-for="item in listOpt.operSubTypeList" :key="item.oper_sub_type"
|
||||
:label="item.oper_sub_type_name" :value="item.oper_sub_type" />
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="算子说明" prop="operator_desc">
|
||||
<el-input
|
||||
v-model="formData.operator_desc"
|
||||
:rows="2"
|
||||
type="textarea"
|
||||
placeholder="请输入算子说明"
|
||||
maxlength="1024"
|
||||
/>
|
||||
<el-input v-model="formData.operator_desc" :rows="2" type="textarea" placeholder="请输入算子说明"
|
||||
maxlength="1024" />
|
||||
</el-form-item>
|
||||
<el-form-item label="算子文件" prop="parameters">
|
||||
<el-upload
|
||||
ref="uploadRef"
|
||||
class="upload-demo"
|
||||
:on-change="handleFileChange"
|
||||
:on-remove="handleFileRemove"
|
||||
:on-exceed="handleFileExceed"
|
||||
:auto-upload="false"
|
||||
:limit="1"
|
||||
accept="application/json"
|
||||
>
|
||||
<el-button type="primary"
|
||||
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
|
||||
>选择文件</el-button
|
||||
>
|
||||
<el-upload ref="uploadRef" class="upload-demo" :on-change="handleFileChange" :on-remove="handleFileRemove"
|
||||
:on-exceed="handleFileExceed" :auto-upload="false" :limit="1" accept="application/json">
|
||||
<el-button type="primary"><el-icon class="el-icon--upload"> <i-ep-upload-filled />
|
||||
</el-icon>选择文件</el-button>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip">
|
||||
请上传大小不超过 <strong style="color: red">10M</strong>,格式为
|
||||
|
@ -88,16 +51,11 @@
|
|||
<el-col :lg="12" :xs="24">
|
||||
<div style="padding-left: 35px" v-if="fileStatus">
|
||||
<el-form label-width="100px" size="small">
|
||||
<el-divider content-position="left"
|
||||
><strong style="color: #409eff">算子文件预览</strong></el-divider
|
||||
>
|
||||
<el-input
|
||||
v-model="codeHtml"
|
||||
placeholder="请输入算子文件JSON"
|
||||
:rows="10"
|
||||
disabled
|
||||
type="textarea"
|
||||
/>
|
||||
<el-divider content-position="left"><strong style="color: #409eff">算子文件预览</strong></el-divider>
|
||||
<json-viewer :value="toJson(codeHtml)" copyable boxed sort theme="my-json-view jv-light" />
|
||||
<!--
|
||||
<el-input v-model="codeHtml" placeholder="请输入算子文件JSON" :rows="10" disabled type="textarea" />
|
||||
-->
|
||||
</el-form>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -113,7 +71,7 @@
|
|||
<script setup lang="ts">
|
||||
import ConstApi from "@/api/const";
|
||||
import OperatorApi from "@/api/operator";
|
||||
|
||||
import { toJson } from '@/utils/'
|
||||
const router = useRouter();
|
||||
const formRef = ref(ElForm); // 表单
|
||||
const loading = ref(false); // 加载状态
|
||||
|
@ -290,21 +248,27 @@ onMounted(() => {
|
|||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.sp-file {
|
||||
color: #29d;
|
||||
}
|
||||
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
:deep(.svg-icon) {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
position: fixed;
|
||||
width: calc(100% - 215px);
|
||||
bottom: 0px;
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px;
|
||||
|
||||
.el-pagination {
|
||||
justify-content: end;
|
||||
}
|
||||
|
@ -317,12 +281,15 @@ onMounted(() => {
|
|||
color: #e36209;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
background: #f5f5f5;
|
||||
|
||||
.green {
|
||||
color: #22863a;
|
||||
}
|
||||
|
||||
.blue {
|
||||
color: #005cc5;
|
||||
}
|
||||
|
||||
.black {
|
||||
color: #032f62;
|
||||
}
|
||||
|
|
|
@ -3,12 +3,7 @@
|
|||
<div class="app-container model-detail">
|
||||
<!-- 算子管理详情 -->
|
||||
<el-card>
|
||||
<template #header
|
||||
><svg-icon
|
||||
icon-class="pause"
|
||||
style="width: 20px; height: 20px"
|
||||
/>算子基本信息</template
|
||||
>
|
||||
<template #header><svg-icon icon-class="pause" style="width: 20px; height: 20px" />算子基本信息</template>
|
||||
<el-form ref="formRef" v-loading="loading" label-width="100px" size="small">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
|
@ -18,13 +13,11 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="算子主类型">
|
||||
{{ dataInfo.oper_main_type_name }}</el-form-item
|
||||
>
|
||||
{{ dataInfo.oper_main_type_name }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="算子子类型">
|
||||
{{ dataInfo.oper_sub_type_name }}</el-form-item
|
||||
>
|
||||
{{ dataInfo.oper_sub_type_name }}</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
@ -38,37 +31,28 @@
|
|||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="算子说明">
|
||||
<el-input
|
||||
v-model="dataInfo.operator_desc"
|
||||
:disabled="true"
|
||||
placeholder="请输入数据集名称"
|
||||
:rows="3"
|
||||
type="textarea"
|
||||
/>
|
||||
<el-input v-model="dataInfo.operator_desc" :disabled="true" placeholder="请输入数据集名称" :rows="3"
|
||||
type="textarea" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="输入参数">
|
||||
<el-input
|
||||
v-model="dataInfo.parametersInputs"
|
||||
:disabled="true"
|
||||
placeholder="请填写输入参数"
|
||||
:rows="8"
|
||||
type="textarea"
|
||||
/>
|
||||
<json-viewer :value="toJson(dataInfo.parametersInputs)" copyable boxed sort
|
||||
theme="my-json-view jv-light" />
|
||||
<!--
|
||||
<el-input v-model="dataInfo.parametersInputs" :disabled="true" placeholder="请填写输入参数" :rows="8"
|
||||
type="textarea" />-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="输出参数">
|
||||
<el-input
|
||||
v-model="dataInfo.parametersOutputs"
|
||||
:disabled="true"
|
||||
placeholder="请填写输出参数"
|
||||
:rows="8"
|
||||
type="textarea"
|
||||
/>
|
||||
<json-viewer :value="toJson(dataInfo.parametersOutputs)" copyable boxed sort
|
||||
theme="my-json-view jv-light" />
|
||||
<!--
|
||||
<el-input v-model="dataInfo.parametersOutputs" :disabled="true" placeholder="请填写输出参数" :rows="8"
|
||||
type="textarea" />-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -76,21 +60,12 @@
|
|||
</el-card>
|
||||
<el-row style="padding: 10px 15px">
|
||||
<el-col :lg="24" :xs="24">
|
||||
<el-button type="primary" @click="handlePushParams"
|
||||
><i-ep-plus />添加算子程序</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handleDownloadPs"
|
||||
><i-ep-download />文件例程下载</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handlePushParams"><i-ep-plus />添加算子程序</el-button>
|
||||
<el-button type="primary" @click="handleDownloadPs"><i-ep-download />文件例程下载</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-card style="padding-bottom: 50px;">
|
||||
<template #header
|
||||
><svg-icon
|
||||
icon-class="pause"
|
||||
style="width: 20px; height: 20px"
|
||||
/>算子程序信息</template
|
||||
>
|
||||
<template #header><svg-icon icon-class="pause" style="width: 20px; height: 20px" />算子程序信息</template>
|
||||
<el-table :data="pageData" stripe v-loading="tableLoading">
|
||||
<el-table-column label="程序适应硬件" align="left" prop="cmpt_hardware_type" />
|
||||
<el-table-column label="程序版本" align="left" prop="program_version" />
|
||||
|
@ -98,19 +73,12 @@
|
|||
<el-table-column label="上传用户" align="left" prop="user_name" />
|
||||
<el-table-column label="操作" fixed="right" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-button text type="primary" size="small" @click="handleDelete(scope.row)"
|
||||
><i-ep-delete />删除</el-button
|
||||
>
|
||||
<el-button text type="primary" size="small" @click="handleDelete(scope.row)"><i-ep-delete />删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
v-model:total="total"
|
||||
v-model:page="queryParams.page_num"
|
||||
v-model:limit="queryParams.page_size"
|
||||
@pagination="handleQuery"
|
||||
/>
|
||||
<pagination v-if="total > 0" v-model:total="total" v-model:page="queryParams.page_num"
|
||||
v-model:limit="queryParams.page_size" @pagination="handleQuery" />
|
||||
</el-card>
|
||||
<el-card class="card-footer">
|
||||
<el-button @click="closeBack"><i-ep-close />取 消</el-button>
|
||||
|
@ -122,7 +90,7 @@
|
|||
<script setup lang="ts">
|
||||
import OperatorApi from "@/api/operator";
|
||||
import paramDialog from "../calculateParam/dialog.vue";
|
||||
|
||||
import { toJson } from '@/utils/'
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const loading = ref(false); // 加载状态
|
||||
|
@ -168,16 +136,16 @@ function handleQuery() {
|
|||
})
|
||||
.finally(() => {
|
||||
tableLoading.value = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/** 添加算子程序 */
|
||||
function handlePushParams(){
|
||||
function handlePushParams() {
|
||||
paramDialogRef.value.show(dataInfo.value);
|
||||
}
|
||||
|
||||
/** 文件例程下载 */
|
||||
function handleDownloadPs(){
|
||||
function handleDownloadPs() {
|
||||
ElMessage.error("【error】待提供!");
|
||||
}
|
||||
|
||||
|
@ -211,22 +179,32 @@ onMounted(() => {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:deep(.jv-my-json-view) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.sp-file {
|
||||
color: #29d;
|
||||
}
|
||||
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
:deep(.svg-icon) {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
position: fixed;
|
||||
width: calc(100% - 215px);
|
||||
bottom: 0px;
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px;
|
||||
|
||||
.el-pagination {
|
||||
justify-content: end;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
v-model="open"
|
||||
:loading="loading"
|
||||
width="880px"
|
||||
append-to-body
|
||||
>
|
||||
<el-dialog :title="title" v-model="open" :loading="loading" width="880px" append-to-body>
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="算子名称">
|
||||
{{ form.operator_name }}
|
||||
|
@ -18,45 +12,24 @@
|
|||
</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item label="适配硬件" prop="cmpt_hardware_type">
|
||||
<el-select
|
||||
v-model="form.cmpt_hardware_type"
|
||||
placeholder="请选择适配硬件类型"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-select v-model="form.cmpt_hardware_type" placeholder="请选择适配硬件类型" style="width: 100%">
|
||||
<el-option v-for="item in listOpt" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="程序版本" prop="program_version">
|
||||
<el-input
|
||||
v-model="form.program_version"
|
||||
type="number"
|
||||
placeholder="请输入程序版本"
|
||||
/>
|
||||
<el-input v-model="form.program_version" type="number" placeholder="请输入程序版本" />
|
||||
</el-form-item>
|
||||
<!--整数@input="filterInput"-->
|
||||
<el-form-item label="程序文件" prop="program_file_name">
|
||||
<el-upload
|
||||
ref="uploadRef"
|
||||
:action="uploadUrl"
|
||||
:headers="headersObject"
|
||||
v-model:file-list="fileList"
|
||||
class="upload-demo"
|
||||
:data="uploadData"
|
||||
:on-exceed="handleFileExceed"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="uploadsuccess"
|
||||
:auto-upload="true"
|
||||
:limit="1"
|
||||
accept="application/x-gzip"
|
||||
>
|
||||
<el-upload ref="uploadRef" :action="uploadUrl" :headers="headersObject" v-model:file-list="fileList"
|
||||
class="upload-demo" :data="uploadData" :on-exceed="handleFileExceed" :before-upload="beforeUpload"
|
||||
:on-success="uploadsuccess" :auto-upload="true" :limit="1" accept="application/x-gzip">
|
||||
<!--el-upload-accept 多个以逗号隔开application/x-tar-->
|
||||
<el-button type="primary"
|
||||
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
|
||||
>选择文件</el-button
|
||||
>
|
||||
<el-button type="primary"><el-icon class="el-icon--upload"> <i-ep-upload-filled />
|
||||
</el-icon>选择文件</el-button>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip">
|
||||
请上传大小不超过 <strong style="color: red">10M</strong>,格式为
|
||||
请上传大小不超过 <strong style="color: red">100M</strong>,格式为
|
||||
<strong style="color: red">gz</strong> 的文件
|
||||
</div>
|
||||
</template>
|
||||
|
@ -131,8 +104,13 @@ const handleSubmit = useThrottleFn(() => {
|
|||
|
||||
// 文件上传前置方法
|
||||
function beforeUpload(file) {
|
||||
if (file.size > 100 * 1048 * 1048) {
|
||||
ElMessage.warning("上传文件不能大于10M");
|
||||
return false;
|
||||
}
|
||||
uploadData.program_file_name = file.name;
|
||||
uploadData.file_content = file;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 文件超出限制
|
||||
|
@ -141,7 +119,7 @@ function handleFileExceed() {
|
|||
}
|
||||
|
||||
//上传成功
|
||||
function uploadsuccess(res,file){
|
||||
function uploadsuccess(res, file) {
|
||||
form.value.program_file_name = res.data.program_file_name;
|
||||
formRef.value.validateField("program_file_name");
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
<div class="app-container model-detail">
|
||||
<!-- 用户新增/编辑表单 -->
|
||||
<el-card v-loading="loading">
|
||||
<template #header
|
||||
><svg-icon icon-class="pause" style="width: 20px; height: 20px" />数据集基本信息
|
||||
<template #header><svg-icon icon-class="pause" style="width: 20px; height: 20px" />数据集基本信息
|
||||
</template>
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row>
|
||||
|
@ -15,11 +14,7 @@
|
|||
</el-col>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="数据集版本" prop="dataset_version">
|
||||
<el-input
|
||||
v-model="form.dataset_version"
|
||||
type="number"
|
||||
placeholder="请输入数据集版本"
|
||||
/>
|
||||
<el-input v-model="form.dataset_version" type="number" placeholder="请输入数据集版本" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -27,27 +22,15 @@
|
|||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="适合模型类型" prop="modl_sub_type">
|
||||
<el-select v-model="form.modl_sub_type" placeholder="请选择适合模型类型">
|
||||
<el-option
|
||||
v-for="item in listOpt.modlSubTypeList"
|
||||
:key="item.modl_sub_type"
|
||||
:label="item.modl_sub_type_name"
|
||||
:value="item.modl_sub_type"
|
||||
/>
|
||||
<el-option v-for="item in listOpt.modlSubTypeList" :key="item.modl_sub_type"
|
||||
:label="item.modl_sub_type_name" :value="item.modl_sub_type" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="数据集格式" prop="dats_dataset_format">
|
||||
<el-select
|
||||
v-model="form.dats_dataset_format"
|
||||
placeholder="请选择数据集格式"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in listOpt.datasetFormatList"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item"
|
||||
/>
|
||||
<el-select v-model="form.dats_dataset_format" placeholder="请选择数据集格式">
|
||||
<el-option v-for="item in listOpt.datasetFormatList" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -56,12 +39,7 @@
|
|||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="标注类型" prop="dats_label_type">
|
||||
<el-select v-model="form.dats_label_type" placeholder="请选择标注类型">
|
||||
<el-option
|
||||
v-for="item in listOpt.labelTypeList"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item"
|
||||
/>
|
||||
<el-option v-for="item in listOpt.labelTypeList" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -69,23 +47,15 @@
|
|||
<el-form-item label="图像分辨率" prop="image_height">
|
||||
<el-row style="width: 100%">
|
||||
<el-col :lg="11">
|
||||
<el-input
|
||||
v-model="form.image_width"
|
||||
type="number"
|
||||
placeholder="请输入分辨率宽度"
|
||||
>
|
||||
<el-input v-model="form.image_width" type="number" placeholder="请输入分辨率宽度">
|
||||
<template #prepend> 宽 </template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
<el-col :lg="2" class="font-center"
|
||||
><el-icon><Rank /></el-icon
|
||||
></el-col>
|
||||
<el-col :lg="2" class="font-center"><el-icon>
|
||||
<Rank />
|
||||
</el-icon></el-col>
|
||||
<el-col :lg="11">
|
||||
<el-input
|
||||
v-model="form.image_height"
|
||||
type="number"
|
||||
placeholder="请输入分辨率高度"
|
||||
>
|
||||
<el-input v-model="form.image_height" type="number" placeholder="请输入分辨率高度">
|
||||
<template #prepend> 高 </template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
|
@ -96,12 +66,7 @@
|
|||
<el-row>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="数据集描述" prop="dataset_desc">
|
||||
<el-input
|
||||
v-model="form.dataset_desc"
|
||||
placeholder="请输入数据集描述"
|
||||
:rows="2"
|
||||
type="textarea"
|
||||
/>
|
||||
<el-input v-model="form.dataset_desc" placeholder="请输入数据集描述" :rows="2" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12" :xs="24"> </el-col>
|
||||
|
@ -109,20 +74,10 @@
|
|||
<el-row>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<el-form-item label="数据集参数文件" prop="dataset_parameters">
|
||||
<el-upload
|
||||
ref="uploadRef"
|
||||
class="upload-demo"
|
||||
:on-change="handleFileChange"
|
||||
:on-remove="handleFileRemove"
|
||||
:on-exceed="handleFileExceed"
|
||||
:auto-upload="false"
|
||||
:limit="1"
|
||||
accept="application/json"
|
||||
>
|
||||
<el-button type="primary"
|
||||
><el-icon class="el-icon--upload"> <i-ep-upload-filled /> </el-icon
|
||||
>选择文件</el-button
|
||||
>
|
||||
<el-upload ref="uploadRef" class="upload-demo" :on-change="handleFileChange" :on-remove="handleFileRemove"
|
||||
:on-exceed="handleFileExceed" :auto-upload="false" :limit="1" accept="application/json">
|
||||
<el-button type="primary"><el-icon class="el-icon--upload"> <i-ep-upload-filled />
|
||||
</el-icon>选择文件</el-button>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip">
|
||||
请上传大小不超过 <strong style="color: red">10M</strong>,格式为
|
||||
|
@ -134,16 +89,8 @@
|
|||
</el-col>
|
||||
<el-col :lg="12" :xs="24">
|
||||
<div style="padding-left: 35px" v-if="fileStatus">
|
||||
<el-divider content-position="left"
|
||||
><strong style="color: #409eff">数据集参数文件预览</strong></el-divider
|
||||
>
|
||||
<el-input
|
||||
v-model="codeHtml"
|
||||
placeholder="请输入数据集参数JSON"
|
||||
:rows="10"
|
||||
disabled
|
||||
type="textarea"
|
||||
/>
|
||||
<el-divider content-position="left"><strong style="color: #409eff">数据集参数文件预览</strong></el-divider>
|
||||
<el-input v-model="codeHtml" placeholder="请输入数据集参数JSON" :rows="10" disabled type="textarea" />
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -323,26 +270,33 @@ onMounted(() => {
|
|||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.sp-file {
|
||||
color: #29d;
|
||||
}
|
||||
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
:deep(.svg-icon) {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
position: fixed;
|
||||
width: calc(100% - 215px);
|
||||
bottom: 0px;
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px;
|
||||
|
||||
.el-pagination {
|
||||
justify-content: end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.font-center {
|
||||
text-align: center;
|
||||
color: #cccccc;
|
||||
|
|
|
@ -3,35 +3,21 @@
|
|||
<div class="app-container model-detail">
|
||||
<!-- 用户新增/编辑表单 -->
|
||||
<el-card v-loading="loading">
|
||||
<template #header
|
||||
><svg-icon
|
||||
icon-class="pause"
|
||||
style="width: 20px; height: 20px"
|
||||
/>添加PCIE设备</template
|
||||
>
|
||||
<template #header><svg-icon icon-class="pause" style="width: 20px; height: 20px" />添加PCIE设备</template>
|
||||
<el-table :data="unregistedList" stripe>
|
||||
<el-table-column label="选择" width="60" align="center">
|
||||
<template #default="scope">
|
||||
<el-radio
|
||||
v-model="form.unregisted"
|
||||
:label="scope.row.uuid"
|
||||
@change.native="getCurrentRow(scope.row)"
|
||||
>{{ "" }}</el-radio
|
||||
>
|
||||
<el-radio v-model="form.unregisted" :label="scope.row.uuid" @change.native="getCurrentRow(scope.row)">{{ ""
|
||||
}}</el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="pcie_index" label="PCLE序号" align="left" />
|
||||
<el-table-column prop="pcie_index" label="PCIe序号" align="left" />
|
||||
<el-table-column prop="hardware_chip" label="芯片信息" align="left" />
|
||||
<el-table-column prop="hardware_model" label="设备型号" align="left" />
|
||||
<el-table-column prop="cmpt_hardware_type" label="设备类型" align="left" />
|
||||
<el-table-column prop="manufacturer" label="厂商名称" align="left" />
|
||||
<el-table-column prop="software_version" label="服务程序版本" align="left" />
|
||||
<el-table-column
|
||||
prop="connection_state"
|
||||
label="连接状态"
|
||||
align="left"
|
||||
v-if="false"
|
||||
/>
|
||||
<el-table-column prop="connection_state" label="连接状态" align="left" v-if="false" />
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-card v-loading="loading" style="margin-top: 12px">
|
||||
|
@ -45,21 +31,10 @@
|
|||
<el-input v-model="form.device_name" placeholder="请输入设备名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="设备描述" prop="device_desc">
|
||||
<el-input
|
||||
v-model="form.device_desc"
|
||||
:rows="2"
|
||||
type="textarea"
|
||||
placeholder="请输入设备描述"
|
||||
/>
|
||||
<el-input v-model="form.device_desc" :rows="2" type="textarea" placeholder="请输入设备描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="详细信息" prop="infomation">
|
||||
<el-input
|
||||
v-model="form.infomation"
|
||||
:rows="3"
|
||||
disabled
|
||||
type="textarea"
|
||||
placeholder="请输入详细信息"
|
||||
/>
|
||||
<el-input v-model="form.infomation" :rows="3" disabled type="textarea" placeholder="请输入详细信息" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
@ -162,21 +137,27 @@ onMounted(() => {
|
|||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.sp-file {
|
||||
color: #29d;
|
||||
}
|
||||
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
:deep(.svg-icon) {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
position: fixed;
|
||||
width: calc(100% - 215px);
|
||||
bottom: 0px;
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px;
|
||||
|
||||
.el-pagination {
|
||||
justify-content: end;
|
||||
}
|
||||
|
|
|
@ -5,12 +5,8 @@
|
|||
<template #header>
|
||||
<div class="flex justify-between">
|
||||
<div>
|
||||
<el-button type="primary" @click="handleAddPcie()"
|
||||
><i-ep-plus />PCLE设备</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handleAddNet()"
|
||||
><i-ep-plus />网络设备</el-button
|
||||
>
|
||||
<el-button type="primary" @click="handleAddPcie()"><i-ep-plus />PCLE设备</el-button>
|
||||
<el-button type="primary" @click="handleAddNet()"><i-ep-plus />网络设备</el-button>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
|
||||
|
@ -36,70 +32,35 @@
|
|||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="pageData"
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table v-loading="loading" :data="pageData" stripe @selection-change="handleSelectionChange">
|
||||
<el-table-column label="设备名称" align="left" prop="device_name" width="250" />
|
||||
<el-table-column label="芯片信息" align="left" prop="modl_net_type" />
|
||||
<el-table-column label="芯片信息" align="left" prop="hardware_chip" />
|
||||
<el-table-column label="推理任务名称" align="left" prop="infer_task_name" />
|
||||
<el-table-column label="模型名称" align="left" prop="model_name" />
|
||||
<el-table-column label="模型类型" align="left" prop="modl_net_type" />
|
||||
<el-table-column
|
||||
label="连接状态"
|
||||
align="left"
|
||||
prop="connection_state"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工作状态"
|
||||
align="left"
|
||||
prop="working_state_name"
|
||||
/>
|
||||
<el-table-column label="连接状态" align="left" prop="connection_state" />
|
||||
<el-table-column label="工作状态" align="left" prop="working_state_name" />
|
||||
<el-table-column label="CPU使用率" width="120" align="left" prop="cpu_usage">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
:type="scope.row.cpu_usage > 1024 ? 'danger' : 'success'"
|
||||
effect="dark"
|
||||
>
|
||||
<el-tag :type="scope.row.cpu_usage > 1024 ? 'danger' : 'success'" effect="dark">
|
||||
{{ scope.row.cpu_usage + " MB" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="内核温度" width="80" align="left" prop="tempurature">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
:type="scope.row.tempurature > 80 ? 'danger' : 'success'"
|
||||
effect="plain"
|
||||
>
|
||||
<el-tag :type="scope.row.tempurature > 80 ? 'danger' : 'success'" effect="plain">
|
||||
{{ scope.row.tempurature + " ℃" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="320">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="handleDetail(scope.row)"
|
||||
><i-ep-view />详细</el-button
|
||||
>
|
||||
<el-button text type="primary" size="small" @click="handleUpdate(scope.row)"
|
||||
><i-ep-edit />修改</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="scope.row.id != 2"
|
||||
text
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="openUpGrades(scope.row)"
|
||||
><i-ep-upload />升级</el-button
|
||||
>
|
||||
<el-button text type="primary" size="small" @click="handleDelete(scope.row)"
|
||||
><i-ep-delete />删除</el-button
|
||||
>
|
||||
<el-button text type="primary" size="small" @click="handleDetail(scope.row)"><i-ep-view />详细</el-button>
|
||||
<el-button text type="primary" size="small" @click="handleUpdate(scope.row)"><i-ep-edit />修改</el-button>
|
||||
<el-button v-if="scope.row.id != 2" text type="primary" size="small"
|
||||
@click="openUpGrades(scope.row)"><i-ep-upload />升级</el-button>
|
||||
<el-button text type="primary" size="small" @click="handleDelete(scope.row)"><i-ep-delete />删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
@ -64,6 +64,12 @@
|
|||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text v-if="scope.row.available" size="default">部署</el-button>
|
||||
<span v-else style="color: #888;">部署</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="info.state > 0" class="remark"></div>
|
||||
</el-card>
|
||||
|
|
Loading…
Reference in New Issue