Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
web-project
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
海康威视
web-project
Commits
c5af5f6a
Commit
c5af5f6a
authored
Aug 12, 2024
by
jiaxu.yan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 代码找回
parent
88c39c0d
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1787 additions
and
262 deletions
+1787
-262
AreaInfoPage.vue
src/views/Report/AreaInfoPage.vue
+232
-12
ForecastPage.vue
src/views/Report/ForecastPage.vue
+473
-70
HeatAnalysisPage.vue
src/views/Report/HeatAnalysisPage.vue
+540
-82
RealAnalysisPage.vue
src/views/Report/RealAnalysisPage.vue
+333
-69
TransferEnergyPage.vue
src/views/Report/TransferEnergyPage.vue
+209
-29
No files found.
src/views/Report/AreaInfoPage.vue
View file @
c5af5f6a
<
template
>
<
template
>
<div
class=
"contentBlock"
>
<div
<div
class=
"contentBlockInn"
>
class=
"contentBlock"
v-loading=
"loading"
element-loading-background=
"rgba(122, 122, 122, 0.6)"
>
<div
class=
"contentBlockInn"
id=
"printBlock"
>
<el-card
class=
"card-contianer"
>
<el-card
class=
"card-contianer"
>
<table
<table
cellpadding=
"0"
cellpadding=
"0"
...
@@ -70,25 +74,26 @@
...
@@ -70,25 +74,26 @@
</table>
</table>
</td>
</td>
<th
rowspan=
"3"
>
<th
rowspan=
"3"
>
<div>
<div
class=
"printHidden"
>
<div
class=
"btngrounp"
>
<div
class=
"btngrounp"
>
<el-button
type=
"primary"
@
click=
"postTransferAreaFun"
<el-button
type=
"primary"
@
click=
"postTransferAreaFun"
>
查询
</el-button
>
查询
</el-button
><el-button
><el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel
"
v-print=
"printObj
"
style=
"margin: 0 0 0
5
px"
style=
"margin: 0 0 0
10
px"
>
打印
</el-button
>
打印
</el-button
><el-button
>
<!--
<el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel"
@
click=
"exportTableToExcel"
style=
"margin: 0 0 0 5px"
style=
"margin: 0 0 0 5px"
>
打印预览
</el-button
>
打印预览
</el-button
>
>
-->
<el-button
<el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel"
@
click=
"exportTableToExcel"
style=
"margin: 0 0 0
5
px"
style=
"margin: 0 0 0
10
px"
>
导出
</el-button
>
导出
</el-button
>
>
</div>
</div>
...
@@ -110,7 +115,11 @@
...
@@ -110,7 +115,11 @@
</td>
</td>
</tr>
</tr>
</table>
</table>
<el-table
:data=
"tableData"
style=
"width: 100%; margin-top: 10px"
>
<el-table
:data=
"tableData"
empty-text=
"暂无数据"
style=
"width: 100%; margin-top: 10px"
>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"jurisdictionName"
label=
"区域名称"
/>
<el-table-column
prop=
"jurisdictionName"
label=
"区域名称"
/>
...
@@ -135,6 +144,71 @@
...
@@ -135,6 +144,71 @@
</el-table>
</el-table>
</el-card>
</el-card>
</div>
</div>
<table
cellpadding=
"0"
cellspacing=
"1"
class=
"exlBlock"
id=
"exlBlock"
style=
"background-color: #99bbe8"
>
<tr>
<td
colspan=
"3"
>
年度:
{{
enertyInfo
.
supplyYear
}}
</td>
<td
colspan=
"2"
>
类型:
{{
enertyInfo
.
nature
==
-
1
?
"全部"
:
""
}}{{
enertyInfo
.
nature
==
0
?
"民用"
:
""
}}{{
enertyInfo
.
nature
==
1
?
"公建"
:
""
}}
</td>
<td
colspan=
"3"
>
节能方式:
{{
enertyInfo
.
energyType
==
-
1
?
"全部"
:
""
}}{{
enertyInfo
.
energyType
==
1
?
"一步节能"
:
""
}}{{
enertyInfo
.
energyType
==
2
?
"二步节能"
:
""
}}{{
enertyInfo
.
energyType
==
3
?
"三步节能"
:
""
}}{{
enertyInfo
.
energyType
==
4
?
"四步节能"
:
""
}}
</td>
<td
colspan=
"6"
>
供热站:
<span
v-for=
"item in areaName"
:key=
"item"
>
{{
item
}}
</span
>
</td>
</tr>
<tr>
<td
rowspan=
"2"
>
序号
</td>
<td
rowspan=
"2"
>
区域名称
</td>
<td
rowspan=
"2"
>
换热站名称
</td>
<td
rowspan=
"2"
>
年度
</td>
<td
colspan=
"2"
>
居民(应供收费面积)
</td>
<td
colspan=
"2"
>
大公建(应供建筑面积)
</td>
<td
colspan=
"2"
>
小公建(应供建筑面积)
</td>
<td
rowspan=
"2"
>
应供建筑面积
</td>
<td
rowspan=
"2"
>
实供建筑面积C
</td>
<td
rowspan=
"2"
>
实供收费面积D
</td>
<td
rowspan=
"2"
>
计算面积
</td>
</tr>
<tr>
<td>
收费面积
</td>
<td>
停暖面积
</td>
<td>
实供建筑面积
</td>
<td>
停暖建筑面积
</td>
<td>
实供建筑面积
</td>
<td>
停暖建筑面积
</td>
</tr>
<tr
v-for=
"(item, index) in tableData"
:key=
"index"
>
<td>
{{
index
+
1
}}
</td>
<td>
{{
item
.
jurisdictionName
}}
</td>
<td>
{{
item
.
stationName
}}
</td>
<td>
{{
item
.
supplyYear
}}
</td>
<td>
{{
item
.
realCostCiviled
}}
</td>
<td>
{{
item
.
realCostSPB
}}
</td>
<td>
{{
item
.
realBuildBPB
}}
</td>
<td>
{{
item
.
stopBuildBPB
}}
</td>
<td>
{{
item
.
realBuildSPB
}}
</td>
<td>
{{
item
.
stopBuildSPB
}}
</td>
<td>
{{
item
.
supplyArea
}}
</td>
<td>
{{
item
.
realBuild
}}
</td>
<td>
{{
item
.
realCost
}}
</td>
<td>
{{
item
.
calculateArea
}}
</td>
</tr>
</table>
</div>
</div>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
...
@@ -146,11 +220,14 @@ import { ElMessage } from "element-plus";
...
@@ -146,11 +220,14 @@ import { ElMessage } from "element-plus";
import
{
saveAs
}
from
"file-saver"
;
import
{
saveAs
}
from
"file-saver"
;
import
XLSX
from
"xlsx-js-style"
;
import
XLSX
from
"xlsx-js-style"
;
import
{
postTransferArea
}
from
"../../api/report"
;
import
{
postTransferArea
}
from
"../../api/report"
;
import
print
from
"vue3-print-nb"
;
const
loading
=
ref
(
false
);
const
radioTitle
=
ref
(
"供热站"
);
const
radioTitle
=
ref
(
"供热站"
);
const
options
=
reactive
([]);
const
options
=
reactive
([]);
const
enterpriseId
=
ref
(
null
);
const
enterpriseId
=
ref
(
null
);
const
checkboxList
=
ref
([]);
const
checkboxList
=
ref
([]);
const
tableData
=
ref
([]);
const
tableData
=
ref
([]);
const
areaName
=
ref
([]);
const
yearList
=
[
const
yearList
=
[
"2016-2017"
,
"2016-2017"
,
"2017-2018"
,
"2017-2018"
,
...
@@ -178,7 +255,127 @@ const enertyInfo = reactive({
...
@@ -178,7 +255,127 @@ const enertyInfo = reactive({
energyType
:
-
1
,
energyType
:
-
1
,
supplyYear
:
"2024-2025"
,
supplyYear
:
"2024-2025"
,
});
});
const
vPrint
=
print
;
const
printObj
=
{
id
:
"printBlock"
,
popTitle
:
"明日预测报表"
,
extraHead
:
'<meta http-equiv="Content-Language"content="zh-cn"/>'
,
zIndex
:
20002
,
};
function
exportTableToExcel
()
{
const
workbook
=
XLSX
.
utils
.
book_new
();
var
ws
=
XLSX
.
utils
.
table_to_sheet
(
document
.
getElementById
(
"exlBlock"
));
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
};
}
}
}
for
(
const
key
in
ws
)
{
if
(
key
===
"A1"
||
key
===
"A2"
||
key
===
"B1"
||
key
===
"C1"
||
key
===
"D1"
||
key
===
"E1"
||
key
===
"F1"
||
key
===
"G1"
||
key
===
"H1"
||
key
===
"I1"
||
key
===
"J1"
||
key
===
"K1"
||
key
===
"L1"
||
key
===
"M1"
||
key
===
"N1"
||
ws
[
key
].
v
===
"序号"
||
ws
[
key
].
v
===
"区域名称"
||
ws
[
key
].
v
===
"换热站名称"
||
ws
[
key
].
v
===
"年度"
||
ws
[
key
].
v
===
"居民(应供收费面积)"
||
ws
[
key
].
v
===
"大公建(应供建筑面积)"
||
ws
[
key
].
v
===
"小公建(应供建筑面积)"
||
ws
[
key
].
v
===
"收费面积"
||
ws
[
key
].
v
===
"停暖面积"
||
ws
[
key
].
v
===
"实供建筑面积"
||
ws
[
key
].
v
===
"停暖建筑面积"
||
ws
[
key
].
v
===
"应供建筑面积"
||
ws
[
key
].
v
===
"实供建筑面积C"
||
ws
[
key
].
v
===
"实供收费面积D"
||
ws
[
key
].
v
===
"计算面积"
)
{
ws
[
key
].
s
=
{
alignment
:
{
horizontal
:
"center"
,
vertical
:
"center"
,
},
border
:
{
bottom
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
left
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
right
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
top
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
},
fill
:
{
fgColor
:
{
rgb
:
"0097d5fd"
},
},
font
:
{
bold
:
true
,
family
:
2
,
size
:
12
,
},
};
}
}
ws
[
"!cols"
]
=
[{
wch
:
5
}];
XLSX
.
utils
.
sheet_add_aoa
(
ws
,
[],
{
origin
:
"A1"
,
});
XLSX
.
utils
.
book_append_sheet
(
workbook
,
ws
,
"面积统计报表"
);
const
excelBuffer
=
XLSX
.
write
(
workbook
,
{
bookType
:
"xlsx"
,
type
:
"array"
});
const
dataBlob
=
new
Blob
([
excelBuffer
],
{
type
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"
,
});
const
downloadUrl
=
URL
.
createObjectURL
(
dataBlob
);
saveAs
(
dataBlob
,
"面积统计报表.xlsx"
);
ElMessage
.
success
(
"导出成功!请稍后。。。"
);
}
//根据权限初始化单选列表
//根据权限初始化单选列表
function
initRadioList
()
{
function
initRadioList
()
{
var
result
=
store
.
getters
.
getEnterprise
();
var
result
=
store
.
getters
.
getEnterprise
();
...
@@ -219,7 +416,14 @@ function initRadioList() {
...
@@ -219,7 +416,14 @@ function initRadioList() {
}
}
function
postTransferAreaFun
()
{
function
postTransferAreaFun
()
{
console
.
log
(
enertyInfo
);
areaName
.
value
.
length
=
0
;
enertyInfo
.
jurisdictionIds
.
forEach
((
item
)
=>
{
options
.
forEach
((
item1
)
=>
{
if
(
item1
.
value
==
item
)
{
areaName
.
value
.
push
(
item1
.
lable
);
}
});
});
var
date
=
new
Date
();
var
date
=
new
Date
();
let
supplyYearSend
=
ref
();
let
supplyYearSend
=
ref
();
if
(
date
.
getMonth
()
+
1
<
7
)
{
if
(
date
.
getMonth
()
+
1
<
7
)
{
...
@@ -227,7 +431,7 @@ function postTransferAreaFun() {
...
@@ -227,7 +431,7 @@ function postTransferAreaFun() {
}
else
{
}
else
{
supplyYearSend
=
enertyInfo
.
supplyYear
.
split
(
"-"
)[
1
];
supplyYearSend
=
enertyInfo
.
supplyYear
.
split
(
"-"
)[
1
];
}
}
loading
.
value
=
true
;
let
params
=
{
let
params
=
{
jurisdictionIds
:
enertyInfo
.
jurisdictionIds
,
jurisdictionIds
:
enertyInfo
.
jurisdictionIds
,
supplyYear
:
supplyYearSend
,
supplyYear
:
supplyYearSend
,
...
@@ -252,13 +456,13 @@ function postTransferAreaFun() {
...
@@ -252,13 +456,13 @@ function postTransferAreaFun() {
}
else
{
}
else
{
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
loading
.
value
=
false
;
});
});
}
}
onMounted
(()
=>
{
onMounted
(()
=>
{
initRadioList
();
initRadioList
();
postTransferAreaFun
();
postTransferAreaFun
();
//postHeatForecastFun();
});
});
onUnmounted
(()
=>
{});
onUnmounted
(()
=>
{});
</
script
>
</
script
>
...
@@ -310,4 +514,20 @@ table.botList td {
...
@@ -310,4 +514,20 @@ table.botList td {
text-align: left;
text-align: left;
font-weight: bolder;
font-weight: bolder;
}
}
.exlBlock {
display: none;
}
@media print {
.printHidden {
display: none;
}
@page {
size: auto;
margin: 3mm;
}
body,
html {
height: auto !important;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/Report/ForecastPage.vue
View file @
c5af5f6a
This diff is collapsed.
Click to expand it.
src/views/Report/HeatAnalysisPage.vue
View file @
c5af5f6a
This diff is collapsed.
Click to expand it.
src/views/Report/RealAnalysisPage.vue
View file @
c5af5f6a
This diff is collapsed.
Click to expand it.
src/views/Report/TransferEnergyPage.vue
View file @
c5af5f6a
<
template
>
<
template
>
<div
class=
"contentBlock"
>
<div
<div
class=
"contentBlockInn"
>
class=
"contentBlock"
v-loading=
"loading"
element-loading-background=
"rgba(122, 122, 122, 0.6)"
>
<div
class=
"contentBlockInn"
id=
"printBlock"
>
<el-card
class=
"card-contianer"
>
<el-card
class=
"card-contianer"
>
<table
<table
cellpadding=
"0"
cellpadding=
"0"
cellspacing=
"1"
cellspacing=
"1"
style=
"background-color: #99bbe8"
style=
"background-color: #99bbe8"
empty-text=
"暂无数据"
>
>
<tr>
<tr>
<th
style=
"width: 25%"
>
起始时间
</th>
<th
style=
"width: 25%"
>
起始时间
</th>
...
@@ -39,7 +44,7 @@
...
@@ -39,7 +44,7 @@
</table>
</table>
</td>
</td>
<th
rowspan=
"3"
>
<th
rowspan=
"3"
>
<div>
<div
class=
"printHidden"
>
<div
class=
"btngrounp"
>
<div
class=
"btngrounp"
>
<el-button
<el-button
type=
"primary"
type=
"primary"
...
@@ -48,15 +53,16 @@
...
@@ -48,15 +53,16 @@
>
查询
</el-button
>
查询
</el-button
><el-button
><el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel
"
v-print=
"printObj
"
style=
"margin: 15px 0 0 10px"
style=
"margin: 15px 0 0 10px"
>
打印
</el-button
>
打印
</el-button
><el-button
>
<!--
<el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel"
@
click=
"exportTableToExcel"
style=
"margin: 15px 0 0 10px"
style=
"margin: 15px 0 0 10px"
>
打印预览
</el-button
>
打印预览
</el-button
>
>
-->
<el-button
<el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel"
@
click=
"exportTableToExcel"
...
@@ -84,7 +90,6 @@
...
@@ -84,7 +90,6 @@
v-for=
"(option, index) in options"
v-for=
"(option, index) in options"
:key=
"index"
:key=
"index"
:label=
"option.value"
:label=
"option.value"
:name=
"option"
>
>
{{
option
.
lable
}}
{{
option
.
lable
}}
</el-checkbox>
</el-checkbox>
...
@@ -111,6 +116,52 @@
...
@@ -111,6 +116,52 @@
</el-table>
</el-table>
</el-card>
</el-card>
</div>
</div>
<table
class=
"exlBlock"
id=
"exlBlock"
cellpadding=
"0"
cellspacing=
"1"
style=
"margin-top: 5px; background-color: #99bbe8"
>
<tr>
<td
colspan=
"2"
>
起始时间:
{{
enertyInfo
.
startTime
}}
</td>
<td
colspan=
"2"
>
结束时间:
{{
enertyInfo
.
endTime
}}
</td>
<td
colspan=
"2"
>
面积:
{{
enertyInfo
.
areaType
==
0
?
"计算面积"
:
"实供建筑面积"
}}
</td>
<td
colspan=
"5"
>
片区:
<span
v-for=
"item in areaName"
:key=
"item"
>
{{
item
}}
</span
>
</td>
</tr>
<tr>
<td>
序号
</td>
<td>
片区
</td>
<td>
换热站名称
</td>
<td>
面积
</td>
<td>
热量(GJ)
</td>
<td>
热耗(GJ/㎡)
</td>
<td>
热耗(W/㎡)
</td>
<td>
水量(T)
</td>
<td>
水耗(KG/㎡)
</td>
<td>
电量(KWH)
</td>
<td>
电量(KWH/㎡)
</td>
</tr>
<tr
v-for=
"item in tableData"
:key=
"item.sn"
>
<td>
{{
item
.
sn
}}
</td>
<td>
{{
item
.
jurisdictionName
}}
</td>
<td>
{{
item
.
transferName
}}
</td>
<td>
{{
item
.
area
}}
</td>
<td>
{{
item
.
heat
}}
</td>
<td>
{{
item
.
heatG
}}
</td>
<td>
{{
item
.
heatW
}}
</td>
<td>
{{
item
.
water
}}
</td>
<td>
{{
item
.
waterUsed
}}
</td>
<td>
{{
item
.
electric
}}
</td>
<td>
{{
item
.
electricUsed
}}
</td>
</tr>
</table>
</div>
</div>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
...
@@ -122,6 +173,8 @@ import { ElMessage } from "element-plus";
...
@@ -122,6 +173,8 @@ import { ElMessage } from "element-plus";
import
{
saveAs
}
from
"file-saver"
;
import
{
saveAs
}
from
"file-saver"
;
import
XLSX
from
"xlsx-js-style"
;
import
XLSX
from
"xlsx-js-style"
;
import
{
postTransferEnergy
}
from
"../../api/report"
;
import
{
postTransferEnergy
}
from
"../../api/report"
;
import
print
from
"vue3-print-nb"
;
const
loading
=
ref
(
false
);
const
radioTitle
=
ref
(
"供热站"
);
const
radioTitle
=
ref
(
"供热站"
);
const
options
=
reactive
([]);
const
options
=
reactive
([]);
const
enterpriseId
=
ref
(
null
);
const
enterpriseId
=
ref
(
null
);
...
@@ -133,29 +186,125 @@ const enertyInfo = reactive({
...
@@ -133,29 +186,125 @@ const enertyInfo = reactive({
startTime
:
null
,
startTime
:
null
,
endTime
:
null
,
endTime
:
null
,
});
});
function
timeFun
()
{
const
areaName
=
ref
([]);
var
date
=
new
Date
();
const
vPrint
=
print
;
var
year
=
date
.
getFullYear
();
const
printObj
=
{
var
dateArr
=
[
id
:
"printBlock"
,
date
.
getMonth
()
+
1
,
popTitle
:
"明日预测报表"
,
date
.
getDate
(),
extraHead
:
'<meta http-equiv="Content-Language"content="zh-cn"/>'
,
date
.
getHours
(),
zIndex
:
20002
,
date
.
getMinutes
(),
};
date
.
getSeconds
(),
function
exportTableToExcel
()
{
];
const
workbook
=
XLSX
.
utils
.
book_new
();
var
endTimeDay
=
parseInt
(
dateArr
[
1
]
-
1
);
var
ws
=
XLSX
.
utils
.
table_to_sheet
(
document
.
getElementById
(
"exlBlock"
));
if
(
endTimeDay
<
10
)
{
const
border
=
{
endTimeDay
=
"0"
+
endTimeDay
;
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
};
}
}
}
if
(
dateArr
[
0
]
<
10
)
{
dateArr
[
0
]
=
"0"
+
dateArr
[
0
];
}
}
if
(
dateArr
[
1
]
<
10
)
{
dateArr
[
1
]
=
"0"
+
dateArr
[
1
];
for
(
const
key
in
ws
)
{
if
(
key
===
"A1"
||
key
===
"A2"
||
key
===
"B1"
||
key
===
"C1"
||
key
===
"D1"
||
key
===
"E1"
||
key
===
"F1"
||
key
===
"G1"
||
ws
[
key
].
v
===
"序号"
||
ws
[
key
].
v
===
"片区"
||
ws
[
key
].
v
===
"换热站名称"
||
ws
[
key
].
v
===
"面积"
||
ws
[
key
].
v
===
"热量(GJ)"
||
ws
[
key
].
v
===
"热耗(GJ/㎡)"
||
ws
[
key
].
v
===
"热耗(W/㎡)"
||
ws
[
key
].
v
===
"水量(T)"
||
ws
[
key
].
v
===
"水耗(KG/㎡)"
||
ws
[
key
].
v
===
"电量(KWH)"
||
ws
[
key
].
v
===
"电量(KWH/㎡)"
)
{
ws
[
key
].
s
=
{
alignment
:
{
horizontal
:
"center"
,
vertical
:
"center"
,
},
border
:
{
bottom
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
left
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
right
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
top
:
{
color
:
"#000000"
,
style
:
"thin"
,
},
},
fill
:
{
fgColor
:
{
rgb
:
"0097d5fd"
},
},
font
:
{
bold
:
true
,
family
:
2
,
size
:
12
,
},
};
}
}
}
enertyInfo
.
startTime
=
year
+
"-"
+
dateArr
[
0
]
+
"-"
+
endTimeDay
;
enertyInfo
.
endTime
=
year
+
"-"
+
dateArr
[
0
]
+
"-"
+
dateArr
[
1
];
ws
[
"!cols"
]
=
[{
wch
:
5
}];
console
.
log
(
enertyInfo
);
XLSX
.
utils
.
sheet_add_aoa
(
ws
,
[],
{
origin
:
"A1"
,
});
XLSX
.
utils
.
book_append_sheet
(
workbook
,
ws
,
"换热站能耗报表"
);
const
excelBuffer
=
XLSX
.
write
(
workbook
,
{
bookType
:
"xlsx"
,
type
:
"array"
});
const
dataBlob
=
new
Blob
([
excelBuffer
],
{
type
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"
,
});
const
downloadUrl
=
URL
.
createObjectURL
(
dataBlob
);
saveAs
(
dataBlob
,
"换热站能耗报表.xlsx"
);
ElMessage
.
success
(
"导出成功!请稍后。。。"
);
}
function
timeFun
()
{
const
today
=
new
Date
();
const
preday
=
new
Date
(
today
);
preday
.
setDate
(
preday
.
getDate
()
-
1
);
today
.
setDate
(
today
.
getDate
());
enertyInfo
.
startTime
=
preday
.
toISOString
().
split
(
"T"
)[
0
];
enertyInfo
.
endTime
=
today
.
toISOString
().
split
(
"T"
)[
0
];
}
}
//根据权限初始化单选列表
//根据权限初始化单选列表
...
@@ -196,16 +345,31 @@ function initRadioList() {
...
@@ -196,16 +345,31 @@ function initRadioList() {
}
}
function
postTransferEnergyFun
()
{
function
postTransferEnergyFun
()
{
areaName
.
value
.
length
=
0
;
enertyInfo
.
jurisdictionIds
.
forEach
((
item
)
=>
{
options
.
forEach
((
item1
)
=>
{
if
(
item1
.
value
==
item
)
{
areaName
.
value
.
push
(
item1
.
lable
);
}
});
});
if
(
enertyInfo
.
startTime
==
null
)
{
if
(
enertyInfo
.
startTime
==
null
)
{
ElMessage
.
error
(
"请选择开始时间"
);
ElMessage
.
error
(
"请选择开始时间"
);
return
false
;
return
false
;
}
}
if
(
enertyInfo
.
endTime
==
null
)
{
ElMessage
.
error
(
"请选择结束时间"
);
return
false
;
}
loading
.
value
=
true
;
postTransferEnergy
(
enertyInfo
).
then
((
res
)
=>
{
postTransferEnergy
(
enertyInfo
).
then
((
res
)
=>
{
if
(
res
.
success
===
true
)
{
if
(
res
.
success
===
true
)
{
tableData
.
value
=
res
.
data
;
tableData
.
value
=
res
.
data
;
}
else
{
}
else
{
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
loading
.
value
=
false
;
});
});
}
}
...
@@ -232,7 +396,7 @@ function postPrintHeatForecastFun() {
...
@@ -232,7 +396,7 @@ function postPrintHeatForecastFun() {
onMounted
(()
=>
{
onMounted
(()
=>
{
timeFun
();
timeFun
();
initRadioList
();
initRadioList
();
postTransferEnergyFun
()
postTransferEnergyFun
()
;
//postHeatForecastFun();
//postHeatForecastFun();
});
});
onUnmounted
(()
=>
{});
onUnmounted
(()
=>
{});
...
@@ -285,4 +449,20 @@ table.botList td {
...
@@ -285,4 +449,20 @@ table.botList td {
text-align: left;
text-align: left;
font-weight: bolder;
font-weight: bolder;
}
}
.exlBlock {
display: none;
}
@media print {
.printHidden {
display: none;
}
@page {
size: auto;
margin: 3mm;
}
body,
html {
height: auto !important;
}
}
</
style
>
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment