فهرست منبع

Merge branch 'yubei'

sunhongyao341504 2 سال پیش
والد
کامیت
65d2b181b9

+ 1 - 1
.env.development

@@ -22,7 +22,7 @@ VITE_GLOB_API_URL =
 VITE_GLOB_UPLOAD_URL=  
 
 # 图片前缀地址
-VITE_GLOB_IMG_URL = //192.168.1.102/skyeye_static/
+VITE_GLOB_IMG_URL = //58.144.197.158:19980/skyeye_static/
 
 
 # 接口前缀

+ 1 - 17
src/views/cameras/overview/CamerasOverview.vue

@@ -27,8 +27,6 @@
           <el-badge :value="totalRow" :hidden="totalRow < 1" class="item">
             <el-button color="#1890FF" @click="showSharedPopover = true" plain>共享相机</el-button>
           </el-badge>
-
-          <!-- <div class="add-tip" v-if="unAddlength > 0">{{ unAddlength }}</div> -->
         </template>
         <template #empty>
           <div class="empty-content flex flex-col items-center">
@@ -70,22 +68,11 @@
   import { CameraIPItem, CameraShowItem } from './type';
   import { deleteCameraItem } from '@/api/camera/camera-overview';
   import { ElMessage, ElMessageBox } from 'element-plus';
-  import useCameraShared from './stores/useSharedCamera';
   import useCameraShare from './stores/useCameraShare';
 
   const useShare = useCameraShare();
-  const {
-    cameraShareList,
-    totalRow,
-    queryName,
-    queryAccount,
-    queryToTenantId,
-    isAddState,
-    queryCameraId,
-    conditionSearch,
-  } = useShare;
+  const { totalRow, queryToTenantId, isAddState, conditionSearch } = useShare;
 
-  const unAddlength = ref<number>();
   onMounted(() => {
     isAddState.value = false;
     console.log('isAddState', isAddState.value);
@@ -93,9 +80,6 @@
     conditionSearch();
   });
 
-  // const CameraShared = useCameraShared();
-  // const { unAddlength } = storeToRefs(CameraShared);
-
   const cameraOverview = useCameraOverview();
   const { cameraItems, loading, total, page, size } = storeToRefs(cameraOverview);
   const { getCameraItems, openInterval, closeInterval } = cameraOverview;

+ 0 - 8
src/views/cameras/overview/components/ShareCameraDetail.vue

@@ -122,7 +122,6 @@
     time: 'Indefinite',
     days: undefined,
     remark: '',
-    // shareList: [],
     endTime: '',
   });
 
@@ -134,8 +133,6 @@
     };
     handleEdit(editData);
   };
-  //列其中的编辑
-  // const getcolumns = getColumns(handleEditState);
 
   const handleDelete = (row) => {
     handleDel(row.id);
@@ -155,11 +152,6 @@
         style: 'img',
         size: 16,
         actionIcons: [
-          // {
-          //   label: '编辑',
-          //   icon: editIcon,
-          //   onClick: handleEdit.bind(null, record.row),
-          // },
           {
             label: '删除',
             icon: deleteIcon,

+ 8 - 15
src/views/cameras/overview/components/SharedTable.vue

@@ -27,7 +27,6 @@
       </div>
     </div>
     <div class="camera-list">
-      <!-- :data-source="props.addCameraType === 'complete' ? cameraCompleted : cameraIncompleted" -->
       <BasicTable
         :columns="getColumns(flattendWorkspaces)"
         :data-source="cameraShareList"
@@ -62,6 +61,7 @@
   import useCameraShare from '../stores/useCameraShare';
   import useSceneInfos from '@/hooks/useSceneInfos';
   import { CameraShareType } from '@/api/camera/camera-share';
+  import { ElMessageBox } from 'element-plus';
 
   const useShare = useCameraShare();
   const {
@@ -100,22 +100,15 @@
     handleEditData.value = row;
   };
 
-  // const updateData = (_data) => {
-  //   // if (props.addCameraType === 'complete') {
-  //   //   const indexToEdit = cameraIncompleted.value.findIndex(
-  //   //     (item) => item.cameraIp === data.cameraIp,
-  //   //   );
-  //   //   cameraIncompleted.value[indexToEdit] = data;
-  //   // } else {
-  //   //   const indexToEdit = cameraCompleted.value.findIndex(
-  //   //     (item) => item.cameraIp === data.cameraIp,
-  //   //   );
-  //   //   cameraCompleted.value[indexToEdit] = data;
-  //   // }
-  // };
-
   //添加按钮
   const handleChangeAdd = (row) => {
+    if (!row.cameraWorkspaceName) {
+      ElMessageBox.alert('该共享相机未添加场景,请先添加相机场景', 'Warning', {
+        confirmButtonText: 'OK',
+        type: 'warning',
+      });
+      return;
+    }
     const changeAddData = {
       id: row.id,
       isAdd: row.isAdd ? false : true,

+ 0 - 9
src/views/cameras/overview/constant.ts

@@ -468,15 +468,6 @@ export const cameraSharedForm: CameraAddFormItem[] = [
     disabled: false,
     rule: [{ required: true, message: '请输入场景名称', trigger: 'blur' }],
   },
-  // {
-  //   label: '场景:',
-  //   prop: 'workshopName',
-  //   placeholder: '请输入场景名称',
-  //   type: 'input',
-  //   required: true,
-  //   disabled: false,
-  //   rule: [{ required: true, message: '请输入场景名称', trigger: 'blur' }],
-  // },
   {
     label: '密码:',
     prop: 'password',

+ 0 - 1
src/views/cameras/overview/stores/useCameraShare.ts

@@ -1,4 +1,3 @@
-//未使用
 import { ref } from 'vue';
 import {
   CameraShareType,

+ 4 - 0
src/views/cameras/preview/components/CameraTree/CameraTree.vue

@@ -62,7 +62,11 @@
 
   const handleNodeClick = (e: CameraTree) => {
     console.log('e', e);
+    console.log('CameraTreeNodeType', CameraTreeNodeType);
+
     if (e.nodeType === CameraTreeNodeType.camera) {
+      console.log('aaa');
+
       cameraId.value = String(e.id);
       setDetail(e);
     }

+ 43 - 9
src/views/map-config/mini-map/MapBase/KonvaMap.vue

@@ -36,7 +36,7 @@
 
 <script setup lang="ts">
   import { ref, onMounted, onBeforeUnmount, watch } from 'vue';
-  import { ElMessage } from 'element-plus';
+  import { ElMessage, ElMessageBox } from 'element-plus';
   import { useGlobSetting } from '@/hooks/setting';
   import DefaultTip from '../components/DefaultTip.vue';
   import urlJoin from 'url-join';
@@ -44,9 +44,14 @@
   import favoritesImgSrc from '@/assets/camera/favorites.png';
   import { TipPositionEnum, camerasGroupType } from '../type';
   import { cloneDeep } from 'lodash-es';
+  import useMiniMap from '../use-mini-map';
+  import { storeToRefs } from 'pinia';
 
   const globSetting = useGlobSetting();
 
+  const miniMap = useMiniMap();
+  const { shopCameraList } = storeToRefs(miniMap);
+
   const emit = defineEmits(['changeDefaultCamera', 'sendCameraId']);
 
   const camImg = new Image();
@@ -313,11 +318,27 @@
   const handleKeyDown = (e) => {
     if (e.keyCode === 46 || e.code === 'Delete') {
       if (lastClickedGroupId.value === defaultCameraId.value) {
-        ElMessage.error({
-          message: '无法删除默认相机',
-        });
-        return;
+        // ElMessage.error({
+        //   message: '无法删除默认相机',
+        // });
+        // return;
+        ElMessageBox.confirm('此相机为默认相机,您确认要删除此相机?', 'Warning', {
+          confirmButtonText: '确认',
+          cancelButtonText: '取消',
+          type: 'warning',
+        })
+          .then(() => {
+            const index = cameras.value.findIndex((item) => item.id === lastClickedGroupId.value);
+            index >= 0 && cameras.value.splice(index, 1);
+            lastClickedGroupId.value = '';
+
+            //取消transformer
+            const transformerNode = transformer.value.getNode();
+            transformerNode.nodes([]);
+          })
+          .catch(() => {});
       }
+
       const index = cameras.value.findIndex((item) => item.id === lastClickedGroupId.value);
       index >= 0 && cameras.value.splice(index, 1);
       lastClickedGroupId.value = '';
@@ -340,12 +361,25 @@
   /** 导入布局json */
   const createMap = (layout) => {
     addBg(layout.bgImgUrl).then((_res) => {
+      const unExitList = [] as any[];
       stageConfig.value = layout.stageConfig;
       defaultCameraId.value = layout.defaultCameraId;
-      layout.cameraList = layout.cameraList?.map((item) => {
-        item.config.image = camImg;
-        return item;
-      });
+      layout.cameraList = layout.cameraList
+        ?.map((item) => {
+          item.config.image = camImg;
+          return item;
+        })
+        ?.filter((cam) => {
+          if (shopCameraList.value.findIndex((x) => x.code === cam.code) >= 0) {
+            return true;
+          } else {
+            unExitList.push(cam.code);
+            return false;
+          }
+        });
+      if (unExitList.length > 0) {
+        ElMessage.warning('部分相机不存在,已为您删除!');
+      }
       cameras.value = layout.cameraList;
     });
   };