tangning 7 months ago
parent
commit
af3afa26bf
2 changed files with 33 additions and 9 deletions
  1. 2 3
      src/store/case.ts
  2. 31 6
      src/view/vrmodel/index.vue

+ 2 - 3
src/store/case.ts

@@ -238,13 +238,12 @@ export const submitMergePhotos = (data) => axios.post(ffmpegMergeImage, { ...dat
 export const getCaseInfoData = () => caseInfoData.value
 export const getCaseInfoData = () => caseInfoData.value
 export const getCaseSceneListData = () => sceneList.value
 export const getCaseSceneListData = () => sceneList.value
 
 
-export const getSceneListTree = () => {
+export const getSceneListTree = (list = sceneList.value) => {
   let myData = {
   let myData = {
     0: [],//点云
     0: [],//点云
     1: [],//mesh
     1: [],//mesh
   };
   };
-  sceneList.value.map((item) => {
-    console.log('sceneList', item)
+  list.map((item) => {
     if(item.type == 2 || item.type == 5 ) {
     if(item.type == 2 || item.type == 5 ) {
       myData[0].push(item.num)
       myData[0].push(item.num)
     }else{
     }else{

+ 31 - 6
src/view/vrmodel/index.vue

@@ -5,9 +5,9 @@
     <div class="scene-list">
     <div class="scene-list">
         <div class="scene-title flex justify-between content-center">
         <div class="scene-title flex justify-between content-center">
           <span style="line-height: 32px title1">场景列表</span>
           <span style="line-height: 32px title1">场景列表</span>
-          <el-switch v-model="active" @change="handleActive" />
+          <!-- <el-switch v-model="active" @change="handleActive" /> -->
         </div>
         </div>
-        <div class="list" v-if="active">
+        <div class="list" v-if="active" style="min-height: 630px;">
           <div
           <div
             class="listItem flex justify-between py-2"
             class="listItem flex justify-between py-2"
             v-for="item,index in list"
             v-for="item,index in list"
@@ -15,18 +15,25 @@
           >
           >
             <span>{{ item.name || '多元融合' }}</span>
             <span>{{ item.name || '多元融合' }}</span>
             <div class="cursor-pointer" quaternary type="primary">
             <div class="cursor-pointer" quaternary type="primary">
-              <span class="mr-4" @click="handlegotoEdit(item)">移除</span>
+              <span class="mr-4" @click="handlegotoelT(item)">移除</span>
               <span @click="handlegotoEdit(item)">编辑</span>
               <span @click="handlegotoEdit(item)">编辑</span>
             </div>
             </div>
             <!-- <div @click="handlegotoEdit(item)" class="cursor-pointer" quaternary type="primary">编辑</div> -->
             <!-- <div @click="handlegotoEdit(item)" class="cursor-pointer" quaternary type="primary">编辑</div> -->
           </div>
           </div>
         </div>
         </div>
+        <el-button
+                class="w-full"
+                type="primary"
+                @click="submitForm"
+              >
+                保存
+              </el-button>
       </div>
       </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
-import { getCaseSceneList, getUrlSrc } from "@/store/case";
+import { getCaseSceneList, getUrlSrc, getSceneListTree, setCaseaddOrUpdate } from "@/store/case";
 import { router } from "@/router";
 import { router } from "@/router";
 import comSelect from "@/components/company-select/index.vue";
 import comSelect from "@/components/company-select/index.vue";
 import List from "./list.vue";
 import List from "./list.vue";
@@ -37,6 +44,7 @@ import { computed, ref, onMounted } from "vue";
 import { tableModelScene } from "./quisk";
 import { tableModelScene } from "./quisk";
 const active = ref(true);
 const active = ref(true);
 const list = ref([]);
 const list = ref([]);
+const isEdit = ref(false)
 const showModal = ref(false);
 const showModal = ref(false);
 const params = useScenePaggingParams();
 const params = useScenePaggingParams();
 const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
 const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
@@ -56,10 +64,27 @@ function handleAdddyrh(record) {
   let url = `/code/index.html?caseId=${caseId.value}#/fuseEdit/merge`
   let url = `/code/index.html?caseId=${caseId.value}#/fuseEdit/merge`
   window.open(url);
   window.open(url);
 }
 }
-function handleActive(params) {
-  console.log("handleActive", params);
+function handlegotoelT(record) {
+  isEdit.value = true;
+  list.value = list.value.filter((item) => item.num !== record.num);
+  // console.log("handleActive", params);
 }
 }
+async function submitForm() {
+  isEdit.value = false;
+  let sublist = getSceneListTree(list.value)
+  const apiData = {
+    caseTitle: caseId.value,
+    sceneNumParam: sublist,
+  };
+  await setCaseaddOrUpdate(apiData)
+  // console.log("handleActive", params);
+}
+
 async function handleAdd() {
 async function handleAdd() {
+  if(isEdit.value){
+    await confirm("请先保存当前移除的场景信息!")
+    return
+  }
   let numList = list.value.map((item) => item.num);
   let numList = list.value.map((item) => item.num);
   console.log("handleAdd", numList);
   console.log("handleAdd", numList);
   let val = await tableModelScene({numList: numList});
   let val = await tableModelScene({numList: numList});