From 75e5c67ead3a6f47207bb8e9b56cb969b487650b Mon Sep 17 00:00:00 2001 From: blp <2962632571@qq.com> Date: Mon, 6 Feb 2023 18:24:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E5=AD=90=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/device/instance.ts | 25 ++ .../ChildDevice/BindChildDevice/index.vue | 195 +++++++++++++ .../Instance/Detail/ChildDevice/index.vue | 265 ++++++++++++++++++ src/views/device/Instance/Detail/index.vue | 8 +- 4 files changed, 492 insertions(+), 1 deletion(-) create mode 100644 src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue create mode 100644 src/views/device/Instance/Detail/ChildDevice/index.vue diff --git a/src/api/device/instance.ts b/src/api/device/instance.ts index 562118ac..a8a7213c 100644 --- a/src/api/device/instance.ts +++ b/src/api/device/instance.ts @@ -217,3 +217,28 @@ export const queryMetric = (deviceId: string, propertyId: string) => server.get( * @returns */ export const saveMetric = (deviceId: string, propertyId: string, data: Record) => server.patch(`/device-instance/${deviceId}/metric/property/${propertyId}`, data) + +/** + * 解绑子设备 + * @param deviceId 设备id + * @param childrenId 子设备id + * @param data + * @returns + */ +export const unbindDevice = (deviceId: string, childrenId: string, data: Record) => server.post(`/device/gateway/${deviceId}/unbind/${childrenId}`, data) + +/** + * 批量解绑子设备 + * @param deviceId 设备id + * @param data + * @returns + */ +export const unbindBatchDevice = (deviceId: string, data: Record) => server.post(`/device/gateway/${deviceId}/unbind`, data) + +/** + * 子设备绑定 + * @param deviceId 设备id + * @param data + * @returns + */ +export const bindDevice = (deviceId: string, data: Record) => server.post(`/device/gateway/${deviceId}/bind`, data) diff --git a/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue b/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue new file mode 100644 index 00000000..71fe278a --- /dev/null +++ b/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue @@ -0,0 +1,195 @@ + + + + + + diff --git a/src/views/device/Instance/Detail/ChildDevice/index.vue b/src/views/device/Instance/Detail/ChildDevice/index.vue new file mode 100644 index 00000000..214a9491 --- /dev/null +++ b/src/views/device/Instance/Detail/ChildDevice/index.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/src/views/device/Instance/Detail/index.vue b/src/views/device/Instance/Detail/index.vue index c42f3520..2e4c2609 100644 --- a/src/views/device/Instance/Detail/index.vue +++ b/src/views/device/Instance/Detail/index.vue @@ -43,6 +43,7 @@ import { useInstanceStore } from '@/store/instance'; import Info from './Info/index.vue'; import Running from './Running/index.vue' import Metadata from '../../components/Metadata/index.vue'; +import ChildDevice from './ChildDevice/index.vue'; import { _deploy, _disconnect } from '@/api/device/instance' import { message } from 'ant-design-vue'; import { getImage } from '@/utils/comm'; @@ -67,13 +68,18 @@ const list = [ { key: 'Metadata', tab: '物模型' + }, + { + key: 'ChildDevice', + tab: '子设备' } ] const tabs = { Info, Metadata, - Running + Running, + ChildDevice, } watch(