diff --git a/src/views/iot/manager/DeviceManagerList.vue b/src/views/iot/manager/DeviceManagerList.vue
new file mode 100644
index 0000000..7eace25
--- /dev/null
+++ b/src/views/iot/manager/DeviceManagerList.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+ 设备清单
+ 设备日志
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/DeviceBrokenForm.vue b/src/views/iot/manager/components/DeviceBrokenForm.vue
new file mode 100644
index 0000000..315274f
--- /dev/null
+++ b/src/views/iot/manager/components/DeviceBrokenForm.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/DeviceBrokenModal.vue b/src/views/iot/manager/components/DeviceBrokenModal.vue
new file mode 100644
index 0000000..50c7580
--- /dev/null
+++ b/src/views/iot/manager/components/DeviceBrokenModal.vue
@@ -0,0 +1,84 @@
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/DeviceGhForm.vue b/src/views/iot/manager/components/DeviceGhForm.vue
new file mode 100644
index 0000000..df4f12b
--- /dev/null
+++ b/src/views/iot/manager/components/DeviceGhForm.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+ {{item.nuName}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/DeviceGhModal.vue b/src/views/iot/manager/components/DeviceGhModal.vue
new file mode 100644
index 0000000..e6b027a
--- /dev/null
+++ b/src/views/iot/manager/components/DeviceGhModal.vue
@@ -0,0 +1,84 @@
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/log/DeviceLogList.vue b/src/views/iot/manager/components/log/DeviceLogList.vue
new file mode 100644
index 0000000..5c2dca0
--- /dev/null
+++ b/src/views/iot/manager/components/log/DeviceLogList.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/log/DeviceLogModal.vue b/src/views/iot/manager/components/log/DeviceLogModal.vue
new file mode 100644
index 0000000..1097a1c
--- /dev/null
+++ b/src/views/iot/manager/components/log/DeviceLogModal.vue
@@ -0,0 +1,82 @@
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/preview/DevicePreviewForm.vue b/src/views/iot/manager/components/preview/DevicePreviewForm.vue
new file mode 100644
index 0000000..604b1a6
--- /dev/null
+++ b/src/views/iot/manager/components/preview/DevicePreviewForm.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/preview/DevicePreviewFormModal.vue b/src/views/iot/manager/components/preview/DevicePreviewFormModal.vue
new file mode 100644
index 0000000..e115a80
--- /dev/null
+++ b/src/views/iot/manager/components/preview/DevicePreviewFormModal.vue
@@ -0,0 +1,84 @@
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/preview/DevicePreviewList.vue b/src/views/iot/manager/components/preview/DevicePreviewList.vue
new file mode 100644
index 0000000..4564cb1
--- /dev/null
+++ b/src/views/iot/manager/components/preview/DevicePreviewList.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/components/preview/DevicePreviewModal.vue b/src/views/iot/manager/components/preview/DevicePreviewModal.vue
new file mode 100644
index 0000000..9bf53dd
--- /dev/null
+++ b/src/views/iot/manager/components/preview/DevicePreviewModal.vue
@@ -0,0 +1,83 @@
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/manager/manager.api.ts b/src/views/iot/manager/manager.api.ts
new file mode 100644
index 0000000..2be4db8
--- /dev/null
+++ b/src/views/iot/manager/manager.api.ts
@@ -0,0 +1,37 @@
+import { defHttp } from '/@/utils/http/axios';
+
+enum Api {
+ list = '/iot/device/manager/list',
+ previewList = '/iot/device/manager/previewList',
+ add = '/iot/device/manager/add',
+ edit = '/iot/device/manager/edit',
+ delete = '/iot/device/manager/delete',
+ exportXls = '/iot/device/manager/exportXls',
+ bingLogList = '/iot/device/manager/bingLogList',
+ nuList = '/iot/device/manager/nuList',
+ addLog = '/iot/device/manager/addLog',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+/**
+ * 列表
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+export const previewList = (params) => defHttp.get({ url: Api.previewList, params });
+export const bingLogList = (params) => defHttp.get({ url: Api.bingLogList, params });
+export const nuList = (params) => defHttp.get({ url: Api.nuList, params });
+/**
+ * 添加
+ * @param params
+ */
+export const save = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.add;
+ return defHttp.post({url: url, params});
+}
+
+export const saveLog = (params) => defHttp.post({ url: Api.addLog, params });
diff --git a/src/views/iot/manager/manager.data.ts b/src/views/iot/manager/manager.data.ts
new file mode 100644
index 0000000..935e5c9
--- /dev/null
+++ b/src/views/iot/manager/manager.data.ts
@@ -0,0 +1,169 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '区域编码',
+ align: "center",
+ dataIndex: 'nuId',
+ customRender:({record})=>{
+ if(record.nuId==null || record.nuId==''){
+ return "-";
+ }else{
+ return record.nuId;
+ }
+ },
+ },
+ {
+ title: '区域名称',
+ align: "center",
+ dataIndex: 'nuName',
+ customRender:({record})=>{
+ if(record.nuName==null || record.nuName==''){
+ return "-";
+ }else{
+ return record.nuName;
+ }
+ },
+ },
+ {
+ title: '设备维度',
+ align: "center",
+ dataIndex: 'dimension',
+ },
+ {
+ title: '设备标识',
+ align: "center",
+ dataIndex: 'sn',
+ },
+ {
+ title: '设备类型',
+ align: "center",
+ dataIndex: 'deviceType_dictText',
+ },
+ {
+ title: '设备型号',
+ align: "center",
+ dataIndex: 'deviceModel',
+ },
+ {
+ title: '在线状态',
+ align: "center",
+ dataIndex: 'onlineStatus',
+ },
+ {
+ title: '设备状态',
+ align: "center",
+ dataIndex: 'deviceStatus',
+ },
+];
+
+//列表数据
+export const previewColumns: BasicColumn[] = [
+ {
+ title: '设备类型',
+ align: "center",
+ dataIndex: 'deviceType_dictText',
+ },
+ {
+ title: '设备型号',
+ align: "center",
+ dataIndex: 'deviceModel',
+ },
+ {
+ title: '生产厂家',
+ align: "center",
+ dataIndex: 'factory',
+ },
+ {
+ title: '设备维度',
+ align: "center",
+ dataIndex: 'dimension',
+ },
+ {
+ title: '设备标识',
+ align: "center",
+ dataIndex: 'sn',
+ },
+ {
+ title: '时间',
+ align: "center",
+ dataIndex: 'updateTime',
+ },
+ {
+ title: '备注',
+ align: "center",
+ dataIndex: 'remarks',
+ },
+];
+
+//列表数据
+export const logColumns: BasicColumn[] = [
+ {
+ title: '区域编码',
+ align: "center",
+ dataIndex: 'nuId',
+ customRender:({record})=>{
+ if(record.nuId==null || record.nuId==''){
+ return "-";
+ }else{
+ return record.nuId;
+ }
+ },
+ width: 100
+ },
+ {
+ title: '区域名称',
+ align: "center",
+ dataIndex: 'nuName',
+ customRender:({record})=>{
+ if(record.nuName==null || record.nuName==''){
+ return "-";
+ }else{
+ return record.nuName;
+ }
+ },
+ },
+ {
+ title: '设备维度',
+ align: "center",
+ dataIndex: 'dimension',
+ width: 100
+ },
+ {
+ title: '设备类型',
+ align: "center",
+ dataIndex: 'deviceType_dictText',
+ width: 100
+ },
+ {
+ title: '设备型号',
+ align: "center",
+ dataIndex: 'deviceModel',
+ },
+ {
+ title: '设备标识',
+ align: "center",
+ dataIndex: 'sn',
+ },
+ {
+ title: '生产厂家',
+ align: "center",
+ dataIndex: 'factory',
+ },
+ {
+ title: '操作时间',
+ align: "center",
+ dataIndex: 'optDate',
+ width: 150
+ },
+ {
+ title: '操作类型',
+ align: "center",
+ dataIndex: 'optType',
+ width: 100
+ },
+];
+
+export const searchFormSchema: FormSchema[] = [];