Bladeren bron

修改权限列表

wangfumin 3 weken geleden
bovenliggende
commit
3d299faee4

+ 2 - 2
src/store/user.ts

@@ -135,8 +135,8 @@ export const sendPhoneCode = async (phone: string) => {
   return countdownStore.get(phone);
 };
 
-export const transformSWToken = async (scene: QuoteScene) => {
-  const res = await axios.get(getSWToken, { params: { num: scene.num } });
+export const transformSWToken = async (scene: QuoteScene, isObj?: any) => {
+  const res = await axios.get(getSWToken, { params: { num: scene.num,  isObj } });
   return res.data.token;
 };
 

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

@@ -296,7 +296,7 @@ export enum OpenType {
   query,
   edit,
 }
-export const openSceneUrl = async (scene: Scene, type: OpenType) => {
+export const openSceneUrl = async (scene: Scene, type: OpenType, isObj?: any) => {
   const pathname = SceneTypePaths[scene.type][type];
   const url = new URL(pathname || "", window.location.href);
 
@@ -316,7 +316,7 @@ export const openSceneUrl = async (scene: Scene, type: OpenType) => {
     if (type === OpenType.edit) {
       url.searchParams.append(
         "token",
-        await transformSWToken(scene as QuoteScene)
+        await transformSWToken(scene as QuoteScene, isObj)
       );
     }
   }

+ 11 - 2
src/view/newFireCase/dyManager/sceneContent.vue

@@ -43,7 +43,7 @@
       <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['copy']" @click="copySceneHandler(row)">
         复制
       </span>
-      <span class="oper-span" v-pdpath="['edit']" @click="openSceneUrl(row, OpenType.edit)">
+      <span class="oper-span" v-pdpath="['edit']" @click="openSceneEdit(row, 0)">
         编辑
       </span>
       <span v-pdpath="['gen']" v-if="pagging.state.query.searchType != '1'" class="oper-span" @click="genMeshScene(row)">
@@ -75,12 +75,13 @@ import {
 } from "@/store/scene";
 import { ScenePagging } from "./pagging";
 import { QuoteSceneStatusDesc } from "@/constant/scene";
-import { OpenType, openSceneUrl } from "../../case/help";
+import { OpenType, openSceneUrl } from "@/view/case/help";
 import { confirm } from "@/helper/message";
 import { sceneDownload } from "./quisk";
 import { sceneShare as openSceneShare } from "@/view/case/quisk";
 import { downSceneHash } from "@/request";
 import { SceneTypeDesc } from '@/constant/scene';
+import { transformSWToken } from "@/store/user";
 
 const props = defineProps<{ pagging: ScenePagging }>();
 const delSceneHandler = async (scene: QuoteScene) => {
@@ -100,6 +101,14 @@ const sceneDownloadHandler = (scene: QuoteScene) => {
   sceneDownload({ scene });
 };
 
+const openSceneEdit = async (scene: QuoteScene, type: any) => {
+  const token = await transformSWToken(scene, type);
+  if (!token) return;
+  const isTest = window.location.host.includes("localhost") || window.location.host.includes("test");
+  const base = isTest ? "https://test.4dkankan.com" : "https://4dkankan.com";
+  window.open(`${base}/epg.html?m=${scene.num}&token=${token}`, "_blank");
+};
+
 // 权限弹窗:与 mesh 列表一致,传入 num 与 isObj
 const openSceneShareDialog = async (scene: QuoteScene) => {
   const isObj = (scene as any).isObj ?? Number(![SceneType.SWSS, SceneType.SWYDSS].includes(scene.type as any));

+ 10 - 1
src/view/newFireCase/meshManager/sceneContent.vue

@@ -43,7 +43,7 @@
       <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['copy']" @click="copySceneHandler(row)">
         复制
       </span>
-      <span class="oper-span" v-pdpath="['edit']" @click="openSceneUrl(row, OpenType.edit)">
+      <span class="oper-span" v-pdpath="['edit']" @click="openSceneEdit(row, 1)">
         编辑
       </span>
       <span class="oper-span" v-pdpath="['del']" v-if="pagging.state.query.searchType === '0'" @click="genMeshScene(row)">
@@ -77,6 +77,7 @@ import { sceneDownload } from "./quisk";
 import { sceneShare as openSceneShare } from "@/view/case/quisk";
 import { downSceneHash } from "@/request";
 import { SceneTypeDesc } from '@/constant/scene';
+import { transformSWToken } from "@/store/user";
 
 const props = defineProps<{ pagging: ScenePagging }>();
 const delSceneHandler = async (scene: QuoteScene) => {
@@ -96,6 +97,14 @@ const sceneDownloadHandler = (scene: QuoteScene) => {
   sceneDownload({ scene });
 };
 
+const openSceneEdit = async (scene: QuoteScene, type: any) => {
+  const token = await transformSWToken(scene, type);
+  if (!token) return;
+  const isTest = window.location.host.includes("localhost") || window.location.host.includes("test");
+  const base = isTest ? "https://test.4dkankan.com" : "https://4dkankan.com";
+  window.open(`${base}/epg.html?m=${scene.num}&token=${token}`, "_blank");
+};
+
 // 权限弹窗:传递 num 和 isObj(由行数据或类型推断)
 const genMeshScene = async (scene: QuoteScene) => {
   const isObj = (scene as any).isObj ?? Number(![SceneType.SWSS, SceneType.SWYDSS].includes(scene.type as any));

+ 1 - 1
src/view/newFireCase/mix3dManager/sceneContent.vue

@@ -20,7 +20,7 @@
     <el-table-column label="创建人" v-slot:default="{ row }: { row: QuoteScene }">
       {{ row.createUserName }}
     </el-table-column>
-    <el-table-column label="拍摄时间" prop="createTime" v-slot:default="{ row }">
+    <el-table-column label="创建时间" prop="createTime" v-slot:default="{ row }">
       {{ row.createTime }}
     </el-table-column>
   <el-table-column

+ 3 - 1
src/view/newFireCase/newFireDetails/components/scene.vue

@@ -281,7 +281,9 @@ const onDelete = async (scene: Scene) => {
   }
 };
 const onOpen = async (scene: Scene) => {
-  const token = await transformSWToken(scene);
+  let type = [0, 1, 3, 4, 6].includes(Number(scene.sceneType)) ? 1 : 0;
+  const token = await transformSWToken(scene, type);
+  if(!token) return;
   let newUrl = ''
   if(window.location.host.includes('localhost') || window.location.host.includes('test')){
     newUrl = `https://test.4dkankan.com/epg.html?m=${scene.num}&token=${token}`