update code
parent
d80cc2b84a
commit
682cf2a917
|
@ -47,6 +47,19 @@ class MenuAPI {
|
|||
alwaysShow: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "editModel",
|
||||
component: "model/editModel",
|
||||
name: "editModel",
|
||||
meta: {
|
||||
title: "更新模型",
|
||||
icon: "user",
|
||||
hidden: true,
|
||||
roles: ["ADMIN", "GUEST"],
|
||||
keepAlive: true,
|
||||
alwaysShow: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "modelDetail",
|
||||
component: "model/modelDetail",
|
||||
|
@ -194,6 +207,19 @@ class MenuAPI {
|
|||
alwaysShow: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "taskDesc",
|
||||
component: "simulationEvaluation/taskDesc",
|
||||
name: "simulationEvaluationTaskDesc",
|
||||
meta: {
|
||||
title: "任务详情",
|
||||
icon: "oper",
|
||||
hidden: true,
|
||||
roles: ["ADMIN", "GUEST"],
|
||||
keepAlive: true,
|
||||
alwaysShow: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "execution",
|
||||
component: "simulationEvaluation/execution",
|
||||
|
|
|
@ -62,6 +62,16 @@ const upload = (file) => {
|
|||
},
|
||||
});
|
||||
}
|
||||
const updateModel=(data)=>{
|
||||
return request({
|
||||
url: `/models/${data.id}/files`,
|
||||
method: "put",
|
||||
data:{
|
||||
file_name:data.fileName,
|
||||
modl_file_type:data.fileType
|
||||
}
|
||||
});
|
||||
}
|
||||
export default {
|
||||
list,
|
||||
add,
|
||||
|
@ -69,5 +79,6 @@ export default {
|
|||
findOne,
|
||||
adaptOperators,
|
||||
download,
|
||||
upload
|
||||
upload,
|
||||
updateModel
|
||||
}
|
|
@ -31,6 +31,15 @@ const addTask = (data) => {
|
|||
})
|
||||
}
|
||||
|
||||
//创建推理任务
|
||||
const deleteTask = (id) => {
|
||||
return request({
|
||||
url: '/tasks/'+id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//创建推理任务
|
||||
const stopTask = (id) => {
|
||||
return request({
|
||||
|
@ -41,10 +50,33 @@ const stopTask = (id) => {
|
|||
}
|
||||
})
|
||||
}
|
||||
const taskDetail=id=>{
|
||||
return request({
|
||||
url: '/tasks/'+id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
const taskResults=id=>{
|
||||
return request({
|
||||
url: '/tasks/'+id+'/results',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
const taskImage=(id,fileName)=>{
|
||||
return request({
|
||||
url: '/tasks/'+id+'/results/'+fileName,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export default {
|
||||
tasks,
|
||||
availableDevices,
|
||||
running,
|
||||
addTask,
|
||||
stopTask
|
||||
stopTask,
|
||||
taskDetail,
|
||||
taskResults,
|
||||
deleteTask,
|
||||
taskImage
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8029"><path d="M560.697 472.022a23 23 0 0 1 13.27 4.214L820.026 650.05c10.375 7.33 12.844 21.681 5.515 32.056a23 23 0 0 1-5.1 5.215L574.383 869.495c-10.21 7.559-24.613 5.41-32.171-4.799a23 23 0 0 1-4.515-13.686V733.816h-201.16c-143.36 0.815-221.206-70.034-233.537-212.546 12.457 13.043 66.902 90 233.537 90 111.09 0 178.144-1.277 201.16-3.828v-112.42c0-12.703 10.297-23 23-23zM406.788 119.304a23 23 0 0 1 4.515 13.686v117.194h201.16c143.36-0.815 221.206 70.034 233.537 212.546-12.457-13.043-66.902-90-233.537-90-111.09 0-178.144 1.277-201.16 3.828v112.42c0 12.703-10.297 23-23 23a23 23 0 0 1-13.27-4.214L128.974 333.95c-10.375-7.33-12.844-21.681-5.515-32.056a23 23 0 0 1 5.1-5.215l246.058-182.173c10.21-7.559 24.613-5.41 32.171 4.799z" p-id="8030"></path></svg>
|
After Width: | Height: | Size: 950 B |
Binary file not shown.
After Width: | Height: | Size: 677 B |
|
@ -0,0 +1,242 @@
|
|||
<template>
|
||||
<div class="app-container edit-model">
|
||||
<el-card>
|
||||
<template #header>
|
||||
<svg-icon icon-class="pause" style="width:20px;height:20px;" />
|
||||
模型基本信息 - 更新模型</template>
|
||||
|
||||
<table style="width:100%" class="tb-base-info">
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">模型名称:</span>
|
||||
<span class="sp-text">{{ data.info.model_name }}</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">模型类型:</span>
|
||||
<span class="sp-text">{{ data.info.modl_main_type_name }}
|
||||
/{{ data.info.modl_sub_type_name }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">模型版本:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.info.model_version }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">版本描述:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.info.model_desc }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">模型网络:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.info.model_net_type }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">上传用户:</span>
|
||||
<span class="sp-text"> {{ data.info.user_name }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">算法框架:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.info.modl_framework }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">上传时间:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.info.create_time }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="width: 100%;">
|
||||
<el-form ref="uploadForm" :rules="upRules" :model="upForm" label-width="120">
|
||||
<el-form-item label="网络参数" prop="model_file_list">
|
||||
<el-upload ref="uploadRef1" class="uploadFile1" :action="fileUpload" :data="upModelData"
|
||||
:headers="uploadHeaders" :before-upload="handleBeforeUploadModel"
|
||||
:on-success="handleUploadModelSuccess" :on-error="handleUploadModelFail"
|
||||
:on-remove="handleFileRemove" :on-exceed="handleFileExceed"
|
||||
:auto-upload-demo="false" :limit="1" accept=".onnx,.ts">
|
||||
<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">
|
||||
请上传大小不超过<span style="color:coral">500M</span>,格式为<span
|
||||
style="color:coral">onnx/ts</span>的文件
|
||||
</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
|
||||
<el-card class="card-footer">
|
||||
<el-button type="primary" @click="doSave">保存</el-button>
|
||||
<el-button @click="doBack">返回</el-button>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ModelApi from '@/api/models'
|
||||
import { TOKEN_KEY } from "@/enums/CacheEnum";
|
||||
const router = useRouter();
|
||||
const route = useRoute()
|
||||
const data = reactive({
|
||||
info: {}
|
||||
});
|
||||
let listOpt = reactive({
|
||||
upFiles: []
|
||||
});
|
||||
let fileUpload = ref(import.meta.env.VITE_APP_BASE_API + "/models/upload");
|
||||
let uploadHeaders = ref({
|
||||
Authorization: localStorage.getItem(TOKEN_KEY)
|
||||
})
|
||||
let upModelData = reactive({
|
||||
file_name: '',
|
||||
file_content: null
|
||||
});
|
||||
const uploadForm = ref(ElForm)
|
||||
let upForm = reactive({
|
||||
model_file_list: [
|
||||
|
||||
]
|
||||
})
|
||||
function handleFileExceed() {
|
||||
ElMessage.warning("超过上传上限!");
|
||||
}
|
||||
|
||||
function handleBeforeUploadModel(file, b, c) {
|
||||
if (file.size > 500 * 1024 * 1024) {
|
||||
ElMessage.warning("文件大小不能超500M");
|
||||
file.onError("文件大小不能超500M")
|
||||
return false;
|
||||
}
|
||||
let ext = file.name.split(".").pop().toLowerCase();
|
||||
if (["onnx", "ts"].indexOf(ext) == -1) {
|
||||
ElMessage.warning("请上传onnx/ts格式文件");
|
||||
file.onError("请上传onnx/ts格式文件")
|
||||
return false;
|
||||
}
|
||||
upModelData.file_name = file.name;
|
||||
upModelData.file_content = file;
|
||||
}
|
||||
|
||||
function handleUploadModelSuccess(res) {
|
||||
if (res.code == 0) {
|
||||
listOpt.upFiles.push({
|
||||
name: res.data.file_name,
|
||||
serverName: res.data.file_name
|
||||
})
|
||||
upForm.model_file_list = listOpt.upFiles.map(it => it.serverName);
|
||||
} else {
|
||||
ElMessage.error("上传失败," + res.message);
|
||||
uploadRef1.value.clearFiles();
|
||||
}
|
||||
}
|
||||
|
||||
function handleFileRemove(a, b, c) {
|
||||
let tmps = listOpt.upFiles.filter(d => d.name == a.name);
|
||||
if (tmps.length > 0) {
|
||||
let idx = listOpt.upFiles.indexOf(tmps[0]);
|
||||
listOpt.upFiles.splice(idx, 1);
|
||||
}
|
||||
upForm.model_file_list = listOpt.upFiles.map(it => it.serverName);
|
||||
}
|
||||
|
||||
function handleUploadModelFail(res) {
|
||||
uploadRef1.value.clearFiles();
|
||||
}
|
||||
|
||||
const upRules = computed(() => {
|
||||
return {
|
||||
model_file_list: [{ required: true, trigger: "blur", message: "请上传网络参数", }],
|
||||
}
|
||||
});
|
||||
|
||||
const doSave = () => {
|
||||
uploadForm.value?.validate((valid) => {
|
||||
if (valid) {
|
||||
let id = route.query.id;
|
||||
let name=listOpt.upFiles[0].name;
|
||||
let data={
|
||||
id:id,
|
||||
fileName:name,
|
||||
fileType:name.split(".").pop()
|
||||
}
|
||||
ModelApi.updateModel(data).then(d=>{
|
||||
if(d.data?.code==0){
|
||||
ElMessage.success("更新模型成功!");
|
||||
setTimeout(()=>{
|
||||
doBack();
|
||||
},1000);
|
||||
}else{
|
||||
ElMessage.error("更新模型失败!");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
const doBack = () => {
|
||||
router.push({ path: "/modelMgr/index" })
|
||||
}
|
||||
const initData = () => {
|
||||
let id = route.query.id;
|
||||
ModelApi.findOne(id).then(d => {
|
||||
data.info = d.data.data;
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
initData();
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
|
||||
:deep(span) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.edit-model {
|
||||
:deep(.el-card__header) {
|
||||
padding: 8px 4px;
|
||||
display: flex;
|
||||
align-items: center
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
position: fixed;
|
||||
width: calc(100% - 215px);
|
||||
bottom: 0px;
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px;
|
||||
|
||||
.el-pagination {
|
||||
justify-content: end;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -27,11 +27,12 @@
|
|||
<el-table-column label="说明" width="300" align="left" prop="model_desc" />
|
||||
<el-table-column label="上传时间" width="120" align="left" prop="create_time" />
|
||||
<el-table-column label="上传用户" width="100" align="left" prop="user_name" />
|
||||
<el-table-column label="操作" fixed="right" width="250">
|
||||
<el-table-column label="操作" fixed="right" width="350">
|
||||
<template #default="scope">
|
||||
<el-button text type="primary" size="small"
|
||||
@click="doShowModelDetail(scope.row)"><i-ep-edit />查看</el-button>
|
||||
@click="doShowModelDetail(scope.row)"><i-ep-edit />查看</el-button>
|
||||
<el-button text type="primary" size="small" @click="doconnection()" v-if="!isV2"><i-ep-link />互联</el-button>
|
||||
<el-button text type="primary" size="small" @click="updateModel(scope.row)" v-if="!isV2"> <svg-icon icon-class="update" />更新模型</el-button>
|
||||
<el-button text type="primary" size="small" @click="handleDelete(scope.row)" v-if="!isV2"><i-ep-delete />删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -91,6 +92,10 @@ function doconnection() {
|
|||
router.push({ path: "/connection/index" });
|
||||
}
|
||||
|
||||
/**更新模型 **/
|
||||
function updateModel(row){
|
||||
router.push({ path: "/modelMgr/editModel",query:{id:row.model_id} });
|
||||
}
|
||||
/** 重置查询 */
|
||||
function resetQuery() {
|
||||
queryFormRef.value.resetFields();
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
<script setup>
|
||||
import choiceTaskDlg from './components/choiceTaskDlg.vue'
|
||||
import ReportApi from '@/api/report'
|
||||
import OperatorApi from '@/api/operator'
|
||||
const router = useRouter();
|
||||
const info = reactive({
|
||||
tableData: [],
|
||||
|
@ -135,6 +136,7 @@ const info = reactive({
|
|||
lvl2: [],
|
||||
},
|
||||
choiceType: '',
|
||||
opId:null,
|
||||
})
|
||||
|
||||
const loading=ref(false);
|
||||
|
@ -186,6 +188,9 @@ function doMakeReport(){
|
|||
};
|
||||
}
|
||||
ReportApi.addReport(postData).then(d=>{
|
||||
debugger
|
||||
//info.opId=d.data.op_id;
|
||||
//loadOpLog();
|
||||
loading.value = false;
|
||||
let reportId=d.data?.data?.report_id||'';
|
||||
if(reportId){
|
||||
|
@ -196,6 +201,11 @@ function doMakeReport(){
|
|||
}
|
||||
});
|
||||
}
|
||||
const loadOpLog=()=>{
|
||||
OperatorApi.findOne(id).then(d=>{
|
||||
debugger
|
||||
})
|
||||
}
|
||||
//删除已选择
|
||||
function doDelete(row) {
|
||||
info.tableData = [];
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
<el-table-column label="模型网络" align="left" prop="modl_net_type" />
|
||||
<el-table-column label="创建时间" align="left" prop="create_time" width="160" />
|
||||
<el-table-column label="完成时间" align="left" prop="finish_time" width="160" />
|
||||
<el-table-column label="操作" fixed="right" align="center" width="200" v-if="1==2">
|
||||
<el-table-column label="操作" fixed="right" align="center" width="200">
|
||||
<template #default="scope">
|
||||
<el-button text type="primary" size="small" @click="doShowDetail(scope.row)"><i-ep-view />查看报告</el-button>
|
||||
<el-button text type="primary" v-if="1 == 2" size="small"
|
||||
<el-button text type="primary" size="small" @click="doShowDetail(scope.row)"><i-ep-view />查看任务</el-button>
|
||||
<el-button text type="primary" size="small"
|
||||
@click="doDelete(scope.row)"><i-ep-close-bold />删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -67,16 +67,18 @@ const doDelete = (row) => {
|
|||
type: "warning",
|
||||
}).then(function () {
|
||||
|
||||
let idx = tableData.indexOf(row);
|
||||
if (idx >= 0) {
|
||||
tableData.splice(idx, 1);
|
||||
ElMessage.success("删除成功");
|
||||
}
|
||||
|
||||
TaskApi.deleteTask(row.task_id).then(d=>{
|
||||
if(d.data.code==0){
|
||||
ElMessage.success("删除成功");
|
||||
loadData();
|
||||
}else{
|
||||
ElMessage.error("删除失败!");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
const doShowDetail = row => {
|
||||
router.push({ path: "/simulationEvaluation/taskDesc", query: { ...row } });
|
||||
router.push({ path: "/simulationEvaluation/taskDesc", query: {id:row.task_id } });
|
||||
}
|
||||
const loadData = () => {
|
||||
loading.value = true;
|
||||
|
|
|
@ -0,0 +1,241 @@
|
|||
<template>
|
||||
<div class="app-container task-detail">
|
||||
<el-card>
|
||||
<template #header>
|
||||
<svg-icon icon-class="pause" style="width:20px;height:20px;" />
|
||||
任务详情</template>
|
||||
<table style="width:100%" class="tb-base-info">
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">任务名称:</span>
|
||||
<span class="sp-text">{{ data.taskInfo.task_name }}</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">任务说明:</span>
|
||||
<span class="sp-text">{{ data.taskInfo.task_desc }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">互联名称:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.connection_name }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">互联说明:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.connection_desc }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">数据集:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.dataset_name }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">图像数量:</span>
|
||||
<span class="sp-text"> {{ data.taskInfo.image_count }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">运行模型:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.model_name }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">模型网络:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.modl_net_type }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">设备名称:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.device_name }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">开始时间:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.create_time }}
|
||||
</span>
|
||||
</td>
|
||||
<td style="width: 50%;">
|
||||
<span class="sp-title">结束时间:</span>
|
||||
<span class="sp-text">
|
||||
{{ data.taskInfo.finish_time }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 20px;" class="image-list">
|
||||
<template #header>
|
||||
<svg-icon icon-class="pause" style="width:20px;height:20px;" />
|
||||
结果集图像列表({{ data.imageList.length }})</template>
|
||||
<el-upload v-model:file-list="data.imageList" class="upload-demo upload-demo-2"
|
||||
:on-preview="handlePreview" />
|
||||
<el-empty v-if="data.imageList.length == 0" description="暂 无 数 据" />
|
||||
</el-card>
|
||||
|
||||
|
||||
<div class="demo-image__preview">
|
||||
<el-image class="imgPreView" :src="imgPreSrc" :zoom-rate="1.2" :max-scale="7" :min-scale="0.2"
|
||||
:preview-src-list="imgPreSrcList" :initial-index="4" style="width: 1px; height: 1px" fit="cover" />
|
||||
</div>
|
||||
|
||||
|
||||
<el-card class="card-footer">
|
||||
<el-button type="primary" @click="doDelete">删除</el-button>
|
||||
<el-button @click="doBack">返回</el-button>
|
||||
</el-card>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import task from '@/api/task';
|
||||
import DataSetApi from "@/api/dataSet";
|
||||
const router = useRouter();
|
||||
const route = useRoute()
|
||||
const imgPreSrcList = ref([]);
|
||||
const imgPreSrc = ref("");
|
||||
const imgViewer = ref(false);
|
||||
const data = reactive({
|
||||
taskInfo: {},
|
||||
imageList: [],
|
||||
elKey: 0
|
||||
})
|
||||
const doDelete = () => {
|
||||
ElMessageBox.confirm("确认删除?", "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(function () {
|
||||
let id = route.query.id;
|
||||
task.deleteTask(id).then(d => {
|
||||
if (d.data.code == 0) {
|
||||
ElMessage.success("删除成功");
|
||||
setTimeout(() => {
|
||||
doBack();
|
||||
}, 1000);
|
||||
} else {
|
||||
ElMessage.error("删除失败!");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
const doBack = () => {
|
||||
router.push({ path: "/simulationEvaluation/hisTaskList" })
|
||||
}
|
||||
|
||||
/** 预览图片 */
|
||||
function handlePreview(file) {
|
||||
imgPreSrcList.value = [];
|
||||
let id = route.query.id;
|
||||
task.taskImage(id, file.name).then(res => {
|
||||
if (res.data.code == 0) {
|
||||
imgPreSrc.value = "data:image/gif;base64," + res.data.data.file_content;
|
||||
imgPreSrcList.value.push(imgPreSrc.value);
|
||||
setTimeout(() => {
|
||||
console.log("点击事件===>");
|
||||
imgViewer.value = true;
|
||||
document.getElementsByClassName("imgPreView")[0].children[0].click();
|
||||
}, 50);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const initData = () => {
|
||||
|
||||
let id = route.query.id;
|
||||
task.taskDetail(id).then(d => {
|
||||
data.taskInfo = d.data.data || {};
|
||||
data.elKey++;
|
||||
})
|
||||
task.taskResults(id).then(d => {
|
||||
data.imageList = (d.data.data.image_list || []).map(it => {
|
||||
return {
|
||||
name: it, url: it
|
||||
}
|
||||
});
|
||||
data.elKey++;
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
initData();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tb-base-info {
|
||||
line-height: 30px;
|
||||
|
||||
:deep(span) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
: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;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.app-container.task-detail{
|
||||
.image-list{
|
||||
.el-upload.el-upload--text{
|
||||
display: none;
|
||||
}
|
||||
.el-upload-list{
|
||||
margin-top: 0px;
|
||||
|
||||
.el-upload-list__item{
|
||||
display: inline-block;
|
||||
width:23%;
|
||||
.el-icon.el-icon--document{
|
||||
background-image: url("../../assets/img.png");
|
||||
width:18px;
|
||||
background-repeat: no-repeat;
|
||||
svg{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.el-icon.el-icon--close{
|
||||
display: none;
|
||||
}
|
||||
.el-upload-list__item-status-label{
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue