增加视频监控页面

This commit is contained in:
15683799673
2025-07-21 03:38:19 +08:00
parent f18b3ae03e
commit ee1365cd4c
17 changed files with 403 additions and 106 deletions

View File

@@ -3,6 +3,10 @@ import type { VxeGridProps } from '#/adapter/vxe-table';
import { getPopupContainer } from '@vben/utils';
import { getDictOptions } from '#/utils/dict';
import { DictEnum } from '@vben/constants';
import type { FactoryQuery } from '#/api/sis/factory/model';
import { factoryList } from '#/api/sis/factory';
import { deviceGroupList } from '#/api/sis/deviceGroup';
import type { DeviceGroupQuery } from '#/api/sis/deviceGroup/model';
export const querySchema: FormSchemaGetter = () => [
{
@@ -16,9 +20,13 @@ export const querySchema: FormSchemaGetter = () => [
label: '设备ip',
},
{
component: 'Input',
component: 'Select',
fieldName: 'deviceType',
label: '设备类型',
componentProps: {
getPopupContainer,
options: getDictOptions(DictEnum.sis_ipc_device_type, true),
},
},
{
fieldName: 'deviceStatus',
@@ -40,12 +48,16 @@ export const columns: VxeGridProps['columns'] = [
field: 'deviceName',
},
{
title: '厂商编号',
field: 'factoryNo',
title: '设备厂商',
field: 'factoryName',
},
{
title: '设备类型',
field: 'device_type',
field: 'deviceTypeName',
},
{
title: '设备组',
field: 'groupName',
},
{
title: '设备ip',
@@ -90,15 +102,53 @@ export const modalSchema: FormSchemaGetter = () => [
},
{
label: '设备厂商',
fieldName: 'facrotyNo',
component: 'Input',
fieldName: 'factoryNo',
component: 'ApiSelect',
rules: 'required',
componentProps: {
allowClear: true,
resultField: 'list', // 根据API返回结构调整
labelField: 'factoryName',
valueField: 'factoryNo',
api: async () => {
const params: FactoryQuery = {
pageNum: 1,
pageSize: 500,
};
const res = await factoryList(params);
return res.rows;
},
},
},
{
label: '设备类型',
fieldName: 'deviceType',
component: 'Input',
component: 'Select',
rules: 'required',
componentProps: {
getPopupContainer,
options: getDictOptions(DictEnum.sis_ipc_device_type, true),
},
},
{
label: '设备组',
fieldName: 'groupId',
component: 'ApiSelect',
rules: 'required',
componentProps: {
allowClear: true,
resultField: 'list', // 根据API返回结构调整
labelField: 'name',
valueField: 'id',
api: async () => {
const params: DeviceGroupQuery = {
pageNum: 1,
pageSize: 500,
};
const res = await deviceGroupList(params);
return res.rows;
},
},
},
{
label: '设备ip',