diff --git a/src/api/cs-harmonic-boot/recruitment.ts b/src/api/cs-harmonic-boot/recruitment.ts index bda809f..e677d5c 100644 --- a/src/api/cs-harmonic-boot/recruitment.ts +++ b/src/api/cs-harmonic-boot/recruitment.ts @@ -3,7 +3,7 @@ import createAxios from '@/utils/request' // 获取设备补召页面数据 export function getMakeUpData(data: any) { return createAxios({ - url: '/cs-harmonic-boot/offlineDataUpload/makeUpData?lineId='+data, + url: '/cs-harmonic-boot/offlineDataUpload/makeUpData?lineId=' + data, method: 'POST' }) } @@ -30,7 +30,14 @@ export function offlineDataUploadMakeUp(data: any) { export function getListByIds() { return createAxios({ url: '/cs-harmonic-boot/pqSensitiveUser/getListByIds', - method: 'POST', - + method: 'POST' + }) +} +// 根据id集合获取敏感负荷用户列表 +export function getList(data) { + return createAxios({ + url: '/cs-harmonic-boot/pqSensitiveUser/getList', + method: 'POST', + data }) } diff --git a/src/components/cockpit/exceedanceLevel/components/dailyTrendChart.vue b/src/components/cockpit/exceedanceLevel/components/dailyTrendChart.vue index b65db1f..35a50e6 100644 --- a/src/components/cockpit/exceedanceLevel/components/dailyTrendChart.vue +++ b/src/components/cockpit/exceedanceLevel/components/dailyTrendChart.vue @@ -17,7 +17,7 @@ import { yMethod } from '@/utils/echartMethod' const prop = defineProps({ width: { type: [String, Number] }, height: { type: [String, Number] }, - timeKey: { type: Array as () => string[] }, + timeKey: { type: Array as () => string[] }, timeValue: { type: Object } }) @@ -47,6 +47,7 @@ const init = () => { tooltip: { trigger: 'axis', formatter: (params: any) => { + console.log('🚀 ~ init ~ params:', params) if (!params || params.length === 0) return '' // 使用第一个项目的轴标签作为时间标题 @@ -100,28 +101,33 @@ const initData = async (row: any) => { } // 处理每条相位数据 - const seriesData = res.data.map((item: any) => { - const values = xAxisData.map((time: string, index: number) => { - // 将传入的日期与时间拼接成完整的时间字符串 - const fullTime = `${row.time} ${time}` - const value = parseFloat(item.value.split(',')[index]) || 0 - return [fullTime, value] + const seriesData = res.data + .filter(item => item.valueType == 'max') + .sort((a, b) => { + return a.phasic.localeCompare(b.phasic) }) + .map((item: any) => { + const values = xAxisData.map((time: string, index: number) => { + // 将传入的日期与时间拼接成完整的时间字符串 + const fullTime = `${row.time} ${time}` + const value = parseFloat(item.value.split(',')[index]) || 0 + return [fullTime, value] + }) - return { - name: `${item.phasic}相`, - type: 'line', - showSymbol: false, - smooth: true, - data: values, - itemStyle: { - normal: { - // 根据相位设置对应颜色 - color: phaseColors[item.phasic] || config.layout.elementUiPrimary[0] + return { + name: `${item.phasic}相`, + type: 'line', + showSymbol: false, + smooth: true, + data: values, + itemStyle: { + normal: { + // 根据相位设置对应颜色 + color: phaseColors[item.phasic] || config.layout.elementUiPrimary[0] + } } } - } - }) + }) echartList.value.yAxis.max = max echartList.value.yAxis.min = min // 更新图表配置 diff --git a/src/components/cockpit/indicatorFittingChart/index.vue b/src/components/cockpit/indicatorFittingChart/index.vue index 31e1d6d..1642af7 100644 --- a/src/components/cockpit/indicatorFittingChart/index.vue +++ b/src/components/cockpit/indicatorFittingChart/index.vue @@ -10,8 +10,8 @@ ref="TableHeaderRef" > diff --git a/src/components/cockpit/listOfMainMonitoringPoints/index.vue b/src/components/cockpit/listOfMainMonitoringPoints/index.vue index 94ac506..84dea16 100644 --- a/src/components/cockpit/listOfMainMonitoringPoints/index.vue +++ b/src/components/cockpit/listOfMainMonitoringPoints/index.vue @@ -201,7 +201,7 @@ const setEchart = () => { result += `
${item.marker}${item.seriesName}: ${valueText}` } else { // 对于功率数据,正常显示数值 - result += `
${item.marker}${item.seriesName}: ${item.value[1]}` + result += `
${item.marker}${item.seriesName}: ${item.value[1]} ${item.value[2]}` } }) return result @@ -292,7 +292,8 @@ const setEchart = () => { item.time, item.statisticalData !== null && item.statisticalData !== undefined ? parseFloat(item.statisticalData.toFixed(2)) - : null + : null, + item.unit ] }) @@ -302,7 +303,8 @@ const setEchart = () => { item.time, item.statisticalData !== null && item.statisticalData !== undefined ? parseFloat(item.statisticalData.toFixed(2)) - : null + : null, + item.unit ] }) diff --git a/src/components/cockpit/trendComparison/index.vue b/src/components/cockpit/trendComparison/index.vue index 0c7518e..7e9dd61 100644 --- a/src/components/cockpit/trendComparison/index.vue +++ b/src/components/cockpit/trendComparison/index.vue @@ -93,7 +93,8 @@ import { useConfig } from '@/stores/config' import { queryByCode, queryCsDictTree } from '@/api/system-boot/dictTree' import { getListByIds } from '@/api/harmonic-boot/cockpit/cockpit' import { getTime } from '@/utils/formatTime' - +import { yMethod, exportCSV } from '@/utils/echartMethod' +import { max } from 'lodash' const prop = defineProps({ w: { type: [String, Number] }, h: { type: [String, Number] }, @@ -262,6 +263,11 @@ const setEchart = () => { titleText = afterData[0].anotherName } + // statisticalData + // chartsListBefore.value.map((item: any) => item.statisticalData) + // chartsListAfter.value = tableStore.table.data.after + + // 构建图例数据 const legendData = series.map((item: any, index: number) => { let color = config.layout.elementUiPrimary[0] @@ -291,7 +297,10 @@ const setEchart = () => { } } }) - + let [min, max] = yMethod( + [...chartsListBefore.value.map((item: any) => item.statisticalData), + ...chartsListAfter.value.map((item: any) => item.statisticalData)] + ) echartList.value = { title: { text: titleText @@ -316,12 +325,13 @@ const setEchart = () => { const xname = params[0].value[0] let str = `${xname}
` params.forEach((el: any, index: any) => { + console.log('🚀 ~ setEchart ~ el:', el) let marker = '' marker = `` str += `${marker}${el.seriesName.split('(')[0]}:${ - el.value[1] != null ? el.value[1] + ' ' + (el.value[2] == 'null' ? '' : el.value[2]) : '-' + el.value[1] != null ? el.value[1] + ' ' + (el.value[2] == null ? '' : el.value[2]) : '-' }
` }) return str @@ -350,7 +360,9 @@ const setEchart = () => { } }, yAxis: { - name: beforeData.length > 0 ? beforeData[0].unit : afterData.length > 0 ? afterData[0].unit : '' + name: beforeData.length > 0 ? beforeData[0].unit : afterData.length > 0 ? afterData[0].unit : '', + max: max, + min: min, }, grid: { left: '10px', @@ -439,7 +451,7 @@ const shouldShowHarmonicCount = () => { return ( currentIndicator && - (currentIndicator.name.includes('电压谐波含有率') || currentIndicator.name.includes('电流谐波含有率')) + (currentIndicator.name.includes('幅值') || currentIndicator.name.includes('含有率')) ) } @@ -448,9 +460,9 @@ const getHarmonicTypeName = () => { const currentIndicator = indicatorList.value.find((item: any) => item.id === tableStore.table.params.indicator) if (currentIndicator) { - if (currentIndicator.name.includes('电压谐波含有率')) { + if (currentIndicator.name.includes('电压')) { return '电压' - } else if (currentIndicator.name.includes('电流谐波含有率')) { + } else if (currentIndicator.name.includes('电流')) { return '电流' } } diff --git a/src/components/tree/govern/deviceTree.vue b/src/components/tree/govern/deviceTree.vue index 4bade8d..ce24d34 100644 --- a/src/components/tree/govern/deviceTree.vue +++ b/src/components/tree/govern/deviceTree.vue @@ -52,6 +52,7 @@ getDeviceTree().then(res => { 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') @@ -95,6 +96,7 @@ getDeviceTree().then(res => { 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) { diff --git a/src/views/auth/menu/api.vue b/src/views/auth/menu/api.vue index e9253dd..1c7e166 100644 --- a/src/views/auth/menu/api.vue +++ b/src/views/auth/menu/api.vue @@ -25,7 +25,7 @@ import TableStore from '@/utils/tableStore' import Table from '@/components/table/index.vue' import popupApi from './popupApi.vue' import { deleteMenu } from '@/api/user-boot/function' - +import { ElMessage } from 'element-plus' defineOptions({ name: 'auth/menu/api' }) @@ -95,6 +95,8 @@ const tableStore = new TableStore({ }, click: row => { deleteMenu(row.id).then(() => { + ElMessage.success('删除成功!') + tableStore.index() }) } diff --git a/src/views/auth/menu/menu.vue b/src/views/auth/menu/menu.vue index 67c1783..4e3ecbc 100644 --- a/src/views/auth/menu/menu.vue +++ b/src/views/auth/menu/menu.vue @@ -17,7 +17,7 @@ import TableStore from '@/utils/tableStore' import Table from '@/components/table/index.vue' import popupMenu from './popupMenu.vue' import { delMenu } from '@/api/systerm' - +import { ElMessage } from 'element-plus' defineOptions({ name: 'auth/menu/menu' }) @@ -89,6 +89,8 @@ const tableStore = new TableStore({ }, click: row => { delMenu(row.id).then(() => { + ElMessage.success('删除成功!') + emits('init') }) } diff --git a/src/views/auth/menu/popupApi.vue b/src/views/auth/menu/popupApi.vue index 0d51e28..15a49b8 100644 --- a/src/views/auth/menu/popupApi.vue +++ b/src/views/auth/menu/popupApi.vue @@ -58,7 +58,7 @@ import { ref, inject } from 'vue' import { reactive } from 'vue' import { update, add } from '@/api/user-boot/function' - +import { ElMessage } from 'element-plus' defineOptions({ name: 'auth/menu/popupApi' }) @@ -114,11 +114,15 @@ const submit = async () => { formRef.value.validate(async valid => { if (valid) { if (form.id) { - await update(form) + await update(form).then(() => { + ElMessage.success('修改成功!') + }) } else { let obj = JSON.parse(JSON.stringify(form)) delete obj.id - await add(obj) + await add(obj).then(() => { + ElMessage.success('新增成功!') + }) } emits('init') dialogVisible.value = false diff --git a/src/views/auth/menu/popupMenu.vue b/src/views/auth/menu/popupMenu.vue index 13373ac..e26b04b 100644 --- a/src/views/auth/menu/popupMenu.vue +++ b/src/views/auth/menu/popupMenu.vue @@ -56,7 +56,7 @@ import { reactive } from 'vue' import TableStore from '@/utils/tableStore' import IconSelector from '@/components/baInput/components/iconSelector.vue' import { updateMenu, addMenu } from '@/api/systerm' - +import { ElMessage } from 'element-plus' defineOptions({ name: 'auth/menu/popupMenu' }) @@ -118,14 +118,18 @@ const submit = async () => { if (valid) { if (form.id) { form.pid = form.pid || '0' - await updateMenu(form) + await updateMenu(form).then(() => { + ElMessage.success('编辑成功!') + }) } else { form.code = 'menu' form.pid = form.pid || '0' let obj = JSON.parse(JSON.stringify(form)) delete obj.id - - await addMenu(obj) + + await addMenu(obj).then(() => { + ElMessage.success('新增成功!') + }) } emits('init') dialogVisible.value = false diff --git a/src/views/govern/alarm/Device.vue b/src/views/govern/alarm/Device.vue index 8b0ff6d..021b983 100644 --- a/src/views/govern/alarm/Device.vue +++ b/src/views/govern/alarm/Device.vue @@ -57,33 +57,33 @@ const tabsList = ref([ ]) const rankOptions = ref([ { - value: '1', - label: '1级' + value: '1,7', + label: '1级(ERROR)' }, { - value: '2', - label: '2级' + value: '2,6', + label: '2级(WARN)' }, { - value: '3', - label: '3级' + value: '3,4,5', + label: '3级(DEBUG,NORMAL)' }, - { - value: '4', - label: 'DEBUG' - }, - { - value: '5', - label: 'NORMAL' - }, - { - value: '6', - label: 'WARN' - }, - { - value: '7', - label: 'ERROR' - } + // { + // value: '4', + // label: 'DEBUG' + // }, + // { + // value: '5', + // label: 'NORMAL' + // }, + // { + // value: '6', + // label: 'WARN' + // }, + // { + // value: '7', + // label: 'ERROR' + // } ]) const tableStore = new TableStore({ diff --git a/src/views/govern/alarm/Front.vue b/src/views/govern/alarm/Front.vue index 2e35493..cd86550 100644 --- a/src/views/govern/alarm/Front.vue +++ b/src/views/govern/alarm/Front.vue @@ -1,7 +1,7 @@