From 801d8eab1d021dfe7a2333f8bac332ade08a75f5 Mon Sep 17 00:00:00 2001 From: xiaoyang <17515057146@163.com> Date: Wed, 15 Apr 2026 22:44:21 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=8D=95=E4=BD=93=E7=94=B5=E6=B1=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9B=B4=E6=94=B9=E4=B8=BA=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E7=94=9F=E6=88=90=E7=9A=84=E6=8C=89=E9=92=AE?= =?UTF-8?q?=202.=20=E8=BF=90=E8=A1=8C=E6=9B=B2=E7=BA=BF=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E7=94=B5=E8=A1=A8=E6=8A=A5=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ems/dzjk.js | 257 +++++++++--------- src/api/ems/site.js | 8 + .../ems/site/zdlb/MonitorPointMapping.vue | 239 ++++++++-------- 3 files changed, 262 insertions(+), 242 deletions(-) diff --git a/src/api/ems/dzjk.js b/src/api/ems/dzjk.js index 0c5e018..c44e6d2 100644 --- a/src/api/ems/dzjk.js +++ b/src/api/ems/dzjk.js @@ -1,6 +1,6 @@ -import request from '@/utils/request' +import request from '@/utils/request' -//获取单个站点的信息 +//鑾峰彇鍗曚釜绔欑偣鐨勪俊鎭? export function getDzjkHomeView(siteId) { return request({ url: `/ems/siteMonitor/homeView?siteId=${siteId}`, @@ -8,7 +8,7 @@ export function getDzjkHomeView(siteId) { }) } -//获取单个站点总累计运行数据(基于日表) +//鑾峰彇鍗曚釜绔欑偣鎬荤疮璁¤繍琛屾暟鎹紙鍩轰簬鏃ヨ〃锛? export function getDzjkHomeTotalView(siteId) { return request({ url: `/ems/siteMonitor/homeTotalView?siteId=${siteId}`, @@ -16,7 +16,7 @@ export function getDzjkHomeTotalView(siteId) { }) } -// 单站监控项目点位配置(供单站监控功能查询) +// 鍗曠珯鐩戞帶椤圭洰鐐逛綅閰嶇疆锛堜緵鍗曠珯鐩戞帶鍔熻兘鏌ヨ锛? export function getProjectPointMapping(siteId) { return request({ url: `/ems/siteMonitor/getProjectPointMapping?siteId=${siteId}`, @@ -24,7 +24,7 @@ export function getProjectPointMapping(siteId) { }) } -// 单站监控项目展示数据(字段配置 + 最新值) +// 鍗曠珯鐩戞帶椤圭洰灞曠ず鏁版嵁锛堝瓧娈甸厤缃?+ 鏈€鏂板€硷級 export function getProjectDisplayData(siteId) { return request({ url: `/ems/siteMonitor/getProjectDisplayData?siteId=${siteId}`, @@ -32,7 +32,7 @@ export function getProjectDisplayData(siteId) { }) } -// 单站监控项目展示数据写入(批量) +// 鍗曠珯鐩戞帶椤圭洰灞曠ず鏁版嵁鍐欏叆锛堟壒閲忥級 export function saveProjectDisplayData(data) { return request({ url: `/ems/siteMonitor/saveProjectDisplayData`, @@ -41,7 +41,7 @@ export function saveProjectDisplayData(data) { }) } -//站点首页 冲放曲线 +//绔欑偣棣栭〉 鍐叉斁鏇茬嚎 export function getSevenChargeData({siteId, startDate, endDate}) { return request({ url: `/ems/siteMap/getSevenChargeData?siteId=${siteId}&startDate=${startDate}&endDate=${endDate}`, @@ -49,7 +49,7 @@ export function getSevenChargeData({siteId, startDate, endDate}) { }) } -// 获取站点包含的设备种类 用来判断单站监控设备监控的菜单栏展示 +// 鑾峰彇绔欑偣鍖呭惈鐨勮澶囩绫?鐢ㄦ潵鍒ゆ柇鍗曠珯鐩戞帶璁惧鐩戞帶鐨勮彍鍗曟爮灞曠ず export function getSiteAllDeviceCategory(siteId) { return request({ url: `/ems/siteConfig/getSiteAllDeviceCategory?siteId=${siteId}`, @@ -65,7 +65,7 @@ export function getEmsDataList(siteId) { }) } -//获取pcs、实时运行头部的设备信息 +//鑾峰彇pcs銆佸疄鏃惰繍琛屽ご閮ㄧ殑璁惧淇℃伅 export function getRunningHeadInfo(siteId) { return request({ url: `/ems/siteMonitor/runningHeadInfo?siteId=${siteId}`, @@ -73,7 +73,7 @@ export function getRunningHeadInfo(siteId) { }) } -//获取pcs列表 +//鑾峰彇pcs鍒楄〃 export function getPcsDetailInfo(siteId) { return request({ url: `/ems/siteMonitor/getPcsDetailInfo?siteId=${siteId}`, @@ -81,7 +81,7 @@ export function getPcsDetailInfo(siteId) { }) } -//获取BMS总览数据 +//鑾峰彇BMS鎬昏鏁版嵁 export function getBMSOverView(siteId) { return request({ url: `/ems/siteMonitor/getBMSOverView?siteId=${siteId}`, @@ -89,7 +89,7 @@ export function getBMSOverView(siteId) { }) } -//获取BMS电池簇总览数据 +//鑾峰彇BMS鐢垫睜绨囨€昏鏁版嵁 export function getBMSBatteryCluster(siteId) { return request({ url: `/ems/siteMonitor/getBMSBatteryCluster?siteId=${siteId}`, @@ -97,7 +97,7 @@ export function getBMSBatteryCluster(siteId) { }) } -//获取单体电池 电池堆列表数据 +//鑾峰彇鍗曚綋鐢垫睜 鐢垫睜鍫嗗垪琛ㄦ暟鎹? export function getStackNameList(siteId) { return request({ url: `/ems/siteMonitor/getStackNameList?siteId=${siteId}`, @@ -105,7 +105,7 @@ export function getStackNameList(siteId) { }) } -//获取单体电池 电池簇列表数据 +//鑾峰彇鍗曚綋鐢垫睜 鐢垫睜绨囧垪琛ㄦ暟鎹? export function getClusterNameList({stackDeviceId, siteId}) { return request({ url: `/ems/siteMonitor/getClusterNameList?stackDeviceId=${stackDeviceId}&siteId=${siteId}`, @@ -113,7 +113,7 @@ export function getClusterNameList({stackDeviceId, siteId}) { }) } -//单体电池表格数据 +//鍗曚綋鐢垫睜琛ㄦ牸鏁版嵁 export function getClusterDataInfoList({siteId, stackDeviceId, clusterDeviceId, batteryId, pageSize, pageNum}) { return request({ url: `/ems/siteMonitor/getClusterDataInfoList?clusterDeviceId=${clusterDeviceId}&siteId=${siteId}&stackDeviceId=${stackDeviceId}&batteryId=${batteryId}&pageSize=${pageSize}&pageNum=${pageNum}`, @@ -121,7 +121,7 @@ export function getClusterDataInfoList({siteId, stackDeviceId, clusterDeviceId, }) } -// 单体电池图表 +// 鍗曚綋鐢垫睜鍥捐〃 //http://localhost:8089/ems/siteMonitor/getSingleBatteryData?clusterDeviceId=BMSC01&siteId=021_FXX_01&deviceId=001&startDate=2025-07-11&endDate=2025-07-18 export function getSingleBatteryData({siteId, deviceId, clusterDeviceId, startDate, endDate}) { return request({ @@ -130,7 +130,7 @@ export function getSingleBatteryData({siteId, deviceId, clusterDeviceId, startDa }) } -//获取液冷列表数据 +//鑾峰彇娑插喎鍒楄〃鏁版嵁 export function getCoolingDataList(siteId) { return request({ url: `/ems/siteMonitor/getCoolingDataList?siteId=${siteId}`, @@ -138,7 +138,7 @@ export function getCoolingDataList(siteId) { }) } -//获取动环数据 +//鑾峰彇鍔ㄧ幆鏁版嵁 export function getDhDataList(siteId) { return request({ url: `/ems/siteMonitor/getDhDataList?siteId=${siteId}`, @@ -146,7 +146,7 @@ export function getDhDataList(siteId) { }) } -//获取消防数据 +//鑾峰彇娑堥槻鏁版嵁 export function getXfDataList(siteId) { return request({ url: `/ems/siteMonitor/getXfDataList?siteId=${siteId}`, @@ -155,7 +155,7 @@ export function getXfDataList(siteId) { } -//获取电表数据 +//鑾峰彇鐢佃〃鏁版嵁 export function getAmmeterDataList(siteId) { return request({ url: `/ems/siteMonitor/getAmmeterDataList?siteId=${siteId}`, @@ -163,7 +163,7 @@ export function getAmmeterDataList(siteId) { }) } -// 故障告警 +// 鏁呴殰鍛婅 export function getAlarmDetailList({ status, siteId, @@ -180,7 +180,7 @@ export function getAlarmDetailList({ }) } -// 告警生成工单 +// 鍛婅鐢熸垚宸ュ崟 export function createTicketNo(data) { return request({ url: `/ems/siteAlarm/createTicketNo`, @@ -189,7 +189,7 @@ export function createTicketNo(data) { }) } -// 告警确认关闭 +// 鍛婅纭鍏抽棴 export function closeAlarm(data) { return request({ url: `/ems/siteAlarm/closeAlarm`, @@ -273,17 +273,17 @@ function normalizeDateInput(dateStr) { function resolveElectricUnit(startDate, endDate) { const start = new Date(`${normalizeDateInput(startDate)} 00:00:00`) const end = new Date(`${normalizeDateInput(endDate)} 00:00:00`) - if (isNaN(start.getTime()) || isNaN(end.getTime())) return '日' + if (isNaN(start.getTime()) || isNaN(end.getTime())) return '\u65e5' const diffDays = Math.floor((end.getTime() - start.getTime()) / (24 * 60 * 60 * 1000)) - if (diffDays <= 0) return '时' - if (diffDays < 30) return '日' - return '月' + if (diffDays <= 0) return '\u65e5' + if (diffDays < 30) return '\u65e5' + return '\u6708' } function formatByUnit(date, unit) { const p = (n) => String(n).padStart(2, '0') - if (unit === '时') return `${p(date.getHours())}:${p(date.getMinutes())}` - if (unit === '月') return `${date.getFullYear()}-${p(date.getMonth() + 1)}` + if (unit === '\u65e5') return `${p(date.getHours())}:${p(date.getMinutes())}` + if (unit === '\u6708') return `${date.getFullYear()}-${p(date.getMonth() + 1)}` return `${date.getFullYear()}-${p(date.getMonth() + 1)}-${p(date.getDate())}` } @@ -394,6 +394,39 @@ function resolveAliasByField(aliasMap, fieldName) { return aliasMap[withoutStat] || '' } +function toFixedNumber(value, digits = 2) { + const num = toNumber(value) + if (num == null) return null + return Number(num.toFixed(digits)) +} + +function sortDailyAmmeterRows(rows = []) { + return [...(rows || [])].sort((a, b) => { + const ta = new Date(`${a?.dataTime || ''} 00:00:00`).getTime() + const tb = new Date(`${b?.dataTime || ''} 00:00:00`).getTime() + return (isNaN(ta) ? 0 : ta) - (isNaN(tb) ? 0 : tb) + }) +} + +function queryAllAmmeterDailyRows({siteId, startTime, endTime, pageSize = 500, pageNum = 1, rows = []}) { + return getAmmeterData({siteId, startTime, endTime, pageSize, pageNum}).then((response) => { + const currentRows = Array.isArray(response?.rows) ? response.rows : [] + const allRows = rows.concat(currentRows) + const total = Number(response?.total) || 0 + if (allRows.length >= total || currentRows.length < pageSize) { + return allRows + } + return queryAllAmmeterDailyRows({ + siteId, + startTime, + endTime, + pageSize, + pageNum: pageNum + 1, + rows: allRows, + }) + }) +} + function queryMenuPointCurves({siteId, menuCode, startDate, endDate, mappingFilter}) { return getProjectPointMapping(siteId).then((mappingResp) => { const allMappings = Array.isArray(mappingResp?.data) ? mappingResp.data : [] @@ -420,94 +453,48 @@ function queryMenuPointCurves({siteId, menuCode, startDate, endDate, mappingFilt }) } -// 电量指标 +// 鐢甸噺鎸囨爣 export function getElectricData({siteId, startDate, endDate}) { - return getProjectPointMapping(siteId).then((mappingResp) => { - const allMappings = Array.isArray(mappingResp?.data) ? mappingResp.data : [] - const gltjMappings = allMappings.filter(item => item?.menuCode === 'TJBB_GLTJ') - - const chargedMap = findMappingByField(gltjMappings, ['chargedCap_stat', 'chargedCap']) - const disChargedMap = findMappingByField(gltjMappings, ['disChargedCap_stat', 'disChargedCap']) - const dailyEfficiencyMap = findMappingByField(gltjMappings, ['dailyEfficiency']) - const totalChargedMap = findMappingByField(gltjMappings, ['totalChargedCap_stat', 'totalChargedCap']) - const totalDisChargedMap = findMappingByField(gltjMappings, ['totalDisChargedCap_stat', 'totalDisChargedCap']) - const totalEfficiencyMap = findMappingByField(gltjMappings, ['efficiency']) - - const pointMap = { - charged: getDataPointFromMapping(chargedMap), - disCharged: getDataPointFromMapping(disChargedMap), - dailyEfficiency: getDataPointFromMapping(dailyEfficiencyMap), - totalCharged: getDataPointFromMapping(totalChargedMap), - totalDisCharged: getDataPointFromMapping(totalDisChargedMap), - totalEfficiency: getDataPointFromMapping(totalEfficiencyMap), - } - - const queryTasks = Object.keys(pointMap).map((key) => { - const pointId = pointMap[key] - return queryPointCurveByPointId({siteId, pointId, startDate, endDate}) - .then(curve => ({key, curve})) - .catch(() => ({key, curve: []})) - }) - - return Promise.all(queryTasks).then((queryResult) => { - const curveMap = {} - queryResult.forEach(item => { - curveMap[item.key] = item.curve || [] - }) - - const unit = resolveElectricUnit(startDate, endDate) - const chargedSeries = aggregateCurveByUnit(curveMap.charged, unit) - const disChargedSeries = aggregateCurveByUnit(curveMap.disCharged, unit) - const efficiencySeries = aggregateCurveByUnit(curveMap.dailyEfficiency, unit) - - const labels = Array.from(new Set([ - ...chargedSeries.keys(), - ...disChargedSeries.keys(), - ...efficiencySeries.keys(), - ])).sort() - - const sevenDayDisChargeStats = labels.map((label) => { - const chargedCap = chargedSeries.get(label) - const disChargedCap = disChargedSeries.get(label) - let dailyEfficiency = efficiencySeries.get(label) - if (dailyEfficiency == null && chargedCap != null && chargedCap !== 0 && disChargedCap != null) { - dailyEfficiency = Number(((disChargedCap / chargedCap) * 100).toFixed(2)) - } - return { - ammeterDate: label, - chargedCap: chargedCap == null ? '' : chargedCap, - disChargedCap: disChargedCap == null ? '' : disChargedCap, - dailyEfficiency: dailyEfficiency == null ? '' : dailyEfficiency, - } - }) - - const fallbackTotalCharged = sevenDayDisChargeStats.reduce((acc, item) => acc + (toNumber(item.chargedCap) || 0), 0) - const fallbackTotalDisCharged = sevenDayDisChargeStats.reduce((acc, item) => acc + (toNumber(item.disChargedCap) || 0), 0) - - const totalChargedCap = getLatestCurveValue(curveMap.totalCharged) - const totalDisChargedCap = getLatestCurveValue(curveMap.totalDisCharged) - const totalEfficiency = getLatestCurveValue(curveMap.totalEfficiency) - - const resultTotalCharged = totalChargedCap == null ? fallbackTotalCharged : totalChargedCap - const resultTotalDisCharged = totalDisChargedCap == null ? fallbackTotalDisCharged : totalDisChargedCap - const resultEfficiency = totalEfficiency == null - ? (resultTotalCharged > 0 ? Number(((resultTotalDisCharged / resultTotalCharged) * 100).toFixed(2)) : 0) - : totalEfficiency - + return queryAllAmmeterDailyRows({ + siteId, + startTime: startDate, + endTime: endDate, + }).then((rows) => { + const sortedRows = sortDailyAmmeterRows(rows) + const sevenDayDisChargeStats = sortedRows.map((item) => { + const chargedCap = toNumber(item?.activeTotalKwh) + const disChargedCap = toNumber(item?.reActiveTotalKwh) + const rowEffect = toNumber(item?.effect) + const dailyEfficiency = rowEffect != null + ? rowEffect + : (chargedCap > 0 && disChargedCap != null ? toFixedNumber((disChargedCap / chargedCap) * 100) : null) return { - data: { - totalChargedCap: resultTotalCharged, - totalDisChargedCap: resultTotalDisCharged, - efficiency: resultEfficiency, - unit, - sevenDayDisChargeStats, - } + ammeterDate: item?.dataTime || '', + chargedCap: chargedCap == null ? '' : chargedCap, + disChargedCap: disChargedCap == null ? '' : disChargedCap, + dailyEfficiency: dailyEfficiency == null ? '' : dailyEfficiency, } }) + + const totalChargedCap = toFixedNumber(sevenDayDisChargeStats.reduce((acc, item) => acc + (toNumber(item.chargedCap) || 0), 0)) + const totalDisChargedCap = toFixedNumber(sevenDayDisChargeStats.reduce((acc, item) => acc + (toNumber(item.disChargedCap) || 0), 0)) + const efficiency = totalChargedCap > 0 + ? toFixedNumber((totalDisChargedCap / totalChargedCap) * 100) + : 0 + + return { + data: { + totalChargedCap: totalChargedCap == null ? 0 : totalChargedCap, + totalDisChargedCap: totalDisChargedCap == null ? 0 : totalDisChargedCap, + efficiency: efficiency == null ? 0 : efficiency, + unit: '\u65e5', + sevenDayDisChargeStats, + } + } }) } -//获取pcs列表 +//鑾峰彇pcs鍒楄〃 export function getPcsNameList(siteId) { return request({ url: `/ems/siteMonitor/getPcsNameList?siteId=${siteId}`, @@ -515,7 +502,7 @@ export function getPcsNameList(siteId) { }) } -// pcs曲线 +// pcs鏇茬嚎 export function getPCSData({siteId, startTime, endTime}) { const kind = resolveRangeKind(startTime, endTime) const aliasMap = { @@ -560,7 +547,7 @@ export function getPCSData({siteId, startTime, endTime}) { }) } -// 电池堆曲线 +// 鐢垫睜鍫嗘洸绾? export function getStackData({siteId, startTime, endTime}) { const kind = resolveRangeKind(startTime, endTime) const aliasMap = { @@ -604,7 +591,7 @@ export function getStackData({siteId, startTime, endTime}) { }) } -// 电池温度 +// 鐢垫睜娓╁害 export function getClusterData({siteId, stackId, clusterId, dateTime, pageNum, pageSize}) { const startDate = dateTime || normalizeDateInput('') const endDate = dateTime || normalizeDateInput('') @@ -660,8 +647,8 @@ export function getClusterData({siteId, stackId, clusterId, dateTime, pageNum, p } -// 实时运行 -//储能 +// 瀹炴椂杩愯 +//鍌ㄨ兘 export function storagePower(siteId, startTime, endTime) { return request({ url: `/ems/siteMonitor/runningGraph/storagePower?siteId=${siteId}&startDate=${startTime}&endDate=${endTime}`, @@ -669,7 +656,7 @@ export function storagePower(siteId, startTime, endTime) { }) } -//poc温度 +//poc娓╁害 export function pcsMaxTemp(siteId, startTime, endTime) { return request({ url: `/ems/siteMonitor/runningGraph/pcsMaxTemp?siteId=${siteId}&startDate=${startTime}&endDate=${endTime}`, @@ -677,7 +664,7 @@ export function pcsMaxTemp(siteId, startTime, endTime) { }) } -// 电池平均soc +// 鐢垫睜骞冲潎soc export function batteryAveSoc(siteId, startTime, endTime) { return request({ url: `/ems/siteMonitor/runningGraph/batteryAveSoc?siteId=${siteId}&startDate=${startTime}&endDate=${endTime}`, @@ -685,7 +672,7 @@ export function batteryAveSoc(siteId, startTime, endTime) { }) } -// 电池平均温度 +// 鐢垫睜骞冲潎娓╁害 export function batteryAveTemp(siteId, startTime, endTime) { return request({ url: `/ems/siteMonitor/runningGraph/batteryAveTemp?siteId=${siteId}&startDate=${startTime}&endDate=${endTime}`, @@ -693,7 +680,7 @@ export function batteryAveTemp(siteId, startTime, endTime) { }) } -// 功率曲线 +// 鍔熺巼鏇茬嚎 export function getPowerData({siteId, startDate, endDate}) { const kind = resolveRangeKind(startDate, endDate) const aliasMap = { @@ -729,7 +716,7 @@ export function getPowerData({siteId, startDate, endDate}) { }) } -//电表列表 +//鐢佃〃鍒楄〃 export function getLoadNameList(siteId) { return request({ url: `/ems/statsReport/getLoadNameList?siteId=${siteId}`, @@ -737,7 +724,7 @@ export function getLoadNameList(siteId) { }) } -// 电表报表 +// 鐢佃〃鎶ヨ〃 export function getAmmeterData({siteId, startTime, endTime, pageSize, pageNum}) { return request({ url: `/ems/statsReport/getAmmeterDataFromDaily`, @@ -752,7 +739,7 @@ export function getAmmeterData({siteId, startTime, endTime, pageSize, pageNum}) }) } -// 电价报表 +// 鐢典环鎶ヨ〃 export function getAmmeterRevenueData(data) { return request({ url: `/ems/statsReport/getAmmeterRevenueData`, @@ -777,7 +764,7 @@ export function saveBizRemark(data) { }) } -//策略列表 +//绛栫暐鍒楄〃 export function strategyRunningList(siteId) { return request({ url: `/system/strategyRunning/list?siteId=${siteId}`, @@ -785,7 +772,7 @@ export function strategyRunningList(siteId) { }) } -//停止策略 +//鍋滄绛栫暐 export function stopStrategyRunning(id) { return request({ url: `/system/strategyRunning/stop?id=${id}`, @@ -793,7 +780,7 @@ export function stopStrategyRunning(id) { }) } -// 获取所有主策略 +// 鑾峰彇鎵€鏈変富绛栫暐 export function getMainStrategyList() { return request({ url: `/system/strategyRunning/getMainStrategyList`, @@ -801,7 +788,7 @@ export function getMainStrategyList() { }) } -//获取所有辅助策略 +//鑾峰彇鎵€鏈夎緟鍔╃瓥鐣? export function getAuxStrategyList() { return request({ url: `/system/strategyRunning/getAuxStrategyList`, @@ -809,7 +796,7 @@ export function getAuxStrategyList() { }) } -//配置策略 +//閰嶇疆绛栫暐 export function configStrategy(data) { return request({ url: `/system/strategyRunning/configStrategy`, @@ -818,7 +805,7 @@ export function configStrategy(data) { }) } -// 获取策略运行参数配置(按站点) +// 鑾峰彇绛栫暐杩愯鍙傛暟閰嶇疆锛堟寜绔欑偣锛? export function getStrategyRuntimeConfig(siteId) { return request({ url: `/system/strategyRuntimeConfig/getBySiteId?siteId=${siteId}`, @@ -826,7 +813,7 @@ export function getStrategyRuntimeConfig(siteId) { }) } -// 保存策略运行参数配置(按站点) +// 淇濆瓨绛栫暐杩愯鍙傛暟閰嶇疆锛堟寜绔欑偣锛? export function saveStrategyRuntimeConfig(data) { return request({ url: `/system/strategyRuntimeConfig/save`, @@ -836,7 +823,7 @@ export function saveStrategyRuntimeConfig(data) { } //http://localhost:8089/strategy/temp/getTempNameList?strategyId=1&siteId=021_FXX_01 -//获取策略下的所有模板列表 +//鑾峰彇绛栫暐涓嬬殑鎵€鏈夋ā鏉垮垪琛? export function getTempNameList({siteId, strategyId}) { return request({ url: `/strategy/temp/getTempNameList?siteId=${siteId}&strategyId=${strategyId}`, @@ -844,7 +831,7 @@ export function getTempNameList({siteId, strategyId}) { }) } -//获取模板详情 +//鑾峰彇妯℃澘璇︽儏 ///strategy/temp/list?templateId=1 export function getStrategyTempDetail(templateId) { return request({ @@ -853,7 +840,7 @@ export function getStrategyTempDetail(templateId) { }) } -//新增模板 +//鏂板妯℃澘 export function addStrategyTemp(data) { return request({ url: `/strategy/temp`, @@ -886,7 +873,7 @@ export function timeConfigList({siteId, strategyId}) { }) } -//保存时间配置 +//淇濆瓨鏃堕棿閰嶇疆 // http://localhost:8089/strategy/timeConfig export function setTimeConfigList(data) { return request({ @@ -896,7 +883,7 @@ export function setTimeConfigList(data) { }) } -// 策略曲线图 +// 绛栫暐鏇茬嚎鍥? //http://localhost:8089/strategy/curve/curveList?strategyId=1&siteId=021_FXX_01 export function curveList({siteId, strategyId}) { return request({ @@ -905,7 +892,7 @@ export function curveList({siteId, strategyId}) { }) } -//单站监控 首页 当日功率曲线 +//鍗曠珯鐩戞帶 棣栭〉 褰撴棩鍔熺巼鏇茬嚎 export function getPointData({siteId, startDate, endDate}) { return request({ url: `/ems/siteMonitor/getPointData?siteId=${siteId}&startDate=${startDate}&endDate=${endDate}`, diff --git a/src/api/ems/site.js b/src/api/ems/site.js index 715efeb..a5e82b7 100644 --- a/src/api/ems/site.js +++ b/src/api/ems/site.js @@ -518,3 +518,11 @@ export function deleteMqtt(id) { method: 'delete', }) } + +export function initializeSingleBatteryMonitorMappings(data) { + return request({ + url: `/ems/siteConfig/initializeSingleBatteryMonitorMappings`, + method: 'post', + data + }) +} diff --git a/src/views/ems/site/zdlb/MonitorPointMapping.vue b/src/views/ems/site/zdlb/MonitorPointMapping.vue index bb129c8..92b07a4 100644 --- a/src/views/ems/site/zdlb/MonitorPointMapping.vue +++ b/src/views/ems/site/zdlb/MonitorPointMapping.vue @@ -36,9 +36,8 @@
导入配置 导出配置 - 下载单体模板 - - {{ singleBatteryImportLoading ? '导入中...' : '导入单体电池' }} + + {{ singleBatteryInitLoading ? '初始化中...' : '初始化单体电池配置' }} -
@@ -471,55 +463,73 @@ /> + + + + + + + + + + + + + + + + + + - {{ singleBatteryImportResult.totalRows || 0 }} - {{ singleBatteryImportResult.successRows || 0 }} - {{ singleBatteryImportResult.failureRows || 0 }} - {{ singleBatteryImportResult.insertedBatteryCount || 0 }} - {{ singleBatteryImportResult.updatedBatteryCount || 0 }} - {{ singleBatteryImportResult.committed ? '是' : '否' }} - {{ singleBatteryImportResult.insertedMappingCount || 0 }} - {{ singleBatteryImportResult.updatedMappingCount || 0 }} + {{ singleBatteryInitResult.siteId || '-' }} + {{ singleBatteryInitResult.scopeType === 'stack' ? '电池堆' : '电池簇' }} + {{ singleBatteryInitResult.scopeDeviceId || '-' }} + {{ singleBatteryInitResult.targetCount || 0 }} + {{ singleBatteryInitResult.existingBatteryCount || 0 }} + {{ singleBatteryInitResult.initializedBatteryCount || 0 }} + {{ singleBatteryInitResult.insertedBatteryCount || 0 }} + {{ singleBatteryInitResult.pointHitCount || 0 }} + {{ singleBatteryInitResult.fixedValueFallbackCount || 0 }} + {{ singleBatteryInitResult.insertedMappingCount || 0 }} + {{ singleBatteryInitResult.updatedMappingCount || 0 }} + {{ singleBatteryInitResult.committed ? '是' : '否' }} -
-
失败明细
- - - - - - - - -