tangning 1 giorno fa
parent
commit
e29a7b9ffe

+ 2 - 2
src/hook/pagging.ts

@@ -101,8 +101,8 @@ export const usePagging = <PARAM, RAW, NRAW>(
       console.log('queryOperate', queryOperate, paramsRaw, params);
     const data = await props.get(params);
     pag.total = data.total;
-    tableOperate.tableState.value.rows = data.list as any;
-    console.log('await', tableOperate.tableState.value);
+    tableOperate.tableState.value.rows = data.list as any || data;
+    console.log('await', tableOperate.tableState.value, data);
     await nextTick();
     loading.value = false;
   };

+ 1 - 0
src/request/urls.ts

@@ -283,6 +283,7 @@ export const getAllPhoto = "/fusion/casePhotoRoll/getAllPhoto";
 export const casePhotoRollUpdate = "/fusion/casePhotoRoll/addOrUpdate";
 export const casePhotoRolldel = "/fusion/casePhotoRoll/del";
 export const casePhotoRollgenImage = "/fusion/casePhotoRoll/genImage";
+export const checkGenImage = "/fusion/casePhotoRoll/checkGenImage";
 
 const VITE_VIBE = import.meta.env.VITE_VIBE;
 let getTipss = "/s/api/gettips";

+ 4 - 0
src/store/case.ts

@@ -59,6 +59,7 @@ import {
   casePhotoRollUpdate,
   casePhotoRolldel,
   casePhotoRollgenImage,
+  checkGenImage,
 } from "@/request";
 import { router } from "@/router";
 import { ModelScene, QuoteScene, Scene, SceneType } from "./scene";
@@ -232,6 +233,9 @@ export const casePhotoUpdate = (params) =>
   axios.post(casePhotoRollUpdate, params);
 export const casePhotoUpImage = (params) =>
   axios.post(casePhotoRollgenImage, params);
+export const checkNumImage = (params) =>
+  axios.post(checkGenImage, params);
+
 export const casePhotodel = (params) => {
   console.log(params)
   return  axios.post(casePhotoRolldel, params);

+ 5 - 2
src/view/material/tableScene/pagging.ts

@@ -1,11 +1,14 @@
 import { usePagging } from "@/hook/pagging";
 import { SceneType, getScenePagging } from "@/store/scene";
 import { computed, reactive, watch, watchEffect } from "vue";
+import { getCaseList } from "@/store/case";
 
-export const useScenePaggingParams = () => {
+export const useScenePaggingParams = (caseId: string) => {
   const pagging = usePagging({
-    get: getScenePagging,
+    get: getCaseList,
     paramsTemlate: {
+      caseId, 
+      type: 'scene',
       isObj: 1,
       sceneType: 0, //SceneType.SWKK,
       sceneName: "",

+ 14 - 3
src/view/material/tableScene/sceneContent.vue

@@ -18,11 +18,11 @@
         {{ pagging.state.pag.size * (pagging.state.pag.currentPage - 1) + $index + 1 }}
       </div>
     </el-table-column> -->
-    <el-table-column width="450" label="名称" show-overflow-tooltip prop="sceneName"></el-table-column>
+    <el-table-column width="450" label="名称" show-overflow-tooltip prop="title"></el-table-column>
     <!-- <el-table-column label="案件名称" prop="snCode"></el-table-column> -->
     <!-- <el-table-column label="浏览数量" prop="viewCount"></el-table-column> -->
     <el-table-column label="创建时间" prop="createTime" v-slot:default="{ row }">
-      {{ row.createTime.substr(0, 16) }}
+      {{ row.createTime &&  row.createTime.substr(0, 16) }}
     </el-table-column>
     <!-- <el-table-column label="状态" v-slot:default="{ row }: { row: QuoteScene }">
       {{ row.statusString }}
@@ -32,7 +32,7 @@
 
 <script setup lang="ts">
 
-import { getSceneListTree } from "@/store/case";
+import { getSceneListTree, checkNumImage } from "@/store/case";
 import { QuoteSceneStatusDesc } from "@/constant/scene";
 import { confirm } from "@/helper/message";
 import { router } from "@/router";
@@ -55,6 +55,16 @@ const submit = async () => {
     throw "请至少选择一个场景";
     return; 
   }
+  let { data } = await checkNumImage({num: num.value, caseId: caseId.value})
+  console.log("checkNumImage", data);
+  if(!data.isEntryDoor){
+    ElMessage.error(`当前实景三维未识别到入户门或未添加痕迹物证。
+AI制卷需要计算入户门与痕迹物证之间的路线。
+请先前往实景三维,使用画笔功能标注入户门所在区域,
+或添加痕迹物证热点。`);
+    throw "未识别到入户门";
+    return; 
+  }
   return num.value
   }
 defineExpose<QuiskExpose>({
@@ -65,6 +75,7 @@ defineExpose<QuiskExpose>({
 
 const isObj = ref(props.pagging.state.query?.isObj);
 const selectable = (row) => {
+  return true
   // let selectlist = selectList.find(item => item.type == params.pagging.state.query?.isObj)?.num;
   // if (row.inCase) return false;
   // if (props.num.includes(row.num)) return false;

+ 3 - 1
src/view/material/tableScene/tableModel.vue

@@ -24,6 +24,7 @@ import SceneContent from "./sceneContent.vue";
 import ModelContent from "./modelContent.vue";
 import { useScenePaggingParams } from "./pagging";
 import { QuiskExpose } from "@/helper/mount";
+import { router } from "@/router";
 import { computed, ref } from "vue";
 defineProps<{ numList: Array<string>, noEditList: Array<string> }>();
 const options = [
@@ -36,8 +37,9 @@ const options = [
     label: "共享场景",
   },
 ];
+const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
 
-const params = useScenePaggingParams();
+const params = useScenePaggingParams(caseId.value);
 console.log("params.isSwmx", params.isSwmx, "ModelContent");
 const component = computed(() => (params.isSwmx ? ModelContent : SceneContent));
 const contentRef = ref(null);