diff --git a/src/api/media/device.ts b/src/api/media/device.ts new file mode 100644 index 00000000..d16d117e --- /dev/null +++ b/src/api/media/device.ts @@ -0,0 +1,13 @@ +import server from '@/utils/request' + +export default { + // 列表 + list: (data: any) => server.post(`/media/device/_query/`, data), + // 详情 + detail: (id: string): any => server.get(`/media/device/${id}`), + // 新增 + save: (data: any) => server.post(`/media/device/${data.channel}`, data), + // 修改 + update: (data: any) => server.put(`/media/device/${data.channel}/${data.id}`, data), + del: (id: string) => server.remove(`/media/device/${id}`), +} \ No newline at end of file diff --git a/src/api/rule-engine/dashboard.ts b/src/api/rule-engine/dashboard.ts new file mode 100644 index 00000000..7563bbeb --- /dev/null +++ b/src/api/rule-engine/dashboard.ts @@ -0,0 +1,20 @@ +import server from '@/utils/request'; +/** + * 获取今日及当月告警数量 + */ +export const dashboard = (data:Record)=> server.post('/dashboard/_multi',data); + +/** + * + */ +export const getAlarm = (params:Record) => server.get('/alarm/record/_query',params); + +/** + * 获取告警数量 + */ +export const getAlarmConfigCount = (data:Record) => server.post('/alarm/config/_count',data); + +/** + * 获取报警等级 + */ +export const getAlarmLevel = () => server.get('/alarm/config/default/level'); \ No newline at end of file diff --git a/src/components/AIcon/index.tsx b/src/components/AIcon/index.tsx index 7a8a21b3..4ebea3b2 100644 --- a/src/components/AIcon/index.tsx +++ b/src/components/AIcon/index.tsx @@ -45,7 +45,10 @@ const iconKeys = [ 'InfoCircleOutlined', 'SearchOutlined', 'EllipsisOutlined', - 'ClockCircleOutlined' + 'ClockCircleOutlined', + 'PartitionOutlined', + 'ShareAltOutlined', + 'playCircleOutlined', ] const Icon = (props: {type: string}) => { diff --git a/src/views/device/DashBoard/index.vue b/src/views/device/DashBoard/index.vue index e1a8a051..d1722caf 100644 --- a/src/views/device/DashBoard/index.vue +++ b/src/views/device/DashBoard/index.vue @@ -40,7 +40,7 @@ - +
@@ -452,6 +452,7 @@ const getEcharts = (data: any) => { _time = '1M'; format = 'yyyy年-M月'; } + dashboard([ { dashboard: 'device', diff --git a/src/views/media/Device/Save/index.vue b/src/views/media/Device/Save/index.vue new file mode 100644 index 00000000..e84d2a3b --- /dev/null +++ b/src/views/media/Device/Save/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/src/views/media/Device/index.vue b/src/views/media/Device/index.vue new file mode 100644 index 00000000..141caa50 --- /dev/null +++ b/src/views/media/Device/index.vue @@ -0,0 +1,334 @@ + + + + diff --git a/src/views/media/Device/typings.d.ts b/src/views/media/Device/typings.d.ts new file mode 100644 index 00000000..995964b8 --- /dev/null +++ b/src/views/media/Device/typings.d.ts @@ -0,0 +1,24 @@ +type BaseItem = { + id: string; + name: string; +}; +type State = { + value: string; + text: string; +}; + +export type DeviceItem = { + photoUrl?: string; + channelNumber: number; + createTime: number; + firmware: string; + gatewayId: string; + host: string; + manufacturer: string; + model: string; + port: number; + provider: string; + state: State; + streamMode: string; + transport: string; +} & BaseItem; diff --git a/src/views/rule-engine/DashBoard/components/Charts.vue b/src/views/rule-engine/DashBoard/components/Charts.vue new file mode 100644 index 00000000..9c5a4031 --- /dev/null +++ b/src/views/rule-engine/DashBoard/components/Charts.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/views/rule-engine/DashBoard/components/Guide.vue b/src/views/rule-engine/DashBoard/components/Guide.vue new file mode 100644 index 00000000..c423d252 --- /dev/null +++ b/src/views/rule-engine/DashBoard/components/Guide.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/views/rule-engine/DashBoard/components/NewAlarm.vue b/src/views/rule-engine/DashBoard/components/NewAlarm.vue new file mode 100644 index 00000000..6c7125d8 --- /dev/null +++ b/src/views/rule-engine/DashBoard/components/NewAlarm.vue @@ -0,0 +1,152 @@ + + + + \ No newline at end of file diff --git a/src/views/rule-engine/DashBoard/components/TimeSelect.vue b/src/views/rule-engine/DashBoard/components/TimeSelect.vue new file mode 100644 index 00000000..eaa86387 --- /dev/null +++ b/src/views/rule-engine/DashBoard/components/TimeSelect.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/views/rule-engine/DashBoard/components/TopCard.vue b/src/views/rule-engine/DashBoard/components/TopCard.vue new file mode 100644 index 00000000..13c5fcac --- /dev/null +++ b/src/views/rule-engine/DashBoard/components/TopCard.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/views/rule-engine/DashBoard/index.vue b/src/views/rule-engine/DashBoard/index.vue new file mode 100644 index 00000000..b07a1130 --- /dev/null +++ b/src/views/rule-engine/DashBoard/index.vue @@ -0,0 +1,547 @@ + + + + \ No newline at end of file diff --git a/src/views/rule-engine/DashBoard/typings.d.ts b/src/views/rule-engine/DashBoard/typings.d.ts new file mode 100644 index 00000000..87e0dde4 --- /dev/null +++ b/src/views/rule-engine/DashBoard/typings.d.ts @@ -0,0 +1,5 @@ +export type Footer = { + title: string; + value: number | string; + status?: "default" | "error" | "success" | "warning" | "processing" +} \ No newline at end of file diff --git a/src/views/rule-engine/Instance/index.vue b/src/views/rule-engine/Instance/index.vue index d47885f7..f0923f3f 100644 --- a/src/views/rule-engine/Instance/index.vue +++ b/src/views/rule-engine/Instance/index.vue @@ -1,6 +1,6 @@ @@ -209,8 +209,8 @@ const columns = [ }, { title: '说明', - dataIndex: 'describe', - key: 'describe', + dataIndex: 'description', + key: 'description', }, { title: '操作', diff --git a/vite.config.ts b/vite.config.ts index 9c86c17e..3fca4903 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -82,8 +82,8 @@ export default defineConfig(({ mode}) => { // target: 'http://192.168.33.22:8800', // target: 'http://192.168.32.244:8881', // target: 'http://47.112.135.104:5096', // opcua - // target: 'http://120.77.179.54:8844', // 120测试 - target: 'http://47.108.63.174:8845', // 测试 + target: 'http://120.77.179.54:8844', // 120测试 + // target: 'http://47.108.63.174:8845', // 测试 changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') }