From dce8ac8da98399212f273a2f506e908380a6315d Mon Sep 17 00:00:00 2001 From: fengrong Date: Wed, 6 Nov 2024 16:10:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B8=A9=E5=BA=A6=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5=E9=9D=A2=20=E9=A6=96=E9=A1=B5=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E5=AE=9E=E6=97=B6=E5=91=8A=E8=AD=A6=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/backend/temperature/request.ts | 24 ++ ui/dasadmin/src/views/backend/dashboard.vue | 195 +++++----- .../src/views/backend/temperature/index.vue | 353 ++++++++++++++++++ 3 files changed, 480 insertions(+), 92 deletions(-) create mode 100644 ui/dasadmin/src/api/backend/temperature/request.ts create mode 100644 ui/dasadmin/src/views/backend/temperature/index.vue diff --git a/ui/dasadmin/src/api/backend/temperature/request.ts b/ui/dasadmin/src/api/backend/temperature/request.ts new file mode 100644 index 00000000..c10a680d --- /dev/null +++ b/ui/dasadmin/src/api/backend/temperature/request.ts @@ -0,0 +1,24 @@ +import createAxios from '/@/utils/axios' + +export function equipList(params: object = {}) { + return createAxios({ + url: '/api/equipment/list', + method: 'POST', + data: params, + }) +} + +export function getTemperatureLimitByDeviceId(params: object = {}) { + return createAxios({ + url: '/api/page/temperature/getTemperatureLimitByDeviceId', + method: 'POST', + data: params, + }) +} +export function getsnapshotData(params: object = {}) { + return createAxios({ + url: '/api/data/snapshot', + method: 'POST', + data: params, + }) +} diff --git a/ui/dasadmin/src/views/backend/dashboard.vue b/ui/dasadmin/src/views/backend/dashboard.vue index 2cd1b398..8b0ac8cb 100644 --- a/ui/dasadmin/src/views/backend/dashboard.vue +++ b/ui/dasadmin/src/views/backend/dashboard.vue @@ -296,12 +296,15 @@ ref="myTable" @mouseover.native="clearScroll" @mouseleave.native="createScroll"> - - - + + + @@ -320,12 +323,15 @@ import * as echarts from 'echarts' import { useTemplateRefsList,useEventListener } from '@vueuse/core' import {useI18n} from "vue-i18n"; import WindContent from '/@/views/backend/home/windMatrix.vue' +import { equipList } from '/@/api/backend/realData/request' import { getWindFarmRealData, getWindTurbineMatrixData, - getHistoryData + getHistoryData, + getAlarmList, + alertComfirm } from "/@/api/backend/dashboard.ts"; -import {dayjs, ElMessage, TableInstance} from "element-plus"; +import {dayjs, ElMessage, ElMessageBox, TableInstance} from "element-plus"; import { getRealTimeState } from '/@/views/backend/equipment/airBlower/utils.ts' import {useRoute} from "vue-router"; const route = useRoute() @@ -403,6 +409,7 @@ const currentDayStatus=ref({ StartCapacityTotal: 0, StarteNum: 0 }) +const deviceCode=ref([]) const FanList = ref([]) const StatusListData = () => { getWindTurbineMatrixData().then((res) => { @@ -489,7 +496,6 @@ const StatusListData = () => { } }); FanList.value=data - }else{ ElMessage.error({ message: res.msg, @@ -500,6 +506,8 @@ const StatusListData = () => { }) } + + const state: { charts: { powerChart: any; trendChart: any } remark: string @@ -668,23 +676,6 @@ const initpowerChart = () => { const trendChartRef = ref() -/*const TrendDataForDay = [ - { - currentPeriod: 86.3, - samePeriod: 63.5, - generationTime: '2024-10-01', - }, - { - currentPeriod: 86.3, - samePeriod: 53.5, - generationTime: '2024-10-02', - }, - { - currentPeriod: 86.3, - samePeriod: 43.5, - generationTime: '2024-10-03', - }, -]*/ const TrendDataForDay: { currentPeriod: { time: string[] @@ -724,28 +715,8 @@ const TrendDataForMonth :{ value: [], }, } -/*const TrendDataForMonth = [ - { - currentPeriod: 26.3, - samePeriod: 53.5, - generationTime: '2024-10-01', - }, - { - currentPeriod: 36.3, - samePeriod: 53.5, - generationTime: '2024-10-02', - }, - { - currentPeriod: 46.3, - samePeriod: 53.5, - generationTime: '2024-10-03', - }, -]*/ const inittrendChart = (type: 'day' | 'month') => { - /* const currentPeriod: number[] = type === 'day' ? TrendDataForDay.currentPeriod.value : TrendDataForMonth.map((item) => item.currentPeriod) - const samePeriod: number[] = type === 'day' ? TrendDataForDay.samePeriod.value : TrendDataForMonth.map((item) => item.samePeriod) - const xAxisdata: string[] = type === 'day' ? TrendDataForDay.currentPeriod.time : TrendDataForMonth.map((item) => item.generationTime)*/ const currentPeriod: number[] = type === 'day' ? TrendDataForDay.currentPeriod.value : TrendDataForMonth.currentPeriod.value const samePeriod: number[] = type === 'day' ? TrendDataForDay.samePeriod.value : TrendDataForMonth.samePeriod.value const xAxisdata: string[] = type === 'day' ? TrendDataForDay.currentPeriod.time : TrendDataForMonth.currentPeriod.time @@ -866,50 +837,86 @@ const echartsResize = () => { onActivated(() => { echartsResize() }) +const timestampToTime = (timestamp: any) => { + timestamp = timestamp ? timestamp : null + let date = new Date(timestamp) + let Y = date.getFullYear() + '-' + let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-' + let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ' + let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':' + let m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + return Y + M + D + h + m +} +const tableData= ref() - -const tableData = ref([ - { - time: '2016-05-03', - name: 'SC-01', - alertcontent: '故障', - }, - { - time: '2016-05-02', - name: 'SC-02', - alertcontent: '待机', - }, - { - time: '2016-05-04', - name: 'SC-03', - alertcontent: '停机', - }, - { - time: '2016-05-01', - name: 'SC-04', - alertcontent: '变桨叶1伺服驱动器故障', - }, - { - time: '2016-05-03', - name: 'SC-01', - alertcontent: '故障', - }, - { - time: '2016-05-02', - name: 'SC-02', - alertcontent: '待机', - }, - { - time: '2016-05-04', - name: 'SC-03', - alertcontent: '停机', - }, - { - time: '2016-05-01', - name: 'SC-04', - alertcontent: '变桨叶1伺服驱动器故障', +const getTableData = (deviceCode) => { + const today = new Date(); + const threeDaysAgo = new Date(today); + threeDaysAgo.setDate(today.getDate() - 3); + const startTime = threeDaysAgo.getTime(); + const data:any = { + startTime: startTime, + endTime: Date.now(), + deviceCode:deviceCode, + limit:100 } -]) + console.log(JSON.stringify(data)) + getAlarmList(data).then((res) => { + debugger + if (res.code == 200) { + //tableData.value = res.rows + tableData.value = res.rows.map((item: any) => { + return { + ...item, + eventTimeFormate: timestampToTime(item.eventTime), + } + }) + } else { + ElMessage.error(res.msg ?? '查询失败') + } + }) +} +const open = (val: any) => { + ElMessageBox.confirm('是否确认?', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => { + okSubmit(val) + }) + .catch(() => { + ElMessage({ + type: 'info', + message: '取消确认', + }) + }) +} + +const okSubmit = (val: any) => { + const reqData: any = [ + { + eventTime: val.eventTime, + eventId: val.eventId, + confirmed: 1, + deviceId: val.deviceId, + }, + ] + debugger + alertComfirm(reqData) + .then((res: any) => { + debugger + if (res.code == 200) { + ElMessage.success(res.msg ?? '确认成功') + getTableData(deviceCode.value) + } else { + ElMessage.error(res.msg ?? '查询失败') + } + }) + .catch((err) => { + ElMessage.error(err?.response?.data?.msg ?? '查询失败') + }) +} const clearScroll = () => { @@ -947,7 +954,7 @@ const getChartData = (params: { ], interval: params.interval, } - console.log(JSON.stringify(data)) + /* console.log(JSON.stringify(data))*/ getHistoryData(data).then((res) => { if (res.success) { if (typeof res.data === 'object' && res.data !== null && Object.keys(res.data).length === 0) { @@ -1123,13 +1130,17 @@ onMounted(() => { overviewList() StatusListData() autoUpdate() + + equipList({objectType: 10002,}).then((res) => { + res.data.map((item: any) => { + deviceCode.value.push(item.name) + }) + + getTableData(deviceCode.value) + }) useEventListener(window, 'resize', echartsResize) }) -/*onBeforeMount(() => { - for (const key in state.charts) { - state.charts[key].dispose() - } -})*/ + const activeName = ref('first') //let autoUpdateTimer: any = null let autoUpdateForSecondTimer: any = null diff --git a/ui/dasadmin/src/views/backend/temperature/index.vue b/ui/dasadmin/src/views/backend/temperature/index.vue new file mode 100644 index 00000000..f0e0f2c7 --- /dev/null +++ b/ui/dasadmin/src/views/backend/temperature/index.vue @@ -0,0 +1,353 @@ + + + + +