Jelajahi Sumber

增加历史数据查询-换热站绩效考核-详情列表

yanglzh 2 tahun lalu
induk
melakukan
be24a4c873

+ 1 - 0
src/api/heatStation/index.ts

@@ -22,5 +22,6 @@ export default {
     detail: (id: number) => get('/region/heatStation/getInfoById', { id }),
     getAllStaAndLoop: (params?: object) => get('/region/heatStation/getAllStaAndLoop', params),
     stationDetail: (params?: object) => get('/energy/performance/station/detail', params),
+    stationDetailHistory: (params?: object) => get('/energy/history/performance/station/detail', params),
   }
 }

+ 53 - 0
src/views/heating/energyAnalysis/historyData/stationPerformanceHistory/detail.vue

@@ -0,0 +1,53 @@
+<template>
+	<div class="system-edit-dic-container">
+		<el-dialog title="换热站详情" v-model="state.isShowDialog" width="1000px">
+			<el-table :data="tableData" style="width: 100%" class="mt-6" v-loading="loading" border>
+				<el-table-column prop="datetime" label="日期" align="center" />
+				<el-table-column prop="unitConsumptionTotal" :label="`供水量(${unitMap['小时补水量']})`" align="center" />
+				<el-table-column prop="flowLossTotal" :label="`失水量(${unitMap['小时补水量']})`" align="center" />
+				<el-table-column prop="unitConsumptionDemand" :label="`供热负荷(${unitMap['供热负荷']})`" align="center" />
+				<el-table-column prop="temperature" label="温度(℃)" align="center" />
+			</el-table>
+			<pagination v-if="params.total" :total="params.total" v-model:page="params.pageNum" v-model:limit="params.pageSize" @pagination="getList()" />
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup>
+import { reactive, ref } from 'vue';
+import api from '/@/api/heatStation';
+import { useSearch } from '/@/hooks/useCommon';
+import apiDatahub from '/@/api/datahub';
+
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+});
+
+const unitMap = ref<any>({});
+// 统计信息的单位的字典
+apiDatahub.template.getDictData({ DictType: 'overview_unit' }).then((res: any) => {
+	res.values.forEach((v: any) => {
+		unitMap.value[v.value] = v.key;
+	});
+});
+
+const { params, tableData, getList, loading } = useSearch(api.heatStation.stationDetailHistory, 'list', { stationId: '', year: '' });
+
+// 打开弹窗
+const openDialog = (id: string, year: number) => {
+	console.log(year)
+	params.stationId = id;
+	params.year = year;
+	getList();
+	state.isShowDialog = true;
+};
+
+defineExpose({ openDialog });
+</script>
+
+<style scoped>
+.el-form-item {
+	margin-bottom: 0;
+}
+</style>

+ 11 - 1
src/views/heating/energyAnalysis/historyData/stationPerformanceHistory/index.vue

@@ -62,7 +62,11 @@
 			</div>
 			<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
 				<el-table-column type="index" label="序号" align="center" width="80" />
-				<el-table-column label="换热站名称" prop="stationName" />
+				<el-table-column label="换热站名称" prop="stationName">
+					<template #default="{ row }">
+            <el-button text type="primary" @click="showDialog(row.id)">{{row.stationName}}</el-button>
+          </template>
+				</el-table-column>
 				<el-table-column :label="`总耗热(${unitMap['总耗热']})`" prop="unitConsumptionTotal" />
 				<el-table-column :label="`热单耗(${unitMap['总单耗']})`" prop="unitConsumption" />
 				<el-table-column :label="`总耗水(${unitMap['总耗水']})`" prop="flowLossTotal" />
@@ -79,6 +83,7 @@
 				@pagination="queryList"
 			/>
 		</el-card>
+		<detailDialog ref="detailDialogRef"></detailDialog>
 	</div>
 </template>
 
@@ -88,6 +93,7 @@ import { FormInstance } from 'element-plus';
 import energyApi from '/@/api/energyAnalysis';
 import downloadFile from '/@/utils/download';
 import apiDatahub from '/@/api/datahub';
+import detailDialog from './detail.vue';
 
 const unitMap = ref<any>({});
 // 统计信息的单位的字典
@@ -98,6 +104,7 @@ apiDatahub.template.getDictData({ DictType: 'overview_unit' }).then((res: any) =
 });
 
 const queryRef = ref();
+const detailDialogRef = ref();
 const years = ref([]);
 
 const state = reactive({
@@ -133,6 +140,9 @@ energyApi.history.historyYear().then((res: any) => {
 	}
 });
 
+const showDialog = (id: string) => {
+	detailDialogRef.value.openDialog(id, state.tableData.param.year)
+};
 
 const exportData = () => {
 	energyApi.history.performanceExportStation(state.tableData.param).then((res: any) => {