wangfumin 1 месяц назад
Родитель
Сommit
4453dbcbf2

+ 1 - 0
src/directive/permission.ts

@@ -38,6 +38,7 @@ export const operateIsPermissionByPath = (...operate: string[]) => {
     routeName = 'example'
   }
   const currentRoleName = `${routeName}:${operate.join(":")}`;
+  console.log('operate:', operate, currentRoleName);
   return permission.value.find((item) => item.resourceKey === currentRoleName);
 };
 

+ 2 - 2
src/view/case/moreMenu.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dropdown>
+  <el-dropdown v-if="operateIsPermissionByPath('edit', 'view') || operateIsPermissionByPath('edit', 'download') || (operateIsPermissionByPath('edit', 'share') && props.searchType === '0')">
     <span style="margin-left: 8px;" class="oper-span more-btn">
       更多
       <el-icon class="el-icon--right">
@@ -48,7 +48,7 @@ const menus = computed(() => {
     {
       key: "view",
       label: "复制",
-      permiss: 'copy',
+      permiss: 'edit',
       onClick: () => {
         emit('copy', props.caseId);
       }

+ 5 - 7
src/view/newFireCase/dyManager/sceneContent.vue

@@ -37,25 +37,25 @@
     </el-table-column>
     <el-table-column label="所属架构" prop="deptName"></el-table-column>
     <el-table-column label="操作" v-slot:default="{ row }: { row: QuoteScene }" width="370px">
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['hash']" @click="downHash(row)">
+      <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['hash']" @click="downHash(row)">
         Hash
       </span>
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['copy']" @click="copySceneHandler(row)">
+      <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>
-      <span v-pdpath="['gen']" v-if="params.state.query.searchType != '1'" class="oper-span" @click="genMeshScene(row)">
+      <span v-pdpath="['gen']" v-if="pagging.state.query.searchType != '1'" class="oper-span" @click="genMeshScene(row)">
         生成obj
       </span>
       <span class="oper-span" v-pdpath="['del']" v-if="pagging.state.query.searchType === '0'" @click="openSceneShareDialog(row)">
         权限
       </span>
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['down']" @click="sceneDownloadHandler(row)">
+      <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['down']" @click="sceneDownloadHandler(row)">
         下载
       </span>
-      <span class="oper-span delBtn delete-oper" v-if="params.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
+      <span class="oper-span delBtn delete-oper" v-if="pagging.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
         删除
       </span>
     </el-table-column>
@@ -81,9 +81,7 @@ import { sceneDownload } from "./quisk";
 import { sceneShare as openSceneShare } from "@/view/case/quisk";
 import { downSceneHash } from "@/request";
 import { SceneTypeDesc } from '@/constant/scene';
-import { useScenePaggingParams } from "./pagging";
 
-const params = useScenePaggingParams();
 const props = defineProps<{ pagging: ScenePagging }>();
 const delSceneHandler = async (scene: QuoteScene) => {
   if (await confirm("确定要删除当前场景吗?")) {

+ 4 - 7
src/view/newFireCase/meshManager/sceneContent.vue

@@ -37,10 +37,10 @@
     </el-table-column>
     <el-table-column label="所属架构" prop="deptName"></el-table-column>
     <el-table-column label="操作" v-slot:default="{ row }: { row: QuoteScene }" width="340px">
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['hash']" @click="downHash(row)">
+      <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['hash']" @click="downHash(row)">
         Hash
       </span>
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['copy']" @click="copySceneHandler(row)">
+      <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)">
@@ -49,10 +49,10 @@
       <span class="oper-span" v-pdpath="['del']" v-if="pagging.state.query.searchType === '0'" @click="genMeshScene(row)">
         权限
       </span>
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['down']" @click="sceneDownloadHandler(row)">
+      <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['down']" @click="sceneDownloadHandler(row)">
         下载
       </span>
-      <span class="oper-span delBtn delete-oper" v-if="params.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
+      <span class="oper-span delBtn delete-oper" v-if="pagging.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
         删除
       </span>
     </el-table-column>
@@ -77,9 +77,6 @@ import { sceneDownload } from "./quisk";
 import { sceneShare as openSceneShare } from "@/view/case/quisk";
 import { downSceneHash } from "@/request";
 import { SceneTypeDesc } from '@/constant/scene';
-import { useScenePaggingParams } from "./pagging";
-
-const params = useScenePaggingParams();
 
 const props = defineProps<{ pagging: ScenePagging }>();
 const delSceneHandler = async (scene: QuoteScene) => {

+ 3 - 5
src/view/newFireCase/mix3dManager/sceneContent.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="body-head" style="display: flex;justify-content: flex-end;">
-    <el-button type="primary" v-if="params.state.query.searchType != '1'" v-pdpath="['edit']" @click="addMix3d">新增多元融合</el-button>
+    <el-button type="primary" v-if="pagging.state.query.searchType != '1'" v-pdpath="['edit']" @click="addMix3d">新增多元融合</el-button>
   </div>
 
   <el-table
@@ -34,10 +34,10 @@
       <span class="oper-span" v-if="pagging.state.query.searchType === '0'" v-pdpath="['del']" @click="openSceneShare(row)">
         权限
       </span>
-      <span class="oper-span" v-if="params.state.query.searchType != '1'" v-pdpath="['down']" @click="downloadFusion(row)">
+      <span class="oper-span" v-if="pagging.state.query.searchType != '1'" v-pdpath="['down']" @click="downloadFusion(row)">
         下载
       </span>
-      <span class="oper-span delBtn delete-oper" v-if="params.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
+      <span class="oper-span delBtn delete-oper" v-if="pagging.state.query.searchType != '1'" v-pdpath="['del']" @click="delSceneHandler(row)">
         删除
       </span>
     </el-table-column>
@@ -63,9 +63,7 @@ import { confirm } from "@/helper/message";
 import { fusionDownload } from "./quisk";
 import { sceneShare as sceneShareDialog } from "@/view/case/quisk";
 import { axios, downSceneHash, addOrUpdateCaseFusion, delFusion } from "@/request";
-import { useScenePaggingParams } from "./pagging";
 
-const params = useScenePaggingParams();
 const url = import.meta.env.VITE_SEVER_URL || 'https://mix3d.4dkankan.com';
 const nowRouteName = import.meta.env.VITE_APP_APP;
 

+ 1 - 1
src/view/newFireCase/newdispatch/example.vue

@@ -49,7 +49,7 @@
         :width="240"
       >
         <EditMenuToDetail :caseId="row.caseId" :fromRoute="'criminal'" :row="row"></EditMenuToDetail>
-        <MoreMenu :caseId="row.caseId" :title="row.projectSn" v-if="state.query.searchType !== '1'" :projectName="row.projectName" :searchType="state.query.searchType" @copy="copy" />
+        <MoreMenu v-pdpath="['del']" :caseId="row.caseId" :title="row.projectSn" v-if="state.query.searchType !== '1'" :projectName="row.projectName" :searchType="state.query.searchType" @copy="copy" />
         <span
           class="oper-span"
           @click="del(row)"