wangfumin 2 ماه پیش
والد
کامیت
6b5a1b461a

+ 1 - 1
src/app/fire/store/fire.ts

@@ -42,7 +42,7 @@ export type Fire = {
   projectName: string;
   projectSite: string;
   projectSiteCode: string;
-  fireType: string;
+  searchType: string;
   projectSn: string;
   status: FireStatus;
   statusDesc: string;

+ 9 - 4
src/view/case/sceneShare.vue

@@ -31,7 +31,7 @@ import { QuiskExpose } from '@/helper/mount';
 import { axios } from '@/request';
 import { sceneDeptShare, shareAuthList } from '@/request/urls';
 
-const props = defineProps<{ num?: string; isObj?: number; caseId?: number }>();
+const props = defineProps<{ num?: string; isObj?: number; caseId?: number; fusionId?: number }>();
 
 // 组织树与选择的上级部门
 const organTrees = ref<Organization[]>([]);
@@ -76,6 +76,8 @@ defineExpose<QuiskExpose>({
     };
     if (props.caseId) {
       payload.caseId = props.caseId;
+    } else if (props.fusionId) {
+      payload.fusionId = props.fusionId;
     } else {
       payload.num = props.num;
       payload.isObj = props.isObj;
@@ -90,9 +92,12 @@ onMounted(async () => {
   organTrees.value = await getOrganizationTree('1');
   // 预取已设置的共享权限并回显(支持 num/isObj 或 caseId)
   try {
-    const params: any = props.caseId
-      ? { caseId: props.caseId }
-      : { num: props.num, isObj: props.isObj };
+    let params = {}
+    if(props.fusionId){
+      params = { fusionId: props.fusionId };
+    } else {
+      params = props.caseId ? { caseId: props.caseId } : { num: props.num, isObj: props.isObj };
+    }
     const res: any = await axios.post(shareAuthList, params);
     const raw = res?.data ?? null;
     const item = Array.isArray(raw) ? raw[0] : raw;

+ 1 - 1
src/view/layout/top/index.vue

@@ -11,7 +11,7 @@
       <div class="org-name"><img :src="user.info.avatar ? user.info.avatar : defAvatar" />{{ user.info.deptName }}</div>
       <div class="oper-btns" v-if="user.info">
         <div class="user-menu">
-          <img :src="user.info.avatar ? user.info.avatar : defAvatar" />
+          <!-- <img :src="user.info.avatar ? user.info.avatar : defAvatar" /> -->
           <el-dropdown>
             <div style="outline: none">
               <span class="oper-down">{{ user.info.nickName }}</span>

+ 21 - 6
src/view/newFireCase/mix3dManager/sceneContent.vue

@@ -11,7 +11,7 @@
   >
     <el-table-column label="场景标题" prop="name">
       <template v-slot:default="{ row }">
-        <span class="oper-span" @click="openSceneUrl(row, OpenType.query)">{{ row.fusionTitle }}</span>
+        <span class="oper-span" @click="openFusionView(row)">{{ row.fusionTitle }}</span>
       </template>
     </el-table-column>
 
@@ -28,7 +28,7 @@
       v-slot:default="{ row }: { row: QuoteScene }"
       width="200px"
     >
-      <span class="oper-span" @click="openSceneUrl(row, OpenType.edit)">
+      <span class="oper-span" @click="openFusionEdit(row)">
         编辑
       </span>
       <span class="oper-span" @click="openSceneShare(row)">
@@ -54,11 +54,12 @@ import {
 } from "@/store/scene";
 import { ScenePagging } from "./pagging";
 import { QuoteSceneStatusDesc } from "@/constant/scene";
-import { OpenType, openSceneUrl } from "../../case/help";
+import { user } from "@/store/user";
 import { confirm } from "@/helper/message";
 import { sceneDownload } from "./quisk";
 import { sceneShare as sceneShareDialog } from "@/view/case/quisk";
 import { downSceneHash } from "@/request";
+const url = import.meta.env.VITE_SEVER_URL || 'https://mix3d.4dkankan.com';
 
 const props = defineProps<{ pagging: ScenePagging }>();
 const delSceneHandler = async (scene: QuoteScene) => {
@@ -83,8 +84,22 @@ const addMix3d = () => {
 
 // 权限:与 meshManager 一致,但改为传入 caseId,且不传 isObj
 const openSceneShare = async (row: QuoteScene | any) => {
-  const caseId = (row && (row.caseId ?? row.fusionId ?? row.id)) as number;
-  if (!caseId) return;
-  await sceneShareDialog({ caseId });
+  const fusionId = (row && (row.fusionId ?? row.id)) as number;
+  if (!fusionId) return;
+  await sceneShareDialog({ fusionId });
+};
+
+// 打开多元融合查看页
+const openFusionView = (row: any) => {
+  const fusionId = (row && (row.fusionId ?? row.id)) as number;
+  if (!fusionId) return;
+  window.open(`${url}/code/index.html?caseId=${fusionId}&token=${user.value.token}#/show/summary`);
+};
+
+// 跳转多元融合编辑页(复原 mix3d.vue 行161-163逻辑)
+const openFusionEdit = (row: any) => {
+  const fusionId = (row && (row.fusionId ?? row.id)) as number;
+  if (!fusionId) return;
+  window.open(`${url}/code/index.html?caseId=${fusionId}&token=${user.value.token}#/fuseEdit/merge`, '_blank');
 };
 </script>

+ 2 - 2
src/view/newFireCase/newdispatch/header.vue

@@ -1,5 +1,5 @@
 <template>
-  <com-head :options="head" v-model="pagging.state.query.fireType" showCtrl>
+  <com-head :options="head" v-model="pagging.state.query.searchType" showCtrl>
     <el-form label-width="84px">
       <el-form-item label="项目编号:">
         <el-input v-model="pagging.state.query.projectSn" placeholder="请输入"></el-input>
@@ -80,7 +80,7 @@ const head = computed(() => [
   { name: "全部", value: "2" },
 ]);
 
-watch(() => props.pagging.state.query.fireType, (newVal) => {
+watch(() => props.pagging.state.query.searchType, (newVal) => {
   console.log(newVal, 666)
   props.pagging.queryReset();
 });

+ 4 - 4
src/view/newFireCase/newdispatch/pagging.ts

@@ -30,7 +30,7 @@ export const useFirePagging = () => {
           : "删除火调项目,相关档案也会一并删除,确定要删除吗?",
     },
     paramsTemlate: {
-      fireType: '0', // 列表,共享,全部切换
+      searchType: '0', // 列表,共享,全部切换
       projectSn: "",
       projectName: "",
       projectAddress: "",
@@ -44,7 +44,7 @@ export const useFirePagging = () => {
     } as any,
   });
 
-  watch(() => [pagging.state.query.queryType, pagging.state.query.fireType, isTeached.value, isRecycle.value],() => {
+  watch(() => [pagging.state.query.queryType, pagging.state.query.searchType, isTeached.value, isRecycle.value],() => {
       if (isRecycle.value) {
         pagging.state.query.queryType = FirePaggingRoute.fire;
         pagging.state.query.isDelete = 2;
@@ -62,9 +62,9 @@ export const useFirePagging = () => {
   // 菜单切换时,重置查询参数,但是菜单不重置
   const queryResetRaw = pagging.queryReset;
   pagging.queryReset = () => {
-    const type = pagging.state.query.fireType;
+    const type = pagging.state.query.searchType;
     queryResetRaw();
-    pagging.state.query.fireType = type;
+    pagging.state.query.searchType = type;
   };
 
   const params = [{ ...pagging.state.query }, { ...pagging.state.query }];

+ 1 - 1
src/view/organization/index.vue

@@ -20,7 +20,7 @@
               <span class="custom-tree-node">
                 <span>{{ data.name }}</span>
                 <div class="butList oper-span" >
-                  <a @click.stop="openMap(data)"> 大屏链接 </a>
+                  <!-- <a @click.stop="openMap(data)"> 大屏链接 </a> -->
                   <a v-if="!topDeptIds.includes(Number(data.id))"  @click.stop="showOrganizationDetail({ dept: data })" v-pdpath="['view']">
                     查看
                   </a>