瀏覽代碼

fix: 修改bug

bill 1 年之前
父節點
當前提交
213ad651e8
共有 7 個文件被更改,包括 59 次插入18 次删除
  1. 4 1
      src/constant/scene.ts
  2. 25 8
      src/store/scene.ts
  3. 12 2
      src/view/case/addScenes.vue
  4. 9 2
      src/view/case/help.ts
  5. 6 2
      src/view/vrmodel/list.vue
  6. 2 2
      src/view/vrmodel/sceneContent.vue
  7. 1 1
      vite.config.ts

+ 4 - 1
src/constant/scene.ts

@@ -9,7 +9,7 @@ export const SceneTypeDesc: { [key in SceneType]: string } = {
   [SceneType.SWSSMX]: "激光转台Mesh场景",
   [SceneType.SWYDSS]: "激光移动点云场景",
   [SceneType.SWYDMX]: "激光移动Mesh场景",
-  // [SceneType.QJKK]: '全景看看',
+  [SceneType.QJKK]: "全景看看",
 };
 
 export const SceneTypeDomain: { [key in SceneType]: string } = {
@@ -20,6 +20,8 @@ export const SceneTypeDomain: { [key in SceneType]: string } = {
   [SceneType.SWSSMX]: window.location.href,
   [SceneType.SWYDSS]: window.location.href,
   [SceneType.SWYDMX]: window.location.href,
+  [SceneType.QJKK]:
+    window.location.protocol + "//" + window.location.hostname + ":" + 13000,
 };
 
 export const SceneTypePaths: { [key in SceneType]: string[] } = {
@@ -36,6 +38,7 @@ export const SceneTypePaths: { [key in SceneType]: string[] } = {
   [SceneType.SWSSMX]: ["/swkk/spg.html", "/swkk/epg.html"],
   [SceneType.SWYDSS]: ["/swss/index.html", "/swss/index.html"],
   [SceneType.SWYDMX]: ["/swkk/spg.html", "/swkk/epg.html"],
+  [SceneType.QJKK]: ["/panorama/show.html", "/panorama/edit.html"],
 };
 
 export const QuoteSceneStatusDesc: { [key in QuoteSceneStatus]: string } = {

+ 25 - 8
src/store/scene.ts

@@ -79,6 +79,7 @@ export enum SceneType {
 
   SWYDSS,
   SWYDMX,
+  QJKK,
 }
 
 // 模型场景状态
@@ -145,14 +146,30 @@ type ScenePaggingParams = PaggingReq<
   }
 >;
 export const getScenePagging = async (params: ScenePaggingParams) => {
-  return (
-    await axios.get(
-      params.type === SceneType.SWMX ? getModelSceneList : getSceneList,
-      {
-        params,
-      }
-    )
-  ).data as PaggingRes<Scene>;
+  const urls = {
+    [SceneType.SWMX]: getModelSceneList,
+    [SceneType.QJKK]: "/fusion/scene/overallList",
+  };
+  const url = urls[params.type] || getSceneList;
+  if (params.type === SceneType.QJKK) {
+    const data = (await axios.post(url, params)).data as PaggingRes<any>;
+
+    data.list.forEach((item) => {
+      item.type = SceneType.QJKK;
+      item.status =
+        item.status === 1
+          ? QuoteSceneStatus.SUCCESS
+          : item.status === 0
+          ? QuoteSceneStatus.ARCHIVE
+          : item.status === -1
+          ? QuoteSceneStatus.ERR
+          : QuoteSceneStatus.RUN;
+    });
+
+    return data;
+  } else {
+    return (await axios.get(url, { params })).data as PaggingRes<Scene>;
+  }
 };
 
 export const delQuoteScene = (scene: QuoteScene) =>

+ 12 - 2
src/view/case/addScenes.vue

@@ -1,5 +1,5 @@
 <template>
-  <VRModelList :params="params">
+  <VRModelList :params="params" :options="headOptions">
     <template v-slot:header>
       <el-form-item label="标题:" style="grid-area: 1 / 1 / 2 / 4">
         <el-input v-model="params.keyword" placeholder="请输入" />
@@ -30,7 +30,7 @@
 
 <script setup lang="ts">
 import VRModelList from "@/view/vrmodel/list.vue";
-import { Scene } from "@/store/scene";
+import { Scene, SceneType } from "@/store/scene";
 import { CaseScenes } from "@/store/case";
 import { useScenePaggingParams } from "@/view/vrmodel/pagging";
 import { onMounted, ref, watch, watchEffect } from "vue";
@@ -42,7 +42,17 @@ import {
 } from "@/store/case";
 import { QuiskExpose } from "@/helper/mount";
 import { ElTable } from "element-plus";
+import { SceneTypeDesc } from "@/constant/scene";
 
+const headOptions = [
+  { value: SceneType.SWKK, name: SceneTypeDesc[SceneType.SWKK] },
+  { value: SceneType.SWKJ, name: SceneTypeDesc[SceneType.SWKJ] },
+  { value: SceneType.SWSS, name: SceneTypeDesc[SceneType.SWSS] },
+  { value: SceneType.SWSSMX, name: SceneTypeDesc[SceneType.SWSSMX] },
+  { value: SceneType.SWYDSS, name: SceneTypeDesc[SceneType.SWYDSS] },
+  { value: SceneType.SWYDMX, name: SceneTypeDesc[SceneType.SWYDMX] },
+  { value: SceneType.SWMX, name: SceneTypeDesc[SceneType.SWMX] },
+];
 const props = defineProps<{ caseId: number }>();
 const params = useScenePaggingParams();
 const caseScenes = ref<CaseScenes>(getCaseScenes([]));

+ 9 - 2
src/view/case/help.ts

@@ -293,7 +293,10 @@ export enum OpenType {
 }
 export const openSceneUrl = async (scene: Scene, type: OpenType) => {
   const pathname = SceneTypePaths[scene.type][type];
-  const url = new URL(pathname || "", window.location.href);
+  const url = new URL(
+    pathname || "",
+    SceneTypeDomain[scene.type] || window.location.href
+  );
   if (scene.type === SceneType.SWMX) {
     url.searchParams.append(
       "modelId",
@@ -303,7 +306,11 @@ export const openSceneUrl = async (scene: Scene, type: OpenType) => {
     url.searchParams.append("share", "1");
     url.searchParams.append("app", appConstant.deptId.toString());
   } else {
-    url.searchParams.append("m", (scene as QuoteScene).num);
+    if (scene.type === SceneType.QJKK) {
+      url.searchParams.append("id", (scene as QuoteScene).id);
+    } else {
+      url.searchParams.append("m", (scene as QuoteScene).num);
+    }
 
     if (type === OpenType.edit) {
       url.searchParams.append(

+ 6 - 2
src/view/vrmodel/list.vue

@@ -30,9 +30,12 @@ import { SceneType } from "@/store/scene";
 import { SceneTypeDesc } from "@/constant/scene";
 import { useScenePaggingParams } from "./pagging";
 
-defineProps<{ params: ReturnType<typeof useScenePaggingParams> }>();
+const props = defineProps<{
+  params: ReturnType<typeof useScenePaggingParams>;
+  options?: { value: SceneType; name: string }[];
+}>();
 
-const headOptions = [
+const headOptions = props.options || [
   { value: SceneType.SWKK, name: SceneTypeDesc[SceneType.SWKK] },
   { value: SceneType.SWKJ, name: SceneTypeDesc[SceneType.SWKJ] },
   { value: SceneType.SWSS, name: SceneTypeDesc[SceneType.SWSS] },
@@ -40,5 +43,6 @@ const headOptions = [
   { value: SceneType.SWYDSS, name: SceneTypeDesc[SceneType.SWYDSS] },
   { value: SceneType.SWYDMX, name: SceneTypeDesc[SceneType.SWYDMX] },
   { value: SceneType.SWMX, name: SceneTypeDesc[SceneType.SWMX] },
+  { value: SceneType.QJKK, name: SceneTypeDesc[SceneType.QJKK] },
 ];
 </script>

+ 2 - 2
src/view/vrmodel/sceneContent.vue

@@ -38,7 +38,7 @@
         class="oper-span"
         v-pdpath="['edit']"
         @click="openSceneUrl(row, OpenType.edit)"
-        v-if="row.status === QuoteSceneStatus.SUCCESS"
+        v-if="row.status === QuoteSceneStatus.SUCCESS && row.type !== SceneType.QJKK"
       >
         编辑
       </span>
@@ -57,7 +57,7 @@
 
       <span
         v-if="
-          ![SceneType.SWSSMX, SceneType.SWYDMX].includes(row.type) &&
+          ![SceneType.SWSSMX, SceneType.SWYDMX, SceneType.QJKK].includes(row.type) &&
           row.status !== QuoteSceneStatus.RUN
         "
         class="oper-span delBtn"

+ 1 - 1
vite.config.ts

@@ -44,7 +44,7 @@ export default defineConfig({
     proxy: {
       "/api": {
         target: dev
-          ? "http://test-mix3d.4dkankan.com"
+          ? "http://192.168.0.135:14000"
           : "https://mix3d.4dkankan.com",
         changeOrigin: true,
         rewrite: (path) => path.replace(new RegExp(`^/api`), ""),