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
00f525ab
Commit
00f525ab
authored
Aug 19, 2024
by
王亚晖
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://gitee.com/tj-wang-yahui/AMS_HeatSys_Vue_V10
parents
7fa491c4
2647dee0
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
866 additions
and
621 deletions
+866
-621
analysis.js
src/api/analysis.js
+14
-0
MyMenu.vue
src/components/MyMenu.vue
+31
-12
OverviewPage.vue
src/views/HandlerPage/OverviewPage.vue
+65
-56
TransferEnergyView.vue
src/views/HandlerPage/TransferEnergyView.vue
+41
-20
YOY.vue
src/views/HandlerPage/YOY.vue
+4
-8
AreaInfoPage.vue
src/views/Report/AreaInfoPage.vue
+18
-0
ForecastPage.vue
src/views/Report/ForecastPage.vue
+216
-205
HeatAnalysisPage.vue
src/views/Report/HeatAnalysisPage.vue
+295
-299
TransferEnergyPage.vue
src/views/Report/TransferEnergyPage.vue
+30
-17
home.vue
src/views/home.vue
+152
-4
No files found.
src/api/analysis.js
View file @
00f525ab
...
@@ -78,6 +78,20 @@ export const postSecTrafficUc = params => {
...
@@ -78,6 +78,20 @@ export const postSecTrafficUc = params => {
})
})
}
}
//板换效率趋势一
export
const
postFirEffiTrendUc
=
params
=>
{
return
http
.
post
(
`/api/analysis/external/FirEffiTrendUc`
,
params
).
then
(
res
=>
res
).
catch
(
function
(
error
)
{
console
.
log
(
error
);
})
}
//板换效率趋势二
export
const
postSecEffiTrendUc
=
params
=>
{
return
http
.
post
(
`/api/analysis/external/SecEffiTrendUc`
,
params
).
then
(
res
=>
res
).
catch
(
function
(
error
)
{
console
.
log
(
error
);
})
}
//热量分析报表
//热量分析报表
export
const
postHeatAnalysis
=
params
=>
{
export
const
postHeatAnalysis
=
params
=>
{
return
http
.
post
(
`/api/analysis/report/HeatAnalysis`
,
params
).
then
(
res
=>
res
).
catch
(
function
(
error
)
{
return
http
.
post
(
`/api/analysis/report/HeatAnalysis`
,
params
).
then
(
res
=>
res
).
catch
(
function
(
error
)
{
...
...
src/components/MyMenu.vue
View file @
00f525ab
<
template
>
<
template
>
<el-scrollbar>
<el-scrollbar>
<div
class=
"ams-el-menu"
>
<div
class=
"ams-el-menu"
>
<
!--
<
div
class=
"menu-search"
>
<div
class=
"menu-search"
>
<el-select
placement=
"bottom"
v-model=
"searchValue"
clearable
filterable
remote
reserve-keyword
<el-select
placement=
"bottom"
v-model=
"searchValue"
clearable
filterable
:placeholder=
"'请输入关键字搜索...'"
:remote-method=
"remoteMethod"
@
change=
"selectChange"
:loading=
"loading
"
>
:placeholder=
"'请输入关键字搜索...'"
@
change=
"save(searchValue)
"
>
<template
#
prefix
><i
class=
"el-icon-search"
></i></
template
>
<template
#
prefix
><i
class=
"el-icon-search"
></i></
template
>
<el-option
v-for=
"item in
menus"
:key=
"item.menuId"
:label=
"item.menuName"
:value=
"item.menuName
"
/>
<el-option
v-for=
"item in
options"
:key=
"item.menuId"
:label=
"item.menuName"
:value=
"item.navigateUrl
"
/>
</el-select>
</el-select>
</div>
-->
</div>
<el-menu
unique-opened
:collapse-transition=
'false'
:collapse=
'$store.state.iscollapse'
router
:default-active=
"defaultActive"
active-text-color=
"#409EFF"
background-color=
"#32363f"
text-color=
"#fff"
>
<el-menu
unique-opened
:collapse-transition=
'false'
:collapse=
'$store.state.iscollapse'
router
:default-active=
"defaultActive"
active-text-color=
"#409EFF"
background-color=
"#32363f"
text-color=
"#fff"
>
<!-- 一级菜单 -->
<!-- 一级菜单 -->
...
@@ -78,15 +78,28 @@
...
@@ -78,15 +78,28 @@
import
{
import
{
Menu
as
IconMenu
Menu
as
IconMenu
}
from
'@element-plus/icons-vue'
}
from
'@element-plus/icons-vue'
import
{
useRouter
}
from
'vue-router'
;
// const searchValue = ref('');
const
searchValue
=
ref
();
// const proxy = getCurrentInstance();
const
router
=
useRouter
();
// const props = defineProps(['meun', 'thisIndex']);
const
options
=
ref
([]);
// const emit = defineEmits(['subEvent']);
// const options = ref([]);
// const loading = ref(false);
const
store
=
useStore
()
const
store
=
useStore
()
setTimeout
(()
=>
{
getoptions
();
// 调用你的函数
},
2000
);
function
getoptions
(){
var
menus
=
store
.
state
.
menus
;
for
(
let
i
=
0
;
i
<
100
;
i
++
){
if
(
menus
[
i
]
===
undefined
)
break
;
for
(
let
j
=
0
;
j
<
100
;
j
++
){
if
(
menus
[
i
].
childs
[
j
]
===
undefined
)
break
;
options
.
value
.
push
(
menus
[
i
].
childs
[
j
])
}
}
}
//定义默认展开
//定义默认展开
let
defaultActive
=
ref
(
'/home'
)
let
defaultActive
=
ref
(
'/home'
)
...
@@ -116,4 +129,10 @@
...
@@ -116,4 +129,10 @@
window
.
sessionStorage
.
setItem
(
'activePath'
,
path
)
window
.
sessionStorage
.
setItem
(
'activePath'
,
path
)
}
}
const
save
=
(
routePath
)
=>
{
defaultActive
.
value
=
routePath
window
.
sessionStorage
.
setItem
(
'activePath'
,
routePath
)
router
.
push
({
path
:
routePath
});
}
</
script
>
</
script
>
\ No newline at end of file
src/views/HandlerPage/OverviewPage.vue
View file @
00f525ab
<
template
>
<
template
>
<div
<div
class=
"contentBlock"
id=
"contentBlock"
>
class=
"contentBlock"
id=
"contentBlock"
v-loading=
"loading"
element-loading-background=
"rgba(122, 122, 122, 0.6)"
>
<div
class=
"contentBlockInn"
v-if=
"pageInit"
>
<div
class=
"contentBlockInn"
v-if=
"pageInit"
>
<div
class=
"flexBlock"
>
<div
class=
"flexBlock"
>
<el-card
class=
"card-contianer"
style=
"width: 46%"
>
<el-card
class=
"card-contianer"
style=
"width: 46%"
>
...
@@ -85,6 +80,7 @@
...
@@ -85,6 +80,7 @@
style=
"width: 90%"
style=
"width: 90%"
format=
"YYYY-MM-DD HH:mm:ss"
format=
"YYYY-MM-DD HH:mm:ss"
time-format=
"HH:mm:ss"
time-format=
"HH:mm:ss"
unlink-panels
@
change=
"seltimeFun"
@
change=
"seltimeFun"
:disabled=
"selTimeF"
:disabled=
"selTimeF"
/>
/>
...
@@ -152,26 +148,34 @@
...
@@ -152,26 +148,34 @@
</table>
</table>
</el-card>
</el-card>
<el-card
class=
"card-contianer subTitBlockM"
style=
"width: 33%"
>
<el-card
class=
"card-contianer subTitBlockM"
style=
"width: 33%"
>
<div
v-if=
"gYCompanyEnergyInit"
>
<div
<div
style=
"font-size: 120%; text-align: center; font-weight: bolder"
style=
"
font-size: 120%;
text-align: center;
font-weight: bolder;
"
>
>
{{
gYCompanyEnergy
.
value
.
enterpriseName
}}
{{
gYCompanyEnergy
.
value
.
enterpriseName
}}
</div>
</div>
<table
cellpadding=
"0"
cellspacing=
"0
"
>
<table
cellpadding=
"0"
cellspacing=
"0"
style=
"margin-top: 15%
"
>
<tr>
<tr>
<td
style=
"width: 60px"
>
热耗
</td>
<td
style=
"width: 60px"
>
热耗
</td>
<td>
<td>
<div>
<div>
<span
<span
>
{{
gYCompanyEnergy
.
value
.
heatUc
.
toFixed
(
4
)
}}
W/㎡
</span
>
{{
gYCompanyEnergy
.
value
.
heatUc
.
toFixed
(
4
)
}}
W/㎡
</span
>
>
</div>
</div>
<!--
<div><span>
40W/㎡
</span></div>
-->
</td>
</td>
<td>
水耗
</td>
<td>
水耗
</td>
<td>
<td>
<span
<span
>
{{
gYCompanyEnergy
.
value
.
waterUc
.
toFixed
(
2
)
}}
kg/㎡
</span
>
{{
gYCompanyEnergy
.
value
.
waterUc
.
toFixed
(
2
)
}}
kg/㎡
</span
>
>
</td>
</td>
</tr>
</tr>
...
@@ -198,11 +202,14 @@
...
@@ -198,11 +202,14 @@
<td>
电耗
</td>
<td>
电耗
</td>
<td>
<td>
<span
<span
>
{{
gYCompanyEnergy
.
value
.
elecUc
.
toFixed
(
4
)
}}
WH/㎡
</span
>
{{
gYCompanyEnergy
.
value
.
elecUc
.
toFixed
(
4
)
}}
WH/㎡
</span
>
>
</td>
</td>
</tr>
</tr>
</table>
</table>
</div>
</el-card>
</el-card>
<el-card
class=
"card-contianer"
style=
"width: 33%"
>
<el-card
class=
"card-contianer"
style=
"width: 33%"
>
<div
class=
"echartLayer1"
id=
"echartLayer1"
></div>
<div
class=
"echartLayer1"
id=
"echartLayer1"
></div>
...
@@ -312,6 +319,7 @@ import {
...
@@ -312,6 +319,7 @@ import {
}
from
"../../api/overview"
;
}
from
"../../api/overview"
;
let
timerID
=
ref
();
let
timerID
=
ref
();
const
pageInit
=
ref
(
false
);
const
pageInit
=
ref
(
false
);
const
gYCompanyEnergyInit
=
ref
(
false
);
const
areaList
=
reactive
({
const
areaList
=
reactive
({
supplyYear
:
"2024-2025"
,
supplyYear
:
"2024-2025"
,
runDay
:
0
,
runDay
:
0
,
...
@@ -353,6 +361,7 @@ function postArealistFun() {
...
@@ -353,6 +361,7 @@ function postArealistFun() {
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
postGYPipeRealFun
();
postGYPipeRealFun
();
postGYCompanyEnergyFun
();
});
});
}
}
...
@@ -376,19 +385,19 @@ function postAllHeatFun() {
...
@@ -376,19 +385,19 @@ function postAllHeatFun() {
loading
.
value
=
false
;
loading
.
value
=
false
;
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
postGYCompanyEnergyFun
();
//postGYCompanyEnergyFun();
postGYWeatherFun
();
});
});
}
}
function
postGYCompanyEnergyFun
()
{
function
postGYCompanyEnergyFun
()
{
postGYCompanyEnergy
().
then
((
res
)
=>
{
postGYCompanyEnergy
(
params
).
then
((
res
)
=>
{
if
(
res
.
success
===
true
)
{
if
(
res
.
success
===
true
)
{
gYCompanyEnergy
.
value
=
res
.
data
[
0
];
gYCompanyEnergy
.
value
=
res
.
data
[
0
];
}
else
{
}
else
{
loading
.
value
=
false
;
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
postGYWeatherFun
()
;
gYCompanyEnergyInit
.
value
=
true
;
});
});
}
}
...
...
src/views/HandlerPage/TransferEnergyView.vue
View file @
00f525ab
...
@@ -88,28 +88,11 @@
...
@@ -88,28 +88,11 @@
<el-option
label=
"换热站板换效率"
:value=
"7"
/>
<el-option
label=
"换热站板换效率"
:value=
"7"
/>
<el-option
label=
"换热站二网均温"
:value=
"8"
/>
<el-option
label=
"换热站二网均温"
:value=
"8"
/>
<el-option
label=
"二网温差"
:value=
"9"
/>
<el-option
label=
"二网温差"
:value=
"9"
/>
<el-option
label=
"二网均温"
:value=
"8"
/>
<el-option
label=
"二网万平米流量"
:value=
"11"
/>
<el-option
label=
"二网万平米流量"
:value=
"11"
/>
<el-option
label=
"板换效率趋势一"
:value=
"12"
/>
<el-option
label=
"板换效率趋势二"
:value=
"13"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"用量环比类型"
v-show=
"energyTypeDis"
>
<el-select
v-model=
"enertyInfo.energyType"
placeholder=
"请选择"
>
<el-option
label=
"耗水"
:value=
"2"
/>
<el-option
label=
"耗热"
:value=
"3"
/>
<el-option
label=
"耗电"
:value=
"4"
/>
</el-select>
</el-form-item>
-->
<!--
<el-form-item>
<el-button
type=
"primary"
@
click=
"sendClick"
style=
"margin: 15px 0 0 0;"
>
查询
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"exportTableToExcel"
style=
"margin: 15px 0 0 0;"
>
导出表格
</el-button
>
</el-form-item>
-->
<div
style=
"position: absolute; right: 2%"
>
<div
style=
"position: absolute; right: 2%"
>
<el-button
<el-button
type=
"primary"
type=
"primary"
...
@@ -168,6 +151,8 @@ import {
...
@@ -168,6 +151,8 @@ import {
postSecAvgTUc
,
postSecAvgTUc
,
postSecAbsTUc
,
postSecAbsTUc
,
postSecTrafficUc
,
postSecTrafficUc
,
postFirEffiTrendUc
,
postSecEffiTrendUc
,
}
from
"../../api/analysis"
;
}
from
"../../api/analysis"
;
const
options
=
reactive
([]);
const
options
=
reactive
([]);
const
enterpriseId
=
ref
();
const
enterpriseId
=
ref
();
...
@@ -260,7 +245,7 @@ function exportTableToExcel() {
...
@@ -260,7 +245,7 @@ function exportTableToExcel() {
type
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"
,
type
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"
,
});
});
const
downloadUrl
=
URL
.
createObjectURL
(
dataBlob
);
const
downloadUrl
=
URL
.
createObjectURL
(
dataBlob
);
saveAs
(
dataBlob
,
"
tableData
.xlsx"
);
saveAs
(
dataBlob
,
"
换热站趋势图
.xlsx"
);
ElMessage
.
success
(
"导出成功!请稍后。。。"
);
ElMessage
.
success
(
"导出成功!请稍后。。。"
);
}
}
...
@@ -410,6 +395,12 @@ function sendClick() {
...
@@ -410,6 +395,12 @@ function sendClick() {
case
11
:
case
11
:
postSecTrafficUcFun
();
//二网万平米流量
postSecTrafficUcFun
();
//二网万平米流量
break
;
break
;
case
12
:
postFirEffiTrendUcFun
();
break
;
case
13
:
postSecEffiTrendUcFun
();
break
;
}
}
enertyTab
.
value
=
"能耗值("
+
company
.
value
+
")"
;
enertyTab
.
value
=
"能耗值("
+
company
.
value
+
")"
;
}
else
{
}
else
{
...
@@ -621,6 +612,36 @@ function postSecTrafficUcFun() {
...
@@ -621,6 +612,36 @@ function postSecTrafficUcFun() {
});
});
}
}
function
postFirEffiTrendUcFun
()
{
tabloading
.
value
=
true
;
postFirEffiTrendUc
(
enertyInfo
).
then
((
res
)
=>
{
echarts
.
dispose
(
document
.
getElementById
(
"echartsLayer"
));
if
(
res
.
success
===
true
)
{
pageInitFun
(
res
);
}
else
if
(
res
.
status
==
9
)
{
setInterval
(
function
()
{
tabloading
.
value
=
false
;
this
.
postFirEffiTrendUcFun
();
},
600000
);
}
});
}
function
postSecEffiTrendUcFun
()
{
tabloading
.
value
=
true
;
postSecEffiTrendUc
(
enertyInfo
).
then
((
res
)
=>
{
echarts
.
dispose
(
document
.
getElementById
(
"echartsLayer"
));
if
(
res
.
success
===
true
)
{
pageInitFun
(
res
);
}
else
if
(
res
.
status
==
9
)
{
setInterval
(
function
()
{
tabloading
.
value
=
false
;
this
.
postFirEffiTrendUcFun
();
},
600000
);
}
});
}
function
pageInitFun
(
res
)
{
function
pageInitFun
(
res
)
{
tableData
.
length
=
0
;
tableData
.
length
=
0
;
res
.
data
.
hourWater
.
forEach
((
element
)
=>
{
res
.
data
.
hourWater
.
forEach
((
element
)
=>
{
...
...
src/views/HandlerPage/YOY.vue
View file @
00f525ab
...
@@ -59,7 +59,6 @@
...
@@ -59,7 +59,6 @@
collapse-tags
collapse-tags
:show-all-levels=
"false"
:show-all-levels=
"false"
placeholder=
"请选择"
placeholder=
"请选择"
@
change=
"transferIdChange"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"开始月份"
v-show=
"enertyInfo.interval == 1"
>
<el-form-item
label=
"开始月份"
v-show=
"enertyInfo.interval == 1"
>
...
@@ -351,12 +350,6 @@ function getEnterprise() {
...
@@ -351,12 +350,6 @@ function getEnterprise() {
}
}
}
}
function
transferIdChange
()
{
// if (enertyInfo.transferId.length > 10) {
// ElMessage.error("换热机组最多只能选择10个");
// }
}
function
exportTableToExcel
()
{
function
exportTableToExcel
()
{
let
arr
=
[];
let
arr
=
[];
let
exlData
=
[];
let
exlData
=
[];
...
@@ -379,7 +372,6 @@ function exportTableToExcel() {
...
@@ -379,7 +372,6 @@ function exportTableToExcel() {
}
}
);
);
worksheet
[
"!cols"
]
=
[{
wch
:
20
},
{
wch
:
20
},
{
wch
:
20
},
{
wch
:
20
}];
worksheet
[
"!cols"
]
=
[{
wch
:
20
},
{
wch
:
20
},
{
wch
:
20
},
{
wch
:
20
}];
// worksheet["!rows"] = [{ hpx: 20 }];
worksheet
[
"A1"
].
s
=
{
worksheet
[
"A1"
].
s
=
{
fill
:
{
fill
:
{
...
@@ -513,6 +505,10 @@ function postExternalYOYFun() {
...
@@ -513,6 +505,10 @@ function postExternalYOYFun() {
ElMessage
.
error
(
"开始日期不能晚于或等于结束日期"
);
ElMessage
.
error
(
"开始日期不能晚于或等于结束日期"
);
return
false
;
return
false
;
}
}
if
((
endDay
.
value
-
startDay
.
value
)
>
6
)
{
ElMessage
.
error
(
"查询日期区间不能超过7天"
);
return
false
;
}
let
dayArr
=
[];
let
dayArr
=
[];
let
dayn
=
endDay
.
value
-
startDay
.
value
;
let
dayn
=
endDay
.
value
-
startDay
.
value
;
let
startDayn
=
startDay
.
value
;
let
startDayn
=
startDay
.
value
;
...
...
src/views/Report/AreaInfoPage.vue
View file @
00f525ab
...
@@ -118,7 +118,12 @@
...
@@ -118,7 +118,12 @@
<el-table
<el-table
:data=
"tableData"
:data=
"tableData"
empty-text=
"暂无数据"
empty-text=
"暂无数据"
class=
"eltable"
style=
"width: 100%; margin-top: 10px"
style=
"width: 100%; margin-top: 10px"
:summary-method=
"getSummaries"
show-summary
stripe
:header-cell-style=
"
{ backgroundColor: '#dfe8f6', color: '#213547' }"
>
>
<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>
...
@@ -530,4 +535,17 @@ table.botList td {
...
@@ -530,4 +535,17 @@ table.botList td {
height: auto !important;
height: auto !important;
}
}
}
}
.eltable {
height: 64vh;
}
@media (min-width: 1700px) {
.eltable {
height: 72vh;
}
}
@media (min-width: 2560px) {
.eltable {
height: 79vh;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/Report/ForecastPage.vue
View file @
00f525ab
...
@@ -13,58 +13,59 @@
...
@@ -13,58 +13,59 @@
style=
"background-color: #99bbe8"
style=
"background-color: #99bbe8"
>
>
<tr>
<tr>
<th
width=
"25%"
>
<th>
<span>
记录
时间
</span>
<span>
打印
时间
</span>
</th>
</th>
<th
style=
"text-align: left; background-color: #ffffff"
>
<th
style=
"text-align: left; background-color: #ffffff"
>
<el-config-provider
:locale=
"zhCn"
>
<el-config-provider
:locale=
"zhCn"
>
<el-date-picker
<el-date-picker
type=
"date
time
"
type=
"date"
value-format=
"YYYY-MM-DD
HH:mm:ss
"
value-format=
"YYYY-MM-DD"
placeholder=
"选择查询时间"
placeholder=
"选择查询时间"
style=
"width: 180px"
style=
"width: 180px"
v-model=
"enertyInfo.
query
Time"
v-model=
"enertyInfo.
print
Time"
/>
/>
</el-config-provider>
</el-config-provider>
</th>
</th>
<th
width=
"25%"
>
<th>
<el-button
<el-button
type=
"primary"
type=
"primary"
style=
"min-width: 70px"
style=
"min-width: 70px"
@
click=
"postHeatForecastFun"
class=
"printHidden"
class=
"printHidden"
v-show=
"printHidden"
v-show=
"printHidden"
>
历史查询
</el-button
@
click=
"postPrintHeatForecastFun"
>
打印查询
</el-button
>
>
</th>
</th>
</tr>
</tr>
<tr>
<tr>
<th>
<th
width=
"25%"
>
<span>
打印
时间
</span>
<span>
记录
时间
</span>
</th>
</th>
<th
style=
"text-align: left; background-color: #ffffff"
>
<th
style=
"text-align: left; background-color: #ffffff"
>
<el-config-provider
:locale=
"zhCn"
>
<el-config-provider
:locale=
"zhCn"
>
<el-date-picker
<el-date-picker
type=
"date"
type=
"date
time
"
value-format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD
HH:mm:ss
"
placeholder=
"选择查询时间"
placeholder=
"选择查询时间"
style=
"width: 180px"
style=
"width: 180px"
v-model=
"enertyInfo.
print
Time"
v-model=
"enertyInfo.
query
Time"
/>
/>
</el-config-provider>
</el-config-provider>
</th>
</th>
<th>
<th
width=
"25%"
>
<el-button
<el-button
type=
"primary"
type=
"primary"
style=
"min-width: 70px"
style=
"min-width: 70px"
@
click=
"postHeatForecastFun"
class=
"printHidden"
class=
"printHidden"
v-show=
"printHidden"
v-show=
"printHidden"
@
click=
"postPrintHeatForecastFun"
>
历史查询
</el-button
>
打印查询
</el-button
>
>
</th>
</th>
</tr>
</tr>
</table>
</table>
<div
class=
"overflowBlock"
>
<table
<table
cellpadding=
"0"
cellpadding=
"0"
cellspacing=
"1"
cellspacing=
"1"
...
@@ -248,6 +249,7 @@
...
@@ -248,6 +249,7 @@
<td>
领导:
</td>
<td>
领导:
</td>
</tr>
</tr>
</table>
</table>
</div>
<div>
<div>
<div
class=
"btngrounp printHidden"
v-show=
"printHidden"
>
<div
class=
"btngrounp printHidden"
v-show=
"printHidden"
>
<el-button
<el-button
...
@@ -720,7 +722,7 @@ function postPrintHeatForecastFun() {
...
@@ -720,7 +722,7 @@ function postPrintHeatForecastFun() {
weather
.
value
=
{};
weather
.
value
=
{};
dataList
.
value
=
{};
dataList
.
value
=
{};
dataTime
.
value
=
{};
dataTime
.
value
=
{};
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
"没有获取到打印记录"
);
}
}
loading
.
value
=
false
;
loading
.
value
=
false
;
});
});
...
@@ -765,12 +767,11 @@ onUnmounted(() => {});
...
@@ -765,12 +767,11 @@ onUnmounted(() => {});
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.contentBlock {
.contentBlock {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
background-color: #ffffff;
}
.overflowBlock {
width: 100%;
height: 60vh;
overflow: auto;
overflow: auto;
}
}
table {
table {
...
@@ -829,4 +830,14 @@ table.botList td {
...
@@ -829,4 +830,14 @@ table.botList td {
height: auto !important;
height: auto !important;
}
}
}
}
@media (min-width: 1700px) {
.overflowBlock {
height: 67vh;
}
}
@media (min-width: 2560px) {
.overflowBlock {
height: 100%;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/Report/HeatAnalysisPage.vue
View file @
00f525ab
...
@@ -40,10 +40,15 @@
...
@@ -40,10 +40,15 @@
@
click=
"postHeatAnalysisFun"
@
click=
"postHeatAnalysisFun"
>
历史查询
</el-button
>
历史查询
</el-button
>
>
<el-button
type=
"primary"
v-print=
"printObj"
>
打印
</el-button>
<el-button
type=
"primary"
@
click=
"exportTableToExcel"
>
导出
</el-button
>
</div>
</div>
</th>
</th>
</tr>
</tr>
</table>
</table>
<div
class=
"overflowBlock"
>
<table
<table
cellpadding=
"0"
cellpadding=
"0"
cellspacing=
"1"
cellspacing=
"1"
...
@@ -69,7 +74,9 @@
...
@@ -69,7 +74,9 @@
<tr>
<tr>
<th>
预测室外平均温度(℃)
</th>
<th>
预测室外平均温度(℃)
</th>
<td>
<td>
{{
predictionTemp
.
avgTemp
?
predictionTemp
.
avgTemp
:
"-"
}}
{{
predictionTemp
.
avgTemp
?
predictionTemp
.
avgTemp
:
"-"
}}
</td>
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -322,26 +329,6 @@
...
@@ -322,26 +329,6 @@
</tr>
</tr>
</
template
>
</
template
>
</table>
</table>
<div
class=
"printHidden"
>
<div
class=
"btngrounp"
>
<el-button
type=
"primary"
style=
"margin: 15px 0 0 0"
v-print=
"printObj"
>
打印
</el-button
>
<!--<el-button
type="primary"
style="margin: 15px 0 0 10px"
>打印预览</el-button
-->
<el-button
type=
"primary"
@
click=
"exportTableToExcel"
style=
"margin: 15px 0 0 10px"
>
导出
</el-button
>
</div>
</div>
</div>
</el-card>
</el-card>
</div>
</div>
...
@@ -877,12 +864,11 @@ onUnmounted(() => {});
...
@@ -877,12 +864,11 @@ onUnmounted(() => {});
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.contentBlock {
.contentBlock {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
background-color: #ffffff;
}
.overflowBlock {
width: 100%;
height: 68vh;
overflow: auto;
overflow: auto;
}
}
table {
table {
...
@@ -930,4 +916,14 @@ table td {
...
@@ -930,4 +916,14 @@ table td {
height: auto !important;
height: auto !important;
}
}
}
}
@media (min-width: 1700px) {
.overflowBlock {
height: 74vh;
}
}
@media (min-width: 2560px) {
.overflowBlock {
height: 100%;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/Report/TransferEnergyPage.vue
View file @
00f525ab
...
@@ -57,12 +57,6 @@
...
@@ -57,12 +57,6 @@
style=
"margin: 15px 0 0 10px"
style=
"margin: 15px 0 0 10px"
>
打印
</el-button
>
打印
</el-button
>
>
<!--
<el-button
type=
"primary"
@
click=
"exportTableToExcel"
style=
"margin: 15px 0 0 10px"
>
打印预览
</el-button
>
-->
<el-button
<el-button
type=
"primary"
type=
"primary"
@
click=
"exportTableToExcel"
@
click=
"exportTableToExcel"
...
@@ -97,7 +91,15 @@
...
@@ -97,7 +91,15 @@
</td>
</td>
</tr>
</tr>
</table>
</table>
<el-table
:data=
"tableData"
style=
"width: 100%; margin-top: 10px"
>
<el-table
:data=
"tableData"
style=
"width: 100%; margin-top: 10px"
class=
"eltable"
:summary-method=
"getSummaries"
show-summary
stripe
:header-cell-style=
"
{ backgroundColor: '#dfe8f6', color: '#213547' }"
>
<el-table-column
prop=
"sn"
label=
"序号"
width=
"60"
align=
"center"
/>
<el-table-column
prop=
"sn"
label=
"序号"
width=
"60"
align=
"center"
/>
<el-table-column
prop=
"jurisdictionName"
label=
"片区"
/>
<el-table-column
prop=
"jurisdictionName"
label=
"片区"
/>
<el-table-column
prop=
"transferName"
label=
"换热站名称"
/>
<el-table-column
prop=
"transferName"
label=
"换热站名称"
/>
...
@@ -121,7 +123,7 @@
...
@@ -121,7 +123,7 @@
id=
"exlBlock"
id=
"exlBlock"
cellpadding=
"0"
cellpadding=
"0"
cellspacing=
"1"
cellspacing=
"1"
style=
"margin-top: 5px
; background-color: #99bbe8
"
style=
"margin-top: 5px"
>
>
<tr>
<tr>
<td
colspan=
"2"
>
起始时间:
{{
enertyInfo
.
startTime
}}
</td>
<td
colspan=
"2"
>
起始时间:
{{
enertyInfo
.
startTime
}}
</td>
...
@@ -302,8 +304,7 @@ function timeFun() {
...
@@ -302,8 +304,7 @@ function timeFun() {
const
preday
=
new
Date
(
today
);
const
preday
=
new
Date
(
today
);
preday
.
setDate
(
preday
.
getDate
()
-
1
);
preday
.
setDate
(
preday
.
getDate
()
-
1
);
today
.
setDate
(
today
.
getDate
());
today
.
setDate
(
today
.
getDate
());
enertyInfo
.
startTime
=
enertyInfo
.
startTime
=
preday
.
toISOString
().
split
(
"T"
)[
0
];
preday
.
toISOString
().
split
(
"T"
)[
0
];
enertyInfo
.
endTime
=
today
.
toISOString
().
split
(
"T"
)[
0
];
enertyInfo
.
endTime
=
today
.
toISOString
().
split
(
"T"
)[
0
];
}
}
...
@@ -365,7 +366,12 @@ function postTransferEnergyFun() {
...
@@ -365,7 +366,12 @@ function postTransferEnergyFun() {
loading
.
value
=
true
;
loading
.
value
=
true
;
postTransferEnergy
(
enertyInfo
).
then
((
res
)
=>
{
postTransferEnergy
(
enertyInfo
).
then
((
res
)
=>
{
if
(
res
.
success
===
true
)
{
if
(
res
.
success
===
true
)
{
tableData
.
value
=
res
.
data
;
res
.
data
.
forEach
((
item
,
index
)
=>
{
item
.
area
=
item
.
area
.
toFixed
(
4
);
if
(
item
.
transferName
!=
"总计"
)
{
tableData
.
value
.
push
(
item
);
}
});
}
else
{
}
else
{
ElMessage
.
error
(
res
.
message
);
ElMessage
.
error
(
res
.
message
);
}
}
...
@@ -403,13 +409,7 @@ onUnmounted(() => {});
...
@@ -403,13 +409,7 @@ onUnmounted(() => {});
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.contentBlock {
.contentBlock {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
background-color: #ffffff;
overflow: auto;
}
}
table {
table {
width: 100%;
width: 100%;
...
@@ -465,4 +465,17 @@ table.botList td {
...
@@ -465,4 +465,17 @@ table.botList td {
height: auto !important;
height: auto !important;
}
}
}
}
.eltable {
height: 60vh;
}
@media (min-width: 1700px) {
.eltable {
height: 68vh;
}
}
@media (min-width: 2560px) {
.eltable {
height: 76vh;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/home.vue
View file @
00f525ab
<
template
>
<
template
>
<div
id=
"ams-container"
>
<div
id=
"ams-container"
@
click=
"closeContextMenu"
>
<div
class=
"ams-aside"
:style=
"
{ width: menuWidth + 'px' }">
<div
class=
"ams-aside"
:style=
"
{ width: menuWidth + 'px' }">
<div
class=
"header"
:style=
"
{ width: menuWidth - 1 + 'px' }">
<div
class=
"header"
:style=
"
{ width: menuWidth - 1 + 'px' }">
<img
<img
...
@@ -292,6 +292,7 @@
...
@@ -292,6 +292,7 @@
class=
"demo-tabs mytab"
class=
"demo-tabs mytab"
@
tab-remove=
"removeTab"
@
tab-remove=
"removeTab"
@
tab-change=
"changeTabsHandle"
@
tab-change=
"changeTabsHandle"
@
contextmenu
.
prevent
.
native=
"openContextMenu($event)"
>
>
<el-tab-pane
<el-tab-pane
:closable=
"item.path !== '/RealSupply'"
:closable=
"item.path !== '/RealSupply'"
...
@@ -302,6 +303,16 @@
...
@@ -302,6 +303,16 @@
>
>
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
<ul
v-show=
"contextMenuVisible"
:style=
"{left:left+'px',top:top+'px'}"
class=
"contextmenu"
>
<li
@
click=
"closeAllTabs"
>
关闭所有
</li>
<li
@
click=
"closeLeftTabs()"
>
关闭左边
</li>
<li
@
click=
"closeRigthTabs()"
>
关闭右边
</li>
<li
@
click=
"closeOtherTabs()"
>
关闭其他
</li>
</ul>
</div>
</div>
<div
:style=
"{ height: mainHeight + 'px' }"
>
<div
:style=
"{ height: mainHeight + 'px' }"
>
<!--, width: mainWidth +'px' -->
<!--, width: mainWidth +'px' -->
...
@@ -353,6 +364,29 @@
...
@@ -353,6 +364,29 @@
background-color
:
#0065d5
;
background-color
:
#0065d5
;
color
:
#ffffff
;
color
:
#ffffff
;
}
}
.contextmenu
{
width
:
100px
;
margin
:
0
;
border
:
1px
solid
#ccc
;
background
:
#fff
;
z-index
:
3000
;
position
:
absolute
;
list-style-type
:
none
;
padding
:
5px
0
;
border-radius
:
4px
;
font-size
:
14px
;
color
:
#333
;
box-shadow
:
2px
2px
3px
0
rgba
(
0
,
0
,
0
,
0.2
);
}
.contextmenu
li
{
margin
:
0
;
padding
:
7px
16px
;
}
.contextmenu
li
:hover
{
background
:
#f2f2f2
;
cursor
:
pointer
;
}
</
style
>
</
style
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
...
@@ -607,7 +641,6 @@ export default defineComponent({
...
@@ -607,7 +641,6 @@ export default defineComponent({
//标签删除函数
//标签删除函数
const
removeTab
=
(
path
)
=>
{
const
removeTab
=
(
path
)
=>
{
console
.
log
(
path
);
let
isTabs
=
activeTable
.
value
;
let
isTabs
=
activeTable
.
value
;
const
tabs
=
editableTabs
.
value
;
const
tabs
=
editableTabs
.
value
;
//删除的是 激活菜单,将激活选项设为 上一个或下一个标签的 path
//删除的是 激活菜单,将激活选项设为 上一个或下一个标签的 path
...
@@ -799,7 +832,7 @@ export default defineComponent({
...
@@ -799,7 +832,7 @@ export default defineComponent({
http
http
.
post
(
"/api/alarm/GetAlarmMsg"
,
AlarmInfo
.
value
,
false
)
.
post
(
"/api/alarm/GetAlarmMsg"
,
AlarmInfo
.
value
,
false
)
.
then
((
result
)
=>
{
.
then
((
result
)
=>
{
if
(
result
.
data
!==
null
&&
sta
.
value
===
0
)
{
if
(
result
.
data
.
lenth
===
0
&&
sta
.
value
===
0
)
{
sta
.
value
=
1
;
sta
.
value
=
1
;
title
.
value
=
result
.
data
[
0
].
title
;
title
.
value
=
result
.
data
[
0
].
title
;
msg
.
value
=
result
.
data
[
0
].
msg
;
msg
.
value
=
result
.
data
[
0
].
msg
;
...
@@ -832,7 +865,7 @@ export default defineComponent({
...
@@ -832,7 +865,7 @@ export default defineComponent({
}
}
function
countalarm
()
{
function
countalarm
()
{
http
.
post
(
"/api/alarm/GetAlarmMsg"
,
AlarmInfo
.
value
).
then
((
result
)
=>
{
http
.
post
(
"/api/alarm/GetAlarmMsg"
,
AlarmInfo
.
value
).
then
((
result
)
=>
{
if
(
result
.
data
!==
null
&&
consta
.
value
===
0
)
{
if
(
result
.
data
.
lenth
===
0
&&
consta
.
value
===
0
)
{
consta
.
value
=
1
;
consta
.
value
=
1
;
counttitle
.
value
=
result
.
data
[
1
].
title
;
counttitle
.
value
=
result
.
data
[
1
].
title
;
countmsg
.
value
=
result
.
data
[
1
].
msg
;
countmsg
.
value
=
result
.
data
[
1
].
msg
;
...
@@ -921,6 +954,113 @@ export default defineComponent({
...
@@ -921,6 +954,113 @@ export default defineComponent({
}
}
getuserdata
();
getuserdata
();
var
left
=
ref
();
var
top
=
ref
();
var
currentContextTabId
=
ref
();
//标签右击事件
function
openContextMenu
(
e
)
{
if
(
e
.
srcElement
.
id
)
{
currentContextTabId
.
value
=
e
.
srcElement
.
id
.
split
(
"-"
)[
1
];
contextMenuVisible
.
value
=
true
;
// this.$store.commit("saveCurContextTabId", currentContextTabId);
left
.
value
=
e
.
clientX
-
200
;
top
.
value
=
e
.
clientY
-
70
;
}
}
// 关闭所有标签页
function
closeAllTabs
()
{
editableTabs
.
value
=
[
{
title
:
"首页-实时热源"
,
path
:
"/RealSupply"
,
},
];
//本地存储
window
.
sessionStorage
.
setItem
(
"tabList"
,
JSON
.
stringify
(
editableTabs
.
value
)
);
//路由跳转
router
.
push
(
'/RealSupply'
);
contextMenuVisible
.
value
=
false
;
}
// 关闭其它标签页
function
closeOtherTabs
()
{
editableTabs
.
value
=
editableTabs
.
value
.
filter
(
(
item
)
=>
item
.
path
===
currentContextTabId
.
value
||
item
.
path
===
'/RealSupply'
);
//本地存储
window
.
sessionStorage
.
setItem
(
"tabList"
,
JSON
.
stringify
(
editableTabs
.
value
)
);
//路由跳转
router
.
push
(
currentContextTabId
.
value
);
contextMenuVisible
.
value
=
false
;
}
// 关闭contextMenu
function
closeContextMenu
()
{
contextMenuVisible
.
value
=
false
;
}
// 关闭左侧标签页
function
closeLeftTabs
()
{
let
isTabs
=
currentContextTabId
.
value
;
const
tabs
=
editableTabs
.
value
;
tabs
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
path
==
currentContextTabId
.
value
)
{
//找到了需要删除的菜单
//获取上一个或下一个标签
const
nextTab
=
tabs
[
index
-
1
];
if
(
nextTab
&&
nextTab
.
path
==
activeTable
.
value
){
activeTable
.
value
=
'/RealSupply'
;
}
if
(
nextTab
)
{
isTabs
=
nextTab
.
path
;
}
}
});
editableTabs
.
value
=
editableTabs
.
value
.
filter
(
(
item
)
=>
item
.
path
!=
isTabs
||
item
.
path
===
'/RealSupply'
);
//本地存储
window
.
sessionStorage
.
setItem
(
"tabList"
,
JSON
.
stringify
(
editableTabs
.
value
)
);
//路由跳转
router
.
push
(
activeTable
.
value
);
contextMenuVisible
.
value
=
false
;
}
// 关闭右侧标签页
function
closeRigthTabs
()
{
let
isTabs
=
activeTable
.
value
;
const
tabs
=
editableTabs
.
value
;
tabs
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
path
==
currentContextTabId
.
value
)
{
//找到了需要删除的菜单
//获取上一个或下一个标签
const
nextTab
=
tabs
[
index
+
1
];
if
(
nextTab
&&
nextTab
.
path
==
activeTable
.
value
){
activeTable
.
value
=
'/RealSupply'
;
}
if
(
nextTab
)
{
isTabs
=
nextTab
.
path
;
editableTabs
.
value
=
editableTabs
.
value
.
filter
(
(
item
)
=>
item
.
path
!=
isTabs
||
item
.
path
===
'/RealSupply'
);
}
}
});
//本地存储
window
.
sessionStorage
.
setItem
(
"tabList"
,
JSON
.
stringify
(
editableTabs
.
value
)
);
//路由跳转
router
.
push
(
activeTable
.
value
);
contextMenuVisible
.
value
=
false
;
}
return
{
return
{
menuWidth
,
menuWidth
,
mainHeight
,
mainHeight
,
...
@@ -958,6 +1098,14 @@ export default defineComponent({
...
@@ -958,6 +1098,14 @@ export default defineComponent({
showenterpriseName
,
showenterpriseName
,
savepass
,
savepass
,
funsel
,
funsel
,
openContextMenu
,
left
,
top
,
closeAllTabs
,
closeOtherTabs
,
closeContextMenu
,
closeRigthTabs
,
closeLeftTabs
};
};
},
},
methods
:
{
methods
:
{
...
...
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