update code
parent
0e162d8302
commit
f5ea130e2e
|
@ -42,4 +42,12 @@ const fontColor = computed(() => {
|
||||||
.table-container .el-form-item--default {
|
.table-container .el-form-item--default {
|
||||||
margin-bottom: 0px !important;
|
margin-bottom: 0px !important;
|
||||||
}
|
}
|
||||||
|
.el-table__header{
|
||||||
|
th{
|
||||||
|
background-color: #edebeb6e !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-pagination{
|
||||||
|
justify-content: end;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -136,7 +136,7 @@ class MenuAPI {
|
||||||
meta: {
|
meta: {
|
||||||
title: "编译部署",
|
title: "编译部署",
|
||||||
icon: "user",
|
icon: "user",
|
||||||
hidden: false,
|
hidden: true,
|
||||||
roles: ["ADMIN", "GUEST"],
|
roles: ["ADMIN", "GUEST"],
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
alwaysShow: false,
|
alwaysShow: false,
|
||||||
|
@ -147,7 +147,7 @@ class MenuAPI {
|
||||||
name: "simulationEvaluationAddTask",
|
name: "simulationEvaluationAddTask",
|
||||||
meta: {
|
meta: {
|
||||||
title: "新建推理任务",
|
title: "新建推理任务",
|
||||||
icon: "user",
|
icon: "oper",
|
||||||
hidden: false,
|
hidden: false,
|
||||||
roles: ["ADMIN", "GUEST"],
|
roles: ["ADMIN", "GUEST"],
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
|
@ -155,24 +155,24 @@ class MenuAPI {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "reason",
|
path: "execution",
|
||||||
component: "simulationEvaluation/reason",
|
component: "simulationEvaluation/execution",
|
||||||
name: "simulationEvaluationReason",
|
name: "simulationEvaluationExecution",
|
||||||
meta: {
|
meta: {
|
||||||
title: "推理评估",
|
title: "执行中任务",
|
||||||
icon: "role",
|
icon: "oper",
|
||||||
hidden: false,
|
hidden: false,
|
||||||
roles: ["ADMIN6", "GUEST", "ADMIN"],
|
roles: ["ADMIN6", "GUEST", "ADMIN"],
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
alwaysShow: false,
|
alwaysShow: false,
|
||||||
},
|
},
|
||||||
},{
|
},{
|
||||||
path: "reasonReport",
|
path: "hisTaskList",
|
||||||
component: "simulationEvaluation/reasonReport",
|
component: "simulationEvaluation/hisTaskList",
|
||||||
name: "simulationEvaluationReasonReport",
|
name: "simulationEvaluationHisTaskList",
|
||||||
meta: {
|
meta: {
|
||||||
title: "评估报告",
|
title: "历史任务列表",
|
||||||
icon: "role",
|
icon: "oper",
|
||||||
hidden: false,
|
hidden: false,
|
||||||
roles: ["ADMIN6", "GUEST", "ADMIN"],
|
roles: ["ADMIN6", "GUEST", "ADMIN"],
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
|
|
|
@ -154,4 +154,10 @@ const logList=reactive([{
|
||||||
width: calc(100% - 215px);
|
width: calc(100% - 215px);
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
|
.div-log{
|
||||||
|
font-size:12px;
|
||||||
|
:deep(.el-card__body){
|
||||||
|
padding:8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -36,7 +36,7 @@ const total=ref(100)
|
||||||
const handleChange = (row) => {
|
const handleChange = (row) => {
|
||||||
modelSelection.value = row.id + "";
|
modelSelection.value = row.id + "";
|
||||||
}
|
}
|
||||||
const doRowClick=(row,col,sel)=>{
|
const doRowClick=(row)=>{
|
||||||
modelSelection.value=row.id+"";
|
modelSelection.value=row.id+"";
|
||||||
}
|
}
|
||||||
/** 查询 */
|
/** 查询 */
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
<el-card style="margin-top:12px;position: relative;" class="simulation-add-add-step32">
|
<el-card style="margin-top:12px;position: relative;" class="simulation-add-add-step32">
|
||||||
<template #header>
|
<template #header>
|
||||||
<span>设备选择</span>
|
<span>设备选择</span>
|
||||||
<el-form ref="queryFormRef" :model="queryParams" :inline="true" style="flex-grow: 1;text-align: right;position: absolute;top:4px;right:0px;">
|
<el-form ref="queryFormRef" :model="queryParams" :inline="true"
|
||||||
|
style="flex-grow: 1;text-align: right;position: absolute;top:4px;right:0px;">
|
||||||
<el-form-item label="" prop="keywords">
|
<el-form-item label="" prop="keywords">
|
||||||
<el-input v-model="queryParams.keywords" placeholder="请输入设备名称" clearable style="width: 250px" />
|
<el-input v-model="queryParams.keywords" placeholder="请输入设备名称" clearable style="width: 250px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -29,23 +30,32 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="tableData" stripe @row-click="doRowClick">
|
<el-table v-loading="loading" ref="dataTb" :data="tableData" stripe @row-click="doRowClick">
|
||||||
<el-table-column align="center" width="55" label="选择">
|
<el-table-column type="selection" width="55" />
|
||||||
<template #default="scope">
|
|
||||||
<el-radio v-model="devSelection" :label="scope.row.id + ''"
|
|
||||||
@change="handleChange(scope.row)"> </el-radio>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="设备名称" align="left" prop="devName" />
|
<el-table-column label="设备名称" align="left" prop="devName" />
|
||||||
<el-table-column label="AI芯片信息" align="left" prop="aiChip" />
|
<el-table-column label="AI芯片信息" align="left" prop="aiChip" />
|
||||||
<el-table-column label="部模型名称" align="left" prop="modelName" width="120" />
|
<el-table-column label="部模型名称" align="left" prop="modelName" width="120" />
|
||||||
|
|
||||||
<el-table-column label="横型类型" align="left" modelType="ver" />
|
<el-table-column label="横型类型" align="left" prop="ver" />
|
||||||
<el-table-column label="互联名称" align="left" prop="netName" width="120" />
|
<el-table-column label="互联名称" align="left" prop="netName" width="120" />
|
||||||
<el-table-column label="部署时间" width="120" align="left" prop="pubTime" />
|
<el-table-column label="部署时间" align="left" prop="pubTime" width="160" />
|
||||||
<el-table-column label="设备状态" fixed="right" align="center" width="270">
|
<el-table-column label="量化和编译参数" align="left" prop="pubTime" width="160">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span :class="'dev-state state-'+scope.row.state">{{ scope.row.state==0?'空闲':scope.row.state==2?'完成':'推理中' }}</span>
|
<span
|
||||||
|
:class="'args-state state-' + scope.row.args">{{ scope.row.args == 0 ? '' : scope.row.args == 1 ? '无' : '量化和编译参数'
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="设备状态" align="center" width="100">
|
||||||
|
<template #default="scope">
|
||||||
|
<span :class="'device-state state-' + scope.row.state">{{
|
||||||
|
scope.row.state == 0 ? '空闲' : scope.row.state == 2 ? '完成' : '推理中' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="设备状态" align="center" width="100">
|
||||||
|
<template #default="scope">
|
||||||
|
<span class="result-state" v-if="scope.row.result">{{scope.row.result }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
@ -56,19 +66,18 @@
|
||||||
|
|
||||||
<div style="margin-top:12px;font-size:12px;font-weight: bold;margin-left:8px;">编译结果</div>
|
<div style="margin-top:12px;font-size:12px;font-weight: bold;margin-left:8px;">编译结果</div>
|
||||||
<el-card style="" class="simulation-add-add-step33">
|
<el-card style="" class="simulation-add-add-step33">
|
||||||
<el-input v-model="result" type="textarea" style="width:100%;" :rows="4"
|
<el-input v-model="result" type="textarea" style="width:100%;" :rows="4" placeholder="请输入" />
|
||||||
placeholder="请输入" />
|
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const devSelection = ref("")//单选id
|
let dataTb = ref()
|
||||||
let result=ref("")
|
|
||||||
const handleChange = (row) => {
|
const handleChange = (row) => {
|
||||||
devSelection.value = row.id + "";
|
devSelection.value = row.id + "";
|
||||||
}
|
}
|
||||||
const doRowClick=(row,col,sel)=>{
|
const doRowClick = (row) => {
|
||||||
devSelection.value=row.id+"";
|
dataTb.value.toggleRowSelection(row)
|
||||||
}
|
}
|
||||||
const queryFormRef = ref()
|
const queryFormRef = ref()
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
|
@ -94,16 +103,44 @@ function handleQuery(a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tableData = reactive([
|
let tableData = reactive([
|
||||||
{id:"1",devName:"Atlas200智能模组",aiChip:'进行人员检订的模型',modelName:'模型各称模型各称模型各称',modelType:'VIT',netName:'我的互联各称',pubTime:'2024-06-09 18:32:13',state:0},
|
{ id: "1", devName: "Atlas200智能模组", aiChip: '进行人员检订的模型', modelName: '模型各称模型各称模型各称', modelType: 'VIT', netName: '我的互联各称', pubTime: '2024-06-09 18:32:13', args: 2, state: 0, result: '' },
|
||||||
{id:"2",devName:"FPGA报卡",aiChip:'进行人员检订的模型',modelName:'模型各称模型各称模型各称',modelType:'VIT',netName:'我的互联各称',pubTime:'2024-06-09 18:32:13',state:1},
|
{ id: "2", devName: "FPGA报卡", aiChip: '进行人员检订的模型', modelName: '模型各称模型各称模型各称', modelType: 'VIT', netName: '我的互联各称', pubTime: '2024-06-09 18:32:13', state: 1, args: 1, result: '' },
|
||||||
{id:"3",devName:"RTX4090显卡",aiChip:'进行人员检订的模型',modelName:'模型各称模型各称模型各称',modelType:'VIT',netName:'我的互联各称',pubTime:'2024-06-09 18:32:13',state:2},
|
{ id: "3", devName: "RTX4090显卡", aiChip: '进行人员检订的模型', modelName: '模型各称模型各称模型各称', modelType: 'VIT', netName: '我的互联各称', pubTime: '2024-06-09 18:32:13', state: 2, args: 0, result: '无对应算子' }
|
||||||
{id:"4",devName:"RTX4080显卡",aiChip:'进行人员检订的模型',modelName:'模型各称模型各称模型各称',modelType:'VIT',netName:'我的互联各称',pubTime:'2024-06-09 18:32:13',state:0},
|
|
||||||
{id:"5",devName:"RTX4070显卡",aiChip:'进行人员检订的模型',modelName:'模型各称模型各称模型各称',modelType:'VIT',netName:'我的互联各称',pubTime:'2024-06-09 18:32:13',state:1},
|
|
||||||
])
|
])
|
||||||
|
|
||||||
|
const checkForm = () => {
|
||||||
|
let rows = dataTb.value.getSelectionRows();
|
||||||
|
return rows.length == 0 ? null : rows;
|
||||||
|
};
|
||||||
|
defineExpose({
|
||||||
|
checkForm
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang='scss' scoped>
|
<style lang="scss" scoped>
|
||||||
.model-info {
|
.model-info {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<style lang='scss'>
|
||||||
|
|
||||||
|
|
||||||
|
.simulation-add-add-step32 {
|
||||||
|
.device-state {
|
||||||
|
&.state-1 {
|
||||||
|
color: var(--el-color-primary);
|
||||||
|
}
|
||||||
|
&.state-2 {
|
||||||
|
color:var(--el-color-success);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.args-state{
|
||||||
|
&.state-2{
|
||||||
|
color: var(--el-color-primary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.result-state{
|
||||||
|
color:var(--el-color-danger);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,10 +1,81 @@
|
||||||
<template>
|
<template>
|
||||||
<el-card style="margin-top:12px" class="simulation-add-add-step4">
|
<el-card style="margin-top:12px;position: relative;" class="simulation-add-add-step4">
|
||||||
<template #header>数据集列表</template>
|
<template #header>
|
||||||
|
<span>数据集列表</span>
|
||||||
|
<el-form ref="queryFormRef" :model="queryParams" :inline="true" style="flex-grow: 1;text-align: right;position: absolute;top:4px;right:0px;">
|
||||||
|
<el-form-item label="" prop="keywords">
|
||||||
|
<el-input v-model="queryParams.keywords" placeholder="请输入数据集名称" clearable style="width: 250px" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="handleQuery"><i-ep-search />搜索</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
<el-table v-loading="loading" :data="tableData" stripe @row-click="doRowClick">
|
||||||
|
<el-table-column align="center" width="55" label="选择">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-radio v-model="datasSelection" :label="scope.row.id + ''"
|
||||||
|
@change="handleChange(scope.row)"> </el-radio>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="数据集名称" align="left" prop="datasName" />
|
||||||
|
<el-table-column label="版本" align="left" prop="ver" width="80"/>
|
||||||
|
<el-table-column label="数据集说明" align="left" prop="desc" />
|
||||||
|
|
||||||
|
<el-table-column label="适用任务类型" align="left" prop="planType" />
|
||||||
|
<el-table-column label="图片数量" align="left" prop="imgCount" width="120" />
|
||||||
|
<el-table-column label="图片格式" width="120" align="left" prop="imgFmt" />
|
||||||
|
<el-table-column label="创建时间" align="left" prop="createTime" />
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<pagination v-if="total > 0" v-model:total="total" v-model:page="queryParams.pageNum"
|
||||||
|
v-model:limit="queryParams.pageSize" @pagination="handleQuery" />
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
const datasSelection = ref("")//单选id
|
||||||
|
const loading=ref(false)
|
||||||
|
const queryFormRef=ref()
|
||||||
|
const queryParams = reactive({
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
keywords:''
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
const total=ref(100)
|
||||||
|
/** 查询 */
|
||||||
|
function handleQuery(a) {
|
||||||
|
queryParams.pageSize=a.limit;
|
||||||
|
ElMessage.success("查询成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleChange = (row) => {
|
||||||
|
datasSelection.value = row.id + "";
|
||||||
|
}
|
||||||
|
const doRowClick=(row,col,sel)=>{
|
||||||
|
datasSelection.value=row.id+"";
|
||||||
|
}
|
||||||
|
let tableData=reactive([
|
||||||
|
{id:"1",datasName:"人员检测数据集1",ver:'V1',desc:'一些数据集说明',planType:'图像检测',imgCount:435566,imgFmt:'RGB24',createTime:'2024-06-09 18:32:13'},
|
||||||
|
{id:"2",datasName:"人员检测数据集2",ver:'V1',desc:'一些数据集说明',planType:'图像检测',imgCount:435566,imgFmt:'RGB24',createTime:'2024-06-09 18:32:13'},
|
||||||
|
{id:"3",datasName:"人员检测数据集3",ver:'V1',desc:'一些数据集说明',planType:'图像检测',imgCount:435566,imgFmt:'RGB24',createTime:'2024-06-09 18:32:13'},
|
||||||
|
{id:"4",datasName:"人员检测数据集4",ver:'V1',desc:'一些数据集说明',planType:'图像检测',imgCount:435566,imgFmt:'RGB24',createTime:'2024-06-09 18:32:13'},
|
||||||
|
{id:"5",datasName:"人员检测数据集5",ver:'V1',desc:'一些数据集说明',planType:'图像检测',imgCount:435566,imgFmt:'RGB24',createTime:'2024-06-09 18:32:13'},
|
||||||
|
])
|
||||||
|
|
||||||
|
const checkForm=()=>{
|
||||||
|
if(datasSelection.value){
|
||||||
|
let tmps=tableData.filter(d=>d.id==datasSelection.value);
|
||||||
|
return tmps.length>0?tmps[0]:null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
defineExpose({
|
||||||
|
checkForm
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang='scss'>
|
<style lang='scss'>
|
||||||
</style>
|
</style>
|
|
@ -12,7 +12,7 @@
|
||||||
<addStep1 ref="step1" v-if="active == 1" />
|
<addStep1 ref="step1" v-if="active == 1" />
|
||||||
<addStep2 ref="step2" v-if="active == 2"/>
|
<addStep2 ref="step2" v-if="active == 2"/>
|
||||||
<addStep3 ref="step3" v-if="active == 3" :modelInfo="modelInfo"/>
|
<addStep3 ref="step3" v-if="active == 3" :modelInfo="modelInfo"/>
|
||||||
<addStep4 v-if="active == 4" />
|
<addStep4 ref="step4" v-if="active == 4" />
|
||||||
</div>
|
</div>
|
||||||
<el-card class="card-footer">
|
<el-card class="card-footer">
|
||||||
<el-button type="primary" v-if="active == 3" @click="doCompile">编译部署</el-button>
|
<el-button type="primary" v-if="active == 3" @click="doCompile">编译部署</el-button>
|
||||||
|
@ -28,17 +28,37 @@ import addStep1 from './addStep1.vue'
|
||||||
import addStep2 from './addStep2.vue'
|
import addStep2 from './addStep2.vue'
|
||||||
import addStep3 from './addStep3.vue'
|
import addStep3 from './addStep3.vue'
|
||||||
import addStep4 from './addStep4.vue'
|
import addStep4 from './addStep4.vue'
|
||||||
|
const router = useRouter();
|
||||||
const active = ref(1)
|
const active = ref(1)
|
||||||
const step1=ref()
|
const step1=ref()
|
||||||
const step2=ref()
|
const step2=ref()
|
||||||
|
const step3=ref()
|
||||||
|
const step4=ref()
|
||||||
let taskInfo=reactive({});
|
let taskInfo=reactive({});
|
||||||
let modelInfo=reactive({});
|
let modelInfo=reactive({});
|
||||||
|
let devices=reactive([]);
|
||||||
|
let datas=reactive({});
|
||||||
|
|
||||||
const doStart = () => {
|
const doStart = () => {
|
||||||
|
let tmp=step4.value.checkForm();
|
||||||
|
if(tmp){
|
||||||
|
datas=tmp;
|
||||||
|
ElMessage.success("开始执行!");
|
||||||
|
setTimeout(()=>{
|
||||||
|
router.replace({ path: "/simulationEvaluation/execution" });
|
||||||
|
},1000);
|
||||||
|
}else{
|
||||||
|
ElMessage.error("请选择数据集!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const doCompile = () => {
|
const doCompile = () => {
|
||||||
|
let tmp=step3.value.checkForm();
|
||||||
|
if(tmp){
|
||||||
|
devices=tmp;
|
||||||
|
ElMessage.success("开始编译部署!");
|
||||||
|
}else{
|
||||||
|
ElMessage.error("请选择设备!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const doPrev = () => {
|
const doPrev = () => {
|
||||||
active.value--;
|
active.value--;
|
||||||
|
@ -59,6 +79,16 @@ const doNext = () => {
|
||||||
}else{
|
}else{
|
||||||
ElMessage.error("请选择模型!");
|
ElMessage.error("请选择模型!");
|
||||||
}
|
}
|
||||||
|
}else if(active.value==3){
|
||||||
|
let tmp=step3.value.checkForm();
|
||||||
|
if(tmp){
|
||||||
|
devices=tmp;
|
||||||
|
active.value++;
|
||||||
|
}else{
|
||||||
|
ElMessage.error("请选择设备!");
|
||||||
|
}
|
||||||
|
}else if(active.value==4){
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
active.value++;
|
active.value++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container simulation-execution">
|
||||||
|
<el-card>
|
||||||
|
<el-table v-loading="loading" ref="dataTb" :data="tableData" stripe height="400px" >
|
||||||
|
<el-table-column label="推理任务名称" align="left" prop="taskName" />
|
||||||
|
<el-table-column label="模型名称" align="left" prop="modelName" />
|
||||||
|
<el-table-column label="模型类型" align="left" prop="modelType" />
|
||||||
|
<el-table-column label="互联名称" align="left" prop="netName" />
|
||||||
|
<el-table-column label="推理数据集名称" align="left" prop="datasName" />
|
||||||
|
<el-table-column label="创建用户" width="120" align="left" prop="createUser" />
|
||||||
|
<el-table-column label="推理设备名称" align="left" prop="devName" />
|
||||||
|
<el-table-column label="运行状态" fixed="right" align="center" width="120">
|
||||||
|
<template #default="scope">
|
||||||
|
<span :class="'run-state state-'+scope.row.state">{{ scope.row.state==1?'完成':'推理中' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right" align="center" width="120">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button text type="primary">
|
||||||
|
<i-ep-circle-close /> 终止推理</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<pagination v-if="total > 0" v-model:total="total" v-model:page="queryParams.pageNum"
|
||||||
|
v-model:limit="queryParams.pageSize" @pagination="handleQuery" />
|
||||||
|
</el-card>
|
||||||
|
<div style="margin-top:30px;font-size:12px;font-weight: bold;margin-left:8px;">推理日志</div>
|
||||||
|
<el-card class="split-log">
|
||||||
|
<div v-for="(it,idx) in logList" :key="idx" class="log-item">
|
||||||
|
<span>{{ it.date }}</span>
|
||||||
|
<span>{{it.log}}</span>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
let loading=ref(false)
|
||||||
|
const logList=reactive([
|
||||||
|
{date:'2024-05-06 18:34:36',log:'系统已启动编译'},
|
||||||
|
{date:'2024-05-06 18:34:36',log:'系统正在分割目标文件'},
|
||||||
|
{date:'2024-05-06 18:34:36',log:'运行时异常,系统编译已终止'}])
|
||||||
|
const queryParams = reactive({
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
keywords:''
|
||||||
|
});
|
||||||
|
const total=ref(100)
|
||||||
|
/** 查询 */
|
||||||
|
function handleQuery(a) {
|
||||||
|
queryParams.pageSize=a.limit;
|
||||||
|
ElMessage.success("查询成功");
|
||||||
|
loading.value = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
let tableData=reactive([
|
||||||
|
{id:"1",taskName:"人脸识别推理1",modelName:'进行人员检测的模型1',modelType:'图像分类',netName:'我的互联名称',datasName:'模型名称模型名称模型名称1',createUser:'User',devName:'Mobile-Vit',state:0},
|
||||||
|
{id:"2",taskName:"人脸识别推理2",modelName:'进行人员检测的模型2',modelType:'图像分类',netName:'我的互联名称',datasName:'模型名称模型名称模型名称2',createUser:'User',devName:'Mobile-Vit',state:1},
|
||||||
|
{id:"3",taskName:"人脸识别推理3",modelName:'进行人员检测的模型3',modelType:'图像分类',netName:'我的互联名称',datasName:'模型名称模型名称模型名称3',createUser:'User',devName:'Mobile-Vit',state:0},
|
||||||
|
{id:"4",taskName:"人脸识别推理4",modelName:'进行人员检测的模型4',modelType:'图像分类',netName:'我的互联名称',datasName:'模型名称模型名称模型名称4',createUser:'User',devName:'Mobile-Vit',state:1}
|
||||||
|
])
|
||||||
|
</script>
|
||||||
|
<style lang='scss'>
|
||||||
|
.simulation-execution{
|
||||||
|
.split-log{
|
||||||
|
font-size: 12px;
|
||||||
|
.el-card__body{
|
||||||
|
padding:8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.run-state{
|
||||||
|
&.state-0{
|
||||||
|
color:var(--el-color-primary);
|
||||||
|
}
|
||||||
|
&.state-1{
|
||||||
|
color:var(--el-color-success);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container simulation-his-task-list">
|
||||||
|
正在建设
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang='ts' setup>
|
||||||
|
</script>
|
||||||
|
<style scoped lang='less'>
|
||||||
|
</style>
|
Loading…
Reference in New Issue