diff --git a/src/api/iot/device/group/index.ts b/src/api/iot/device/group/index.ts
new file mode 100644
index 00000000..5d9f8df7
--- /dev/null
+++ b/src/api/iot/device/group/index.ts
@@ -0,0 +1,37 @@
+import request from '@/config/axios'
+
+// IoT 设备分组 VO
+export interface DeviceGroupVO {
+ id: number // 分组 ID
+ name: string // 分组名字
+ status: number // 分组状态
+ description: string // 分组描述
+}
+
+// IoT 设备分组 API
+export const DeviceGroupApi = {
+ // 查询IoT 设备分组分页
+ getDeviceGroupPage: async (params: any) => {
+ return await request.get({ url: `/iot/device-group/page`, params })
+ },
+
+ // 查询IoT 设备分组详情
+ getDeviceGroup: async (id: number) => {
+ return await request.get({ url: `/iot/device-group/get?id=` + id })
+ },
+
+ // 新增IoT 设备分组
+ createDeviceGroup: async (data: DeviceGroupVO) => {
+ return await request.post({ url: `/iot/device-group/create`, data })
+ },
+
+ // 修改IoT 设备分组
+ updateDeviceGroup: async (data: DeviceGroupVO) => {
+ return await request.put({ url: `/iot/device-group/update`, data })
+ },
+
+ // 删除IoT 设备分组
+ deleteDeviceGroup: async (id: number) => {
+ return await request.delete({ url: `/iot/device-group/delete?id=` + id })
+ }
+}
\ No newline at end of file
diff --git a/src/views/iot/device/group/DeviceGroupForm.vue b/src/views/iot/device/group/DeviceGroupForm.vue
new file mode 100644
index 00000000..64872573
--- /dev/null
+++ b/src/views/iot/device/group/DeviceGroupForm.vue
@@ -0,0 +1,112 @@
+
+
+
+
diff --git a/src/views/iot/device/group/index.vue b/src/views/iot/device/group/index.vue
new file mode 100644
index 00000000..0646fc72
--- /dev/null
+++ b/src/views/iot/device/group/index.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+