Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
E
energyai_vue
Project
Project
Details
Activity
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
葛齐林
energyai_vue
Commits
ffc8e0e8
Commit
ffc8e0e8
authored
Apr 02, 2021
by
xiexingan
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
46ed3c31
c80d713d
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1248 additions
and
313 deletions
+1248
-313
public.scss
src/assets/style/public.scss
+38
-0
energy_text.png
src/layout/header-aside/imgs/energy_text.png
+0
-0
head_bg.png
src/layout/header-aside/imgs/head_bg.png
+0
-0
layout.vue
src/layout/header-aside/layout.vue
+110
-64
page.vue
src/pages/analysis/energy/page.vue
+65
-34
cardList.vue
src/pages/components/cardList.vue
+8
-1
enTable.vue
src/pages/components/enTable.vue
+37
-6
enTabs.vue
src/pages/components/enTabs.vue
+84
-0
energyTotalCharts.vue
src/pages/components/energyTotalCharts.vue
+0
-0
myPies.vue
src/pages/components/myPies.vue
+1
-0
hallModal.vue
src/pages/eq/hall/components/hallModal.vue
+33
-0
page.vue
src/pages/eq/hall/page.vue
+59
-23
config.js
src/pages/eq/office/config.js
+355
-0
page.vue
src/pages/eq/office/page.vue
+192
-154
page.vue
src/pages/home/page.vue
+12
-9
historyDataModal.vue
src/pages/kb/power/components/historyDataModal.vue
+78
-0
statisticPicTableModal.vue
src/pages/kb/power/components/statisticPicTableModal.vue
+92
-0
page.vue
src/pages/kb/power/page.vue
+84
-22
No files found.
src/assets/style/public.scss
View file @
ffc8e0e8
...
...
@@ -153,3 +153,41 @@ $el-bg-color-4: #F2F6FC;
.theme-d2
.d2-theme-container
.d2-theme-container-aside
.d2-layout-header-aside-menu-side
>
.el-menu
>
.el-menu-item
:first-child
{
background
:
transparent
;
}
.en-tabs
{
.el-tabs__header
{
margin
:
0
;
}
.el-tabs__active-bar
{
bottom
:
-1px
;
}
.
el-tabs__nav-wrap
:
:
after
{
height
:
0
;
}
.el-tabs__nav-wrap
{
background
:
#f2f4f5
;
.el-tabs__nav
{
border-bottom
:
1px
solid
#e5e9ec
;
}
}
.el-tabs__header
{
border
:
1px
solid
#e5e9ec
;
}
.el-tabs__item
:nth-child
(
2
)
{
padding
:
0
30px
!
important
;
}
.el-tabs__item
:last-child
{
padding
:
0
30px
!
important
;
}
.el-tabs__item.is-active
{
background
:
#fff
;
}
}
src/layout/header-aside/imgs/energy_text.png
0 → 100644
View file @
ffc8e0e8
8.89 KB
src/layout/header-aside/imgs/head_bg.png
0 → 100644
View file @
ffc8e0e8
24.5 KB
src/layout/header-aside/layout.vue
View file @
ffc8e0e8
<
template
>
<div
class=
"d2-layout-header-aside-group"
:style=
"styleLayoutMainGroup"
:class=
"
{ grayMode: grayActive }">
<div
class=
"d2-layout-header-aside-group"
:style=
"styleLayoutMainGroup"
:class=
"
{ grayMode: grayActive }"
>
<!-- 半透明遮罩 -->
<div
class=
"d2-layout-header-aside-mask"
></div>
<!-- 主体内容 -->
<div
class=
"d2-layout-header-aside-content"
flex=
"dir:top"
>
<!-- 顶栏 -->
<div
class=
"d2-theme-header"
flex-box=
"0"
flex
>
<div
class=
"logo-group"
:style=
"
{width: asideWidth}" flex-box="0
">
<img
src=
"./imgs/train.png"
>
<img
src=
"./imgs/logo2x.png"
>
<div
class=
"logo-group"
flex-box=
"0"
style=
"margin-left:30px
"
>
<img
src=
"./imgs/train.png"
style=
"width:50px;height:50px"
/
>
<img
src=
"./imgs/energy_text.png"
/
>
</div>
<div
style=
'width:100%;'
>
<div
style=
"width: 100%"
>
<div
flex-box=
"1"
></div>
<!-- 顶栏右侧 -->
<div
class=
"d2-header-right"
>
<div
class=
"time-container"
>
<div
class=
"time-container"
style=
"padding-right: 26px; text-align: unset"
>
<div
class=
"current-time"
>
{{
time
|
formatDate
}}
</div>
<div
class=
"current-date"
>
{{
time
|
formatDate2
}}
</div>
</div>
<div
class=
"weather-container"
>
<div
class=
"user-img"
>
室内
</div>
<div
class=
"weather-info"
>
<!--
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
-->
<span>
温度 20℃
</span>
<span>
湿度 60%
</span>
<div
class=
"subway-container"
style=
"margin-right:43px"
>
<div
class=
"subway-info"
style=
"transform: rotate(180deg)"
>
<!--
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
-->
</div>
<div
style=
"display: flex; position: absolute"
>
<div
style=
"
background: #fff;
position: relative;
top: -1px;
left: -17px;
text-align: center;
font-size: 12px;
width: 35px;
height: 35px;
border-radius: 50%;
line-height: 35px;
"
>
室内
</div>
<div
class=
"weather-container"
>
<div
class=
"user-img"
>
室外
</div>
<div
class=
"weather-info"
>
<!--
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
-->
<span>
温度 20℃
</span>
<span>
湿度 60%
</span>
<div
style=
"
font-size: 12px;
color: #fff;
position: relative;
left: -8px;
"
>
<div>
温度:20℃
</div>
<div>
湿度:60%
</div>
</div>
</div>
<!--
<d2-header-theme
/>
-->
<!--
<el-badge
class=
"msg-img"
:value=
"countNum == 0 ? '' : countNum > 99 ? '99+' : countNum"
type=
"danger"
>
<div
title=
"报警中心"
style=
"cursor: pointer"
@
click=
"toAlarms"
>
<img
src=
"./imgs/msg.png"
/>
</div>
</el-badge>
-->
<d2-header-user
/>
<div
title=
"退出"
class=
"msg-img"
style=
"cursor: pointer;"
@
click=
"logOff"
>
<img
src=
"./imgs/out.png"
/>
<div
class=
"subway-container"
>
<div
class=
"subway-info"
style=
"transform: rotate(180deg)"
>
<!--
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
-->
</div>
<div
style=
"display: flex; position: absolute"
>
<div
style=
"
background: #fff;
position: relative;
top: -1px;
left: -17px;
text-align: center;
font-size: 12px;
width: 35px;
height: 35px;
border-radius: 50%;
line-height: 35px;
"
>
室外
</div>
<div
style=
"
font-size: 12px;
color: #fff;
position: relative;
left: -8px;
"
>
<div>
晴:20℃
</div>
<div>
湿度:60%
</div>
</div>
</div>
</div>
</div>
</div>
...
...
@@ -50,10 +103,15 @@
<!-- 下面 主体 -->
<div
class=
"d2-theme-container"
flex-box=
"1"
flex
>
<!-- 主体 侧边栏 -->
<div
flex-box=
"0"
ref=
"aside"
class=
"d2-theme-container-aside"
:style=
"
{
width:asideWidth,
opacity: this.searchActive ? 0.5 : 1
}">
<div
flex-box=
"0"
ref=
"aside"
class=
"d2-theme-container-aside"
:style=
"
{
width: asideWidth,
opacity: this.searchActive ? 0.5 : 1,
}"
>
<d2-menu-side
/>
</div>
<!-- 主体 -->
...
...
@@ -72,7 +130,7 @@
</transition>
</div>
</div>
<div
style=
"z-index:
9999!important;user-select:none;
"
class=
"mfooter"
>
<div
style=
"z-index:
9999 !important; user-select: none
"
class=
"mfooter"
>
Copyright (C) 2009-2010. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1
电话:86-028-689XXXX 传真:86-028-6893XXXX
</div>
...
...
@@ -92,7 +150,6 @@ export default {
'd2-menu-header'
:
()
=>
import
(
'./components/menu-header'
),
'd2-header-theme'
:
()
=>
import
(
'./components/header-theme'
),
'd2-header-user'
:
()
=>
import
(
'./components/header-user'
)
},
data
()
{
return
{
...
...
@@ -222,8 +279,8 @@ export default {
}
.time-container
{
width
:
93px
;
text-align
:
center
;
//
border:1px solid red;
text-align
:
right
;
//
border:1px solid red;
padding
:
2px
;
.current-time
{
font-size
:
18px
;
...
...
@@ -241,24 +298,17 @@ export default {
margin-right
:
10px
;
img
{
width
:
37px
;
height
:
3
7
px
;
height
:
3
6
px
;
vertical-align
:
middle
;
}
}
.
weather
-container
{
.
subway
-container
{
display
:
flex
;
align-items
:
center
;
margin-right
:
10px
;
.user-img
{
width
:
37px
;
height
:
36px
;
line-height
:
37px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#A0A8B4
;
border
:
1px
solid
#A0A8B4
;
border-radius
:
50%
;
img
{
width
:
37px
;
height
:
36px
;
...
...
@@ -266,17 +316,18 @@ export default {
}
}
.
weather
-info
{
width
:
90
px
;
.
subway
-info
{
width
:
84
px
;
height
:
36px
;
border
:
1px
solid
;
border-color
:
#A0A8B4
#A0A8B4
#A0A8B4
transparent
;
border-top-right-radius
:
5px
;
border-bottom-right-radius
:
5px
;
transform
:
translateX
(
-19px
);
background
:
url(./imgs/subwayBg.png)
;
background-size
:
100%
100%
;
transform
:
translateX
(
12px
);
text-align
:
right
;
span
{
display
:
inline-block
;
text-indent
:
25px
;
height
:
36px
;
padding-top
:
2px
;
padding-right
:
16px
;
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
...
...
@@ -316,17 +367,12 @@ export default {
.d2-layout-header-aside-group
.d2-layout-header-aside-content
.d2-theme-header
.logo-group
{
height
:
36px
;
width
:
300px
;
display
:
flex
;
.logo-group
img
{
padding-left
:
20px
;
height
:
36px
;
&
:last-child
{
padding-left
:
10px
;
}
}
height
:
40px
;
padding
:
0
20px
0
10px
;
width
:
300px
;
vertical-align
:
middle
;
}
.mfooter
{
...
...
src/pages/analysis/energy/page.vue
View file @
ffc8e0e8
...
...
@@ -2,27 +2,53 @@
<div
class=
"energy-page"
>
<cardList
cardListTitle=
"能耗数据分析"
>
<div
slot=
"right"
>
<span
<
!--
<
span
:class=
"activeIndex === index ? 'active-hight-linght' : ''"
class=
"date-text"
@
click=
"activehandle(item, index)"
v-for=
"(item, index) in dateList"
:key=
"item.value"
>
{{
item
.
label
}}
</span
>
>
-->
<!--
<el-date-picker
size=
"mini"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
-->
<!--
</el-date-picker>
-->
<!--
<i
style=
" padding-left:20px;padding-right: 20px;color:#21acfc"
class=
"el-icon-s-unfold"
></i>
-->
<!--
<i
class=
"el-icon-printer"
style=
"color:#21acfc"
></i>
-->
<el-button
size=
"mini"
type=
"primary"
@
click=
"toPowerPage"
>
图形/列表
</el-button>
</div>
<div
slot=
"content"
>
<div
>
<!--
<enTabs
:tabList=
"energyTabList"
></enTabs>
-->
<el-tabs
class=
"en-tabs"
v-model=
"activetap"
>
<el-row
style=
"padding-top:15px"
>
<el-col
:span=
"10"
>
<span>
时间范围:
</span>
<el-date-picker
size=
"mini"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
<i
style=
" padding-left:20px;padding-right: 20px;color:#21acfc"
class=
"el-icon-s-unfold"
></i>
<i
class=
"el-icon-printer"
style=
"color:#21acfc"
></i>
</div>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<div
style=
"margin-bottom: 20px"
>
<enTabs
:tabList=
"energyTabList"
></enTabs>
</el-col>
<el-col
:span=
"4"
>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-search"
>
查询
</el-button>
</el-col>
</el-row>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in energyTabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
</div>
<el-row>
<el-col
:span=
"24"
>
...
...
@@ -35,20 +61,21 @@
</
template
>
<
script
>
import
cardList
from
"../../
home/compont
ents/cardList"
;
import
enTabs
from
'../../eq/hall/components/enTabs'
import
cardList
from
"../../
compon
ents/cardList"
;
import
enTabs
from
"../../components/enTabs"
;
// import enTable from '../../eq/hall/components/enTable'
import
energyChart
from
'../../home/compontents/energyTotalCharts'
import
energyChart
from
"../../components/energyTotalCharts"
;
export
default
{
name
:
"energypage"
,
components
:
{
cardList
,
enTabs
,
energyChart
energyChart
,
},
data
()
{
return
{
activeIndex
:
1
,
activetap
:
"01"
,
dateList
:
[
// {
// value: "01",
...
...
@@ -71,7 +98,7 @@ export default {
label
:
"全年"
,
},
],
energyTabList
:[
energyTabList
:
[
{
value
:
"01"
,
label
:
"全部"
,
...
...
@@ -88,23 +115,27 @@ export default {
value
:
"04"
,
label
:
" 多联新风"
,
},
]
]
,
};
},
methods
:
{
activehandle
(
item
,
index
)
{
this
.
activeIndex
=
index
;
},
toPowerPage
(){
this
.
$router
.
push
({
path
:
'/kb/power'
})
},
},
};
</
script
>
<
style
lang=
"scss"
>
.energy-page
{
padding
:
10px
10px
40px
10px
;
.el-input__inner
{
// height: 30px;
}
.energy-page
{
height
:
100%
;
padding
:
0px
0px
40px
0px
;
.date-text
{
padding-right
:
20px
;
font-size
:
14px
;
...
...
@@ -116,5 +147,5 @@ export default {
.active-hight-linght
{
color
:
#21acfc
;
}
}
}
</
style
>
src/pages/
home/compont
ents/cardList.vue
→
src/pages/
compon
ents/cardList.vue
View file @
ffc8e0e8
...
...
@@ -6,9 +6,11 @@
<slot
name=
"right"
/>
</div>
</div>
<div
class=
"card-list-content"
>
<slot
name=
"content"
/>
</div>
</div>
</
template
>
<
script
>
...
...
@@ -30,6 +32,7 @@ export default {
width
:
100%
;
height
:
100%
;
background
:
#fff
;
box-shadow
:
0px
0px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
&
-line
{
display
:
flex
;
justify-content
:
space-between
;
...
...
@@ -60,5 +63,9 @@ export default {
// height: 16px;
// background: #1890ff;
// }
.card-list-content
{
padding
:
20px
;
height
:
calc
(
155
-
40px
);
}
}
</
style
>
src/pages/
eq/hall/
components/enTable.vue
→
src/pages/components/enTable.vue
View file @
ffc8e0e8
...
...
@@ -26,13 +26,14 @@
</el-table-column>
</
template
>
<el-table-column
align=
"center"
label=
"操作"
width=
"1
00"
v-if=
"isShowOp"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-table-column
align=
"center"
label=
"操作"
width=
"1
50"
>
<
template
slot-scope=
"scope"
>
<slot
name=
'operation'
:scope=
'scope'
></slot
>
</
template
>
</el-table-column>
</el-table>
<div
v-if=
"isShowPage"
style=
"
display: flex;
justify-content: flex-end;
...
...
@@ -40,10 +41,11 @@
line-height: 3;
"
>
<div
style=
" ;"
class=
"record-color marg_r_18"
>
共34860条记录
</div>
<div
class=
"record-color marg_r_18"
>
共34860条记录
</div>
<div
class=
"record-color marg_r_8"
>
共20页
</div>
<div
class=
"record-color"
>
每页显示
</div>
<el-pagination
layout=
"sizes, prev, pager, next"
background
:total=
"1000"
>
<!-- background -->
<el-pagination
layout=
"sizes, prev, pager, next"
:total=
"1000"
>
</el-pagination>
</div>
</div>
...
...
@@ -52,10 +54,35 @@
<
script
>
export
default
{
name
:
"enTable"
,
props
:
[
"tableData"
,
"tableColums"
,
'isShowOp'
],
props
:
{
// ["", "tableColums",'isShowOp'.toString
tableData
:{
type
:
Array
,
},
tableColums
:{
type
:
Array
,
},
isShowOp
:{
type
:
Boolean
,
defaul
:
false
,
},
isShowPage
:{
defaul
:
true
,
},
isEdit
:{
defaul
:
true
,
}
},
data
()
{
return
{};
},
methods
:{
handleClick
(){
this
.
$emit
(
'handleBtnClick'
)
}
}
};
</
script
>
<
style
lang=
"scss"
>
...
...
@@ -72,5 +99,9 @@ export default {
.el-pagination.is-background
.btn-next
,
.el-pagination.is-background
.btn-prev
,
.el-pagination.is-background
.el-pager
li
{
margin
:
0
!
important
;
}
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
color
:
#32a5ea
!
important
;
background-color
:
red
!
important
;
}
}
</
style
>
src/pages/
eq/hall/
components/enTabs.vue
→
src/pages/components/enTabs.vue
View file @
ffc8e0e8
<
template
>
<
template
>
<div
class=
"en-tabs"
>
<ul
class=
"ul-wrap"
>
<li
...
...
@@ -11,24 +11,35 @@
{{
item
.
label
}}
</p>
</li>
</ul>
</div>
</
template
>
<
script
lang=
"ts"
>
<
script
>
import
{
Tabs
}
from
'element-ui'
;
export
default
{
name
:
"elTabs"
,
props
:
[
'tabList'
],
props
:
[
"tabList"
],
data
()
{
return
{
isActiveIndex
:
0
,
isActiveIndex
:
0
,
activeName
:
'second'
,
};
},
methods
:
{
tabHandle
(
item
,
index
)
{
this
.
isActiveIndex
=
index
;
this
.
$emit
(
'tabHandle'
)
// this.$emit("tabHandle");
},
},
};
...
...
@@ -36,40 +47,37 @@ export default {
<
style
scoped
lang=
"scss"
>
.en-tabs
{
.en-tabs
{
.show-bar-border
{
border-bottom
:
2px
solid
#0097ff
;
}
.ul-wrap
{
list-style
:
none
;
margin
:
0
;
padding
:
0
;
display
:
flex
;
color
:
#666
;
background
:
rgba
(
229
,
233
,
236
,
0
.5
);
border
:
1px
solid
#e5e9ec
;
font-size
:
14px
;
li
{
position
:
relative
;
padding
:
0
71px
;
cursor
:
pointer
;
p
{
margin
:
0
;
padding
:
0
;
padding-bottom
:
14px
;
padding-top
:
15px
;
box-sizing
:
border-box
;
}
}
.isActive
{
background
:
#fff
;
color
:
#0097ff
;
}
}
// .ul-wrap {
// list-style: none;
// margin: 0;
// padding: 0;
// display: flex;
// color: #666;
// background: rgba(229, 233, 236, 0.5);
// border: 1px solid #e5e9ec;
// font-size: 14px;
// li {
// position: relative;
// padding: 0 71px;
// cursor: pointer;
// p {
// margin: 0;
// padding: 0;
// padding-bottom: 14px;
// padding-top: 15px;
// box-sizing: border-box;
// }
// }
// .isActive {
// background: #fff;
// color: #0097ff;
// }
// }
}
...
...
src/pages/
home/compont
ents/energyTotalCharts.vue
→
src/pages/
compon
ents/energyTotalCharts.vue
View file @
ffc8e0e8
File moved
src/pages/
home/compont
ents/myPies.vue
→
src/pages/
compon
ents/myPies.vue
View file @
ffc8e0e8
...
...
@@ -13,6 +13,7 @@ export default {
};
},
mounted
()
{
this
.
initPie
();
},
...
...
src/pages/eq/hall/components/hallModal.vue
0 → 100644
View file @
ffc8e0e8
<
template
>
<el-dialog
title=
"编辑"
:visible
.
sync=
"hallModalVisible"
:append-to-body=
"true"
>
<el-form
>
<el-form-item
label=
"设定频率:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"mini"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"启动控制:"
:label-width=
"formLabelWidth"
>
<el-switch
></el-switch>
</el-form-item>
</el-form>
<div
slot=
"footer"
>
<el-button
@
click=
"cancelhandle"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"cancelhandle"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
lang=
"ts"
>
export
default
{
name
:
"hallModal"
,
props
:
[
"hallModalVisible"
],
data
()
{
return
{
formLabelWidth
:
'120px'
,
};
},
methods
:{
cancelhandle
(){
this
.
$emit
(
'cancelhandle'
)
}
}
};
</
script
>
src/pages/eq/hall/page.vue
View file @
ffc8e0e8
<
template
>
<div
class=
"hall full-height"
>
<cardList
cardListTitle=
"候车大厅控制"
>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<div
slot=
"content"
>
<div>
<el-row>
<el-form
:inline=
"true"
:model=
"formData"
label-width=
"100"
>
<el-col
:md=
"14"
:lg=
"13"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"定时功能启止时间:"
>
<el-date-picker
size=
"mini"
style=
"width: 200px"
type=
"date"
placeholder=
""
...
...
@@ -15,6 +17,7 @@
</el-date-picker>
<span
style=
"padding: 0 10px"
>
至
</span>
<el-date-picker
size=
"mini"
style=
"width: 200px"
type=
"date"
placeholder=
""
...
...
@@ -22,14 +25,13 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:
md=
"12"
:lg
=
"4"
>
<el-col
:
span
=
"4"
>
<el-form-item
label=
"定时设定按钮:"
>
<el-switch
active-color=
"#0097FF"
inactive-color=
"#ff4949"
>
</el-switch>
</el-form-item>
</el-col>
<el-col
:md=
"12"
:lg=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"温度设定:"
>
<el-input
style=
"width: 124px"
...
...
@@ -40,6 +42,9 @@
<!--
<el-button
type=
"primary"
>
查询
</el-button>
-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:md=
"12"
:lg=
"4"
>
<el-form-item
label=
"节能模式:"
>
<el-switch
...
...
@@ -51,41 +56,60 @@
<el-col
:md=
"12"
:lg=
"10"
>
<el-form-item
label=
""
>
<el-button
type=
"
"
size=
"small
"
>
编辑
</el-button>
<el-button
type=
"
"
size=
"small
"
>
自然通风
</el-button>
<el-button
type=
"
"
size=
"small
"
>
机械通风
</el-button>
<el-button
type=
"
"
size=
"small
"
>
供暖
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
编辑
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
自然通风
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
机械通风
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
供暖
</el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
</el-form>
</div>
<!-- tabs -->
<div
style=
"margin-bottom: 20px"
>
<en-tabs
:tabList=
"tabList"
></en-tabs>
<!--
<en-tabs
:tabList=
"tabList"
></en-tabs>
-->
<div>
<el-tabs
class=
"en-tabs"
v-model=
"activeTab"
>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in tabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
</div>
</div>
<!-- table -->
<enTable
:tableData=
"tableData"
:tableColums=
"tableColums"
isShowOp=
"true"
></enTable>
<enTable
v-on:handleBtnClick=
"handleBtnClick"
:tableData=
"tableData"
:tableColums=
"tableColums"
:isShowOp=
"true"
isShowPage=
"true"
>
<template
v-slot:operation=
'scope'
>
<el-button
type=
"text"
@
click=
"hallModalVisible=true"
>
编辑
</el-button>
</
template
>
</enTable>
</div>
</cardList>
<hall-modal
v-on:cancelhandle=
"cancelhandle"
:hallModalVisible=
"hallModalVisible"
></hall-modal>
hallModalVisible
</div>
</template>
<
script
>
import
cardList
from
"../../home/compontents/cardList"
;
import
enTable
from
"./components/enTable"
;
import
enTabs
from
'./components/enTabs'
import
cardList
from
"../../components/cardList"
;
import
enTable
from
"../../components/enTable"
;
import
enTabs
from
'../../components/enTabs'
import
hallModal
from
'./components/hallModal'
const
tableColums
=
[
{
align
:
"center"
,
prop
:
"A"
,
label
:
"设备名称"
,
width
:
1
3
2
,
width
:
1
1
2
,
},
{
align
:
"center"
,
prop
:
"B"
,
label
:
"设备描述"
,
width
:
112
,
//
width: 112,
},
{
align
:
"center"
,
...
...
@@ -224,12 +248,13 @@ export default {
cardList
,
enTable
,
enTabs
,
hallModal
,
},
data
()
{
return
{
tableColums
,
tableData
,
activeTab
:
'01'
,
formData
:
{},
tabList
:
[
{
...
...
@@ -249,21 +274,32 @@ export default {
label
:
" 水泵"
,
},
],
hallModalVisible
:
false
,
};
},
methods
:
{
cancelhandle
(){
this
.
$nextTick
(()
=>
{
this
.
hallModalVisible
=
false
})
},
handleBtnClick
(){
this
.
hallModalVisible
=
true
}
},
};
</
script
>
<
style
lang=
"scss"
>
.hall
{
height
:
100%
;
padding
:
10px
10px
40px
1
0px
;
padding
:
0px
0
40px
0px
;
.el-input__inner
{
height
:
30px
;
}
.el-form-item
{
margin-bottom
:
10px
;
}
.el-form-item__label
{
padding
:
0
;
}
...
...
src/pages/eq/office/config.js
0 → 100644
View file @
ffc8e0e8
export
const
tableColumsOne
=
[
{
align
:
"center"
,
prop
:
"A"
,
label
:
"设备名称"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"B"
,
label
:
"设备位置"
,
// width: 112,
},
{
align
:
"center"
,
prop
:
"C"
,
label
:
"控制方式"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"D"
,
label
:
"能耗统计"
,
width
:
182
,
},
{
align
:
"center"
,
prop
:
"E"
,
label
:
"设备编号"
,
width
:
132
,
},
];
export
const
tableDataOne
=
[
{
A
:
"多联空调A1"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A2"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A3"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A4"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A5"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
" 多联空调A4"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
" 多联空调A4"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
" 多联空调A4"
,
B
:
"右侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
" 多联空调A4"
,
B
:
"右侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A10"
,
B
:
"右侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
"多联空调A"
,
B
:
"左侧办公房屋"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
];
export
const
tableDataTwo
=
[
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
" 多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLW-A1'
},
{
A
:
" 多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
" 多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
" 多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
{
A
:
"多联新风"
,
B
:
"屋面"
,
C
:
"开/关/设定温度"
,
D
:
"今日用电量/本月用电量"
,
E
:
'DLX-1'
},
];
export
const
tableDataThree
=
[
{
A
:
"机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 机房空调"
,
B
:
"通信机械室"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 机房空调"
,
B
:
"右侧办公房屋"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"信息机房"
,
B
:
"右侧办公房屋"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"信息机房"
,
B
:
"左侧办公房屋"
,
C
:
"显示状态"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
];
export
const
tableDataFour
=
[
{
A
:
"排风机"
,
B
:
"售票厅"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'PF-B5'
},
{
A
:
"排风机"
,
B
:
"消防泵房"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'PF-B4'
},
{
A
:
"排风机"
,
B
:
"车站备品间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'厕所排风机1#'
},
{
A
:
"排风机"
,
B
:
"候车厅公共卫生间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'厕所排风机2#'
},
{
A
:
"排风机"
,
B
:
"出站通道公共卫生间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'厕所排风机3#'
},
{
A
:
" 换气扇"
,
B
:
"吸氧间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 换气扇"
,
B
:
"吸氧间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 换气扇"
,
B
:
"吸氧间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
" 换气扇"
,
B
:
"吸氧间"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"换气扇"
,
B
:
"站长室"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
{
A
:
"换气扇"
,
B
:
"VIP候车室"
,
C
:
"开/关"
,
D
:
"今日用电量/本月用电量"
,
E
:
'JK-1'
},
];
\ No newline at end of file
src/pages/eq/office/page.vue
View file @
ffc8e0e8
<
template
>
<div
class=
"office-area-control"
style=
"
padding:10px 10px 40px 10px;
"
>
<div
class=
"office-area-control"
style=
"
padding:0 0 40px 0
"
>
<cardList
cardListTitle=
"办公区域控制"
>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<enTabs
:tabList=
"officeTabList"
></enTabs>
<div
slot=
"content"
>
<!--
<enTabs
:tabList=
"officeTabList"
></enTabs>
-->
<el-tabs
class=
"en-tabs"
v-model=
"activeTab"
>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in officeTabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
<div
style=
"margin-top: 20px"
></div>
<en-table
:tableData=
"tableData"
:tableColums=
"tableColums"
isShowOp=
"true"
>
</en-table>
<en-table
:tableData=
"tableData"
:tableColums=
"tableColums"
:isShowOp=
"true"
isShowPage=
"true"
>
<template
v-slot:operation=
'scope'
>
<el-button
type=
"text"
>
编辑
</el-button>
</
template
>
</en-table>
</div>
</cardList>
</div>
</template>
<
script
>
const
tableColums
=
[
{
align
:
"center"
,
prop
:
"A"
,
label
:
"设备名称"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"B"
,
label
:
"设备描述"
,
width
:
112
,
},
{
align
:
"center"
,
prop
:
"C"
,
label
:
"运行状态"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"D"
,
label
:
"当前频率"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"E"
,
label
:
"故障报警"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"F"
,
label
:
"说明"
,
width
:
132
,
},
{
align
:
"center"
,
prop
:
"G"
,
label
:
"设备编号"
,
width
:
132
,
},
];
const
tableData
=
[
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
{
A
:
"A"
,
B
:
"YA01254N51"
,
C
:
"正常"
,
D
:
"110Hz"
,
E
:
""
,
F
:
"说明"
,
G
:
"QY0001"
,
},
];
import
cardList
from
"../../home/compontents/cardList"
;
import
enTabs
from
"../hall/components/enTabs"
;
import
enTable
from
"../hall/components/enTable"
;
// const tableColums = [
// {
// align: "center",
// prop: "A",
// label: "设备名称",
// width: 132,
// },
// {
// align: "center",
// prop: "B",
// label: "设备位置",
// // width: 112,
// },
// {
// align: "center",
// prop: "C",
// label: "控制方式",
// width: 132,
// },
// {
// align: "center",
// prop: "D",
// label: "能耗统计",
// width: 132,
// },
// // {
// // align: "center",
// // prop: "E",
// // label: "故障报警",
// // width: 132,
// // },
// // {
// // align: "center",
// // prop: "F",
// // label: "说明",
// // width: 132,
// // },
// {
// align: "center",
// prop: "G",
// label: "设备编号",
// width: 132,
// },
// ];
// const tableData = [
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// {
// A: "A",
// B: "YA01254N51",
// C: "正常",
// D: "110Hz",
// E: "",
// F: "说明",
// G: "QY0001",
// },
// ];
import
cardList
from
"../../components/cardList"
;
import
enTabs
from
"../../components/enTabs"
;
import
enTable
from
"../../components/enTable"
;
import
{
tableDataOne
,
tableColumsOne
,
tableDataTwo
,
tableDataThree
,
tableDataFour
}
from
'./config'
export
default
{
name
:
"officeAreaControl"
,
components
:
{
...
...
@@ -165,10 +179,12 @@ export default {
enTabs
,
enTable
,
},
data
()
{
return
{
tableData
,
tableColums
,
activeTab
:
'01'
,
tableData
:
tableDataOne
,
tableColums
:
tableColumsOne
,
officeTabList
:
[
{
value
:
"01"
,
...
...
@@ -189,5 +205,27 @@ export default {
],
};
},
watch
:{
activeTab
(
val
){
switch
(
val
){
case
'01'
:
this
.
tableColums
=
tableColumsOne
this
.
tableData
=
tableDataOne
break
;
case
'02'
:
this
.
tableColums
=
tableColumsOne
this
.
tableData
=
tableDataTwo
break
;
case
'03'
:
this
.
tableColums
=
tableColumsOne
this
.
tableData
=
tableDataThree
break
;
case
'04'
:
this
.
tableColums
=
tableColumsOne
this
.
tableData
=
tableDataFour
break
;
}
}
}
};
</
script
>
src/pages/home/page.vue
View file @
ffc8e0e8
...
...
@@ -22,7 +22,7 @@
</div>
</div>
<div
class=
"home-page-content"
>
<el-row
:gutter=
"1
4
"
>
<el-row
:gutter=
"1
2
"
>
<el-col
:span=
"16"
>
<card-list
:cardListTitle=
"cardListLeftTitle"
>
<div
slot=
"right"
>
...
...
@@ -107,7 +107,7 @@
</div>
</card-list>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
style=
"padding-left:0"
>
<card-list
:cardListTitle=
"cardListRightTitle"
>
<div
slot=
"content"
>
<my-pies></my-pies>
...
...
@@ -120,9 +120,9 @@
</
template
>
<
script
>
import
cardList
from
".
/compont
ents/cardList"
;
import
energyTotalCharts
from
".
/compont
ents/energyTotalCharts"
;
import
myPies
from
".
/compont
ents/myPies"
;
import
cardList
from
".
./compon
ents/cardList"
;
import
energyTotalCharts
from
".
./compon
ents/energyTotalCharts"
;
import
myPies
from
".
./compon
ents/myPies"
;
// import CardList from './compontents/cardList.vue';
export
default
{
name
:
"home"
,
...
...
@@ -194,29 +194,30 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"~@/assets/style/public.scss"
;
.home-page
{
height
:
100%
;
width
:
100%
;
padding
:
10px
10px
40px
1
0px
;
padding
:
0px
0px
40px
0px
;
// overflow: auto;
&
-top
{
margin
:
20px
;
margin-bottom
:
24px
;
.f-group
{
width
:
100%
;
display
:
flex
;
.f-item
{
box-sizing
:
border-box
;
width
:
calc
(
20%
-
1
9
px
);
width
:
calc
(
20%
-
1
8
px
);
height
:
216px
;
margin-right
:
24px
;
padding-top
:
40px
;
background-color
:
#fff
;
text-align
:
center
;
box-shadow
:
4px
0px
4px
0px
rgba
(
0
,
0
,
0
,
0
.05
);
// box-shadow: 4px 0px 4px 0px rgba(0, 0, 0, 0.05);
box-shadow
:
0px
0px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
img
{
width
:
50px
;
height
:
50px
;
...
...
@@ -246,6 +247,7 @@ export default {
}
.home-page-content
{
margin
:
20px
;
.date-text
{
padding-right
:
20px
;
font-size
:
14px
;
...
...
@@ -259,6 +261,7 @@ export default {
}
.content-wrap
{
// margin: 20px;
.energy-save-mode-wrap
{
// width: ;
box-sizing
:
border-box
;
...
...
src/pages/kb/power/components/historyDataModal.vue
0 → 100644
View file @
ffc8e0e8
<
template
>
<el-dialog
title=
"历史数据"
:visible
.
sync=
"historyDataModalVisible"
:append-to-body=
"true"
>
<el-form
:inline=
"true"
>
<el-form-item
label=
"设备名称:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"mini"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"设备编号:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"mini"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"数据起止阶段:"
:label-width=
"formLabelWidth"
>
<el-date-picker
style=
"width:157px"
size=
"mini"
type=
"date"
placeholder=
""
>
</el-date-picker>
<span
style=
"padding:0 10px"
>
至
</span>
<el-date-picker
style=
"width:157px"
size=
"mini"
type=
"date"
placeholder=
""
>
</el-date-picker>
</el-form-item>
<el-form-item
>
<el-button
size=
'mini'
type=
"primary"
icon=
"el-icon-search"
>
查询
</el-button>
<el-button
size=
'mini'
type=
"primary"
icon=
"el-icon-download"
>
导出
</el-button>
</el-form-item>
</el-form>
<enTable
:tableData=
"historyData"
:tableColums=
"tableColums"
></enTable>
<div
slot=
"footer"
>
<el-button
@
click=
"cancelhandle"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"cancelhandle"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
enTable
from
'../../../components/enTable'
const
historyData
=
[
]
const
tableColums
=
[
{
label
:
'功率'
,
prop
:
'qq'
,
width
:
200
,
align
:
'center'
},
{
label
:
'设备状态'
,
prop
:
'ww'
,
width
:
200
,
align
:
'center'
},
{
label
:
'采集时间'
,
prop
:
'ee'
,
// width:200,
align
:
'center'
}
]
export
default
{
name
:
"historyDataModal"
,
props
:
[
"historyDataModalVisible"
],
components
:{
enTable
},
data
()
{
return
{
formLabelWidth
:
"110px"
,
historyData
,
tableColums
,
};
},
methods
:
{
cancelhandle
()
{
this
.
$emit
(
"cancelhandle"
);
},
},
};
</
script
>
src/pages/kb/power/components/statisticPicTableModal.vue
0 → 100644
View file @
ffc8e0e8
<
template
>
<el-dialog
title=
"统计图表"
:visible
.
sync=
"statisticModalVisible"
:append-to-body=
"true"
>
<el-form
:inline=
"true"
>
<el-form-item
label=
"设备名称:"
label-width=
"formLabelWidth"
>
<el-input
size=
"mini"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"设备编号:"
label-width=
"formLabelWidth"
>
<el-input
size=
"mini"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"数据起止阶段:"
label-width=
"formLabelWidth"
>
<el-date-picker
style=
"width: 157px"
size=
"mini"
type=
"date"
placeholder=
""
>
</el-date-picker>
<span
style=
"padding: 0 10px"
>
至
</span>
<el-date-picker
style=
"width: 157px"
size=
"mini"
type=
"date"
placeholder=
""
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-search"
>
查询
</el-button
>
</el-form-item>
</el-form>
<div
id=
"categoryId"
style=
"height: 200px"
></div>
<div
slot=
"footer"
>
<el-button
@
click=
"cancelhandlePic"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click
.
stop=
"cancelhandlePic"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
lang=
"ts"
>
export
default
{
name
:
"statisticPicTableModal"
,
props
:
[
"statisticModalVisible"
],
data
()
{
return
{
formLabelWidth
:
"120px"
,
category
:
null
,
};
},
// watch: {
// statisticModalVisible(value) {
// if (value) {
// }
// },
// },
mounted
()
{
setTimeout
(()
=>
{
this
.
initCategory
();
},
3000
);
},
methods
:
{
cancelhandlePic
()
{
this
.
$emit
(
"cancelhandlePic"
);
},
initCategory
()
{
let
gId
=
document
.
getElementById
(
"categoryId"
);
this
.
category
=
this
.
$echarts
.
init
(
gId
);
const
option
=
{
xAxis
:
{
type
:
"category"
,
data
:
[
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
,
"Sun"
],
},
yAxis
:
{
type
:
"value"
,
},
series
:
[
{
data
:
[
150
,
230
,
224
,
218
,
135
,
147
,
260
],
type
:
"line"
,
},
],
};
this
.
category
.
setOption
(
option
);
},
},
};
</
script
>
src/pages/kb/power/page.vue
View file @
ffc8e0e8
...
...
@@ -2,12 +2,23 @@
<div
class=
"use-electro-data"
>
<cardList
cardListTitle=
"用电数据"
>
<div
slot=
"right"
>
<i
class=
"el-icon-menu"
></i>
<!--
<i
class=
"el-icon-menu"
></i>
-->
<el-button
size=
"mini"
@
click=
"toEnergyPage"
type=
"primary"
>
综合图形
</el-button>
</div>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<enTabs
:tabList=
"electroTabList"
></enTabs>
<div
style=
"margin-top:15px"
>
<el-form
:inline=
"true"
:model=
"formInline"
style=
"text-align:center"
>
<div
slot=
"content"
>
<!--
<enTabs
></enTabs>
-->
<div>
<el-tabs
class=
"en-tabs"
v-model=
"activeTab"
>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in electroTabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
</div>
<div>
<el-form
:inline=
"true"
>
<el-row>
<el-col
:span=
"7"
>
<el-form-item
label=
"设备名称:"
>
...
...
@@ -29,23 +40,44 @@
</el-col>
<el-col
:span=
"3"
>
<el-form-item>
<el-button
icon=
"el-icon-search"
size=
"mini"
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button>
<el-button
icon=
"el-icon-search"
size=
"mini"
type=
"primary"
>
查询
</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<enTable
:tableColums=
"tableColums"
:tableData=
"tableData"
isShowOp=
"true"
></enTable>
<enTable
:tableColums=
"tableColums"
:tableData=
"tableData"
:isShowOp=
"true"
isShowPage=
"true"
>
<template
v-slot:operation=
'scope'
>
<el-button
type=
"text"
@
click=
"openHistoryHandle"
>
历史数据
</el-button>
<el-button
type=
"text"
@
click=
"openPicTHandle"
>
统计图表
</el-button>
</
template
>
</enTable>
</div>
</cardList>
<history-data-modal
:historyDataModalVisible=
"historyDataModalVisible"
v-on:cancelhandle=
"cancelhandle"
></history-data-modal>
<statistic-pic-table-modal
:statisticModalVisible=
"statisticModalVisible"
v-on:cancelhandlePic=
"cancelhandlePic"
></statistic-pic-table-modal>
</div>
</template>
<
script
>
import
cardList
from
"../../home/compontents/cardList"
;
import
enTabs
from
"../../eq/hall/components/enTabs"
;
import
enTable
from
"../../eq/hall/components/enTable"
;
import
cardList
from
"../../components/cardList"
;
import
enTabs
from
"../../components/enTabs"
;
import
enTable
from
"../../components/enTable"
;
import
historyDataModal
from
"./components/historyDataModal"
;
import
statisticPicTableModal
from
"./components/statisticPicTableModal"
;
const
tableColums
=
[
{
align
:
"center"
,
...
...
@@ -82,9 +114,6 @@ const tableColums = [
prop
:
"E"
,
label
:
"设备状态"
,
},
];
const
tableData
=
[
{
...
...
@@ -193,9 +222,14 @@ export default {
cardList
,
enTabs
,
enTable
,
historyDataModal
,
statisticPicTableModal
,
},
data
()
{
return
{
activeTab
:
"01"
,
historyDataModalVisible
:
false
,
statisticModalVisible
:
false
,
tableColums
,
tableData
,
electroTabList
:
[
...
...
@@ -218,15 +252,43 @@ export default {
],
};
},
methods
:
{
cancelhandle
()
{
this
.
$nextTick
(()
=>
{
this
.
historyDataModalVisible
=
false
;
});
},
cancelhandlePic
()
{
this
.
$nextTick
(()
=>
{
this
.
statisticModalVisible
=
false
;
});
},
openHistoryHandle
(){
this
.
historyDataModalVisible
=
true
;
},
openPicTHandle
(){
this
.
$nextTick
(()
=>
{
this
.
statisticModalVisible
=
true
;
})
},
toEnergyPage
(){
this
.
$router
.
push
({
path
:
'/analysis/energy'
})
},
},
};
</
script
>
<
style
lang=
"scss"
>
.use-electro-data
{
padding
:
10px
10px
40px
1
0px
;
.el-form-item
{
.use-electro-data
{
padding
:
0px
0
40px
0px
;
.el-form-item
{
margin-bottom
:
15px
;
margin-top
:
15px
;
}
}
}
</
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