Commit c9fb80d8 authored by 朱超's avatar 朱超

能耗排名更新

parent 682c436f
......@@ -3,7 +3,7 @@
<div
class="contentBlock"
id="contentBlock"
v-loading.fullscreen.lock="fullscreenLoading"
v-loading="loading"
element-loading-background="rgba(122, 122, 122, 0.6)"
>
<el-card class="card-contianer">
......@@ -59,7 +59,7 @@
<el-config-provider :locale="zhCn">
<el-date-picker
type="datetime"
value-format="YYYY-MM-DD HH:00:00"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="选择开始时间"
style="width: 180px"
v-model="enertyInfo.startTime"
......@@ -70,7 +70,7 @@
<el-config-provider :locale="zhCn">
<el-date-picker
type="datetime"
value-format="YYYY-MM-DD HH:00:00"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="选择结束时间"
style="width: 180px"
v-model="enertyInfo.endTime"
......@@ -635,6 +635,7 @@ import {
postTopBHXLXJ1,
postTopSecondTempAvg,
} from "../../api/ranking";
const loading = ref(false);
const curwidth = ref(1700);
const curheight = ref(1000);
const switchV = ref(false);
......@@ -766,21 +767,66 @@ function exportTableToExcelFun(n, dataList, company) {
}
function exportTableToExcel(title, space, sheetTit, data) {
const worksheet = XLSX.utils.json_to_sheet(data);
const ws = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.sheet_add_aoa(worksheet, [title], {
const border = {
top: {
style: "thin",
},
bottom: {
style: "thin",
},
left: {
style: "thin",
},
right: {
style: "thin",
},
};
const range = XLSX.utils.decode_range(ws["!ref"]);
const cellList = Object.keys(ws).filter((item) => item.indexOf("!") < 0);
for (let row = range.s.r; row <= range.e.r; row++) {
for (let col = range.s.c; col <= range.e.c; col++) {
const cell = XLSX.utils.encode_cell({ r: row, c: col });
if (cellList.indexOf(cell) < 0) {
ws[cell] = { t: "", v: "", s: { border } };
} else {
ws[cell].s = { border };
}
}
}
XLSX.utils.sheet_add_aoa(ws, [title], {
origin: "A1",
});
worksheet["!cols"] = [{ wch: 5 }, { wch: 20 }, { wch: 20 }, { wch: 20 }];
ws["!cols"] = [{ wch: 5 }, { wch: 20 }, { wch: 20 }, { wch: 20 }];
space.forEach((element) => {
worksheet[element].s = {
ws[element].s = {
fill: {
fgColor: { rgb: "0097d5fd" },
},
border: {
bottom: {
color: "#000000",
style: "thin",
},
left: {
color: "#000000",
style: "thin",
},
right: {
color: "#000000",
style: "thin",
},
top: {
color: "#000000",
style: "thin",
},
},
};
});
XLSX.utils.book_append_sheet(workbook, worksheet, sheetTit);
XLSX.utils.book_append_sheet(workbook, ws, sheetTit);
const excelBuffer = XLSX.write(workbook, { bookType: "xlsx", type: "array" });
const dataBlob = new Blob([excelBuffer], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8",
......@@ -791,7 +837,7 @@ function exportTableToExcel(title, space, sheetTit, data) {
}
function exportTableToExcelAll() {
let worksheet = ref();
let ws = ref();
let workbook = ref();
let excelBuffer = ref();
let dataBlob = ref();
......@@ -809,9 +855,22 @@ function exportTableToExcelAll() {
topSecondTempAvg.value,
topSecondTempAvg.value,
];
let dataList = [];
data.forEach((element) => {
let arr = [];
element.forEach((element1) => {
arr.push({
rankingIndex: element1.rankingIndex,
supplyName: element1.supplyName,
transferName: element1.transferName,
uc: element1.uc.toFixed(2),
});
});
dataList.push(arr);
});
let title = [
"热单耗(W/㎡)",
"热耗(W/(㎡×℃",
"热耗(W/(㎡×℃))",
"水单耗(Kg/㎡)",
"电单耗(Kwh/㎡)",
"一网回温(℃)",
......@@ -820,8 +879,10 @@ function exportTableToExcelAll() {
"板换效率(%)",
"二网均温(℃)",
"二网温差(℃)",
"二网瞬时(t/h)",
"流量(t/h/万㎡)"
];
let space = ["A1", "B1", "C1", "D1", "E1"];
let space = ["A1", "B1", "C1", "D1"];
let sheetTit = [
"热单耗排行",
"度日数热耗排行",
......@@ -838,32 +899,76 @@ function exportTableToExcelAll() {
];
workbook = XLSX.utils.book_new();
for (var i = 0; i < 12; i++) {
worksheet = XLSX.utils.json_to_sheet(data[i]);
ws = XLSX.utils.json_to_sheet(dataList[i]);
const border = {
top: {
style: "thin",
},
bottom: {
style: "thin",
},
left: {
style: "thin",
},
right: {
style: "thin",
},
};
const range = XLSX.utils.decode_range(ws["!ref"]);
const cellList = Object.keys(ws).filter((item) => item.indexOf("!") < 0);
for (let row = range.s.r; row <= range.e.r; row++) {
for (let col = range.s.c; col <= range.e.c; col++) {
const cell = XLSX.utils.encode_cell({ r: row, c: col });
if (cellList.indexOf(cell) < 0) {
ws[cell] = { t: "", v: "", s: { border } };
} else {
ws[cell].s = { border };
}
}
}
XLSX.utils.sheet_add_aoa(
worksheet,
[["排名", "机组ID", "供热站名称", "机组名称", title[i]]],
ws,
[["排名", "供热站名称", "机组名称", title[i]]],
{
origin: "A1",
}
);
worksheet["!cols"] = [
ws["!cols"] = [
{ wch: 5 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
{ wch: 20 },
];
worksheet["!cols"][1] = { hidden: true };
// ws["!cols"][1] = { hidden: true };
space.forEach((element) => {
worksheet[element].s = {
ws[element].s = {
fill: {
fgColor: { rgb: "0097d5fd" },
},
border: {
bottom: {
color: "#000000",
style: "thin",
},
left: {
color: "#000000",
style: "thin",
},
right: {
color: "#000000",
style: "thin",
},
top: {
color: "#000000",
style: "thin",
},
},
};
});
XLSX.utils.book_append_sheet(workbook, worksheet, sheetTit[i]);
XLSX.utils.book_append_sheet(workbook, ws, sheetTit[i]);
}
excelBuffer = XLSX.write(workbook, { bookType: "xlsx", type: "array" });
......@@ -876,72 +981,27 @@ function exportTableToExcelAll() {
}
function timeFun() {
var date = new Date();
var year = date.getFullYear();
var dateArr = [
date.getMonth() + 1,
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
];
var startTimeDay = parseInt(dateArr[1] - 1);
var endTimeHour = parseInt(dateArr[2] - 1);
if (startTimeDay < 10) {
startTimeDay = "0" + startTimeDay;
}
if (endTimeHour < 10) {
endTimeHour = "0" + endTimeHour;
}
if (dateArr[0] < 10) {
dateArr[0] = "0" + dateArr[0];
}
if (dateArr[3] < 10) {
dateArr[3] = "0" + dateArr[3];
}
if (dateArr[4] < 10) {
dateArr[4] = "0" + dateArr[4];
}
let startTimes =
year +
"-" +
dateArr[0] +
"-" +
startTimeDay +
" " +
dateArr[2] +
":" +
dateArr[3] +
":" +
dateArr[4];
let endTimes =
year +
"-" +
dateArr[0] +
"-" +
dateArr[1] +
" " +
endTimeHour +
":" +
dateArr[3] +
":" +
dateArr[4];
enertyInfo.startTime = startTimes;
enertyInfo.endTime = endTimes;
const today = new Date();
const preday = new Date(today);
const prehour = new Date(today.getTime() - 60 * 60 * 1000);
today.setDate(today.getDate());
preday.setDate(preday.getDate() - 1);
var hour = today.getHours();
enertyInfo.startTime =
preday.toISOString().split("T")[0] + " " + hour + ":00:00";
enertyInfo.endTime =
today.toISOString().split("T")[0] + " " + prehour.getHours() + ":00:00";
}
//换热站机组排名页概况
function postOverviewFun(enertySend) {
fullscreenLoading.value = true;
postOverview(enertySend).then((res) => {
if (res.success === true) {
overviewList.value = res.data[0];
} else {
ElMessage.error(res.message);
}
fullscreenLoading.value = false;
loading.value = false;
});
}
......@@ -953,6 +1013,7 @@ function postTopHeatUCFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -964,6 +1025,7 @@ function postTopDayHeatUCFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -975,6 +1037,7 @@ function postTopWaterUCFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -986,6 +1049,7 @@ function postTopElecUCFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -997,6 +1061,7 @@ function postTopFirsHWFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -1008,6 +1073,7 @@ function postTopFirsFlowFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -1019,6 +1085,7 @@ function postTopBHXLFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -1030,6 +1097,7 @@ function postTopBHXLXJ1Fun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -1041,6 +1109,7 @@ function postTopSecondTempAvgFun(enertySend) {
} else {
ElMessage.error(res.message);
}
loading.value = false;
});
}
......@@ -1078,6 +1147,7 @@ function sendClick() {
}
}
function sendFun(enertySend) {
loading.value = true;
postOverviewFun(enertySend);
postTopHeatUCFun(enertySend.value);
postTopDayHeatUCFun(enertySend.value);
......@@ -1108,9 +1178,7 @@ onMounted(() => {
timeFun();
sendFun(enertySend);
});
onUnmounted(() => {
// window.removeEventListener("resize", setContentHeight);
});
onUnmounted(() => {});
function setContentHeight() {
curheight.value = window.innerHeight - 160;
......
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