From 693c9d3311d4348cef2ecc39ea27af983d546015 Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Thu, 16 Feb 2023 16:13:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E8=A7=86=E9=A2=91=E4=B8=AD?= =?UTF-8?q?=E5=BF=83-=E8=A7=86=E9=A2=91=E8=AE=BE=E5=A4=87=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/media/device.ts | 13 + src/components/AIcon/index.tsx | 5 +- src/views/media/Device/Save/index.vue | 7 + src/views/media/Device/index.vue | 334 ++++++++++++++++++++++++++ src/views/media/Device/typings.d.ts | 24 ++ 5 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 src/api/media/device.ts create mode 100644 src/views/media/Device/Save/index.vue create mode 100644 src/views/media/Device/index.vue create mode 100644 src/views/media/Device/typings.d.ts 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/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/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 @@ + + save + + + + + 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 @@ + + + + + + 新增 + + + + + + + + + + + {{ slotProps.name }} + + + + 厂商 + {{ slotProps.manufacturer }} + + + + 通道数量 + + {{ slotProps.channelNumber }} + + + 型号 + {{ slotProps.model }} + + + + 接入方式 + + + {{ providerType[slotProps.provider] }} + + + + + + + + + + + + + + + {{ item.text }} + + + + + + + + + + + + + + + + + + + + + + + + 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; From 24690e1cdb1e43728859da49b1b5823fad51355f Mon Sep 17 00:00:00 2001 From: wangshuaiswim Date: Thu, 16 Feb 2023 16:22:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E9=87=8D=E5=A4=8D=E7=82=B9=E5=87=BB=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PermissionButton/index.vue | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/components/PermissionButton/index.vue b/src/components/PermissionButton/index.vue index 57268e91..cd95769d 100644 --- a/src/components/PermissionButton/index.vue +++ b/src/components/PermissionButton/index.vue @@ -4,14 +4,14 @@ - + - + @@ -22,7 +22,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -56,11 +56,11 @@ import { TooltipProps, PopconfirmProps } from 'ant-design-vue/es' import { buttonProps } from 'ant-design-vue/es/button/button' import { usePermissionStore } from '@/store/permission'; -interface PermissionButtonEmits { - (e: 'click', data: MouseEvent): void; -} +// interface PermissionButtonEmits { +// (e: 'click', data: MouseEvent): void; +// } -const emits = defineEmits() +// const emits = defineEmits() // interface PermissionButtonProps extends ButtonProps { // tooltip?: TooltipProps; @@ -105,9 +105,6 @@ const _isPermission = computed(() => : false : true ) -const handleClick = (e: MouseEvent) => { - emits('click', e) -} const conform = (e: MouseEvent) => { props.popConfirm?.onConfirm?.(e)