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
6b0df6da
Commit
6b0df6da
authored
Apr 07, 2021
by
xiexingan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of gitlab.suntrayoa.com:geqilin/energyai_vue into dev
parents
63a7bab0
870a0e85
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
441 additions
and
274 deletions
+441
-274
config.js
public/config.js
+2
-1
layout.vue
src/layout/header-aside/layout.vue
+32
-19
page.vue
src/pages/analysis/energy/page.vue
+42
-11
pie3.vue
src/pages/analysis/fault/pie3.vue
+46
-37
pie4.vue
src/pages/analysis/fault/pie4.vue
+2
-3
myPies.vue
src/pages/components/myPies.vue
+10
-6
page.vue
src/pages/home/page.vue
+18
-24
page.vue
src/pages/kb/power/page.vue
+105
-169
page.vue
src/pages/login/page.vue
+1
-1
index.vue
src/pages/sys/commandlog/index.vue
+179
-0
query-detail.vue
src/pages/sys/user/query-detail.vue
+3
-3
routes.js
src/router/routes.js
+1
-0
No files found.
public/config.js
View file @
6b0df6da
...
@@ -11,7 +11,8 @@ CONFIG.TITLE = 'AI节能管理系统'
...
@@ -11,7 +11,8 @@ CONFIG.TITLE = 'AI节能管理系统'
CONFIG
.
requestPath
=
'http://59.110.43.122:8046'
CONFIG
.
requestPath
=
'http://59.110.43.122:8046'
// 文件上传
// 文件上传
CONFIG
.
urlPath
=
'http://10.20.72.33/'
// CONFIG.urlPath = 'http://10.20.72.33/'
CONFIG
.
urlPath
=
'http://59.110.43.122/'
// BIM
// BIM
CONFIG
.
bimPath
=
'http://10.20.2.98:8066/'
CONFIG
.
bimPath
=
'http://10.20.2.98:8066/'
src/layout/header-aside/layout.vue
View file @
6b0df6da
<
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">
<img
src=
"./imgs/train.png"
>
<img
src=
"./imgs/train.png"
/
>
<img
src=
"./imgs/logo2x.png"
>
<img
src=
"./imgs/logo2x.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"
>
...
@@ -41,7 +45,12 @@
...
@@ -41,7 +45,12 @@
</div>
</div>
</el-badge>
-->
</el-badge>
-->
<d2-header-user
/>
<d2-header-user
/>
<div
title=
"退出"
class=
"msg-img"
style=
"cursor: pointer;"
@
click=
"logOff"
>
<div
title=
"退出"
class=
"msg-img"
style=
"cursor: pointer"
@
click=
"logOff"
>
<img
src=
"./imgs/out.png"
/>
<img
src=
"./imgs/out.png"
/>
</div>
</div>
</div>
</div>
...
@@ -50,10 +59,15 @@
...
@@ -50,10 +59,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"
ref=
"aside"
class=
"d2-theme-container-aside"
:style=
"
{
width: asideWidth,
opacity: this.searchActive ? 0.5 : 1
opacity: this.searchActive ? 0.5 : 1
}">
}"
>
<d2-menu-side
/>
<d2-menu-side
/>
</div>
</div>
<!-- 主体 -->
<!-- 主体 -->
...
@@ -72,8 +86,8 @@
...
@@ -72,8 +86,8 @@
</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) 20
09-2010
. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1
Copyright (C) 20
21-2022
. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1
电话:86-028-689XXXX 传真:86-028-6893XXXX
电话:86-028-689XXXX 传真:86-028-6893XXXX
</div>
</div>
</div>
</div>
...
@@ -92,7 +106,6 @@ export default {
...
@@ -92,7 +106,6 @@ export default {
'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
{
...
@@ -223,7 +236,7 @@ export default {
...
@@ -223,7 +236,7 @@ export default {
.time-container
{
.time-container
{
width
:
93px
;
width
:
93px
;
text-align
:
center
;
text-align
:
center
;
// border:1px solid red;
// border:1px solid red;
padding
:
2px
;
padding
:
2px
;
.current-time
{
.current-time
{
font-size
:
18px
;
font-size
:
18px
;
...
@@ -256,8 +269,8 @@ export default {
...
@@ -256,8 +269,8 @@ export default {
line-height
:
37px
;
line-height
:
37px
;
text-align
:
center
;
text-align
:
center
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#
A0A8B
4
;
color
:
#
a0a8b
4
;
border
:
1px
solid
#
A0A8B
4
;
border
:
1px
solid
#
a0a8b
4
;
border-radius
:
50%
;
border-radius
:
50%
;
img
{
img
{
width
:
37px
;
width
:
37px
;
...
@@ -269,8 +282,8 @@ export default {
...
@@ -269,8 +282,8 @@ export default {
.weather-info
{
.weather-info
{
width
:
90px
;
width
:
90px
;
height
:
36px
;
height
:
36px
;
border
:
1px
solid
;
border
:
1px
solid
;
border-color
:
#A0A8B4
#A0A8B4
#A0A8B
4
transparent
;
border-color
:
#a0a8b4
#a0a8b4
#a0a8b
4
transparent
;
border-top-right-radius
:
5px
;
border-top-right-radius
:
5px
;
border-bottom-right-radius
:
5px
;
border-bottom-right-radius
:
5px
;
transform
:
translateX
(
-19px
);
transform
:
translateX
(
-19px
);
...
@@ -311,7 +324,7 @@ export default {
...
@@ -311,7 +324,7 @@ export default {
}
}
// 注册主题
// 注册主题
@import
"~@/assets/style/theme/register.scss"
;
@import
'~@/assets/style/theme/register.scss'
;
// 左上角logo
// 左上角logo
.d2-layout-header-aside-group
.d2-layout-header-aside-group
.d2-layout-header-aside-content
.d2-layout-header-aside-content
...
...
src/pages/analysis/energy/page.vue
View file @
6b0df6da
...
@@ -20,26 +20,41 @@
...
@@ -20,26 +20,41 @@
<!--
</el-date-picker>
-->
<!--
</el-date-picker>
-->
<!--
<i
style=
" padding-left:20px;padding-right: 20px;color:#21acfc"
class=
"el-icon-s-unfold"
></i>
-->
<!--
<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>
-->
<!--
<i
class=
"el-icon-printer"
style=
"color:#21acfc"
></i>
-->
<el-button
size=
"mini"
type=
"primary"
@
click=
"toPowerPage"
>
图形/列表
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"toPowerPage"
>
图形/列表
</el-button
>
</div>
</div>
<div
slot=
"content"
style=
'height:calc(100% - 70px)'
>
<div
slot=
"content"
style=
"height: calc(100% - 70px)"
>
<div>
<div>
<!--
<enTabs
:tabList=
"energyTabList"
></enTabs>
-->
<!--
<enTabs
:tabList=
"energyTabList"
></enTabs>
-->
<el-tabs
class=
"en-tabs"
v-model=
"activetap"
>
<el-tabs
class=
"en-tabs"
v-model=
"activetap"
>
<el-row
style=
"padding-top:15px"
>
<el-row
style=
"padding-top:
15px"
>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<span>
时间范围:
</span>
<span>
时间范围:
</span>
<el-date-picker
size=
"mini"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
<el-date-picker
size=
"mini"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-date-picker>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-search"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-search"
>
查询
</el-button
>
</el-col>
</el-col>
</el-row>
</el-row>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in energyTabList"
:key=
"index"
></el-tab-pane>
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
v-for=
"(item, index) in energyTabList"
:key=
"index"
></el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
<div
style=
'height:calc(100% - 70px)'
>
<div
style=
"height: calc(100% - 70px)"
>
<energyChart></energyChart>
<energyChart></energyChart>
</div>
</div>
</div>
</div>
...
@@ -96,11 +111,27 @@ export default {
...
@@ -96,11 +111,27 @@ export default {
},
},
{
{
value
:
'03'
,
value
:
'03'
,
label
:
'
多联空调
'
label
:
'
机房空调(220V)
'
},
},
{
{
value
:
'04'
,
value
:
'04'
,
label
:
' 多联新风'
label
:
'机房空调(380V)'
},
{
value
:
'05'
,
label
:
'风幕机'
},
{
value
:
'06'
,
label
:
'风冷热泵机组'
},
{
value
:
'07'
,
label
:
'室内机风柜'
},
{
value
:
'08'
,
label
:
'多联室外机'
}
}
]
]
}
}
...
...
src/pages/analysis/fault/pie3.vue
View file @
6b0df6da
<
template
lang=
'pug'
>
<
template
lang=
"pug"
>
#pie3(:style="{ width: '100%', height: '90%'}")
#pie3(:style="{ width: '100%', height: '90%'}")
</
template
>
</
template
>
...
@@ -13,7 +13,6 @@ export default {
...
@@ -13,7 +13,6 @@ export default {
if
(
!
dom
)
return
if
(
!
dom
)
return
let
myCharts
=
this
.
$echarts
.
init
(
dom
)
let
myCharts
=
this
.
$echarts
.
init
(
dom
)
let
option
=
{
let
option
=
{
tooltip
:
{
tooltip
:
{
trigger
:
'item'
trigger
:
'item'
},
},
...
@@ -26,13 +25,24 @@ export default {
...
@@ -26,13 +25,24 @@ export default {
type
:
'pie'
,
type
:
'pie'
,
radius
:
'50%'
,
radius
:
'50%'
,
data
:
[
data
:
[
{
value
:
1048
,
name
:
'搜索引擎'
,
itemStyle
:
{
color
:
'skyblue'
}
},
{
{
value
:
735
,
name
:
'直接访问'
,
itemStyle
:
{
color
:
'#F2637B'
}
},
value
:
1048
,
{
value
:
580
,
name
:
'邮件营销'
,
itemStyle
:
{
color
:
'#8EE0E0'
}
},
name
:
'风冷热泵机组'
,
{
value
:
484
,
name
:
'联盟广告'
,
itemStyle
:
{
color
:
'#4ECB74'
}
},
itemStyle
:
{
color
:
'skyblue'
}
{
value
:
300
,
name
:
'视频广告'
,
itemStyle
:
{
color
:
'#FFCC00'
}
}
},
{
value
:
735
,
name
:
'室内机风柜'
,
itemStyle
:
{
color
:
'#F2637B'
}
},
{
value
:
580
,
name
:
'水泵'
,
itemStyle
:
{
color
:
'#8EE0E0'
}
},
{
value
:
484
,
name
:
'多联室内机'
,
itemStyle
:
{
color
:
'#4ECB74'
}
},
{
value
:
300
,
name
:
'排风机'
,
itemStyle
:
{
color
:
'#FFCC00'
}
}
]
]
}
}
]
]
}
}
...
@@ -42,5 +52,4 @@ export default {
...
@@ -42,5 +52,4 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
></
style
>
</
style
>
src/pages/analysis/fault/pie4.vue
View file @
6b0df6da
<
template
lang=
'pug'
>
<
template
lang=
"pug"
>
#pie4(:style="{ width: '100%', height: '90%' }")
#pie4(:style="{ width: '100%', height: '90%' }")
</
template
>
</
template
>
...
@@ -118,5 +118,4 @@ export default {
...
@@ -118,5 +118,4 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
></
style
>
</
style
>
src/pages/components/myPies.vue
View file @
6b0df6da
...
@@ -73,7 +73,11 @@ export default {
...
@@ -73,7 +73,11 @@ export default {
}
}
}
}
},
},
color
:
[
'rgba(72,154,254,1)'
,
'rgba(247,243,204,1)'
,
'rgba(236,73,104,1)'
],
color
:
[
'rgba(72,154,254,1)'
,
'rgba(247,243,204,1)'
,
'rgba(236,73,104,1)'
],
series
:
[
series
:
[
{
{
name
:
'访问来源'
,
name
:
'访问来源'
,
...
@@ -88,7 +92,7 @@ export default {
...
@@ -88,7 +92,7 @@ export default {
show
:
true
,
show
:
true
,
position
:
'center'
,
position
:
'center'
,
formatter
:
function
()
{
formatter
:
function
()
{
return
`
调查总数\r\n
\r\n20000`
return
`\r\n20000`
},
},
textStyle
:
{
textStyle
:
{
fontSize
:
30
,
fontSize
:
30
,
...
@@ -106,7 +110,7 @@ export default {
...
@@ -106,7 +110,7 @@ export default {
labelLine
:
{
labelLine
:
{
show
:
false
show
:
false
},
},
data
:
[...
data
]
data
:
[...
data
]
}
}
]
]
}
}
...
...
src/pages/home/page.vue
View file @
6b0df6da
...
@@ -16,15 +16,15 @@
...
@@ -16,15 +16,15 @@
<span
v-if=
"index == 0"
v-html=
"item.cardText"
></span>
<span
v-if=
"index == 0"
v-html=
"item.cardText"
></span>
<span
v-else-if=
"index == 1"
v-html=
"item.cardText"
></span>
<span
v-else-if=
"index == 1"
v-html=
"item.cardText"
></span>
<span
v-else
>
{{
item
.
cardText
}}
</span>
<span
v-else
>
{{
item
.
cardText
}}
</span>
<p
>
{{
item
.
state
}}
</p>
<p>
{{
item
.
state
}}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"home-page-content"
>
<div
class=
"home-page-content"
>
<el-row
:gutter=
"12"
style=
'height:100%;'
>
<el-row
:gutter=
"12"
style=
"height: 100%"
>
<el-col
:span=
"16"
style=
'height:100%;'
>
<el-col
:span=
"16"
style=
"height: 100%"
>
<card-list
:cardListTitle=
"cardListLeftTitle"
>
<card-list
:cardListTitle=
"cardListLeftTitle"
>
<div
slot=
"right"
>
<div
slot=
"right"
>
<span
<span
...
@@ -38,11 +38,7 @@
...
@@ -38,11 +38,7 @@
</div>
</div>
<div
slot=
"content"
class=
"content-wrap"
>
<div
slot=
"content"
class=
"content-wrap"
>
<el-row
<el-row
:gutter=
"12"
type=
"flex"
justify=
"center"
>
:gutter=
"12"
type=
"flex"
justify=
"center"
>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<div
class=
"energy-save-mode-wrap"
style=
""
>
<div
class=
"energy-save-mode-wrap"
style=
""
>
<div
class=
"font-style font_14"
>
<div
class=
"font-style font_14"
>
...
@@ -95,15 +91,15 @@
...
@@ -95,15 +91,15 @@
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<div
style=
"height:
calc(100% - 130px);
"
>
<div
style=
"height:
calc(100% - 130px)
"
>
<energy-total-charts></energy-total-charts>
<energy-total-charts></energy-total-charts>
</div>
</div>
</div>
</div>
</card-list>
</card-list>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"padding-left: 0;
height:100%;
"
>
<el-col
:span=
"8"
style=
"padding-left: 0;
height: 100%
"
>
<card-list
:cardListTitle=
"cardListRightTitle"
>
<card-list
:cardListTitle=
"cardListRightTitle"
>
<div
slot=
"content"
style=
'height:100%;'
>
<div
slot=
"content"
style=
"height: 100%"
>
<my-pies></my-pies>
<my-pies></my-pies>
</div>
</div>
</card-list>
</card-list>
...
@@ -143,23 +139,21 @@ export default {
...
@@ -143,23 +139,21 @@ export default {
},
},
{
{
iconUrl
:
require
(
'./image/sun_icon.png'
),
iconUrl
:
require
(
'./image/sun_icon.png'
),
cardDesc
:
'供暖模式'
,
cardDesc
:
'
办公区域
供暖模式'
,
cardText
:
'
办公区域供暖模式
'
,
cardText
:
''
,
state
:
'
已
开启'
state
:
'开启'
},
},
{
{
iconUrl
:
require
(
'./image/fan_icon.png'
),
iconUrl
:
require
(
'./image/fan_icon.png'
),
cardDesc
:
'机械通风模式'
,
cardDesc
:
'办公区域机械通风模式'
,
cardText
:
'办公区域机械通风模式'
,
cardText
:
''
,
state
:
'已开启'
state
:
'开启'
},
},
{
{
iconUrl
:
require
(
'./image/nan_fan_icon.png'
),
iconUrl
:
require
(
'./image/nan_fan_icon.png'
),
cardDesc
:
'自然通风模式'
,
cardDesc
:
'办公区域自然通风模式'
,
cardText
:
'办公区域自然通风模式'
,
cardText
:
''
,
state
:
'已开启'
state
:
'开启'
}
}
],
],
dateList
:
[
dateList
:
[
...
@@ -196,7 +190,7 @@ export default {
...
@@ -196,7 +190,7 @@ export default {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
'~@/assets/style/public.scss'
;
@import
'~@/assets/style/public.scss'
;
.home-page
{
.home-page
{
height
:calc
(
100vh
-
155px
)
;
height
:
calc
(
100vh
-
155px
);
width
:
100%
;
width
:
100%
;
&
-top
{
&
-top
{
margin
:
20px
;
margin
:
20px
;
...
...
src/pages/kb/power/page.vue
View file @
6b0df6da
...
@@ -3,12 +3,14 @@
...
@@ -3,12 +3,14 @@
<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>
<el-button
size=
"mini"
@
click=
"toEnergyPage"
type=
"primary"
>
综合图形
</el-button
>
</div>
</div>
<div
slot=
"content"
>
<div
slot=
"content"
>
<!--
<enTabs
></enTabs>
-->
<!--
<enTabs
></enTabs>
-->
<div>
<div>
<el-tabs
class=
"en-tabs"
v-model=
"activeTab"
>
<el-tabs
class=
"en-tabs"
v-model=
"activeTab"
>
<el-tab-pane
<el-tab-pane
:label=
"item.label"
:label=
"item.label"
:name=
"item.value"
:name=
"item.value"
...
@@ -55,8 +57,10 @@
...
@@ -55,8 +57,10 @@
:isShowOp=
"true"
:isShowOp=
"true"
isShowPage=
"true"
isShowPage=
"true"
>
>
<template
v-slot:operation=
'scope'
>
<template
v-slot:operation=
"scope"
>
<el-button
type=
"text"
@
click=
"openHistoryHandle"
>
历史数据
</el-button>
<el-button
type=
"text"
@
click=
"openHistoryHandle"
>
历史数据
</el-button
>
<el-button
type=
"text"
@
click=
"openPicTHandle"
>
统计图表
</el-button>
<el-button
type=
"text"
@
click=
"openPicTHandle"
>
统计图表
</el-button>
</
template
>
</
template
>
</enTable>
</enTable>
...
@@ -72,215 +76,148 @@
...
@@ -72,215 +76,148 @@
></statistic-pic-table-modal>
></statistic-pic-table-modal>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
cardList
from
"../../components/cardList"
;
import
cardList
from
'../../components/cardList'
import
enTabs
from
"../../components/enTabs"
;
import
enTabs
from
'../../components/enTabs'
import
enTable
from
"../../components/enTable"
;
import
enTable
from
'../../components/enTable'
import
historyDataModal
from
"./components/historyDataModal"
;
import
historyDataModal
from
'./components/historyDataModal'
import
statisticPicTableModal
from
"./components/statisticPicTableModal"
;
import
statisticPicTableModal
from
'./components/statisticPicTableModal'
const
tableColums
=
[
const
tableColums
=
[
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"A"
,
prop
:
'A'
,
label
:
"设备名称"
,
label
:
'设备名称'
,
width
:
1
32
,
width
:
1
62
},
},
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"G"
,
prop
:
'B'
,
label
:
"设备编号"
,
label
:
'设备位置'
width
:
132
,
// width: 182
},
},
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"B"
,
prop
:
'C'
,
label
:
"设备位置"
,
label
:
'当日功耗'
,
width
:
1
12
,
width
:
1
62
},
},
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"C"
,
prop
:
'D'
,
label
:
"当日功耗"
,
label
:
'当月功耗'
,
width
:
1
32
,
width
:
1
62
},
},
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"D"
,
prop
:
'E'
,
label
:
"当月功耗"
,
label
:
'设备状态'
,
width
:
1
32
,
width
:
1
52
},
},
{
{
align
:
"center"
,
align
:
'center'
,
prop
:
"E"
,
prop
:
'F'
,
label
:
"设备状态"
,
label
:
'设备编号'
,
},
width
:
152
];
}
]
const
tableData
=
[
const
tableData
=
[
{
{
A
:
"A"
,
A
:
'设备1'
,
B
:
"YA01254N51"
,
B
:
'左侧办公房屋'
,
C
:
"正常"
,
C
:
'11'
,
D
:
"110Hz"
,
D
:
'1100'
,
E
:
""
,
E
:
'开启'
,
F
:
"说明"
,
F
:
'QY0001'
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"
,
A
:
'设备2'
,
B
:
"YA01254N51"
,
B
:
'左侧办公房屋'
,
C
:
"正常"
,
C
:
'11'
,
D
:
"110Hz"
,
D
:
'1100'
,
E
:
""
,
E
:
'开启'
,
F
:
"说明"
,
F
:
'QY0002'
G
:
"QY0001"
,
}
},
]
];
export
default
{
export
default
{
name
:
"useElectroData"
,
name
:
'useElectroData'
,
components
:
{
components
:
{
cardList
,
cardList
,
enTabs
,
enTabs
,
enTable
,
enTable
,
historyDataModal
,
historyDataModal
,
statisticPicTableModal
,
statisticPicTableModal
},
},
data
()
{
data
()
{
return
{
return
{
activeTab
:
"01"
,
activeTab
:
'01'
,
historyDataModalVisible
:
false
,
historyDataModalVisible
:
false
,
statisticModalVisible
:
false
,
statisticModalVisible
:
false
,
tableColums
,
tableColums
,
tableData
,
tableData
,
electroTabList
:
[
electroTabList
:
[
{
{
value
:
"01"
,
value
:
'01'
,
label
:
"全部"
,
label
:
'全部'
},
{
value
:
'02'
,
label
:
'排风机'
},
{
value
:
'03'
,
label
:
'机房空调(220V)'
},
},
{
{
value
:
"02"
,
value
:
'04'
,
label
:
"排风机"
,
label
:
'机房空调(380V)'
},
},
{
{
value
:
"03"
,
value
:
'05'
,
label
:
"多联空调"
,
label
:
'风幕机'
},
},
{
{
value
:
"04"
,
value
:
'06'
,
label
:
"多联新风"
,
label
:
'风冷热泵机组'
},
},
],
{
};
value
:
'07'
,
label
:
'室内机风柜'
},
{
value
:
'08'
,
label
:
'多联室外机'
}
]
}
},
},
methods
:
{
methods
:
{
cancelhandle
()
{
cancelhandle
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
historyDataModalVisible
=
false
;
this
.
historyDataModalVisible
=
false
})
;
})
},
},
cancelhandlePic
()
{
cancelhandlePic
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
statisticModalVisible
=
false
;
this
.
statisticModalVisible
=
false
})
;
})
},
},
openHistoryHandle
(){
openHistoryHandle
()
{
this
.
historyDataModalVisible
=
true
;
this
.
historyDataModalVisible
=
true
},
},
openPicTHandle
()
{
openPicTHandle
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
statisticModalVisible
=
true
;
this
.
statisticModalVisible
=
true
})
})
},
},
toEnergyPage
()
{
toEnergyPage
()
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/analysis/energy'
path
:
'/analysis/energy'
})
})
},
}
}
,
}
}
;
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.use-electro-data
{
.use-electro-data
{
...
@@ -290,5 +227,4 @@ export default {
...
@@ -290,5 +227,4 @@ export default {
margin-top
:
15px
;
margin-top
:
15px
;
}
}
}
}
</
style
>
</
style
>
src/pages/login/page.vue
View file @
6b0df6da
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
el-col(:span='24' )
el-col(:span='24' )
el-checkbox(v-model="formLogin.remember" checked) 记住密码
el-checkbox(v-model="formLogin.remember" checked) 记住密码
el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录
el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录
div.lFooter() Copyright (C) 20
09-2010
. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1 电话:86-028-6893XXXX 传真:86-028-6893XXXX
div.lFooter() Copyright (C) 20
21-2022
. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1 电话:86-028-6893XXXX 传真:86-028-6893XXXX
</
template
>
</
template
>
<
script
>
<
script
>
...
...
src/pages/sys/commandlog/index.vue
0 → 100644
View file @
6b0df6da
<
template
lang=
'pug'
>
el-container(style="padding:0px;height:77.6vh;")
el-header(style='height:42px;line-height:42px;border: 1px solid rgba(195, 195, 195, 1);background: #f4f4f4;')
span.title-bold.title-left-color() 历史指令
<el-popover placement="bottom" width="150" >
<el-button slot="reference" size='mini' type="primary" icon="el-icon-s-tools" style='float:right;transform:translateY(6px)'> 筛选</el-button>
<el-checkbox-group v-model="checkList">
<el-col :span="24">
<el-checkbox v-for="(item,index) in tableHeader" :label="item" :key="index" >
span
{{
item
.
label
}}
</el-checkbox>
</el-col>
</el-checkbox-group>
</el-popover>
el-main.box_main
el-card()
div.tableCard()
el-form( :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()" )
el-form-item( label="关键词:")
el-input( v-model="dataForm.comMark" placeholder="" clearable)
el-form-item( label="指令类型:")
el-select( v-model="dataForm.comType" placeholder="请选择" clearable)
el-option( label="自动" value="1")
el-option( label="人工" value="2")
el-form-item( label="操作时间:")
el-date-picker(type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.startTime" placeholder="选择开始时间" clearable)
el-form-item( label="至")
el-date-picker( type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.endTime" placeholder="选择结束时间" clearable)
el-button( type="primary" size='mini' icon="el-icon-search" @click="getDataList()") 查询
el-button(@click="reSet()" size='mini' type="primary" icon="el-icon-refresh-right") 重置
//- <drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" :operationNum="3" :isShowOperate="true">
<drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" >
//- -- 插槽
<el-table-column slot="fixed" fixed prop="" label="序号" width="80" header-align="center" align="center" >
<template slot-scope="scope">
span
{{
scope
.
$index
+
(
pageIndex
-
1
)
*
pageSize
+
1
}}
</
template
>
</el-table-column>
//- 操作项
<
template
slot-scope=
"scope"
>
<el-button
class=
"el-table-btn"
type=
"text"
>
编辑
</el-button>
<el-button
class=
"el-table-btn"
type=
"text"
>
查看
</el-button>
<el-button
class=
"el-table-btn"
type=
"text"
>
相关用户
</el-button>
</
template
>
</drag-table>
el-footer.box_footer
el-pagination(@size-change="sizeChangeHandle" background @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper")
</template>
<
script
>
import
Sortable
from
'sortablejs'
import
dragTable
from
'../../components/tab'
let
that
export
default
{
filters
:
{
ellipsis
(
value
)
{
if
(
!
value
)
return
''
if
(
value
.
length
>
12
)
{
return
value
.
slice
(
0
,
12
)
+
'...'
}
return
value
}
},
data
()
{
return
{
checkList
:
[],
//筛选数据
tableHeader
:
[
{
label
:
'操作员'
,
prop
:
'username'
},
//是否插槽
{
label
:
'来源'
,
prop
:
'ip'
},
{
label
:
'指令类型'
,
prop
:
'operation'
},
{
label
:
'操作时间'
,
prop
:
'createDate'
},
{
label
:
'指令内容'
,
prop
:
'detail'
}
// {label:'操作',prop:''},
],
tableOption
:
{
border
:
false
,
//是否边框
maxHeight
:
500
//高度
},
dataForm
:
{
comMark
:
''
,
comType
:
null
,
startTime
:
''
,
endTime
:
''
},
dataList
:
[],
pageIndex
:
1
,
pageSize
:
10
,
totalPage
:
0
,
dataListLoading
:
false
}
},
components
:
{
dragTable
},
watch
:
{
totalPage
()
{
//注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
let
pages
=
Math
.
ceil
(
this
.
totalPage
/
this
.
pageSize
)
//新数据总页数
//总页数小于当前页数则重新加载列表数据
if
(
pages
<
this
.
pageIndex
)
{
this
.
pageIndex
=
pages
||
1
this
.
getDataList
()
//获取表格数据的方法
}
}
},
created
()
{
that
=
this
this
.
pageIndex
=
1
this
.
getDataList
()
},
mounted
()
{
this
.
checkList
=
[...
this
.
tableHeader
]
},
methods
:
{
toLine
(
name
)
{
return
name
.
replace
(
/
([
A-Z
])
/g
,
'_$1'
).
toLowerCase
()
},
//重置
reSet
()
{
this
.
dataForm
=
{}
this
.
pageIndex
=
1
this
.
getDataList
()
},
// 获取数据列表
getDataList
(
sort
,
order
)
{
// console.log(sort,'---',order)
this
.
dataListLoading
=
true
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
'/sysCommandLog/pageList'
),
method
:
'post'
,
data
:
{
comMark
:
this
.
dataForm
.
comMark
,
comType
:
this
.
dataForm
.
comType
,
startTime
:
this
.
dataForm
.
startTime
,
endTime
:
this
.
dataForm
.
endTime
}
}).
then
(
data
=>
{
//console.log('data', data)
if
(
data
&&
data
.
code
===
0
)
{
this
.
dataList
=
data
.
page
.
rows
// console.log(this.dataList)
this
.
totalPage
=
data
.
page
.
total
}
else
{
this
.
dataList
=
[]
this
.
totalPage
=
0
}
this
.
dataListLoading
=
false
})
},
//排序
sortChange
(
column
)
{
if
(
column
.
order
===
'descending'
)
{
this
.
order
=
'desc'
}
else
{
this
.
order
=
'asc'
}
if
(
column
.
column
.
columnKey
)
{
this
.
sort
=
column
.
column
.
columnKey
}
else
{
this
.
sort
=
column
.
prop
}
this
.
getDataList
()
},
// 每页数
sizeChangeHandle
(
val
)
{
this
.
pageSize
=
val
this
.
pageIndex
=
1
this
.
getDataList
()
},
// 当前页
currentChangeHandle
(
val
)
{
this
.
pageIndex
=
val
this
.
getDataList
()
}
}
}
</
script
>
src/pages/sys/user/query-detail.vue
View file @
6b0df6da
...
@@ -145,12 +145,12 @@ export default {
...
@@ -145,12 +145,12 @@ export default {
// console.log(data)
// console.log(data)
this
.
dataForm
=
data
.
user
||
{}
this
.
dataForm
=
data
.
user
||
{}
this
.
dataForm
.
stationId
=
localStorage
.
getItem
(
'stationId'
)
this
.
dataForm
.
stationId
=
localStorage
.
getItem
(
'stationId'
)
this
.
allJob
.
map
(
item
=>
{
this
.
allJob
.
map
(
(
item
)
=>
{
if
(
item
.
id
===
this
.
dataForm
.
job
)
{
if
(
item
.
id
===
this
.
dataForm
.
job
)
{
this
.
dataForm
.
jobName
=
item
.
name
this
.
dataForm
.
jobName
=
item
.
name
}
}
})
})
this
.
nations
.
map
(
item
=>
{
this
.
nations
.
map
(
(
item
)
=>
{
if
(
item
.
id
.
toString
()
===
this
.
dataForm
.
nation
)
{
if
(
item
.
id
.
toString
()
===
this
.
dataForm
.
nation
)
{
this
.
dataForm
.
nationName
=
item
.
name
this
.
dataForm
.
nationName
=
item
.
name
}
}
...
@@ -192,7 +192,7 @@ export default {
...
@@ -192,7 +192,7 @@ export default {
//获取民族信息
//获取民族信息
getNation
()
{
getNation
()
{
this
.
$http
({
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
'/
emPerson
/getAllNation'
),
url
:
this
.
$http
.
adornUrl
(
'/
sys/user
/getAllNation'
),
method
:
'get'
method
:
'get'
}).
then
((
data
)
=>
{
}).
then
((
data
)
=>
{
// console.log("data", data);
// console.log("data", data);
...
...
src/router/routes.js
View file @
6b0df6da
...
@@ -73,6 +73,7 @@ const frameIn = [
...
@@ -73,6 +73,7 @@ const frameIn = [
{
path
:
'admin'
,
name
:
`
${
pre
}
admin`
,
component
:
()
=>
import
(
'@/pages/sys/user'
),
meta
:
{
...
meta
,
title
:
'用户管理'
}
},
{
path
:
'admin'
,
name
:
`
${
pre
}
admin`
,
component
:
()
=>
import
(
'@/pages/sys/user'
),
meta
:
{
...
meta
,
title
:
'用户管理'
}
},
{
path
:
'role'
,
name
:
`
${
pre
}
role`
,
component
:
()
=>
import
(
'@/pages/sys/role'
),
meta
:
{
...
meta
,
title
:
'角色管理'
}
},
{
path
:
'role'
,
name
:
`
${
pre
}
role`
,
component
:
()
=>
import
(
'@/pages/sys/role'
),
meta
:
{
...
meta
,
title
:
'角色管理'
}
},
{
path
:
'logs'
,
name
:
`
${
pre
}
logs`
,
component
:
()
=>
import
(
'@/pages/sys/logs'
),
meta
:
{
...
meta
,
title
:
'系统日志'
}
},
{
path
:
'logs'
,
name
:
`
${
pre
}
logs`
,
component
:
()
=>
import
(
'@/pages/sys/logs'
),
meta
:
{
...
meta
,
title
:
'系统日志'
}
},
{
path
:
'commandlog'
,
name
:
`
${
pre
}
commandlog`
,
component
:
()
=>
import
(
'@/pages/sys/commandlog'
),
meta
:
{
...
meta
,
title
:
'历史指令'
}
},
{
path
:
'point'
,
name
:
`
${
pre
}
point`
,
component
:
()
=>
import
(
'@/pages/sys/point'
),
meta
:
{
...
meta
,
title
:
'资源点管理'
}
},
{
path
:
'point'
,
name
:
`
${
pre
}
point`
,
component
:
()
=>
import
(
'@/pages/sys/point'
),
meta
:
{
...
meta
,
title
:
'资源点管理'
}
},
{
path
:
'road'
,
name
:
`
${
pre
}
road`
,
component
:
()
=>
import
(
'@/pages/sys/road'
),
meta
:
{
...
meta
,
title
:
'线路站点管理'
}
},
{
path
:
'road'
,
name
:
`
${
pre
}
road`
,
component
:
()
=>
import
(
'@/pages/sys/road'
),
meta
:
{
...
meta
,
title
:
'线路站点管理'
}
},
{
path
:
'parameter'
,
name
:
`
${
pre
}
parameter`
,
component
:
()
=>
import
(
'@/pages/sys/parameter'
),
meta
:
{
...
meta
,
title
:
'系统参数设置'
}
},
{
path
:
'parameter'
,
name
:
`
${
pre
}
parameter`
,
component
:
()
=>
import
(
'@/pages/sys/parameter'
),
meta
:
{
...
meta
,
title
:
'系统参数设置'
}
},
...
...
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