| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- import { ref } from 'vue';
- import { defineStore } from 'pinia';
- import {
- CameraQueryParamDetails,
- CameraQueryParams,
- getCameraList,
- addCameraItem,
- updateCameraItem,
- getCameraStateByCodes,
- } from '@/api/camera/camera-overview';
- import { CameraAddItem, CameraDetailServer } from '@/types/camera/type';
- import { useRequest } from 'vue-hooks-plus';
- const ALL = -1;
- export const useCameraOverview = defineStore('camera-overview', () => {
- const queryType = ref('');
- const queryTypeContent = ref('');
- const queryCameraType = ref('');
- const queryWorkSpaces = ref<number[]>([]);
- const querySourceType = ref('');
- const networkingState = ref<number>(ALL);
- const integrationState = ref<number>(ALL);
- const openEagle = ref<number>(ALL);
- const total = ref(0);
- const page = ref(1);
- const size = ref(10);
- let interval;
- const cameraItems = ref<CameraDetailServer[]>([]);
- // 条件查询事件
- const conditionSearch = () => {
- const paramDetails = ref({} as CameraQueryParamDetails);
- const params: CameraQueryParams = {
- pageNumber: page.value,
- pageSize: size.value,
- queryParam: paramDetails.value,
- };
- if (queryType.value) {
- switch (queryType.value) {
- case 'cameraIp':
- paramDetails.value.ip = queryTypeContent.value;
- break;
- case 'name':
- paramDetails.value.code = queryTypeContent.value;
- break;
- }
- }
- if (queryCameraType.value) {
- paramDetails.value.cameraType = queryCameraType.value;
- }
- if (queryWorkSpaces.value) {
- paramDetails.value.workspaceIdList = queryWorkSpaces.value;
- }
- if (querySourceType.value) {
- paramDetails.value.sourceType = querySourceType.value;
- }
- if (networkingState.value != ALL) {
- paramDetails.value.networkingState = networkingState.value;
- }
- if (integrationState.value != ALL) {
- paramDetails.value.integrationState = integrationState.value;
- }
- if (openEagle.value != ALL) {
- paramDetails.value.openEagle = openEagle.value;
- }
- return getCameraList(params).then((res) => {
- return res;
- });
- };
- const { loading, run: getCameraItems } = useRequest(conditionSearch, {
- manual: true,
- onSuccess: (res) => {
- cameraItems.value = [...res.records];
- total.value = res.totalRow;
- },
- });
- const addCamera = (data: CameraAddItem) => {
- return addCameraItem(data).then(() => {
- getCameraItems();
- });
- };
- const addSRSCamera = (data) => {
- return addCameraItem(data).then(() => {
- getCameraItems();
- });
- };
- const addNVRCamera = (data) => {
- return addCameraItem(data).then(() => {
- getCameraItems();
- });
- };
- const editCamera = (data) => {
- return updateCameraItem(data);
- // .then(() => {
- // getCameraItems();
- // });
- };
- const getState = () => {
- getCameraStateByCodes({ cameraCodeList: cameraItems.value.map((camera) => camera.code) }).then((res) => {
- res.forEach((item) => {
- const targetObj = cameraItems.value.find((camera) => camera.code === item.cameraCode);
- if (targetObj) targetObj.networkingState = Number(item.networkingState);
- });
- });
- };
- const openInterval = () => {
- setTimeout(() => {
- getState();
- }, 500);
- interval = setInterval(() => {
- getState();
- }, 30000);
- };
- const closeInterval = () => {
- clearInterval(interval);
- };
- const reset = () => {
- queryType.value = '';
- queryTypeContent.value = '';
- queryCameraType.value = '';
- queryWorkSpaces.value = [];
- total.value = 0;
- page.value = 1;
- size.value = 10;
- cameraItems.value = [];
- };
- return {
- queryType,
- queryTypeContent,
- queryCameraType,
- querySourceType,
- queryWorkSpaces,
- integrationState,
- openEagle,
- networkingState,
- cameraItems,
- loading,
- total,
- size,
- page,
- getCameraItems,
- addCamera,
- editCamera,
- openInterval,
- closeInterval,
- getState,
- addSRSCamera,
- addNVRCamera,
- reset,
- };
- });
- export default useCameraOverview;
|