diff --git a/src/views/iot/project/profileV2/DeviceManage/EDeviceTable.vue b/src/views/iot/project/profileV2/DeviceManage/EDeviceTable.vue
index 485edf5e..7e5ce5cd 100644
--- a/src/views/iot/project/profileV2/DeviceManage/EDeviceTable.vue
+++ b/src/views/iot/project/profileV2/DeviceManage/EDeviceTable.vue
@@ -103,7 +103,7 @@
-
![]()
+
{{ devItem.deviceId }}
@@ -136,6 +136,7 @@ import ESimpleCard from "@/components/Cards/index";
import EDeviceChildren from './EDeviceChildren'
import { webSocketProjectGatewayUrl } from "@/config/env";
import { listProjectDevice, listProjectModel } from '@/api/iot/project_new'
+import { getIotFileUrl } from "@/utils/hciot"
export default {
name: "EDeviceTable",
components: {
@@ -238,6 +239,7 @@ export default {
this.initHTML()
},
methods: {
+ getIotFileUrl,
// init html
initHTML() {
this.getGatewayList();
diff --git a/src/views/iot/project/profileV2/ENavMenu.vue b/src/views/iot/project/profileV2/ENavMenu.vue
index 88102ef5..fa9d7777 100644
--- a/src/views/iot/project/profileV2/ENavMenu.vue
+++ b/src/views/iot/project/profileV2/ENavMenu.vue
@@ -1,14 +1,60 @@
@@ -19,8 +65,8 @@ export default {
value: {
type: [String, Number],
default: () => {
- return 0
- }
+ return 0;
+ },
},
props: {
type: Object,
@@ -28,6 +74,7 @@ export default {
return {
label: "label",
key: "key",
+ children: "children",
};
},
},
@@ -37,21 +84,58 @@ export default {
return [
{
label: "项目管理",
- key: "projectOt"
+ key: "projectOt",
},
{
label: "设备管理",
- key: "projectOt"
+ key: "projectOt",
},
];
},
},
+ singleDevelop: {
+ type: Boolean,
+ default: () => {
+ return true;
+ },
+ },
+ defaultDevelop: {
+ type: Array,
+ default: () => {
+ return [];
+ },
+ },
+ },
+ data() {
+ return {
+ developList: [],
+ };
+ },
+ created() {
+ this.developList = this.defaultDevelop;
},
methods: {
handleClick(row) {
- this.$emit('input', row[this.props['key']]);
- }
- }
+ if (
+ !row[this.props["children"]] ||
+ row[this.props["children"]].length <= 0
+ ) {
+ this.$emit("input", row);
+ } else {
+ if (this.developList.indexOf(row[this.props["key"]]) >= 0) {
+ this.developList = this.developList.filter((v) => {
+ v !== row[this.props["key"]];
+ });
+ } else {
+ // 执行展开操作
+ if (this.singleDevelop) {
+ this.developList = [];
+ }
+ this.developList.push(row[this.props["key"]]);
+ }
+ }
+ },
+ },
};
diff --git a/src/views/iot/project/profileV2/SafetyTemplate/EDebuff.vue b/src/views/iot/project/profileV2/SafetyTemplate/EDebuff.vue
new file mode 100644
index 00000000..8b561db4
--- /dev/null
+++ b/src/views/iot/project/profileV2/SafetyTemplate/EDebuff.vue
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+ 查询
+
+
+ 导出
+
+
+ 导出当前页
+ 导出全部
+
+
+
+
+
+
+
+
+ {{ scope.row.recordId }}
+
+
+
+
+
+
+
+ {{ scope.row.address }}
+
+
+
+
+
+
+
+ {{ scope.row.deviceId }}
+
+
+
+
+
+
+
+ {{ scope.row.lineType == '0' ? "总路" : "支路" }}
+
+
+
+
+
+
+
+
+
+ {{ scope.row.alarmContent }}
+
+
+
+
+
+
+
+ {{ scope.row.name }} {{ scope.row.phone }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/project/profileV2/SafetyTemplate/EDeviceSwitchWarning.vue b/src/views/iot/project/profileV2/SafetyTemplate/EDeviceSwitchWarning.vue
new file mode 100644
index 00000000..358cb51e
--- /dev/null
+++ b/src/views/iot/project/profileV2/SafetyTemplate/EDeviceSwitchWarning.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+ 查询
+
+
+ 导出
+
+
+ 导出当前页
+ 导出全部
+
+
+
+
+
+
+
+
+ {{ scope.row.recordId }}
+
+
+
+
+
+
+
+ {{ scope.row.address }}
+
+
+
+
+
+
+
+ {{ scope.row.deviceId }}
+
+
+
+
+
+
+
+ {{ scope.row.lineType == '0' ? "总路" : "支路" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/project/profileV2/SafetyTemplate/ELeakageCurrent.vue b/src/views/iot/project/profileV2/SafetyTemplate/ELeakageCurrent.vue
new file mode 100644
index 00000000..7d8a7834
--- /dev/null
+++ b/src/views/iot/project/profileV2/SafetyTemplate/ELeakageCurrent.vue
@@ -0,0 +1,438 @@
+
+
+
+
+
{
+ queryParams.timeType = 'day';
+ }
+ "
+ :class="
+ queryParams.timeType === 'day'
+ ? 'data-type data-type-selected'
+ : 'data-type'
+ "
+ >
+ 日
+
+
{
+ queryParams.timeType = 'month';
+ }
+ "
+ :class="
+ queryParams.timeType === 'month'
+ ? 'data-type data-type-selected'
+ : 'data-type'
+ "
+ class="data-type"
+ >
+ 月
+
+
+ 日期
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.deviceName }}
+
+
+
+
+
+
+ {{ scope.row.deviceId }}
+
+
+
+
+
+
+
+ {{ scope.row.lineType ? "总路" : "支路" }}
+
+
+
+
+
+
+
+ {{ scope.row.address }}
+
+
+
+
+
+
+
+
+
+ 历史趋势
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/project/profileV2/SafetyTemplate/index.vue b/src/views/iot/project/profileV2/SafetyTemplate/index.vue
new file mode 100644
index 00000000..96adcadf
--- /dev/null
+++ b/src/views/iot/project/profileV2/SafetyTemplate/index.vue
@@ -0,0 +1,448 @@
+
+
+
+
+
{
+ queryParams.timeType = 'day';
+ }
+ "
+ :class="
+ queryParams.timeType === 'day'
+ ? 'data-type data-type-selected'
+ : 'data-type'
+ "
+ >
+ 日
+
+
{
+ queryParams.timeType = 'month';
+ }
+ "
+ :class="
+ queryParams.timeType === 'month'
+ ? 'data-type data-type-selected'
+ : 'data-type'
+ "
+ class="data-type"
+ >
+ 月
+
+
+ 日期
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.deviceName }}
+
+
+
+
+
+
+ {{ scope.row.deviceId }}
+
+
+
+
+
+
+
+ {{ scope.row.lineType == '0' ? "总路" : "支路" }}
+
+
+
+
+
+
+
+ {{ scope.row.address }}
+
+
+
+
+
+
+
+ {{ scope.row.recordId }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/iot/project/profileV2/details.vue b/src/views/iot/project/profileV2/details.vue
index 71540ad1..e094ff9c 100644
--- a/src/views/iot/project/profileV2/details.vue
+++ b/src/views/iot/project/profileV2/details.vue
@@ -57,11 +57,12 @@
{
- activeName = data;
+ activeName = data['template'];
+ activeType = data['key'];
}
"
/>
@@ -71,6 +72,7 @@
:projectInfo="infoData"
:projectTypeOptions="projectTypeOptions"
:sourceId="stateSourceId"
+ :tempType="activeType"
>
@@ -112,6 +114,12 @@ import ETypeCensus from "./ETypeCensus";
import ETrendCensus from "./ETrendCensus";
import EObjectContainer from "./EObjectContainer";
import EDeviceManage from "./DeviceManage/index";
+import EAlarmManage from './AlarmManage/index'
+import ESafetyTemplate from './SafetyTemplate/index'
+import ELeakageCurrent from './SafetyTemplate/ELeakageCurrent'
+import EDebuff from './SafetyTemplate/EDebuff'
+import EDeviceSwitchWarning from './SafetyTemplate/EDeviceSwitchWarning'
+import EElectricity from './EnergyManage/EElectricity'
export default {
name: "projectDetailV2",
@@ -127,6 +135,12 @@ export default {
ETrendCensus,
EObjectContainer,
EDeviceManage,
+ EAlarmManage,
+ ESafetyTemplate,
+ ELeakageCurrent,
+ EDebuff,
+ EDeviceSwitchWarning,
+ EElectricity
},
props: {
sourceId: {
@@ -139,14 +153,94 @@ export default {
stateSourceId: null,
resultInfo: {},
activeName: "EObjectContainer",
+ activeType: 'EObjectContainer',
activeList: [
{
label: "项目信息",
key: "EObjectContainer",
+ template: "EObjectContainer",
},
{
label: "设备管理",
key: "EDeviceManage",
+ template: "EDeviceManage",
+ },
+ {
+ label: "安全监管",
+ key: "safety",
+ children: [ // 漏电流 温度 漏电报警 温度报警 漏保自检 短路报警 过欠压 过流过载 电弧报警 三相报警 异常状态 分合闸警示
+ {
+ label: "全部报警",
+ key: "EAlarmManage",
+ template: "EAlarmManage",
+ },
+ {
+ label: "漏电流",
+ key: "ELeakageCurrent",
+ template: "ELeakageCurrent",
+ },
+ {
+ label: "温度",
+ key: "A006,A007,A008,A009,B004,B005,B006,B007",
+ template: 'ESafetyTemplate'
+ },
+ {
+ label: "漏电报警",
+ key: "A002,B002",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "漏保自检",
+ key: "A002,B004",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "短路报警",
+ key: "A001,B004",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "过欠压",
+ key: "A005,A004,B000,B001",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "过流过载",
+ key: "A003,B003",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "电弧报警",
+ key: "A003,B003",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "三相报警",
+ key: "A003,B003",
+ template: "ESafetyTemplate",
+ },
+ {
+ label: "异常状态",
+ key: "A010",
+ template: "EDebuff",
+ },
+ {
+ label: "分合闸警示",
+ key: "A011",
+ template: "EDeviceSwitchWarning",
+ },
+ ]
+ },
+ {
+ label: "综合管理",
+ key: "energy",
+ children: [
+ {
+ label: "电量",
+ key: "electricity",
+ template: "EElectricity",
+ },
+ ],
},
],
projectTypeOptions: [],