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 @@ +
+ + + +
@@ -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 @@ - - - - + + + + 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 @@ - - - + + +