Parcourir la source

feat: 可见光转红外预测数据集添加对比接口

WANGKANG il y a 7 mois
Parent
commit
8286d2ed92

+ 4 - 0
src/api/modules/demo/DataSeq.ts

@@ -90,3 +90,7 @@ export const getAllImagesApi = (ossId: any) => {
 export const getImagesApi = (inputOdssId: any, subsystem: any, ifInput: any, dir: any) => {
   return http.get(`/demo/DataSeq/getImages/${inputOdssId}/${subsystem}/${ifInput}/${dir}`)
 }
+
+export const getCOMPImagesApi = (inputOdssId: any) => {
+  return http.get(`/demo/DataSeq/getCOMPImages/${inputOdssId}`)
+}

+ 32 - 4
src/views/demo/DataSeq/index.vue

@@ -38,6 +38,7 @@
     <FormDialog ref="formDialogRef" />
     <!-- <ImportExcel ref="dialogRef" /> -->
     <PreviewImages :visible="dialogVisible" :urls="imageUrls" @close="dialogVisible = false" />
+    <PreviewCompareImages ref="previewImagesRef" />
   </div>
 </template>
 
@@ -59,19 +60,46 @@ import {
   importDataSeqDataApi,
   exportDataSeqApi,
   getDataSeqApi,
-  getAllImagesApi
+  getAllImagesApi,
+  getCOMPImagesApi
 } from '@/api/modules/demo/DataSeq'
 import { enumsSubSystem } from '../utils'
 import PreviewImages from '@/views/demo/components/PreviewImages.vue'
+import { SubSystem__ } from '@/views/demo/utils'
+
+import PreviewCompareImages from '@/views/demo/components/PreviewCompareImages.vue'
+
 const dialogVisible = ref(false)
 const imageUrls = ref([])
 const preview = async row => {
   console.log('showImages')
-  const data: any = await getAllImagesApi(row.inputOssId)
-  imageUrls.value = data.data
-  dialogVisible.value = true
+  console.log(row)
+  if (row.subsystem !== SubSystem__['可见光转红外']) {
+    console.log('不可见光转红外')
+    const data: any = await getAllImagesApi(row.inputOssId)
+    imageUrls.value = data.data
+    dialogVisible.value = true
+  } else {
+    console.log('可见光转红外')
+    let res = null
+    try {
+      res = await previewImagesRef.value?.handleOpen(getCOMPImagesApi, row.inputOssId)
+    } catch (error) {
+      console.log(error)
+      res = null
+    }
+
+    if (!res) {
+      previewImagesRef.value?.closeDialog()
+      const data: any = await getAllImagesApi(row.inputOssId)
+      imageUrls.value = data.data
+      dialogVisible.value = true
+    }
+  }
 }
 
+const previewImagesRef = ref()
+
 // ProTable 实例
 const proTable = ref<ProTableInstance>()
 

+ 12 - 1
src/views/demo/components/PreviewCompareImages.vue

@@ -48,8 +48,14 @@ const handleOpen = async (api: any, params: any) => {
   const res: any = await api(params)
   if (res.code == 200) {
     imageUrlList.value = res.data
+    if (res.data.length >= 1) {
+      return true
+    } else {
+      return false
+    }
   } else {
     ElMessageBox.alert(res.message)
+    return false
   }
 }
 
@@ -68,6 +74,10 @@ const handleClose = (done: () => void) => {
   done()
 }
 
+const closeDialog = () => {
+  dialogVisible.value = false
+}
+
 const confirmNewImageIdx = () => {
   const val = parseInt(newImageIdx.value)
   if (val > 0 && val <= imageUrlList.value.length) {
@@ -105,7 +115,8 @@ const pre_picture = () => {
 }
 
 defineExpose({
-  handleOpen: handleOpen
+  handleOpen: handleOpen,
+  closeDialog: closeDialog
 })
 </script>