Commit 1d94c5fb authored by 朱超's avatar 朱超

换热站能耗更新

parent 98746a64
......@@ -19,4 +19,11 @@ export const postPrintHeatForecast = params => {
return http.post(`/api/analysis/report/PrintHeatForecast`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//换热站能耗报表
export const postTransferEnergy = params => {
return http.post(`/api/analysis/report/TransferEnergy`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
\ No newline at end of file
......@@ -19,7 +19,7 @@
value-format="YYYY-MM-DD"
placeholder="选择开始时间"
style="width: 180px"
v-model="enertyInfo.printTime"
v-model="enertyInfo.startTime"
/>
</el-config-provider>
</td>
......@@ -31,7 +31,7 @@
value-format="YYYY-MM-DD"
placeholder="选择结束时间"
style="width: 180px"
v-model="enertyInfo.printTime"
v-model="enertyInfo.endTime"
/>
</el-config-provider>
</td>
......@@ -43,7 +43,7 @@
<div class="btngrounp">
<el-button
type="primary"
@click="sendClick"
@click="postTransferEnergyFun"
style="margin: 15px 0 0 0"
>查询</el-button
><el-button
......@@ -70,39 +70,43 @@
<tr>
<th>面积</th>
<td style="text-align: left">
<el-radio-group v-model="radio">
<el-radio :value="3">计算面积</el-radio>
<el-radio :value="6">实供建筑面积</el-radio>
<el-radio-group v-model="enertyInfo.areaType">
<el-radio value="0">计算面积</el-radio>
<el-radio value="1">实供建筑面积</el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<th>片区</th>
<td>
<el-radio-group v-model="radio">
<el-radio :value="3">港东南区</el-radio>
<el-radio :value="6">港东北区</el-radio>
<el-radio :value="3">重阳里计量站</el-radio>
<el-radio :value="6">行政区供热站</el-radio>
<el-radio :value="3">福苑里供热站</el-radio>
<el-radio :value="6">小王庄供热站</el-radio>
<el-radio :value="3">港益供热站</el-radio>
</el-radio-group>
<td style="text-align: left">
<el-checkbox-group v-model="enertyInfo.jurisdictionIds">
<el-checkbox
v-for="(option, index) in options"
:key="index"
:label="option.value"
>
{{ option.lable }}
</el-checkbox>
</el-checkbox-group>
</td>
</tr>
</table>
<el-table :data="tableData" style="width: 100%; margin-top:10px;">
<el-table-column prop="date" label="序号" width="60" />
<el-table-column prop="name" label="片区" />
<el-table-column prop="address" label="换热站名称" />
<el-table-column prop="date" label="面积" />
<el-table-column prop="date" label="热量(GJ)" />
<el-table-column prop="date" label="热耗(GJ/㎡)" />
<el-table-column prop="date" label="热耗(W/㎡)" />
<el-table-column prop="date" label="水量(T)" />
<el-table-column prop="date" label="水耗(KG/㎡)" />
<el-table-column prop="date" label="电量(KWH)" />
<el-table-column prop="date" label="电量(KWH/㎡)" style="width:180px;" />
<el-table :data="tableData" style="width: 100%; margin-top: 10px">
<el-table-column prop="sn" label="序号" width="60" align="center" />
<el-table-column prop="jurisdictionName" label="片区" />
<el-table-column prop="transferName" label="换热站名称" />
<el-table-column prop="area" label="面积" />
<el-table-column prop="heat" label="热量(GJ)" />
<el-table-column prop="heatG" label="热耗(GJ/㎡)" />
<el-table-column prop="heatW" label="热耗(W/㎡)" />
<el-table-column prop="water" label="水量(T)" />
<el-table-column prop="waterUsed" label="水耗(KG/㎡)" />
<el-table-column prop="electric" label="电量(KWH)" />
<el-table-column
prop="electricUsed"
label="电量(KWH/㎡)"
style="width: 180px"
/>
</el-table>
</el-card>
</div>
......@@ -111,19 +115,22 @@
<script setup>
import { ref, reactive, onMounted, onUnmounted } from "vue";
import http from "../../api/http";
import store from "../../store/index";
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
import { ElMessage } from "element-plus";
import { saveAs } from "file-saver";
import XLSX from "xlsx-js-style";
import { postHeatForecast, postPrintHeatForecast } from "../../api/report";
const temp = ref([]); //24小时室外预测值
const weather = ref([]); //当日气象信息
const predTemp = ref([]); //24小时室外体感预测值
const dataList = ref([]); //预测热量明细
const dataTime = ref([]); //报表记录时间及总计
import { postTransferEnergy } from "../../api/report";
const radioTitle = ref("供热站");
const options = reactive([]);
const enterpriseId = ref(null);
const checkboxList = ref([]);
const tableData = ref([]);
const enertyInfo = reactive({
printTime: null,
queryTime: "2024-1-1 09:00:00",
jurisdictionIds: null,
areaType: "0",
startTime: null,
endTime: null,
});
function timeFun() {
var date = new Date();
......@@ -135,9 +142,9 @@ function timeFun() {
date.getMinutes(),
date.getSeconds(),
];
var endTimeHour = parseInt(dateArr[2] - 1);
if (endTimeHour < 10) {
endTimeHour = "0" + endTimeHour;
var endTimeDay = parseInt(dateArr[1] - 1);
if (endTimeDay < 10) {
endTimeDay = "0" + endTimeDay;
}
if (dateArr[0] < 10) {
dateArr[0] = "0" + dateArr[0];
......@@ -145,47 +152,56 @@ function timeFun() {
if (dateArr[1] < 10) {
dateArr[1] = "0" + dateArr[1];
}
if (dateArr[2] < 10) {
dateArr[2] = "0" + dateArr[2];
}
if (dateArr[3] < 10) {
dateArr[3] = "0" + dateArr[3];
}
if (dateArr[4] < 10) {
dateArr[4] = "0" + dateArr[4];
enertyInfo.startTime = year + "-" + dateArr[0] + "-" + endTimeDay;
enertyInfo.endTime = year + "-" + dateArr[0] + "-" + dateArr[1];
console.log(enertyInfo);
}
//根据权限初始化单选列表
function initRadioList() {
var result = store.getters.getEnterprise();
if (result) {
enterpriseId.value = result[0].enterpriseId;
result.forEach((element) => {
if (element.enterpriseId === enterpriseId.value) {
if (
element.enterpriseId ===
"9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()
) {
radioTitle.value = "片区";
element.serviceCenterList.forEach((center) => {
center.supplyList.forEach((supply) => {
supply.jurisdictionList.forEach((jurisdiction) => {
options.push({
value: jurisdiction.jurisdictionId,
lable: jurisdiction.jurisdictionName,
});
});
});
});
} else {
radioTitle.value = "供热站";
element.supplyList.forEach((element) => {
options.push({
value: element.supplyId,
lable: element.supplyName,
});
});
}
}
});
enertyInfo.jurisdictionIds = [options[0].value];
}
let endTimes =
year + "-" + dateArr[0] + "-" + dateArr[1] + " " + endTimeHour + ":00:00";
// enertyInfo.printTime =
// year +
// "-" +
// dateArr[0] +
// "-" +
// dateArr[1] +
// " " +
// dateArr[2] +
// ":" +
// dateArr[3] +
// ":" +
// dateArr[4];
enertyInfo.queryTime = endTimes;
}
function postHeatForecastFun() {
if (enertyInfo.queryTime == null) {
ElMessage.error("请选择记录时间");
function postTransferEnergyFun() {
if (enertyInfo.startTime == null) {
ElMessage.error("请选择开始时间");
return false;
}
let params = {
QueryTime: enertyInfo.queryTime,
};
postHeatForecast(params).then((res) => {
postTransferEnergy(enertyInfo).then((res) => {
if (res.success === true) {
temp.value = res.data.temp;
predTemp.value = res.data.predTemp;
weather.value = res.data.weather;
dataList.value = res.data.list;
dataTime.value = res.data.time;
tableData.value = res.data;
} else {
ElMessage.error(res.message);
}
......@@ -214,6 +230,8 @@ function postPrintHeatForecastFun() {
}
onMounted(() => {
timeFun();
initRadioList();
postTransferEnergyFun()
//postHeatForecastFun();
});
onUnmounted(() => {});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment