update code

main
haha 2024-08-17 23:06:31 +08:00
parent 9f7acbdaec
commit 86faa6878b
8 changed files with 147 additions and 314 deletions

View File

@ -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 {};
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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");
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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>

View File

@ -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>