Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
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
5ca129c3
Commit
5ca129c3
authored
Apr 02, 2021
by
caojm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
样式微调
parent
36d0ac57
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
936 additions
and
357 deletions
+936
-357
public.scss
src/assets/style/public.scss
+39
-1
energy_text.png
src/layout/header-aside/imgs/energy_text.png
+0
-0
train.png
src/layout/header-aside/imgs/train.png
+0
-0
layout.vue
src/layout/header-aside/layout.vue
+323
-254
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
+58
-22
page.vue
src/pages/eq/office/page.vue
+22
-8
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 @
5ca129c3
...
@@ -146,3 +146,41 @@ $el-bg-color-4: #F2F6FC;
...
@@ -146,3 +146,41 @@ $el-bg-color-4: #F2F6FC;
color
:
#4ECB74
;
color
:
#4ECB74
;
}
}
.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 @
5ca129c3
8.89 KB
src/layout/header-aside/imgs/train.png
0 → 100644
View file @
5ca129c3
4.54 KB
src/layout/header-aside/layout.vue
View file @
5ca129c3
<
template
>
<
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-mask"
></div>
<!-- 主体内容 -->
<!-- 主体内容 -->
<div
class=
"d2-layout-header-aside-content"
flex=
"dir:top"
>
<div
class=
"d2-layout-header-aside-content"
flex=
"dir:top"
>
<!-- 顶栏 -->
<!-- 顶栏 -->
<div
class=
"d2-theme-header"
flex-box=
"0"
flex
>
<div
class=
"d2-theme-header"
flex-box=
"0"
flex
>
<div
class=
"logo-group"
:style=
"
{width: asideWidth}" flex-box="0">
<div
class=
"logo-group"
:style=
"
{ width: asideWidth }" flex-box="0" style="width:unset;margin-left:30px">
<img
src=
"./imgs/logo2x.png"
>
<img
src=
"./imgs/train.png"
style=
"width:50px;height:50px"
/>
<img
src=
"./imgs/energy_text.png"
/>
</div>
</div>
<div
style=
'width:100%;'
>
<div
style=
"width: 100%"
>
<div
flex-box=
"1"
></div>
<div
flex-box=
"1"
></div>
<!-- 顶栏右侧 -->
<!-- 顶栏右侧 -->
<div
class=
"d2-header-right"
>
<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-time"
>
{{
time
|
formatDate
}}
</div>
<div
class=
"current-date"
>
{{
time
|
formatDate2
}}
</div>
<div
class=
"current-date"
>
{{
time
|
formatDate2
}}
</div>
</div>
</div>
<div
class=
"subway-container"
>
<div
class=
"subway-container"
style=
"margin-right:43px"
>
<div
class=
"subway-info"
>
<div
class=
"subway-info"
style=
"transform: rotate(180deg)"
>
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
<!--
<span
:class=
"station.length
<
6
?
'
lineFeed
'
:
''"
>
{{
station
}}
</span>
-->
</div>
</div>
<div
class=
"user-img"
><img
src=
"./imgs/subway.png"
/></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
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>
<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>
</div>
</el-badge>
<d2-header-user
/>
<div
title=
"退出"
class=
"msg-img"
style=
"cursor: pointer;"
@
click=
"logOff"
>
<img
src=
"./imgs/out.png"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -39,10 +103,15 @@
...
@@ -39,10 +103,15 @@
<!-- 下面 主体 -->
<!-- 下面 主体 -->
<div
class=
"d2-theme-container"
flex-box=
"1"
flex
>
<div
class=
"d2-theme-container"
flex-box=
"1"
flex
>
<!-- 主体 侧边栏 -->
<!-- 主体 侧边栏 -->
<div
flex-box=
"0"
ref=
"aside"
class=
"d2-theme-container-aside"
:style=
"
{
<div
width:asideWidth,
flex-box=
"0"
opacity: this.searchActive ? 0.5 : 1
ref=
"aside"
}">
class=
"d2-theme-container-aside"
:style=
"
{
width: asideWidth,
opacity: this.searchActive ? 0.5 : 1,
}"
>
<d2-menu-side
/>
<d2-menu-side
/>
</div>
</div>
<!-- 主体 -->
<!-- 主体 -->
...
@@ -51,7 +120,7 @@
...
@@ -51,7 +120,7 @@
<transition
name=
"fade-scale"
>
<transition
name=
"fade-scale"
>
<div
class=
"d2-theme-container-main-layer"
flex=
"dir:top"
>
<div
class=
"d2-theme-container-main-layer"
flex=
"dir:top"
>
<!-- 页面 -->
<!-- 页面 -->
<div
class=
"d2-theme-container-main-body"
flex-box=
"1"
>
<div
class=
"d2-theme-container-main-body"
flex-box=
"1"
>
<!--
<bim></bim>
-->
<!--
<bim></bim>
-->
<keep-alive
:include=
"keepAlive"
>
<keep-alive
:include=
"keepAlive"
>
<router-view
/>
<router-view
/>
...
@@ -61,7 +130,7 @@
...
@@ -61,7 +130,7 @@
</transition>
</transition>
</div>
</div>
</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
Copyright (C) 2009-2010. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1
电话:86-028-689XXXX 传真:86-028-6893XXXX
电话:86-028-689XXXX 传真:86-028-6893XXXX
</div>
</div>
...
@@ -70,74 +139,74 @@
...
@@ -70,74 +139,74 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
mapState
,
mapGetters
,
mapActions
}
from
'vuex'
import
{
mapState
,
mapGetters
,
mapActions
}
from
"vuex"
;
import
mixinSearch
from
'./mixins/search'
import
mixinSearch
from
"./mixins/search"
;
export
default
{
export
default
{
name
:
'd2-layout-header-aside'
,
name
:
"d2-layout-header-aside"
,
mixins
:
[
mixinSearch
],
mixins
:
[
mixinSearch
],
components
:
{
components
:
{
'd2-menu-side'
:
()
=>
import
(
'./components/menu-side'
),
"d2-menu-side"
:
()
=>
import
(
"./components/menu-side"
),
'd2-menu-header'
:
()
=>
import
(
'./components/menu-header'
),
"d2-menu-header"
:
()
=>
import
(
"./components/menu-header"
),
'd2-header-theme'
:
()
=>
import
(
'./components/header-theme'
),
"d2-header-theme"
:
()
=>
import
(
"./components/header-theme"
),
'd2-header-user'
:
()
=>
import
(
'./components/header-user'
)
"d2-header-user"
:
()
=>
import
(
"./components/header-user"
),
},
},
data
()
{
data
()
{
return
{
return
{
drawer
:
false
,
drawer
:
false
,
// [侧边栏宽度] 正常状态
// [侧边栏宽度] 正常状态
asideWidth
:
'256px'
,
asideWidth
:
"256px"
,
// [侧边栏宽度] 折叠状态
// [侧边栏宽度] 折叠状态
asideWidthCollapse
:
'65px'
,
asideWidthCollapse
:
"65px"
,
time
:
new
Date
(),
time
:
new
Date
(),
timer
:
null
,
timer
:
null
,
logTimeout
:
null
,
logTimeout
:
null
,
countNum
:
0
,
countNum
:
0
,
station
:
''
station
:
""
,
}
};
},
},
mounted
()
{
mounted
()
{
this
.
getStation
()
this
.
getStation
();
this
.
getDate
()
this
.
getDate
();
this
.
countNum
=
this
.
size
this
.
countNum
=
this
.
size
;
},
},
filters
:
{
filters
:
{
formatDate
:
function
(
value
)
{
formatDate
:
function
(
value
)
{
let
date
=
new
Date
(
value
)
let
date
=
new
Date
(
value
);
let
h
=
date
.
getHours
()
let
h
=
date
.
getHours
();
h
=
h
<
10
?
'0'
+
h
:
h
h
=
h
<
10
?
"0"
+
h
:
h
;
let
m
=
date
.
getMinutes
()
let
m
=
date
.
getMinutes
();
m
=
m
<
10
?
'0'
+
m
:
m
m
=
m
<
10
?
"0"
+
m
:
m
;
let
s
=
date
.
getSeconds
()
let
s
=
date
.
getSeconds
();
s
=
s
<
10
?
'0'
+
s
:
s
s
=
s
<
10
?
"0"
+
s
:
s
;
return
`
${
h
}
:
${
m
}
:
${
s
}
`
return
`
${
h
}
:
${
m
}
:
${
s
}
`
;
},
},
formatDate2
:
function
(
value
)
{
formatDate2
:
function
(
value
)
{
let
date
=
new
Date
(
value
)
let
date
=
new
Date
(
value
);
let
y
=
date
.
getFullYear
()
let
y
=
date
.
getFullYear
();
let
MM
=
date
.
getMonth
()
+
1
let
MM
=
date
.
getMonth
()
+
1
;
MM
=
MM
<
10
?
'0'
+
MM
:
MM
MM
=
MM
<
10
?
"0"
+
MM
:
MM
;
let
d
=
date
.
getDate
()
let
d
=
date
.
getDate
();
d
=
d
<
10
?
'0'
+
d
:
d
d
=
d
<
10
?
"0"
+
d
:
d
;
let
week
=
date
.
getDay
()
let
week
=
date
.
getDay
();
let
weeks
=
[
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
]
let
weeks
=
[
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
let
getWeek
=
'星期'
+
weeks
[
week
]
let
getWeek
=
"星期"
+
weeks
[
week
];
// return `${y}/${MM}/${d} ${getWeek} `
// return `${y}/${MM}/${d} ${getWeek} `
return
`
${
MM
}
/
${
d
}
${
getWeek
}
`
return
`
${
MM
}
/
${
d
}
${
getWeek
}
`
;
}
},
},
},
computed
:
{
computed
:
{
...
mapState
(
'd2admin'
,
{
...
mapState
(
"d2admin"
,
{
keepAlive
:
(
state
)
=>
state
.
page
.
keepAlive
,
keepAlive
:
(
state
)
=>
state
.
page
.
keepAlive
,
grayActive
:
(
state
)
=>
state
.
gray
.
active
,
grayActive
:
(
state
)
=>
state
.
gray
.
active
,
transitionActive
:
(
state
)
=>
state
.
transition
.
active
,
transitionActive
:
(
state
)
=>
state
.
transition
.
active
,
asideCollapse
:
(
state
)
=>
state
.
menu
.
asideCollapse
asideCollapse
:
(
state
)
=>
state
.
menu
.
asideCollapse
,
}),
}),
...
mapState
(
'd2admin/menu'
,
[
'header'
]),
...
mapState
(
"d2admin/menu"
,
[
"header"
]),
...
mapState
(
'd2admin/toast'
,
[
'size'
]),
...
mapState
(
"d2admin/toast"
,
[
"size"
]),
...
mapGetters
(
'd2admin'
,
{
...
mapGetters
(
"d2admin"
,
{
themeActiveSetting
:
'theme/activeSetting'
themeActiveSetting
:
"theme/activeSetting"
,
}),
}),
/**
/**
* @description 最外层容器的背景图片样式
* @description 最外层容器的背景图片样式
...
@@ -149,58 +218,58 @@ export default {
...
@@ -149,58 +218,58 @@ export default {
// backgroundImage: `url('${this.$baseUrl}${this.themeActiveSetting.backgroundImage}')`
// backgroundImage: `url('${this.$baseUrl}${this.themeActiveSetting.backgroundImage}')`
// }
// }
// : {})
// : {})
}
};
}
},
},
},
watch
:
{
watch
:
{
size
(
val
)
{
size
(
val
)
{
this
.
countNum
=
val
this
.
countNum
=
val
;
}
},
},
},
methods
:
{
methods
:
{
...
mapActions
(
'd2admin/menu'
,
[
'asideCollapseToggle'
]),
...
mapActions
(
"d2admin/menu"
,
[
"asideCollapseToggle"
]),
/**
/**
* 接收点击切换侧边栏的按钮
* 接收点击切换侧边栏的按钮
*/
*/
handleToggleAside
()
{
handleToggleAside
()
{
console
.
log
(
111111
)
console
.
log
(
111111
);
this
.
asideCollapseToggle
()
this
.
asideCollapseToggle
();
},
},
...
mapActions
(
'd2admin/account'
,
[
'logout'
]),
...
mapActions
(
"d2admin/account"
,
[
"logout"
]),
/**
/**
* @description 登出
* @description 登出
*/
*/
logOff
()
{
logOff
()
{
this
.
logout
({
this
.
logout
({
vm
:
this
,
vm
:
this
,
confirm
:
true
confirm
:
true
,
})
});
},
},
getDate
()
{
getDate
()
{
let
_this
=
this
let
_this
=
this
;
this
.
timer
=
setInterval
(()
=>
{
this
.
timer
=
setInterval
(()
=>
{
_this
.
time
=
new
Date
()
_this
.
time
=
new
Date
();
},
1000
)
},
1000
);
},
},
// out() {
// out() {
// this.$router.push('/')
// this.$router.push('/')
// },
// },
toAlarms
()
{
toAlarms
()
{
this
.
header
.
forEach
((
res
)
=>
{
this
.
header
.
forEach
((
res
)
=>
{
if
(
res
.
path
===
'/alarms'
)
{
if
(
res
.
path
===
"/alarms"
)
{
this
.
$router
.
push
({
path
:
res
.
list
[
0
].
path
})
this
.
$router
.
push
({
path
:
res
.
list
[
0
].
path
});
}
}
})
});
},
},
//读取站点名称
//读取站点名称
getStation
()
{
getStation
()
{
this
.
station
=
JSON
.
parse
(
localStorage
.
getItem
(
'sysSystem'
)).
name
this
.
station
=
JSON
.
parse
(
localStorage
.
getItem
(
"sysSystem"
)).
name
;
if
(
!
this
.
station
||
this
.
station
==
'undefined'
)
{
if
(
!
this
.
station
||
this
.
station
==
"undefined"
)
{
setTimeout
(
this
.
getStation
,
3000
)
setTimeout
(
this
.
getStation
,
3000
);
}
}
}
}
}
},
},
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
...
...
src/pages/analysis/energy/page.vue
View file @
5ca129c3
...
@@ -2,27 +2,53 @@
...
@@ -2,27 +2,53 @@
<div
class=
"energy-page"
>
<div
class=
"energy-page"
>
<cardList
cardListTitle=
"能耗数据分析"
>
<cardList
cardListTitle=
"能耗数据分析"
>
<div
slot=
"right"
>
<div
slot=
"right"
>
<span
<
!--
<
span
:class=
"activeIndex === index ? 'active-hight-linght' : ''"
:class=
"activeIndex === index ? 'active-hight-linght' : ''"
class=
"date-text"
class=
"date-text"
@
click=
"activehandle(item, index)"
@
click=
"activehandle(item, index)"
v-for=
"(item, index) in dateList"
v-for=
"(item, index) in dateList"
:key=
"item.value"
:key=
"item.value"
>
{{
item
.
label
}}
</span
>
{{
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
<el-date-picker
size=
"mini"
type=
"daterange"
type=
"daterange"
range-separator=
"~"
range-separator=
"~"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
>
>
</el-date-picker>
</el-date-picker>
<i
style=
" padding-left:20px;padding-right: 20px;color:#21acfc"
class=
"el-icon-s-unfold"
></i>
</el-col>
<i
class=
"el-icon-printer"
style=
"color:#21acfc"
></i>
<el-col
:span=
"4"
>
</div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-search"
>
查询
</el-button>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
</el-col>
<div
style=
"margin-bottom: 20px"
>
</el-row>
<enTabs
:tabList=
"energyTabList"
></enTabs>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in energyTabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
</div>
</div>
<el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
...
@@ -35,20 +61,21 @@
...
@@ -35,20 +61,21 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
cardList
from
"../../
home/compont
ents/cardList"
;
import
cardList
from
"../../
compon
ents/cardList"
;
import
enTabs
from
'../../eq/hall/components/enTabs'
import
enTabs
from
"../../components/enTabs"
;
// import enTable from '../../eq/hall/components/enTable'
// import enTable from '../../eq/hall/components/enTable'
import
energyChart
from
'../../home/compontents/energyTotalCharts'
import
energyChart
from
"../../components/energyTotalCharts"
;
export
default
{
export
default
{
name
:
"energypage"
,
name
:
"energypage"
,
components
:
{
components
:
{
cardList
,
cardList
,
enTabs
,
enTabs
,
energyChart
energyChart
,
},
},
data
()
{
data
()
{
return
{
return
{
activeIndex
:
1
,
activeIndex
:
1
,
activetap
:
"01"
,
dateList
:
[
dateList
:
[
// {
// {
// value: "01",
// value: "01",
...
@@ -71,7 +98,7 @@ export default {
...
@@ -71,7 +98,7 @@ export default {
label
:
"全年"
,
label
:
"全年"
,
},
},
],
],
energyTabList
:[
energyTabList
:
[
{
{
value
:
"01"
,
value
:
"01"
,
label
:
"全部"
,
label
:
"全部"
,
...
@@ -88,23 +115,27 @@ export default {
...
@@ -88,23 +115,27 @@ export default {
value
:
"04"
,
value
:
"04"
,
label
:
" 多联新风"
,
label
:
" 多联新风"
,
},
},
]
]
,
};
};
},
},
methods
:
{
methods
:
{
activehandle
(
item
,
index
)
{
activehandle
(
item
,
index
)
{
this
.
activeIndex
=
index
;
this
.
activeIndex
=
index
;
},
},
toPowerPage
(){
this
.
$router
.
push
({
path
:
'/kb/power'
})
},
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.energy-page
{
.energy-page
{
padding
:
10px
10px
40px
10px
;
height
:
100%
;
.el-input__inner
{
padding
:
0px
0px
40px
0px
;
// height: 30px;
}
.date-text
{
.date-text
{
padding-right
:
20px
;
padding-right
:
20px
;
font-size
:
14px
;
font-size
:
14px
;
...
@@ -116,5 +147,5 @@ export default {
...
@@ -116,5 +147,5 @@ export default {
.active-hight-linght
{
.active-hight-linght
{
color
:
#21acfc
;
color
:
#21acfc
;
}
}
}
}
</
style
>
</
style
>
src/pages/
home/compont
ents/cardList.vue
→
src/pages/
compon
ents/cardList.vue
View file @
5ca129c3
...
@@ -6,9 +6,11 @@
...
@@ -6,9 +6,11 @@
<slot
name=
"right"
/>
<slot
name=
"right"
/>
</div>
</div>
</div>
</div>
<div
class=
"card-list-content"
>
<slot
name=
"content"
/>
<slot
name=
"content"
/>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -30,6 +32,7 @@ export default {
...
@@ -30,6 +32,7 @@ export default {
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
background
:
#fff
;
background
:
#fff
;
box-shadow
:
0px
0px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
&
-line
{
&
-line
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
...
@@ -60,5 +63,9 @@ export default {
...
@@ -60,5 +63,9 @@ export default {
// height: 16px;
// height: 16px;
// background: #1890ff;
// background: #1890ff;
// }
// }
.card-list-content
{
padding
:
20px
;
height
:
calc
(
155
-
40px
);
}
}
}
</
style
>
</
style
>
src/pages/
eq/hall/
components/enTable.vue
→
src/pages/components/enTable.vue
View file @
5ca129c3
...
@@ -26,13 +26,14 @@
...
@@ -26,13 +26,14 @@
</el-table-column>
</el-table-column>
</
template
>
</
template
>
<el-table-column
align=
"center"
label=
"操作"
width=
"1
00"
v-if=
"isShowOp"
>
<el-table-column
align=
"center"
label=
"操作"
width=
"1
50"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
>
编辑
</el-button
>
<slot
name=
'operation'
:scope=
'scope'
></slot
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
<div
v-if=
"isShowPage"
style=
"
style=
"
display: flex;
display: flex;
justify-content: flex-end;
justify-content: flex-end;
...
@@ -40,10 +41,11 @@
...
@@ -40,10 +41,11 @@
line-height: 3;
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 marg_r_8"
>
共20页
</div>
<div
class=
"record-color"
>
每页显示
</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>
</el-pagination>
</div>
</div>
</div>
</div>
...
@@ -52,10 +54,35 @@
...
@@ -52,10 +54,35 @@
<
script
>
<
script
>
export
default
{
export
default
{
name
:
"enTable"
,
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
()
{
data
()
{
return
{};
return
{};
},
},
methods
:{
handleClick
(){
this
.
$emit
(
'handleBtnClick'
)
}
}
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
...
@@ -72,5 +99,9 @@ export default {
...
@@ -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
{
.el-pagination.is-background
.btn-next
,
.el-pagination.is-background
.btn-prev
,
.el-pagination.is-background
.el-pager
li
{
margin
:
0
!
important
;
margin
:
0
!
important
;
}
}
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
color
:
#32a5ea
!
important
;
background-color
:
red
!
important
;
}
}
}
</
style
>
</
style
>
src/pages/
eq/hall/
components/enTabs.vue
→
src/pages/components/enTabs.vue
View file @
5ca129c3
<
template
>
<
template
>
<div
class=
"en-tabs"
>
<div
class=
"en-tabs"
>
<ul
class=
"ul-wrap"
>
<ul
class=
"ul-wrap"
>
<li
<li
...
@@ -11,24 +11,35 @@
...
@@ -11,24 +11,35 @@
{{
item
.
label
}}
{{
item
.
label
}}
</p>
</p>
</li>
</li>
</ul>
</ul>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
>
import
{
Tabs
}
from
'element-ui'
;
export
default
{
export
default
{
name
:
"elTabs"
,
name
:
"elTabs"
,
props
:
[
'tabList'
],
props
:
[
"tabList"
],
data
()
{
data
()
{
return
{
return
{
isActiveIndex
:
0
,
isActiveIndex
:
0
,
activeName
:
'second'
,
};
};
},
},
methods
:
{
methods
:
{
tabHandle
(
item
,
index
)
{
tabHandle
(
item
,
index
)
{
this
.
isActiveIndex
=
index
;
this
.
isActiveIndex
=
index
;
this
.
$emit
(
'tabHandle'
)
// this.$emit("tabHandle");
},
},
},
},
};
};
...
@@ -36,40 +47,37 @@ export default {
...
@@ -36,40 +47,37 @@ export default {
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.en-tabs
{
.en-tabs
{
.show-bar-border
{
.show-bar-border
{
border-bottom
:
2px
solid
#0097ff
;
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 @
5ca129c3
File moved
src/pages/
home/compont
ents/myPies.vue
→
src/pages/
compon
ents/myPies.vue
View file @
5ca129c3
...
@@ -13,6 +13,7 @@ export default {
...
@@ -13,6 +13,7 @@ export default {
};
};
},
},
mounted
()
{
mounted
()
{
this
.
initPie
();
this
.
initPie
();
},
},
...
...
src/pages/eq/hall/components/hallModal.vue
0 → 100644
View file @
5ca129c3
<
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 @
5ca129c3
<
template
>
<
template
>
<div
class=
"hall full-height"
>
<div
class=
"hall full-height"
>
<cardList
cardListTitle=
"候车大厅控制"
>
<cardList
cardListTitle=
"候车大厅控制"
>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<div
slot=
"content"
>
<div>
<div>
<el-row>
<el-form
:inline=
"true"
:model=
"formData"
label-width=
"100"
>
<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-form-item
label=
"定时功能启止时间:"
>
<el-date-picker
<el-date-picker
size=
"mini"
style=
"width: 200px"
style=
"width: 200px"
type=
"date"
type=
"date"
placeholder=
""
placeholder=
""
...
@@ -15,6 +17,7 @@
...
@@ -15,6 +17,7 @@
</el-date-picker>
</el-date-picker>
<span
style=
"padding: 0 10px"
>
至
</span>
<span
style=
"padding: 0 10px"
>
至
</span>
<el-date-picker
<el-date-picker
size=
"mini"
style=
"width: 200px"
style=
"width: 200px"
type=
"date"
type=
"date"
placeholder=
""
placeholder=
""
...
@@ -22,14 +25,13 @@
...
@@ -22,14 +25,13 @@
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:
md=
"12"
:lg
=
"4"
>
<el-col
:
span
=
"4"
>
<el-form-item
label=
"定时设定按钮:"
>
<el-form-item
label=
"定时设定按钮:"
>
<el-switch
active-color=
"#0097FF"
inactive-color=
"#ff4949"
>
<el-switch
active-color=
"#0097FF"
inactive-color=
"#ff4949"
>
</el-switch>
</el-switch>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:md=
"12"
:lg=
"5"
>
<el-form-item
label=
"温度设定:"
>
<el-form-item
label=
"温度设定:"
>
<el-input
<el-input
style=
"width: 124px"
style=
"width: 124px"
...
@@ -40,6 +42,9 @@
...
@@ -40,6 +42,9 @@
<!--
<el-button
type=
"primary"
>
查询
</el-button>
-->
<!--
<el-button
type=
"primary"
>
查询
</el-button>
-->
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col
:md=
"12"
:lg=
"4"
>
<el-col
:md=
"12"
:lg=
"4"
>
<el-form-item
label=
"节能模式:"
>
<el-form-item
label=
"节能模式:"
>
<el-switch
<el-switch
...
@@ -51,29 +56,48 @@
...
@@ -51,29 +56,48 @@
<el-col
:md=
"12"
:lg=
"10"
>
<el-col
:md=
"12"
:lg=
"10"
>
<el-form-item
label=
""
>
<el-form-item
label=
""
>
<el-button
type=
"
"
size=
"small
"
>
编辑
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
编辑
</el-button>
<el-button
type=
"
"
size=
"small
"
>
自然通风
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
自然通风
</el-button>
<el-button
type=
"
"
size=
"small
"
>
机械通风
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
机械通风
</el-button>
<el-button
type=
"
"
size=
"small
"
>
供暖
</el-button>
<el-button
type=
"
primary"
size=
"mini
"
>
供暖
</el-button>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-form>
</el-row>
</el-row>
</el-form>
</div>
</div>
<!-- tabs -->
<!-- tabs -->
<div
style=
"margin-bottom: 20px"
>
<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>
</div>
<!-- table -->
<!-- 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>
</div>
</cardList>
</cardList>
<hall-modal
v-on:cancelhandle=
"cancelhandle"
:hallModalVisible=
"hallModalVisible"
></hall-modal>
hallModalVisible
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
cardList
from
"../../home/compontents/cardList"
;
import
cardList
from
"../../components/cardList"
;
import
enTable
from
"./components/enTable"
;
import
enTable
from
"../../components/enTable"
;
import
enTabs
from
'./components/enTabs'
import
enTabs
from
'../../components/enTabs'
import
hallModal
from
'./components/hallModal'
const
tableColums
=
[
const
tableColums
=
[
{
{
align
:
"center"
,
align
:
"center"
,
...
@@ -85,7 +109,7 @@ const tableColums = [
...
@@ -85,7 +109,7 @@ const tableColums = [
align
:
"center"
,
align
:
"center"
,
prop
:
"B"
,
prop
:
"B"
,
label
:
"设备描述"
,
label
:
"设备描述"
,
width
:
112
,
//
width: 112,
},
},
{
{
align
:
"center"
,
align
:
"center"
,
...
@@ -224,12 +248,13 @@ export default {
...
@@ -224,12 +248,13 @@ export default {
cardList
,
cardList
,
enTable
,
enTable
,
enTabs
,
enTabs
,
hallModal
,
},
},
data
()
{
data
()
{
return
{
return
{
tableColums
,
tableColums
,
tableData
,
tableData
,
activeTab
:
'01'
,
formData
:
{},
formData
:
{},
tabList
:
[
tabList
:
[
{
{
...
@@ -249,21 +274,32 @@ export default {
...
@@ -249,21 +274,32 @@ export default {
label
:
" 水泵"
,
label
:
" 水泵"
,
},
},
],
],
hallModalVisible
:
false
,
};
};
},
},
methods
:
{
methods
:
{
cancelhandle
(){
this
.
$nextTick
(()
=>
{
this
.
hallModalVisible
=
false
})
},
},
handleBtnClick
(){
this
.
hallModalVisible
=
true
}
},
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.hall
{
.hall
{
height
:
100%
;
height
:
100%
;
padding
:
10px
10px
40px
1
0px
;
padding
:
10px
0
40px
0px
;
.el-input__inner
{
.el-input__inner
{
height
:
30px
;
height
:
30px
;
}
}
.el-form-item
{
margin-bottom
:
10px
;
}
.el-form-item__label
{
.el-form-item__label
{
padding
:
0
;
padding
:
0
;
}
}
...
...
src/pages/eq/office/page.vue
View file @
5ca129c3
<
template
>
<
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=
"办公区域控制"
>
<cardList
cardListTitle=
"办公区域控制"
>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<div
slot=
"content"
>
<enTabs
:tabList=
"officeTabList"
></enTabs>
<!--
<enTabs
:tabList=
"officeTabList"
></enTabs>
-->
<el-tabs
class=
"en-tabs"
v-model=
"activeName"
>
<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>
<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>
</div>
</cardList>
</cardList>
</div>
</div>
...
@@ -21,7 +33,7 @@ const tableColums = [
...
@@ -21,7 +33,7 @@ const tableColums = [
align
:
"center"
,
align
:
"center"
,
prop
:
"B"
,
prop
:
"B"
,
label
:
"设备描述"
,
label
:
"设备描述"
,
width
:
112
,
//
width: 112,
},
},
{
{
align
:
"center"
,
align
:
"center"
,
...
@@ -155,9 +167,9 @@ const tableData = [
...
@@ -155,9 +167,9 @@ const tableData = [
G
:
"QY0001"
,
G
:
"QY0001"
,
},
},
];
];
import
cardList
from
"../../
home/compont
ents/cardList"
;
import
cardList
from
"../../
compon
ents/cardList"
;
import
enTabs
from
"../
hall
/components/enTabs"
;
import
enTabs
from
"../
..
/components/enTabs"
;
import
enTable
from
"../
hall
/components/enTable"
;
import
enTable
from
"../
..
/components/enTable"
;
export
default
{
export
default
{
name
:
"officeAreaControl"
,
name
:
"officeAreaControl"
,
components
:
{
components
:
{
...
@@ -167,6 +179,7 @@ export default {
...
@@ -167,6 +179,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
activeName
:
'01'
,
tableData
,
tableData
,
tableColums
,
tableColums
,
officeTabList
:
[
officeTabList
:
[
...
@@ -186,6 +199,7 @@ export default {
...
@@ -186,6 +199,7 @@ export default {
value
:
"04"
,
value
:
"04"
,
label
:
"排风机"
,
label
:
"排风机"
,
},
},
],
],
};
};
},
},
...
...
src/pages/home/page.vue
View file @
5ca129c3
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</div>
</div>
</div>
</div>
<div
class=
"home-page-content"
>
<div
class=
"home-page-content"
>
<el-row
:gutter=
"1
4
"
>
<el-row
:gutter=
"1
2
"
>
<el-col
:span=
"16"
>
<el-col
:span=
"16"
>
<card-list
:cardListTitle=
"cardListLeftTitle"
>
<card-list
:cardListTitle=
"cardListLeftTitle"
>
<div
slot=
"right"
>
<div
slot=
"right"
>
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
</div>
</div>
</card-list>
</card-list>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
style=
"padding-left:0"
>
<card-list
:cardListTitle=
"cardListRightTitle"
>
<card-list
:cardListTitle=
"cardListRightTitle"
>
<div
slot=
"content"
>
<div
slot=
"content"
>
<my-pies></my-pies>
<my-pies></my-pies>
...
@@ -120,9 +120,9 @@
...
@@ -120,9 +120,9 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
cardList
from
".
/compont
ents/cardList"
;
import
cardList
from
".
./compon
ents/cardList"
;
import
energyTotalCharts
from
".
/compont
ents/energyTotalCharts"
;
import
energyTotalCharts
from
".
./compon
ents/energyTotalCharts"
;
import
myPies
from
".
/compont
ents/myPies"
;
import
myPies
from
".
./compon
ents/myPies"
;
// import CardList from './compontents/cardList.vue';
// import CardList from './compontents/cardList.vue';
export
default
{
export
default
{
name
:
"home"
,
name
:
"home"
,
...
@@ -194,29 +194,30 @@ export default {
...
@@ -194,29 +194,30 @@ export default {
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"~@/assets/style/public.scss"
;
@import
"~@/assets/style/public.scss"
;
.home-page
{
.home-page
{
height
:
100%
;
height
:
100%
;
width
:
100%
;
width
:
100%
;
padding
:
10px
10px
40px
1
0px
;
padding
:
0px
0px
40px
0px
;
// overflow: auto;
// overflow: auto;
&
-top
{
&
-top
{
margin
:
20px
;
margin-bottom
:
24px
;
margin-bottom
:
24px
;
.f-group
{
.f-group
{
width
:
100%
;
width
:
100%
;
display
:
flex
;
display
:
flex
;
.f-item
{
.f-item
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
width
:
calc
(
20%
-
1
9
px
);
width
:
calc
(
20%
-
1
8
px
);
height
:
216px
;
height
:
216px
;
margin-right
:
24px
;
margin-right
:
24px
;
padding-top
:
40px
;
padding-top
:
40px
;
background-color
:
#fff
;
background-color
:
#fff
;
text-align
:
center
;
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
{
img
{
width
:
50px
;
width
:
50px
;
height
:
50px
;
height
:
50px
;
...
@@ -246,6 +247,7 @@ export default {
...
@@ -246,6 +247,7 @@ export default {
}
}
.home-page-content
{
.home-page-content
{
margin
:
20px
;
.date-text
{
.date-text
{
padding-right
:
20px
;
padding-right
:
20px
;
font-size
:
14px
;
font-size
:
14px
;
...
@@ -259,6 +261,7 @@ export default {
...
@@ -259,6 +261,7 @@ export default {
}
}
.content-wrap
{
.content-wrap
{
// margin: 20px;
.energy-save-mode-wrap
{
.energy-save-mode-wrap
{
// width: ;
// width: ;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
...
src/pages/kb/power/components/historyDataModal.vue
0 → 100644
View file @
5ca129c3
<
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 @
5ca129c3
<
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 @
5ca129c3
...
@@ -2,12 +2,23 @@
...
@@ -2,12 +2,23 @@
<div
class=
"use-electro-data"
>
<div
class=
"use-electro-data"
>
<cardList
cardListTitle=
"用电数据"
>
<cardList
cardListTitle=
"用电数据"
>
<div
slot=
"right"
>
<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>
<div
slot=
"content"
style=
"padding: 24px 28px 20px 23px"
>
<div
slot=
"content"
>
<enTabs
:tabList=
"electroTabList"
></enTabs>
<!--
<enTabs
></enTabs>
-->
<div
style=
"margin-top:15px"
>
<div>
<el-form
:inline=
"true"
:model=
"formInline"
style=
"text-align:center"
>
<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-row>
<el-col
:span=
"7"
>
<el-col
:span=
"7"
>
<el-form-item
label=
"设备名称:"
>
<el-form-item
label=
"设备名称:"
>
...
@@ -29,23 +40,44 @@
...
@@ -29,23 +40,44 @@
</el-col>
</el-col>
<el-col
:span=
"3"
>
<el-col
:span=
"3"
>
<el-form-item>
<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-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
</div>
</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>
</div>
</cardList>
</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>
</div>
</template>
</template>
<
script
>
<
script
>
import
cardList
from
"../../components/cardList"
;
import
cardList
from
"../../home/compontents/cardList"
;
import
enTabs
from
"../../components/enTabs"
;
import
enTabs
from
"../../eq/hall/components/enTabs"
;
import
enTable
from
"../../components/enTable"
;
import
enTable
from
"../../eq/hall/components/enTable"
;
import
historyDataModal
from
"./components/historyDataModal"
;
import
statisticPicTableModal
from
"./components/statisticPicTableModal"
;
const
tableColums
=
[
const
tableColums
=
[
{
{
align
:
"center"
,
align
:
"center"
,
...
@@ -82,9 +114,6 @@ const tableColums = [
...
@@ -82,9 +114,6 @@ const tableColums = [
prop
:
"E"
,
prop
:
"E"
,
label
:
"设备状态"
,
label
:
"设备状态"
,
},
},
];
];
const
tableData
=
[
const
tableData
=
[
{
{
...
@@ -193,9 +222,14 @@ export default {
...
@@ -193,9 +222,14 @@ export default {
cardList
,
cardList
,
enTabs
,
enTabs
,
enTable
,
enTable
,
historyDataModal
,
statisticPicTableModal
,
},
},
data
()
{
data
()
{
return
{
return
{
activeTab
:
"01"
,
historyDataModalVisible
:
false
,
statisticModalVisible
:
false
,
tableColums
,
tableColums
,
tableData
,
tableData
,
electroTabList
:
[
electroTabList
:
[
...
@@ -218,15 +252,43 @@ export default {
...
@@ -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
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.use-electro-data
{
.use-electro-data
{
padding
:
10px
10px
40px
1
0px
;
padding
:
10px
0
40px
0px
;
.el-form-item
{
.el-form-item
{
margin-bottom
:
15px
;
margin-bottom
:
15px
;
margin-top
:
15px
;
margin-top
:
15px
;
}
}
}
}
</
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