فهرست منبع

Merge branch 'master' of http://git.mydig.net/Sagoo-Cloud/sagoo-admin-ui
rigin

vera_min 3 سال پیش
والد
کامیت
a8c832c7f0

+ 3 - 9
src/api/energyAnalysis/index.ts

@@ -1,14 +1,8 @@
 import { get, post, del, put } from '/@/utils/request';
 
 export default {
-  // loop: {
-  //   getList: (params: object) => get('/region/loop/list', params),
-  //   add: (data: object) => post('/region/loop/add', data),
-  //   edit: (data: object) => put('/region/loop/edit', data),
-  //   del: (id: number) => del('/region/loop/del', { id }),
-  //   detail: (id: number) => get('/region/loop/getInfoById', { id }),
-  // },
   getStationInfoList: (params?: object) => get('/energy/station/info/list', params), // 换热站基础数据(分析报表数据)
-  getEnergyWaterLossList: (params?: object) => get('/energy/water/loss/list', params), // 换热站失水分析条形图列表
-  getEnergyWaterLossLineChart: (params?: object) => get('/energy/water/loss/line/chart', params), // 换热站失水分析折现图列表
+  getEnergyHuanluWaterFlowList: (params?: object) => get('/energy/huanlu/water/flow/list', params), // 换热站失水分析条形图列表
+  getEnergyHuanluWaterLossLineChart: (params?: object) => get('/energy/huanlu/water/loss/line/chart', params), // 换热站失水分析折现图列表
+  getEnergyWaterWarnList: (params?: object) => get('/energy/early/warn/list', params), // 换热站温度压力报警
 }

+ 2 - 1
src/views/datahub/modeling/component/edit.vue

@@ -68,6 +68,7 @@ interface RuleFormState {
 	name: string;
 	interval: string;
 	key: string;
+	busiTypes: string;
 	desc: string;
 }
 interface DicState {
@@ -133,7 +134,7 @@ export default defineComponent({
 
 			if (row) {
 				state.ruleForm = row;
-				state.ruleForm.busiTypes=row.dataTemplateBusi.busiTypes;
+				state.ruleForm.busiTypes=row.dataTemplateBusi.busiTypes.toString();
 				state.ruleForm.busiId=row.dataTemplateBusi.busiId;
 			}
 

+ 51 - 49
src/views/energyAnalysis/analysisReport/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="page-container">
     <el-card shadow="hover">
-			<el-checkbox-group v-model="checkList">
+			<!-- <el-checkbox-group v-model="checkList">
 				<el-checkbox label="一网供水温度" />
 				<el-checkbox label="一网回水温度" />
 				<el-checkbox label="一网供水压力" />
@@ -10,9 +10,9 @@
 				<el-checkbox label="二网回水温度" />
 				<el-checkbox label="二网供水压力" />
 				<el-checkbox label="二网回水压力" />
-			</el-checkbox-group>
+			</el-checkbox-group> -->
 
-			<div style="height: 400px" ref="lineChartRef"></div>
+			<div style="height: 600px" ref="lineChartRef"></div>
 			<!-- <ChartDom :height="400" :option="lineChartOptions"/> -->
     </el-card>
   </div>
@@ -40,7 +40,16 @@ const state = reactive({
 		bgColor: '',
 		color: '#303133',
 	},
-	heatList: []
+	heatList: [],
+	lineChartXAxis: [],
+	inPressure1: [],
+	inPressure2: [],
+	inTemperature1: [],
+	inTemperature2: [],
+	outPressure1: [],
+	outPressure2: [],
+	outTemperature1: [],
+	outTemperature2: [],
 })
 const lineChartRef = ref()
 const checkList = ref([])
@@ -48,7 +57,7 @@ const checkList = ref([])
 
 // 获取供热监测数据
 const getStatisticsChartData = () => {
-	api.statistics.getStatisticsChartData({tableNo:17}).then((res:any) => {
+	datahubApi.statistics.getStatisticsChartData({tableNo:17}).then((res:any) => {
 		console.log(res)
 		const data = res.Info
 		// "huanLuNo": "D00140-4", //换热站编号
@@ -61,25 +70,30 @@ const getStatisticsChartData = () => {
 		// "outPressure2": 0, //二网回水压力
 		// "outTemperature1": 0, //一网回水温度
 		// "outTemperature2": 0 //二网回水温度
+		state.inPressure1 = []
+		state.inPressure2 = []
+		state.inTemperature1 = []
+		state.inTemperature2 = []
+		state.outPressure1 = []
+		state.outPressure2 = []
+		state.outTemperature1 = []
+		state.outTemperature2 = []
 
-		// <el-checkbox label="一网供水温度" />
-		// <el-checkbox label="一网回水温度" />
-		// <el-checkbox label="二网供回水温差" />
-		// <el-checkbox label="二网供回水压差" />
-		// <el-checkbox label="压力值" />
-		// state.statisticsChartXAxisData = [];
-		// state.inTemperature1 = [];
-		// state.outTemperature1 = [];
-		// data.forEach((i:object) => {
-		// 	state.statisticsChartXAxisData.push(i.huanLuName);
-		// 	state.inTemperature1.push(i.inTemperature1);
-		// 	state.outTemperature1.push(i.outTemperature1);
-		// });
-
-		// nextTick(() => {
-		// 	initBarChart();
-		// });
+		data.forEach((item: any) => {
+			state.lineChartXAxis.push(item.huanLuName);
+			state.inPressure1.push(item.inPressure1);
+			state.inPressure2.push(item.inPressure2);
+			state.inTemperature1.push(item.inTemperature1);
+			state.inTemperature2.push(item.inTemperature2);
+			state.outPressure1.push(item.outPressure1);
+			state.outPressure2.push(item.outPressure2);
+			state.outTemperature1.push(item.outTemperature1);
+			state.outTemperature2.push(item.outTemperature2);
+		});
 
+		nextTick(() => {
+			initLineChart();
+		});
 	});
 };
 const queryTree = () => {
@@ -101,38 +115,26 @@ const initLineChart = () => {
 		backgroundColor: state.charts.bgColor,
 		grid: { top: 70, right: 20, bottom: 30, left: 30 },
 		tooltip: { trigger: 'axis' },
-		legend: { data: ['一网回水压力', '一网供水压力'] },
+		legend: {},
 		xAxis: {
-			data: ['环路1', '环路2', '环路3', '环路4', '环路5'],
+			data: state.lineChartXAxis,
 		},
 		yAxis: [
 			{
 				type: 'value',
-				name: '条数',
+				name: '',
 				splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
 			},
 		],
 		series: [
-			{
-				name: '一网回水压力',
-				type: 'line',
-				symbolSize: 6,
-				symbol: 'circle',
-				smooth: true,
-				data: [41.1, 30.4, 65.1, 53.3, 53.3],
-				lineStyle: { color: '#fe9a8b' },
-				itemStyle: { color: '#fe9a8b', borderColor: '#fe9a8b' }
-			},
-			{
-				name: '一网供水压力',
-				type: 'line',
-				symbolSize: 6,
-				symbol: 'circle',
-				smooth: true,
-				data: [24.1, 7.2, 15.5, 42.4, 42.4],
-				lineStyle: { color: '#9E87FF' },
-				itemStyle: { color: '#9E87FF', borderColor: '#9E87FF' }
-			}
+			{ name: '一网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure1 },
+			{ name: '二网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure2 },
+			{ name: '一网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature1 },
+			{ name: '二网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature2 },
+			{ name: '一网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure1 },
+			{ name: '二网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure2 },
+			{ name: '一网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature1 },
+			{ name: '二网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature2 }
 		]
 	};
 	(<any>global.lineChart).setOption(option);
@@ -155,7 +157,7 @@ const initEchartsResize = () => {
 };
 // 页面加载时
 onMounted(() => {
-	queryTree()
+	// queryTree()
 	getStatisticsChartData()
 	initEchartsResize();
 });
@@ -168,9 +170,9 @@ watch(
 			state.charts.theme = isIsDark ? 'dark' : '';
 			state.charts.bgColor = isIsDark ? 'transparent' : '';
 			state.charts.color = isIsDark ? '#dadada' : '#303133';
-			setTimeout(() => {
-				initLineChart();
-			}, 500);
+			// setTimeout(() => {
+			// 	initLineChart();
+			// }, 500);
 		});
 	},
 	{

+ 29 - 13
src/views/energyAnalysis/energyWarning/index.vue

@@ -52,13 +52,20 @@
           </el-form-item>
         </el-form>
       </div>
-      <el-table :data="tableData.data" style="width: 100%" >
-        <el-table-column label="ID" align="center" prop="id" width="60" />
-	    	<el-table-column label="环路名称" prop="name" />
-	    	<el-table-column label="环路编号" prop="number" />
-	    	<el-table-column label="负责人" prop="number" />
-	    	<el-table-column label="温度" prop="number" />
-	    	<el-table-column label="压力" prop="number" />
+      <el-table :data="tableData.data" v-loading="tableData.loading" style="width: 100%" >
+	    	<el-table-column label="换热站名称" prop="station" />
+	    	<el-table-column label="换热站编号" prop="stationNo" />
+	    	<!-- <el-table-column label="负责人" prop="number" /> -->
+	    	<el-table-column label="温度" prop="alarmT">
+					<template #default="{ row }">
+						{{ row.alarmT == '1' ? '报警' : '不报警' }}
+					</template>
+				</el-table-column>
+	    	<el-table-column label="压力" prop="alarmP">
+					<template #default="{ row }">
+						{{ row.alarmP == '1' ? '报警' : '不报警' }}
+					</template>
+				</el-table-column>
       </el-table>
       <pagination
 				v-show="tableData.total>0"
@@ -74,7 +81,7 @@
 <script lang="ts">
 import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
 import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
-import api from '/@/api/heatingDistrict';
+import api from '/@/api/energyAnalysis';
 import heatApi from '/@/api/heatStation';
 
 export default defineComponent({
@@ -88,11 +95,7 @@ export default defineComponent({
 				total: 0,
 				loading: false,
 				param: {
-					pageNum: 1,
-					pageSize: 10,
-					name: '',
-					heatStaId: '',
-					status: -1
+					code: ''
 				},
 			},
 			heatList: []
@@ -108,9 +111,22 @@ export default defineComponent({
 					state.heatList = res || [];
 				});
 		};
+		
+		const queryList = () => {
+			state.tableData.loading = true
+			api.getEnergyWaterWarnList({ code: 11 })
+				.then((res: any) => {
+					console.log(res);
+					state.tableData.data = res.list || []
+				})
+				.finally(() => {
+					state.tableData.loading = false
+				})
+		};
 		// 页面加载时
 		onMounted(() => {
 			queryTree()
+			queryList()
 		});
 		/** 重置按钮操作 */
 		const resetQuery = (formEl: FormInstance | undefined) => {

+ 50 - 31
src/views/energyAnalysis/heatStationWaterAnalysis/index.vue

@@ -41,10 +41,10 @@
 						</el-select>
           </el-form-item>
           <el-form-item label="时间间隔(秒)" prop="interval">
-            <el-input-number v-model="state.param.interval"></el-input-number>
+            <el-input-number size="default" v-model="state.param.interval"></el-input-number>
           </el-form-item>
           <el-form-item label="流量限值" prop="flow">
-            <el-input-number v-model="state.param.flow"></el-input-number>
+            <el-input-number size="default" v-model="state.param.flow"></el-input-number>
           </el-form-item>
           <el-form-item>
             <el-button size="default" type="primary" class="ml10" @click="initPage">
@@ -76,6 +76,7 @@ import * as echarts from 'echarts';
 import { useStore } from '/@/store/index';
 import api from '/@/api/energyAnalysis';
 import heatApi from '/@/api/heatStation';
+import { formatDate } from '/@/utils/formatTime';
 
 let global: any = {
 	barChart: null,
@@ -100,7 +101,12 @@ const state = reactive({
 		interval: '',
 		flow: ''
 	},
-	heatList: []
+	heatList: [],
+	barChartXAxis: [],
+	barChartSeries1: [],
+	barChartSeries2: [],
+	lineChartXAixs: [],
+	lineChartSeries: []
 });
 
 const queryTree = () => {
@@ -115,19 +121,44 @@ const queryTree = () => {
 };
 
 const queryLineChart = () => {
-	api.getEnergyWaterLossLineChart(state.param).then((res: any) => {
+	api.getEnergyHuanluWaterLossLineChart({ TableNo: 24, Interval: '' }).then((res: any) => {
 		console.log(res);
+		let data = res.list || []
+		
+		state.lineChartXAixs = []
+		state.lineChartSeries = []
+		
+		data.forEach((item: any) => {
+			state.lineChartXAixs.push(formatDate(new Date(item.time), 'HH:MM'));
+			state.lineChartSeries.push(item.waterLoss);
+		});
 	});
 };
 const queryChart = () => {
-	api.getEnergyWaterLossList(state.param).then((res: any) => {
+	api.getEnergyHuanluWaterFlowList({ tableNo: 24 }).then((res: any) => {
 		console.log(res);
+		let data = res.Info || []
+		
+		state.barChartXAxis = []
+		state.barChartSeries1 = []
+		state.barChartSeries2 = []
+		
+		data.forEach((item: any) => {
+			state.barChartXAxis.push(item.huanLuName);
+			state.barChartSeries1.push(item.supplyWaterFlow1);
+			state.barChartSeries2.push(item.returnWaterFlow1);
+		});
+
+		nextTick(() => {
+			initBarChart();
+		});
 	});
 };
 // 页面加载时
 onMounted(() => {
 	queryTree()
-	// queryLineChart()
+	queryChart()
+	queryLineChart()
 });
 /** 重置按钮操作 */
 const resetQuery = (formEl: FormInstance | undefined) => {
@@ -140,7 +171,7 @@ const initPage = () => {
 		ElMessage.warning('请选择换热站')
 		return
 	}
-	queryChart()
+	// queryChart()
 	// queryLineChart()
 }
 
@@ -166,7 +197,7 @@ const initBarChart = () => {
 		xAxis: [
 			{
 				type: 'category',
-				data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
+				data: state.barChartXAxis
 			}
 		],
 		yAxis: [
@@ -181,7 +212,7 @@ const initBarChart = () => {
 				emphasis: {
 					focus: 'series'
 				},
-				data: [320, 332, 301, 334, 390, 330, 320]
+				data: state.barChartSeries1
 			},
 			{
 				name: '回水流量',
@@ -190,7 +221,7 @@ const initBarChart = () => {
 				emphasis: {
 					focus: 'series'
 				},
-				data: [120, 132, 101, 134, 90, 230, 210]
+				data: state.barChartSeries2
 			}
 		]
 	};
@@ -205,37 +236,25 @@ const initLineChart = () => {
 		backgroundColor: state.charts.bgColor,
 		grid: { top: 70, right: 20, bottom: 30, left: 30 },
 		tooltip: { trigger: 'axis' },
-		legend: { data: ['一网回水压力', '一网供水压力'] },
+		legend: { data: ['失水量'] },
 		xAxis: {
-			data: ['环路1', '环路2', '环路3', '环路4', '环路5'],
+			data: state.lineChartXAixs,
 		},
 		yAxis: [
 			{
 				type: 'value',
-				name: '条数',
+				name: '',
 				splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
 			},
 		],
 		series: [
 			{
-				name: '一网回水压力',
+				name: '失水量',
 				type: 'line',
 				symbolSize: 6,
 				symbol: 'circle',
 				smooth: true,
-				data: [41.1, 30.4, 65.1, 53.3, 53.3],
-				lineStyle: { color: '#fe9a8b' },
-				itemStyle: { color: '#fe9a8b', borderColor: '#fe9a8b' }
-			},
-			{
-				name: '一网供水压力',
-				type: 'line',
-				symbolSize: 6,
-				symbol: 'circle',
-				smooth: true,
-				data: [24.1, 7.2, 15.5, 42.4, 42.4],
-				lineStyle: { color: '#9E87FF' },
-				itemStyle: { color: '#9E87FF', borderColor: '#9E87FF' }
+				data: state.lineChartSeries
 			}
 		]
 	};
@@ -270,10 +289,10 @@ watch(
 			state.charts.theme = isIsDark ? 'transparent' : '';
 			state.charts.bgColor = isIsDark ? 'transparent' : '';
 			state.charts.color = isIsDark ? '#dadada' : '#303133';
-			// setTimeout(() => {
-				// initBarChart();
-				// initLineChart();
-			// }, 500)
+			setTimeout(() => {
+				initBarChart();
+				initLineChart();
+			}, 500)
 		});
 	},
 	{