Browse Source

fix: bug修复

tangning 21 hours ago
parent
commit
b0f7033ccd

+ 2 - 2
src/view/material/sceneImg.vue

@@ -1188,7 +1188,7 @@ async function frameLoad(sdk, num) {
     loadingAiPhone.value.close();
     loadingAiPhone.value.close();
     ElMessage({
     ElMessage({
       type: "error",
       type: "error",
-      message: "生成失败",
+      message: "未提取到现场照片",
     });
     });
   }
   }
 
 
@@ -1197,7 +1197,7 @@ async function frameLoad(sdk, num) {
   // })
   // })
 }
 }
 async function openAIdrawCase() {
 async function openAIdrawCase() {
-  const { num } = await tableModelScene({ numList: [] });
+  const num = await tableModelScene({ numList: [] });
   if(!num) return;
   if(!num) return;
   selectNum.value = num;
   selectNum.value = num;
   let item = casePhotoList.value.find((ele) => ele.num == num);
   let item = casePhotoList.value.find((ele) => ele.num == num);

+ 22 - 9
src/view/material/tableScene/sceneContent.vue

@@ -8,8 +8,8 @@
     :height="250"
     :height="250"
     size="large"
     size="large"
     @selection-change="changeSelection"
     @selection-change="changeSelection"
-    @select="handleSelect"
   >
   >
+    <!-- @select="handleSelect" -->
     <!-- -1 计算失败  0 计算中 1 计算成功并可以外网访问,不能编辑 2计算成功只能内网,能编辑 -->
     <!-- -1 计算失败  0 计算中 1 计算成功并可以外网访问,不能编辑 2计算成功只能内网,能编辑 -->
     <el-table-column type="selection" :selectable="selectable" width="55" />
     <el-table-column type="selection" :selectable="selectable" width="55" />
     <!-- <el-table-column label="序号" width="70" v-slot:default="{ $index }">
     <!-- <el-table-column label="序号" width="70" v-slot:default="{ $index }">
@@ -17,7 +17,7 @@
         {{ pagging.state.pag.size * (pagging.state.pag.currentPage - 1) + $index + 1 }}
         {{ pagging.state.pag.size * (pagging.state.pag.currentPage - 1) + $index + 1 }}
       </div>
       </div>
     </el-table-column> -->
     </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="sceneName"></el-table-column>
     <!-- <el-table-column label="案件名称" prop="snCode"></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="viewCount"></el-table-column> -->
     <el-table-column label="创建时间" prop="createTime" v-slot:default="{ row }">
     <el-table-column label="创建时间" prop="createTime" v-slot:default="{ row }">
@@ -38,16 +38,23 @@ import { router } from "@/router";
 import { useScenePaggingParams, ScenePagging } from "./pagging";
 import { useScenePaggingParams, ScenePagging } from "./pagging";
 import { QuiskExpose } from "@/helper/mount";
 import { QuiskExpose } from "@/helper/mount";
 import { onMounted, ref, watch, watchEffect, computed, nextTick } from "vue";
 import { onMounted, ref, watch, watchEffect, computed, nextTick } from "vue";
+import { ElMessage } from "element-plus";
 // const params = useScenePaggingParams();
 // const params = useScenePaggingParams();
-const props = defineProps<{ pagging: ScenePagging, numList: Array<string>, noEditList: Array<string> }>();
+const props = defineProps<{ pagging: ScenePagging, num: Array<string>, noEditList: Array<string> }>();
 const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
 const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
 const tableRef = ref(null);
 const tableRef = ref(null);
-const numList = ref([]);
+const num = ref(null);
 
 
 const pagScenes = props.pagging.state.table.rows;
 const pagScenes = props.pagging.state.table.rows;
 // caseScenes.value = getSceneListTree()
 // caseScenes.value = getSceneListTree()
 const submit = async () => {
 const submit = async () => {
-  return numList.value
+  console.log("selectScenes", num.value);
+  if(!num.value){
+    ElMessage.error("请至少选择一个场景");
+    throw "请至少选择一个场景";
+    return; 
+  }
+  return num.value
   }
   }
 defineExpose<QuiskExpose>({
 defineExpose<QuiskExpose>({
   submit
   submit
@@ -57,9 +64,9 @@ defineExpose<QuiskExpose>({
 
 
 const isObj = ref(props.pagging.state.query?.isObj);
 const isObj = ref(props.pagging.state.query?.isObj);
 const selectable = (row) => {
 const selectable = (row) => {
-  // let selectlist = selectList.find(item => item.type == params.pagging.state.query?.isObj)?.numList;
+  // let selectlist = selectList.find(item => item.type == params.pagging.state.query?.isObj)?.num;
   // if (row.inCase) return false;
   // if (row.inCase) return false;
-  if (props.numList.includes(row.num)) return false;
+  // if (props.num.includes(row.num)) return false;
   return row.statusString == '计算成功'// && !selectlist.includes(row.num)
   return row.statusString == '计算成功'// && !selectlist.includes(row.num)
 }
 }
 
 
@@ -75,10 +82,16 @@ const handleSelect = (selection, row) => {
   if (!tableRef.value) return;
   if (!tableRef.value) return;
   tableRef.value.clearSelection()
   tableRef.value.clearSelection()
   tableRef.value.toggleRowSelection(row, true)
   tableRef.value.toggleRowSelection(row, true)
-  numList.value = row
+  num.value = row
 }
 }
 const changeSelection = async (selectScenes) => {
 const changeSelection = async (selectScenes) => {
-  numList.value = selectScenes[0] || null
+  console.log("selectScenes", num.value, selectScenes);
+  if(num.value && selectScenes.length &&  num.value == selectScenes[0].id){
+      tableRef.value.clearSelection()
+  }else{
+    let item = selectScenes[0]
+    num.value =  item && item.num || null
+  }
 };
 };
 </script>
 </script>
 <style scoped lang="scss">
 <style scoped lang="scss">

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

@@ -1,7 +1,7 @@
 <template>
 <template>
   <List :params="params" upload>
   <List :params="params" upload>
     <template v-slot:header>
     <template v-slot:header>
-      <el-form-item label="场景名称:" style="width: 250px">
+      <el-form-item label="名称:" style="width: 250px">
         <el-input v-model="params.keyword" placeholder="请输入"></el-input>
         <el-input v-model="params.keyword" placeholder="请输入"></el-input>
       </el-form-item>
       </el-form-item>
     </template>
     </template>