Parcourir la source

fix: 安全态势修改

wyf il y a 5 mois
Parent
commit
2dd44f7ae4

+ 30 - 5
src/views/institute-safety/modules/safety-company-home/components/SurveillanceList.vue

@@ -1,15 +1,23 @@
 <template>
   <div class="surveillance-list">
     <header class="list-header">
-      <img class="config-btn" src="@/assets/images/institute-safety/config.png" alt="" @click="handleToPlatform" />
+      <img
+        class="config-btn"
+        v-if="surveillanceSafetyManagePermission"
+        src="@/assets/images/institute-safety/config.png"
+        alt=""
+        @click="handleToPlatform"
+      />
+      <div v-else style="width: 16px"></div>
       <span> 重点监控区域 </span>
       <img class="close-btn" src="@/assets/images/institute-safety/close.png" alt="" @click="emits('close')" />
     </header>
     <main class="surveillance-list-main">
       <div class="surveillance-group" v-for="group in surveillanceAreaList" :key="group.id">
-        <div class="group-title">
-          {{ group.groupName }}
-        </div>
+        <el-tooltip placement="top" :content="group.groupName">
+          <div class="group-title"> {{ group.groupName }} </div>
+        </el-tooltip>
+
         <div
           class="surveillance-camera"
           :class="{ 'surveillance-camera_active': cam.code === curCamera?.code }"
@@ -41,6 +49,8 @@
   import type { PositionMonitorCameraListRes } from '@/api/security-confidentiality-position';
   import type { CameraInfo } from '@/api/disaster-overview';
   import useCameraStore from '../stores/use-camera-store';
+  import { useUserInfoHook } from '@/hooks/useUserInfoHook';
+  import { SURVEILLANCE_MANAGEMENT_PERMISSIONS } from '@/views/system/surveillance/constant';
 
   const emits = defineEmits<{
     (e: 'close'): void;
@@ -67,9 +77,18 @@
 
   function handleChangeCamera(camera: CameraInfo) {
     cameraStore.setCurCamera(camera);
+    emits('close');
   }
 
+  const { permissions } = useUserInfoHook();
+  const surveillanceSafetyManagePermission = ref<boolean>(false);
+
   onMounted(() => {
+    surveillanceSafetyManagePermission.value = Boolean(
+      permissions.find(
+        (item: { code: string }) => item.code === SURVEILLANCE_MANAGEMENT_PERMISSIONS.SURVEILLANCE_SECURITY_MANAGEMENT,
+      ),
+    );
     getListData();
   });
 </script>
@@ -115,13 +134,19 @@
   }
 
   .group-title {
-    width: 86px;
+    max-width: 100px;
     height: 28px;
     line-height: 26px;
     background: rgba(0, 0, 0, 0.5);
     border-radius: 4px;
     border: 1px solid #000000;
 
+    padding: 0 10px;
+
+    white-space: nowrap; /* 防止文本换行 */
+    overflow: hidden; /* 隐藏溢出的文本 */
+    text-overflow: ellipsis; /* 显示省略号 */
+
     font-weight: 400;
     font-size: 14px;
     color: #ffffff;

+ 2 - 0
src/views/system/surveillance/constant/index.ts

@@ -34,4 +34,6 @@ export enum POSITION_TYPE {
 export const SURVEILLANCE_MANAGEMENT_PERMISSIONS = {
   // 院区监控区域管理权限
   SURVEILLANCE_MANAGEMENT: 'campus_surveillance_area_module:area_management',
+  // 院区安全态势管理权限
+  SURVEILLANCE_SECURITY_MANAGEMENT: 'campus_surveillance_area_module:institute_safety_management',
 };