Эх сурвалжийг харах

feat: 初步实现子任务查看功能

WANGKANG 3 сар өмнө
parent
commit
30de862353

+ 103 - 26
src/views/demo/algorithmTaskTrack/index.vue

@@ -21,24 +21,16 @@
       </template>
       </template>
       <!-- 表格操作 -->
       <!-- 表格操作 -->
       <template #operation="scope">
       <template #operation="scope">
-        <el-button
-          type="primary"
-          link
-          icon="View"
-          v-auth="['demo:algorithmTaskTrack:query']"
-          @click="openDialog(3, '可辨识性分析总任务查看', scope.row)"
-        >
-          查看
-        </el-button>
-        <el-button
-          type="primary"
-          link
-          icon="EditPen"
-          v-auth="['demo:algorithmTaskTrack:edit']"
-          @click="openDialog(2, '可辨识性分析总任务编辑', scope.row)"
-        >
-          编辑
-        </el-button>
+        <el-button type="primary" link icon="View" v-auth="['demo:algorithmTaskTrack:query']" @click="openViewDialog(scope.row)"> 查看 </el-button>
+        <!--        <el-button-->
+        <!--          type="primary"-->
+        <!--          link-->
+        <!--          icon="EditPen"-->
+        <!--          v-auth="['demo:algorithmTaskTrack:edit']"-->
+        <!--          @click="openDialog(2, '可辨识性分析总任务编辑', scope.row)"-->
+        <!--        >-->
+        <!--          编辑-->
+        <!--        </el-button>-->
         <el-button type="primary" link icon="Delete" v-auth="['demo:algorithmTaskTrack:remove']" @click="deleteAlgorithmTaskTrack(scope.row)">
         <el-button type="primary" link icon="Delete" v-auth="['demo:algorithmTaskTrack:remove']" @click="deleteAlgorithmTaskTrack(scope.row)">
           删除
           删除
         </el-button>
         </el-button>
@@ -137,6 +129,79 @@
         <el-button type="primary" @click="addAlgorithmTaskTrack"> 确定</el-button>
         <el-button type="primary" @click="addAlgorithmTaskTrack"> 确定</el-button>
       </template>
       </template>
     </el-dialog>
     </el-dialog>
+    <el-dialog v-model="dialogVisibleView" @open="handleOpenView()" title="可辨识性分析总任务查看" width="90%">
+      <div style="width: 100%; height: auto; overflow: auto">
+        <el-table :data="viewData" border height="500px">
+          <el-table-column prop="id" label="主键ID" width="180" />
+          <el-table-column prop="name" label="任务名称" width="150" />
+          <el-table-column prop="status" label="任务状态" width="150">
+            <template #default="scope">
+              <el-tag type="success">
+                {{ Status__[scope.row.status] }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="type" label="类型" width="120">
+            <template #default="scope">
+              <el-tag type="success">
+                {{ AlgorithmType[scope.row.type] }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="subsystem" label="分系统" width="200">
+            <template #default="scope">
+              <el-tag type="success">
+                {{ SubSystem[scope.row.subsystem] }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="algorithmName" label="算法名称" width="200" />
+          <el-table-column prop="modelName" label="模型名称" width="200" />
+          <el-table-column prop="algorithmParameters" label="算法参数" width="150">
+            <template #default="scope">
+              <el-tooltip :content="scope.row.algorithmParameters" raw-content placement="top-start" v-if="scope.row.algorithmParameters">
+                <span
+                  >{{
+                    scope.row.outputPath && scope.row.algorithmParameters.length > 15
+                      ? scope.row.algorithmParameters.substring(0, 15) + '...'
+                      : scope.row.algorithmParameters
+                  }}
+                </span>
+              </el-tooltip>
+            </template>
+          </el-table-column>
+          <el-table-column prop="startTime" label="开始时间" width="180" />
+          <el-table-column prop="endTime" label="结束时间" width="180" />
+          <el-table-column prop="costSecond" label="耗时" width="120" />
+          <el-table-column prop="log" label="日志" width="120">
+            <template #default="scope">
+              <el-tooltip :content="scope.row.log" raw-content placement="top-start" v-if="scope.row.log">
+                <span>{{ scope.row.outputPath && scope.row.log.length > 15 ? scope.row.log.substring(0, 15) + '...' : scope.row.log }} </span>
+              </el-tooltip>
+            </template>
+          </el-table-column>
+          <el-table-column prop="outputPath" label="输出路径" width="120">
+            <template #default="scope">
+              <el-tooltip :content="scope.row.outputPath" raw-content placement="top-start" v-if="scope.row.outputPath">
+                <span
+                  >{{
+                    scope.row.outputPath && scope.row.outputPath.length > 15 ? scope.row.outputPath.substring(0, 15) + '...' : scope.row.outputPath
+                  }}
+                </span>
+              </el-tooltip>
+            </template>
+          </el-table-column>
+          <el-table-column prop="remarks" label="备注" width="120" />
+          <el-table-column prop="operation" label="操作" width="230" fixed="right">
+            <template #default="scope">
+              <el-button type="primary" size="mini" @click="openViewDialog(scope.row)"> 查看</el-button>
+              <el-button type="primary" size="mini" @click="openDialog(2, '可辨识性分析总任务编辑', scope.row)"> 编辑</el-button>
+              <el-button type="danger" size="mini" @click="deleteAlgorithmTaskTrack(scope.row)"> 删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </el-dialog>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -157,9 +222,10 @@ import {
   importTemplateApi,
   importTemplateApi,
   importAlgorithmTaskTrackDataApi,
   importAlgorithmTaskTrackDataApi,
   exportAlgorithmTaskTrackApi,
   exportAlgorithmTaskTrackApi,
-  getAlgorithmTaskTrackApi
+  getAlgorithmTaskTrackApi,
+  listSubTaskAlgorithmTaskTrackApi
 } from '@/api/modules/demo/algorithmTaskTrack'
 } from '@/api/modules/demo/algorithmTaskTrack'
-import { AlgorithmType, AlgorithmType2, SubSystem, SubSystem__ } from '@/views/demo/utils'
+import { AlgorithmType, AlgorithmType2, enumsAlgorithmType, enumsSubSystem, Status__, SubSystem, SubSystem__ } from '@/views/demo/utils'
 import { enumAlgorithmConfigTrackApi, getAlgorithmConfigTrackApi } from '@/api/modules/demo/AlgorithmConfigTrack'
 import { enumAlgorithmConfigTrackApi, getAlgorithmConfigTrackApi } from '@/api/modules/demo/AlgorithmConfigTrack'
 import SvgIcon from '@/components/SvgIcon/index.vue'
 import SvgIcon from '@/components/SvgIcon/index.vue'
 import { listDataSeqApi } from '@/api/modules/demo/DataSeq'
 import { listDataSeqApi } from '@/api/modules/demo/DataSeq'
@@ -167,6 +233,20 @@ import File from '@/components/Upload/File.vue'
 import { enumAlgorithmModelTrackApi } from '@/api/modules/demo/AlgorithmModelTrack'
 import { enumAlgorithmModelTrackApi } from '@/api/modules/demo/AlgorithmModelTrack'
 import statusEnums from '@/utils/status'
 import statusEnums from '@/utils/status'
 
 
+const dialogVisibleView = ref(false)
+const viewData = ref<any[]>([])
+const openViewDialog = async (row: any) => {
+  dialogVisibleView.value = true
+  const res = await listSubTaskAlgorithmTaskTrackApi(row.id)
+  if (res.code === 200) {
+    viewData.value = [...res.data['toInfraredList'], ...res.data['trackSequenceList']]
+    console.log(viewData.value)
+  } else {
+    ElMessage.error('获取子任务失败')
+  }
+}
+const handleOpenView = () => {}
+
 const fileUploadRef = ref()
 const fileUploadRef = ref()
 const fileUploadDatasetChange = (value: any) => {
 const fileUploadDatasetChange = (value: any) => {
   console.log('fileUploadChange: ', value)
   console.log('fileUploadChange: ', value)
@@ -452,8 +532,7 @@ const columns = reactive<ColumnProps<any>[]>([
     label: '任务名称',
     label: '任务名称',
     search: {
     search: {
       el: 'input'
       el: 'input'
-    },
-    width: 120
+    }
   },
   },
   {
   {
     prop: 'status',
     prop: 'status',
@@ -496,16 +575,14 @@ const columns = reactive<ColumnProps<any>[]>([
     label: '日志',
     label: '日志',
     search: {
     search: {
       el: 'input'
       el: 'input'
-    },
-    width: 120
+    }
   },
   },
   {
   {
     prop: 'remarks',
     prop: 'remarks',
     label: '备注',
     label: '备注',
     search: {
     search: {
       el: 'input'
       el: 'input'
-    },
-    width: 120
+    }
   },
   },
   // {
   // {
   //   prop: 'system',
   //   prop: 'system',