diff --git a/src/api/cs-device-boot/EquipmentDelivery.ts b/src/api/cs-device-boot/EquipmentDelivery.ts
index ddcafb8..b867264 100644
--- a/src/api/cs-device-boot/EquipmentDelivery.ts
+++ b/src/api/cs-device-boot/EquipmentDelivery.ts
@@ -1,144 +1,152 @@
-import createAxios from '@/utils/request'
-
-// 装置基础数据和模板数据
-export function getDeviceData(deviceId: string, type: string, lineId: string) {
- let form = new FormData()
- form.append('deviceId', deviceId)
- form.append('lineId', lineId)
- form.append('type', type)
- return createAxios({
- url: '/cs-device-boot/EquipmentDelivery/deviceData',
- method: 'POST',
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded'
- },
- data: form
- })
-}
-
-//获取趋势数据、暂态数据、实时数据
-export function getTabsDataByType(data: any) {
- return createAxios({
- url: '/cs-device-boot/csGroup/deviceDataByType',
- method: 'POST',
- data
- })
-}
-
-/**** 获取基础实施数据 ****/
-export function getBasicRealData(id: any) {
- return createAxios({
- url: `/cs-harmonic-boot/realData/getBaseRealData?lineId=${id}`,
- method: 'POST'
- })
-}
-
-/**** 获取谐波实时数据 ****/
-export function getHarmRealData(id: any, target: any) {
- return createAxios({
- url: `/cs-harmonic-boot/realData/getHarmRealData?lineId=${id}&target=${target}`,
- method: 'POST'
- })
-}
-
-/**** 获取国标限值 ****/
-export function getOverLimitData(id: any) {
- return createAxios({
- url: `/cs-device-boot/csline/getOverLimitData?id=${id}`,
- method: 'POST'
- })
-}
-
-//获取实时数据列表数据
-export function getRealTimeTableList() {
- return createAxios({
- url: '/cs-device-boot/csGroup/getGroupPortableStatistical',
- method: 'GET'
- })
-}
-
-//离线数据导入
-export function uploadOffLineDataFile(data: any) {
- return createAxios({
- headers: {
- 'Content-Type': 'multipart/form-data'
- },
- url: '/cs-device-boot/portableOfflLog/importEquipment',
- method: 'POST',
- data
- })
-}
-
-//查询实时数据中实时趋势中指标分组
-export function getDeviceTrendDataGroup() {
- return createAxios({
- url: '/cs-device-boot/csGroup/getDeviceTrendDataGroup',
- method: 'GET'
- })
-}
-
-//根据指标分组查询实时数据中实时趋势
-export function getDeviceTrendData(query: any) {
- return createAxios({
- url: '/cs-device-boot/csGroup/getDeviceTrendData',
- method: 'GET',
- params: query
- })
-}
-
-//查询实时数据-谐波频谱-稳态指标
-export function getGroupPortableStatistical() {
- return createAxios({
- url: '/cs-device-boot/csGroup/getGroupPortableStatistical',
- method: 'GET'
- })
-}
-
-//查询实时数据-谐波频谱
-export function getDeviceHarmonicSpectrumData(data: any) {
- return createAxios({
- url: '/cs-device-boot/csGroup/getDeviceHarmonicSpectrumData',
- method: 'POST',
- data: data
- })
-}
-//获取指标类型-谐波频谱
-export function queryDictType(data?: any) {
- return createAxios({
- url: '/system-boot/dictTree/queryDictType',
- method: 'GET',
- params: data
- })
-}
-//根据监测点id获取监测点详情
-export function getById(data?: any) {
- return createAxios({
- url: '/cs-device-boot/csline/getById',
- method: 'POST',
- params: data
- })
-}
-//测试项日志修改
-export function updateRecordData(data?: any) {
- return createAxios({
- url: '/cs-device-boot/wlRecord/updateRecordData',
- method: 'POST',
- data
- })
-}
-//模块数据
-export function allModelData(data?: any) {
- return createAxios({
- url: '/cs-harmonic-boot/data/allModelData',
- method: 'POST',
- data
- })
-}
-//刷新状态
-export function getModuleState(data?: any) {
- return createAxios({
- url: '/cs-harmonic-boot/data/getModuleState',
- method: 'POST',
- params: data
- })
-}
+import createAxios from '@/utils/request'
+
+// 装置基础数据和模板数据
+export function getDeviceData(deviceId: string, type: string, lineId: string) {
+ let form = new FormData()
+ form.append('deviceId', deviceId)
+ form.append('lineId', lineId)
+ form.append('type', type)
+ return createAxios({
+ url: '/cs-device-boot/EquipmentDelivery/deviceData',
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ data: form
+ })
+}
+
+//获取趋势数据、暂态数据、实时数据
+export function getTabsDataByType(data: any) {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/deviceDataByType',
+ method: 'POST',
+ data
+ })
+}
+
+/**** 获取基础实施数据 ****/
+export function getBasicRealData(id: any) {
+ return createAxios({
+ url: `/cs-harmonic-boot/realData/getBaseRealData?lineId=${id}`,
+ method: 'POST'
+ })
+}
+
+/**** 获取谐波实时数据 ****/
+export function getHarmRealData(id: any, target: any) {
+ return createAxios({
+ url: `/cs-harmonic-boot/realData/getHarmRealData?lineId=${id}&target=${target}`,
+ method: 'POST'
+ })
+}
+
+/**** 获取国标限值 ****/
+export function getOverLimitData(id: any) {
+ return createAxios({
+ url: `/cs-device-boot/csline/getOverLimitData?id=${id}`,
+ method: 'POST'
+ })
+}
+
+//获取实时数据列表数据
+export function getRealTimeTableList() {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/getGroupPortableStatistical',
+ method: 'GET'
+ })
+}
+
+//离线数据导入
+export function uploadOffLineDataFile(data: any) {
+ return createAxios({
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ },
+ url: '/cs-device-boot/portableOfflLog/importEquipment',
+ method: 'POST',
+ data
+ })
+}
+
+//查询实时数据中实时趋势中指标分组
+export function getDeviceTrendDataGroup() {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/getDeviceTrendDataGroup',
+ method: 'GET'
+ })
+}
+
+//根据指标分组查询实时数据中实时趋势
+export function getDeviceTrendData(query: any) {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/getDeviceTrendData',
+ method: 'GET',
+ params: query
+ })
+}
+
+//查询实时数据-谐波频谱-稳态指标
+export function getGroupPortableStatistical() {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/getGroupPortableStatistical',
+ method: 'GET'
+ })
+}
+
+//查询实时数据-谐波频谱
+export function getDeviceHarmonicSpectrumData(data: any) {
+ return createAxios({
+ url: '/cs-device-boot/csGroup/getDeviceHarmonicSpectrumData',
+ method: 'POST',
+ data: data
+ })
+}
+//获取指标类型-谐波频谱
+export function queryDictType(data?: any) {
+ return createAxios({
+ url: '/system-boot/dictTree/queryDictType',
+ method: 'GET',
+ params: data
+ })
+}
+//根据监测点id获取监测点详情
+export function getById(data?: any) {
+ return createAxios({
+ url: '/cs-device-boot/csline/getById',
+ method: 'POST',
+ params: data
+ })
+}
+//测试项日志修改
+export function updateRecordData(data?: any) {
+ return createAxios({
+ url: '/cs-device-boot/wlRecord/updateRecordData',
+ method: 'POST',
+ data
+ })
+}
+//模块数据
+export function allModelData(data?: any) {
+ return createAxios({
+ url: '/cs-harmonic-boot/data/allModelData',
+ method: 'POST',
+ data
+ })
+}
+//刷新状态
+export function getModuleState(data?: any) {
+ return createAxios({
+ url: '/cs-harmonic-boot/data/getModuleState',
+ method: 'POST',
+ params: data
+ })
+}
+//获取运行取数
+export function getRawData(data?: any) {
+ return createAxios({
+ url: '/cs-device-boot/pqsCommunicate/getRawData',
+ method: 'POST',
+ data
+ })
+}
diff --git a/src/api/cs-device-boot/csLedger.ts b/src/api/cs-device-boot/csLedger.ts
index 36b93bf..b8e070c 100644
--- a/src/api/cs-device-boot/csLedger.ts
+++ b/src/api/cs-device-boot/csLedger.ts
@@ -1,18 +1,20 @@
import createAxios from '@/utils/request'
// 设备列表
-export function getDeviceTree() {
+export function getDeviceTree(params?: any) {
return createAxios({
url: '/cs-device-boot/csLedger/deviceTree',
- method: 'POST'
+ method: 'POST',
+ params
})
}
// 监测点列表
-export function getLineTree() {
+export function getLineTree(params?: any) {
return createAxios({
url: '/cs-device-boot/csLedger/lineTree',
- method: 'POST'
+ method: 'POST',
+ params
})
}
// 监测点列表治理
diff --git a/src/components/cockpit/F47Curve/index.vue b/src/components/cockpit/F47Curve/index.vue
index edb4af8..fad2370 100644
--- a/src/components/cockpit/F47Curve/index.vue
+++ b/src/components/cockpit/F47Curve/index.vue
@@ -147,8 +147,9 @@ const tableStore: any = new TableStore({
backgroundColor: 'rgba(0,0,0,0.55)',
borderWidth: 0,
formatter: function (a: any) {
- var relVal = ''
- relVal = "发生时间:" + a.value[2] + '
'
+ var relVal = `${a.seriesName}
`
+
+ relVal += "发生时间:" + a.value[2] + '
'
relVal += "持续时间:" + a.value[0] + 's
'
relVal += "特征幅值:" + a.value[1].toFixed(2) + '%'
return relVal
@@ -214,18 +215,18 @@ const tableStore: any = new TableStore({
// [0.2, 10, '2023-01-01 10:00:00'],
// [0.4, 50, '2023-01-01 11:00:00']
// ],
- legendSymbol: 'circle',
-
- tooltip: {
- show: true,
- trigger: 'item',
- formatter: function (params: any) {
- return `可容忍事件
- 持续时间: ${params.value[0]}s
- 特征幅值: ${params.value[1].toFixed(2)}%
- 发生时间: ${params.value[2] || 'N/A'}`
- }
- }
+ legendSymbol: 'circle'
+
+ // tooltip: {
+ // show: true,
+ // trigger: 'item',
+ // formatter: function (params: any) {
+ // return `可容忍事件
+ // 持续时间: ${params.value[0]}s
+ // 特征幅值: ${params.value[1].toFixed(2)}%
+ // 发生时间: ${params.value[2] || 'N/A'}`
+ // }
+ // }
},
{
name: '不可容忍事件',
diff --git a/src/components/cockpit/indicatorCrossingTime/index.vue b/src/components/cockpit/indicatorCrossingTime/index.vue
index 32e1617..92e862c 100644
--- a/src/components/cockpit/indicatorCrossingTime/index.vue
+++ b/src/components/cockpit/indicatorCrossingTime/index.vue
@@ -186,7 +186,7 @@ const initProbabilityData = () => {
var tips = ''
tips += '指标类型: ' + yAxisData[yIndex] + ''
tips += '越限程度: ' + params.seriesName + ''
- tips += '越限次数: ' + params.value[2] + ''
+ tips += '越限天数: ' + params.value[2] + ''
return tips
}
},
@@ -228,7 +228,7 @@ const initProbabilityData = () => {
},
zAxis3D: {
type: 'value',
- name: '越限次数',
+ name: '越限天数',
nameLocation: 'middle',
nameGap: 30,
minInterval: 10
diff --git a/src/components/cockpit/indicatorDistribution/index.vue b/src/components/cockpit/indicatorDistribution/index.vue
index 5547dca..1bfe037 100644
--- a/src/components/cockpit/indicatorDistribution/index.vue
+++ b/src/components/cockpit/indicatorDistribution/index.vue
@@ -185,7 +185,7 @@ const initProbabilityData = () => {
var tips = ''
tips += '指标类型: ' + yAxisData[yIndex] + ''
tips += '越限程度: ' + params.seriesName + ''
- tips += '越限次数: ' + params.value[2] + ''
+ tips += '越限天数: ' + params.value[2] + ''
return tips
}
},
@@ -227,7 +227,7 @@ const initProbabilityData = () => {
},
zAxis3D: {
type: 'value',
- name: '越限次数',
+ name: '越限天数',
nameLocation: 'middle',
nameGap: 30,
minInterval: 10
diff --git a/src/components/echarts/MyEchart.vue b/src/components/echarts/MyEchart.vue
index f7861a3..67ff6f6 100644
--- a/src/components/echarts/MyEchart.vue
+++ b/src/components/echarts/MyEchart.vue
@@ -106,13 +106,15 @@ const initChart = () => {
start: 0,
bottom: '20px',
- end: 100
+ end: 100,
+ filterMode: 'none'
},
{
start: 0,
height: 13,
bottom: '20px',
- end: 100
+ end: 100,
+ filterMode: 'none'
}
// {
// show: true,
diff --git a/src/components/tree/allocation.vue b/src/components/tree/allocation.vue
index 3049565..6c08325 100644
--- a/src/components/tree/allocation.vue
+++ b/src/components/tree/allocation.vue
@@ -14,7 +14,7 @@
/>
-
+
diff --git a/src/components/tree/cloudDevice.vue b/src/components/tree/cloudDevice.vue
index b72be39..7c3326b 100644
--- a/src/components/tree/cloudDevice.vue
+++ b/src/components/tree/cloudDevice.vue
@@ -5,7 +5,7 @@
style='cursor: pointer' />
-
+
diff --git a/src/components/tree/device.vue b/src/components/tree/device.vue
index c935da3..4dcf3c7 100644
--- a/src/components/tree/device.vue
+++ b/src/components/tree/device.vue
@@ -13,18 +13,29 @@
+
+
+
+
+
+
+
@@ -142,6 +155,32 @@
+
+
+
+
+
+ {{ node.label }}
+
+
+
+
@@ -154,7 +193,7 @@ import { ref, watch, defineEmits, onMounted, nextTick } from 'vue'
defineOptions({
name: 'govern/tree'
})
-const emit = defineEmits(['changeDeviceType'])
+const emit = defineEmits(['changeDeviceType', 'changeTreeType'])
interface Props {
width?: string
canExpand?: boolean
@@ -170,6 +209,17 @@ const props = withDefaults(defineProps(), {
data: [],
height: 0
})
+const treeType = ref('1')
+const options = [
+ {
+ label: '设备',
+ value: '1'
+ },
+ {
+ label: '工程',
+ value: '2'
+ }
+]
const { proxy } = useCurrentInstance()
const menuCollapse = ref(false)
const activeName = ref('0')
@@ -219,7 +269,9 @@ watch(
)
watch(filterText, val => {
- if (activeName.value == '0') {
+ if (treeType.value == '2') {
+ treeRef4.value!.filter(val)
+ } else if (activeName.value == '0') {
treeRef1.value!.filter(val)
} else if (activeName.value == '1') {
treeRef2.value!.filter(val)
@@ -362,27 +414,43 @@ const treeRef1 = ref>()
const treeRef2 = ref>()
//前置
const treeRef3 = ref>()
-defineExpose({ treeRef1, treeRef2, treeRef3 })
+const treeRef4 = ref>()
+defineExpose({ treeRef1, treeRef2, treeRef3, treeRef4 })
onMounted(() => {
setTimeout(() => {
- if (zlDeviceData.value.length != 0) {
- zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
- activeName.value = '0'
- }
- if (zlDeviceData.value.length === 0 && bxsDeviceData.value.length != 0) {
- activeName.value = '1'
- }
- if (zlDeviceData.value.length === 0 && bxsDeviceData.value.length === 0) {
- activeName.value = '2'
- }
- if (!zlDeviceData.value && !bxsDeviceData.value) {
- activeName.value = ''
- }
- nextTick(() => {
- changeDevice(activeName.value)
- })
+ setActiveName()
}, 500)
})
+
+const setActiveName = () => {
+ if (zlDeviceData.value.length != 0) {
+ zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
+ activeName.value = '0'
+ }
+ if (zlDeviceData.value.length === 0 && bxsDeviceData.value.length != 0) {
+ activeName.value = '1'
+ }
+ if (zlDeviceData.value.length === 0 && bxsDeviceData.value.length === 0) {
+ activeName.value = '2'
+ }
+ if (!zlDeviceData.value && !bxsDeviceData.value) {
+ activeName.value = ''
+ }
+ nextTick(() => {
+ changeDevice(activeName.value)
+ })
+}
+const loading = ref(false)
+const changeTreeType = (val: string) => {
+ loading.value = true
+ emit('changeTreeType', val)
+ if (val == '1') {
+ setActiveName()
+ }
+ setTimeout(() => {
+ loading.value = false
+ }, 1000)
+}
diff --git a/src/components/tree/govern/deviceTree.vue b/src/components/tree/govern/deviceTree.vue
index ce24d34..99735c8 100644
--- a/src/components/tree/govern/deviceTree.vue
+++ b/src/components/tree/govern/deviceTree.vue
@@ -7,6 +7,7 @@
:data="tree"
:height="props.height"
@changeDeviceType="changeDeviceType"
+ @changeTreeType="info"
/>
@@ -16,6 +17,7 @@ import Tree from '../device.vue'
import { getDeviceTree } from '@/api/cs-device-boot/csLedger'
import { useConfig } from '@/stores/config'
import { throttle } from 'lodash'
+import { on } from 'events'
defineOptions({
name: 'govern/deviceTree'
})
@@ -38,112 +40,149 @@ const treRef = ref()
const changeDeviceType = (val: any, obj: any) => {
emit('deviceTypeChange', val, obj)
}
-getDeviceTree().then(res => {
- let arr: any[] = []
- let arr2: any[] = []
- let arr3: any[] = []
- //治理设备
- res.data.map((item: any) => {
- if (item.name == '治理设备') {
- item.children.forEach((item: any) => {
- item.icon = 'el-icon-HomeFilled'
+
+const info = (type?: string) => {
+ getDeviceTree({ type: type == '2' ? 'engineering' : '' }).then(res => {
+ let arr: any[] = []
+ let arr2: any[] = []
+ let arr3: any[] = []
+ let arr4: any[] = []
+ //治理设备
+ res.data.map((item: any) => {
+ if (type == '2') {
+ item.icon = 'el-icon-Menu'
item.color = config.getColorVal('elementUiPrimary')
- item.children.forEach((item2: any) => {
- item2.icon = 'el-icon-List'
- item2.color = config.getColorVal('elementUiPrimary')
- item2.children.forEach((item3: any) => {
- item3.pName = '治理设备'
- item3.icon = 'el-icon-Platform'
- item3.level = 2
- item3.color = config.getColorVal('elementUiPrimary')
- if (item3.comFlag === 1) {
- item3.color = '#e26257 !important'
- }
- arr.push(item3)
+ item.children.forEach((item: any) => {
+ item.icon = 'el-icon-HomeFilled'
+ item.color = config.getColorVal('elementUiPrimary')
+ item.children.forEach((item2: any) => {
+ item2.icon = 'el-icon-List'
+ item2.color = config.getColorVal('elementUiPrimary')
+ item2.color =
+ item2.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
+ arr4.push(item2)
})
})
- })
- } else if (item.name == '便携式设备') {
- item.children.forEach((item: any) => {
- item.icon = 'el-icon-Platform'
- item.color = config.getColorVal('elementUiPrimary')
- item.color = '#e26257 !important'
- item.color = item.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
- // item.disabled =true
- item.pName = '便携式设备'
- if (item.type == 'device') {
- arr2.push(item)
- }
- item.children.forEach((item2: any) => {
- item2.icon = 'el-icon-Platform'
- item2.color = item2.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
- item2.pName = '便携式设备'
- // item2.children.forEach((item3: any) => {
- // item3.icon = 'el-icon-Platform'
- // item3.color = config.getColorVal('elementUiPrimary')
- // if (item3.comFlag === 1) {
- // item3.color = '#e26257 !important'
- // }
- // arr.push(item3)
- // })
- })
- })
- } else if (item.name == '监测设备') {
- item.children.forEach((item: any) => {
- item.icon = 'el-icon-HomeFilled'
- item.color = config.getColorVal('elementUiPrimary')
- item.children.forEach((item2: any) => {
- item2.icon = 'el-icon-List'
- item2.color = config.getColorVal('elementUiPrimary')
- item2.children.forEach((item3: any) => {
- item3.pName = '监测设备'
- item3.icon = 'el-icon-Platform'
- item3.color = config.getColorVal('elementUiPrimary')
- if (item3.comFlag === 1) {
- item3.color = '#e26257 !important'
- }
- arr3.push(item3)
- })
- })
- })
- }
- })
- tree.value = res.data
-
- nextTick(() => {
- setTimeout(() => {
- if (arr.length > 0) {
- treRef.value.treeRef1.setCurrentKey(arr[0].id)
- // 注册父组件事件
- emit('init', {
- level: 2,
- ...arr[0]
- })
- return
- } else if (arr2.length > 0) {
- treRef.value.treeRef2.setCurrentKey(arr2[0].id)
- // 注册父组件事件
- emit('init', {
- level: 2,
- ...arr2[0]
- })
- return
- } else if (arr3.length > 0) {
- console.log('🚀 ~ arr3:', arr3)
-
- treRef.value.treeRef3.setCurrentKey(arr3[0].id)
- // 注册父组件事件
- emit('init', {
- level: 2,
- ...arr3[0]
- })
- return
} else {
- emit('init')
- return
+ if (item.name == '治理设备') {
+ item.children.forEach((item: any) => {
+ item.icon = 'el-icon-HomeFilled'
+ item.color = config.getColorVal('elementUiPrimary')
+ item.children.forEach((item2: any) => {
+ item2.icon = 'el-icon-List'
+ item2.color = config.getColorVal('elementUiPrimary')
+ item2.children.forEach((item3: any) => {
+ item3.pName = '治理设备'
+ item3.icon = 'el-icon-Platform'
+ item3.level = 2
+ item3.color = config.getColorVal('elementUiPrimary')
+ if (item3.comFlag === 1) {
+ item3.color = '#e26257 !important'
+ }
+ arr.push(item3)
+ })
+ })
+ })
+ } else if (item.name == '便携式设备') {
+ item.children.forEach((item: any) => {
+ item.icon = 'el-icon-Platform'
+ item.color = config.getColorVal('elementUiPrimary')
+ item.color = '#e26257 !important'
+ item.color = item.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
+ // item.disabled =true
+ item.pName = '便携式设备'
+ if (item.type == 'device') {
+ arr2.push(item)
+ }
+ item.children.forEach((item2: any) => {
+ item2.icon = 'el-icon-Platform'
+ item2.color =
+ item2.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
+ item2.pName = '便携式设备'
+ // item2.children.forEach((item3: any) => {
+ // item3.icon = 'el-icon-Platform'
+ // item3.color = config.getColorVal('elementUiPrimary')
+ // if (item3.comFlag === 1) {
+ // item3.color = '#e26257 !important'
+ // }
+ // arr.push(item3)
+ // })
+ })
+ })
+ } else if (item.name == '监测设备') {
+ item.children.forEach((item: any) => {
+ item.icon = 'el-icon-HomeFilled'
+ item.color = config.getColorVal('elementUiPrimary')
+ item.children.forEach((item2: any) => {
+ item2.icon = 'el-icon-List'
+ item2.color = config.getColorVal('elementUiPrimary')
+ item2.children.forEach((item3: any) => {
+ item3.pName = '监测设备'
+ item3.icon = 'el-icon-Platform'
+ item3.color = config.getColorVal('elementUiPrimary')
+ if (item3.comFlag === 1) {
+ item3.color = '#e26257 !important'
+ }
+ arr3.push(item3)
+ })
+ })
+ })
+ }
}
- }, 500)
+ })
+ tree.value = res.data
+
+ nextTick(() => {
+ setTimeout(() => {
+ if (type == '2') {
+ //初始化选中
+
+ treRef.value?.treeRef4.setCurrentKey(arr4[0].id)
+ // 注册父组件事件
+ emit('init', {
+ level: 2,
+ ...arr4[0]
+ })
+ // changePointType('4', arr4[0])
+ return
+ }
+ if (arr.length > 0) {
+ treRef.value.treeRef1.setCurrentKey(arr[0].id)
+ // 注册父组件事件
+ emit('init', {
+ level: 2,
+ ...arr[0]
+ })
+ return
+ } else if (arr2.length > 0) {
+ treRef.value.treeRef2.setCurrentKey(arr2[0].id)
+ // 注册父组件事件
+ emit('init', {
+ level: 2,
+ ...arr2[0]
+ })
+ return
+ } else if (arr3.length > 0) {
+ console.log('🚀 ~ arr3:', arr3)
+
+ treRef.value.treeRef3.setCurrentKey(arr3[0].id)
+ // 注册父组件事件
+ emit('init', {
+ level: 2,
+ ...arr3[0]
+ })
+ return
+ } else {
+ emit('init')
+ return
+ }
+ }, 500)
+ })
})
+}
+
+onMounted(() => {
+ info('1')
})
throttle(
diff --git a/src/components/tree/govern/pointTree.vue b/src/components/tree/govern/pointTree.vue
index ae1fa7f..417251d 100644
--- a/src/components/tree/govern/pointTree.vue
+++ b/src/components/tree/govern/pointTree.vue
@@ -1,5 +1,12 @@
-
+
diff --git a/src/components/tree/select.vue b/src/components/tree/select.vue
index 83ad5ed..4f221b9 100644
--- a/src/components/tree/select.vue
+++ b/src/components/tree/select.vue
@@ -5,7 +5,7 @@
style='cursor: pointer' />
-
+
diff --git a/src/utils/request.ts b/src/utils/request.ts
index 53be2ef..6a1906b 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -4,7 +4,7 @@ import { ElLoading, ElMessage, ElNotification, type LoadingOptions } from 'eleme
import { refreshToken } from '@/api/user-boot/user'
import router from '@/router/index'
import { useAdminInfo } from '@/stores/adminInfo'
-
+import { useNavTabs } from '@/stores/navTabs'
window.requests = []
window.tokenRefreshing = false
let loginExpireTimer: any = null
@@ -13,7 +13,7 @@ const loadingInstance: LoadingInstance = {
target: null,
count: 0
}
-
+const navTabs = useNavTabs()
/**
* 根据运行环境获取基础请求URL
*/
@@ -164,6 +164,9 @@ function createAxios>(
message: response.data.message
})
adminInfo.removeToken()
+ navTabs.closeTabs()
+ window.localStorage.clear()
+ adminInfo.reset()
router.push({ name: 'login' })
loginExpireTimer = null // 执行后清空定时器
}, 100) // 可根据实际情况调整延迟时间
diff --git a/src/views/govern/alarm/Device.vue b/src/views/govern/alarm/Device.vue
index 021b983..b797703 100644
--- a/src/views/govern/alarm/Device.vue
+++ b/src/views/govern/alarm/Device.vue
@@ -100,6 +100,7 @@ const tableStore = new TableStore({
}
},
{ title: '设备名称', field: 'equipmentName', align: 'center', width: 120 },
+ { title: '监测点名称', field: 'lineName', align: 'center', width: 140 },
{ title: '工程名称', field: 'engineeringName', align: 'center', width: 120 },
{ title: '项目名称', field: 'projectName', align: 'center', width: 120 },
{ title: '发生时刻', field: 'startTime', align: 'center', width: 180, sortable: true },
diff --git a/src/views/govern/cloudDeviceEntry/index.vue b/src/views/govern/cloudDeviceEntry/index.vue
index dd77bac..c98614a 100644
--- a/src/views/govern/cloudDeviceEntry/index.vue
+++ b/src/views/govern/cloudDeviceEntry/index.vue
@@ -12,7 +12,7 @@
-
+
{{
@@ -77,7 +77,7 @@
-
-
+
+
+
+
+
+
+
@@ -1277,7 +1312,8 @@ interface LineInfo {
monitorObj: string
position: string
govern: string | number
- lineLogLevel: string
+ lineLogLevel: string
+ isImportant: string | number
runStatus: string | number
basicCapacity: number
shortCircuitCapacity: number
@@ -1660,6 +1696,7 @@ const add = () => {
position: '',
govern: 0,
lineLogLevel: 'WARN',
+ isImportant: 0,
runStatus: 0,
basicCapacity: 0,
shortCircuitCapacity: 0,
@@ -1772,7 +1809,7 @@ const updateEquipmentFunc = (id: any) => {
id: id, // 设备ID用于修改
name: currentDevice.name,
devModel: currentDevice.devModel,
- devType: currentDevice.devType,
+ devType: currentDevice.devType,
devAccessMethod: currentDevice.devAccessMethod,
devLogLevel: currentDevice.devLogLevel,
mac: currentDevice.mac,
@@ -1839,6 +1876,7 @@ const updateLineFunc = (id: any) => {
position: currentLine.position || '',
govern: currentLine.govern,
lineLogLevel: currentLine.lineLogLevel,
+ isImportant: currentLine.isImportant,
runStatus: currentLine.runStatus,
basicCapacity: currentLine.basicCapacity || 0,
shortCircuitCapacity: currentLine.shortCircuitCapacity || 0,
@@ -2004,7 +2042,7 @@ const next = async () => {
devModel: '',
devType: '',
devAccessMethod: 'CLD',
- devLogLevel: 'WARN',
+ devLogLevel: 'WARN',
mac: '',
ndid: '',
nodeId: '',
@@ -2037,7 +2075,8 @@ const next = async () => {
monitorObj: '',
position: '',
govern: 0,
- lineLogLevel:'WARN',
+ lineLogLevel: 'WARN',
+ isImportant: 0,
runStatus: 0,
basicCapacity: 0,
shortCircuitCapacity: 0,
@@ -2443,7 +2482,7 @@ const resetAllForms = () => {
device.devType = ''
device.devAccessMethod = 'CLD'
device.devLogLevel = 'WARN'
-
+
device.mac = ''
device.nodeId = ''
device.cntractNo = ''
@@ -2466,6 +2505,7 @@ const resetAllForms = () => {
line.position = ''
line.govern = 0
line.lineLogLevel = 'WARN'
+ line.isImportant = 0
line.runStatus = 0
line.basicCapacity = 0
line.shortCircuitCapacity = 0
@@ -2636,6 +2676,7 @@ const submitData = () => {
position: currentLine.position,
govern: currentLine.govern,
lineLogLevel: currentLine.lineLogLevel,
+ isImportant: currentLine.isImportant,
runStatus: currentLine.runStatus,
basicCapacity: currentLine.basicCapacity,
shortCircuitCapacity: currentLine.shortCircuitCapacity,
@@ -2750,7 +2791,7 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => {
devModel: '',
devType: '',
devAccessMethod: 'CLD',
- devLogLevel: 'WARN',
+ devLogLevel: 'WARN',
mac: '',
ndid: '',
nodeId: '',
@@ -2828,6 +2869,7 @@ const handleLineTabsEdit = (targetName: any, action: any) => {
position: '',
govern: 0,
lineLogLevel: 'WARN',
+ isImportant: 0,
runStatus: 0,
basicCapacity: 0,
shortCircuitCapacity: 0,
diff --git a/src/views/govern/device/control/index.vue b/src/views/govern/device/control/index.vue
index 2964f8e..62df6f8 100644
--- a/src/views/govern/device/control/index.vue
+++ b/src/views/govern/device/control/index.vue
@@ -141,7 +141,8 @@
v-show="
dataSet.includes('_items') ||
dataSet.indexOf('_history') != -1 ||
- dataSet.indexOf('_moduleData') != -1
+ dataSet.indexOf('_moduleData') != -1||
+ dataSet.indexOf('_devRunTrend') != -1
"
>
@@ -165,7 +166,7 @@
-->
@@ -525,6 +526,14 @@
>
+
+
+
+
@@ -548,7 +557,8 @@ import {
getOverLimitData,
queryDictType,
getById,
- allModelData
+ allModelData,
+ getRawData
} from '@/api/cs-device-boot/EquipmentDelivery'
import { deviceHisData, deviceRtData, realTimeData, getTestData } from '@/api/cs-device-boot/csGroup'
import { ref, reactive, onMounted, onUnmounted, inject, nextTick, onBeforeUnmount } from 'vue'
@@ -557,6 +567,7 @@ import DatePicker from '@/components/form/datePicker/index.vue'
import Trend from './tabs/trend.vue' //趋势数据
import realTime from './tabs/realtime.vue' //实时数据-主界面
import realTrend from './tabs/components/realtrend.vue' //实时数据-实时趋势
+import operatingTrend from './tabs/operatingTrend.vue' //运行趋势
import harmonicSpectrum from './tabs/components/harmonicSpectrum.vue' //实时数据-谐波频谱子页面
import recordWoves from './tabs/components/recordwoves.vue' //实时数据-实时录波子页面
import offLineDataImport from './offLineDataImport/index.vue'
@@ -660,6 +671,7 @@ const volConTypeList = dictData.getBasicData('Dev_Connect')
// }
//谐波频谱
const realTrendRef = ref()
+const operatingTrendRef = ref()
const changeTrendType = (val: any) => {
trendDataTime.value = ''
activeTrendName.value = val * 1
@@ -920,6 +932,10 @@ const nodeClick = async (e: anyObj, node: any) => {
if (item.type === 'moduleData') {
item.id = item.id + '_moduleData'
}
+ // 模块数据
+ if (item.type === 'devRunTrend') {
+ item.id = item.id + '_devRunTrend'
+ }
})
res.data.dataSetList = res.data.dataSetList.filter((item: any) => item.name != '历史统计数据')
//便携式设备默认二次值
@@ -1316,6 +1332,39 @@ const handleClick = async (tab?: any) => {
}, 0)
}, 0)
}
+ //运行趋势
+ if (dataSet.value.includes('_devRunTrend')) {
+ setTimeout(async () => {
+ if (tab.props != undefined) await (datePickerRef.value && datePickerRef.value?.setInterval(5))
+
+ let obj = {
+ // devId: deviceId.value, //e.id
+ lineId: [deviceId.value], //e.pid
+ startTime: datePickerRef.value && datePickerRef.value.timeValue[0],
+ endTime: datePickerRef.value && datePickerRef.value.timeValue[1]
+ }
+ await setTimeout(() => {
+ getRawData(obj)
+ .then((res: any) => {
+
+ tableLoading.value = false
+ setTimeout(() => {
+
+
+ operatingTrendRef.value?.setData(res.data)
+ }, 500)
+ setTimeout(() => {
+ loading.value = false
+ }, 1500)
+ })
+ .catch(e => {
+ setTimeout(() => {
+ tableLoading.value = false
+ }, 1500)
+ })
+ }, 0)
+ }, 0)
+ }
//查询当前指标
if (!dataSet.value.includes('_')) {
diff --git a/src/views/govern/device/control/tabs/operatingTrend.vue b/src/views/govern/device/control/tabs/operatingTrend.vue
new file mode 100644
index 0000000..606e84f
--- /dev/null
+++ b/src/views/govern/device/control/tabs/operatingTrend.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/govern/device/planData/components/schemeTree.vue b/src/views/govern/device/planData/components/schemeTree.vue
index 9d8b09c..c30a54b 100644
--- a/src/views/govern/device/planData/components/schemeTree.vue
+++ b/src/views/govern/device/planData/components/schemeTree.vue
@@ -1,399 +1,399 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 新增方案
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ node.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增方案
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ node.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pms/Event-boot/Region/components/Compatibility.vue b/src/views/pms/Event-boot/Region/components/Compatibility.vue
index da54286..5177ed7 100644
--- a/src/views/pms/Event-boot/Region/components/Compatibility.vue
+++ b/src/views/pms/Event-boot/Region/components/Compatibility.vue
@@ -1,469 +1,469 @@
-
-
- 电压等级:
-
- 全选
-
-
- {{ item.name }}
-
-
-
- 干扰源类型:
-
- 全选
-
-
- {{ item.name }}
-
-
-
- 兼容曲线:
-
- ITIC
- F47
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 电压等级:
+
+ 全选
+
+
+ {{ item.name }}
+
+
+
+ 干扰源类型:
+
+ 全选
+
+
+ {{ item.name }}
+
+
+
+ 兼容曲线:
+
+ ITIC
+ F47
+
+
+
+
+
+
+
+
+
+
+
+
+