| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import { ref } from 'vue';
- import { defineStore } from 'pinia';
- import {
- CameraQueryParams,
- getCameraList,
- addCameraItem,
- updateCameraItem,
- } from '@/api/camera/camera-overview';
- import { CameraIPItem, CameraShowItem } from '../type';
- import { useRequest } from 'vue-hooks-plus';
- export const useCameraOverview = defineStore('camera-overview', () => {
- const queryType = ref('');
- const queryTypeContent = ref('');
- const queryCameraType = ref('');
- const queryWorkSpace = ref('');
- const total = ref(0);
- const page = ref(1);
- const size = ref(10);
- const cameraItems = ref<CameraShowItem[]>([]);
- // 条件查询事件
- const conditionSearch = () => {
- const params: CameraQueryParams = {
- pageNumber: page.value,
- pageSize: size.value,
- };
- if (queryType.value) {
- switch (queryType.value) {
- case 'cameraIp':
- params.ip = queryTypeContent.value;
- break;
- case 'name':
- params.code = queryTypeContent.value;
- break;
- }
- }
- if (queryCameraType.value) {
- params.cameraType = queryCameraType.value;
- }
- if (queryWorkSpace.value) {
- params.sceneCode = queryWorkSpace.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: CameraIPItem) => {
- console.log(data);
- addCameraItem(data).then(() => {
- getCameraItems();
- });
- };
- const editCamera = (data: Partial<CameraShowItem>) => {
- updateCameraItem(data).then(() => {
- getCameraItems();
- });
- };
- return {
- queryType,
- queryTypeContent,
- queryCameraType,
- queryWorkSpace,
- cameraItems,
- loading,
- total,
- size,
- page,
- getCameraItems,
- addCamera,
- editCamera,
- };
- });
- export default useCameraOverview;
|