Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
device-new-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
device-new-platform
Commits
27a5bdd1
Commit
27a5bdd1
authored
Jul 17, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
988d5ea3
74025df0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
415 additions
and
103 deletions
+415
-103
device-manager-ui/admin/src/assets/less/base.less
device-manager-ui/admin/src/assets/less/base.less
+5
-3
device-manager-ui/admin/src/assets/less/common.less
device-manager-ui/admin/src/assets/less/common.less
+1
-1
device-manager-ui/admin/src/components/MapDetail.vue
device-manager-ui/admin/src/components/MapDetail.vue
+121
-5
device-manager-ui/admin/src/views/device/list.vue
device-manager-ui/admin/src/views/device/list.vue
+191
-64
device-manager-ui/admin/src/views/login/login.vue
device-manager-ui/admin/src/views/login/login.vue
+3
-4
device-manager-ui/admin/src/views/sitestat/mapDetail.vue
device-manager-ui/admin/src/views/sitestat/mapDetail.vue
+94
-26
No files found.
device-manager-ui/admin/src/assets/less/base.less
View file @
27a5bdd1
...
@@ -14,8 +14,8 @@ html * {
...
@@ -14,8 +14,8 @@ html * {
html,
html,
body {
body {
width: 100%;
width: 100%;
//
height: 100%;
height: 100%;
min-height: 100%;
//
min-height: 100%;
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, STHeiTi, Arial,
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, STHeiTi, Arial,
sans-serif;
sans-serif;
}
}
...
@@ -226,7 +226,9 @@ a {
...
@@ -226,7 +226,9 @@ a {
pointer-events: none;
pointer-events: none;
}
}
#app,
#app{
height: 100%;
}
.pages {
.pages {
.flex;
.flex;
.flex-v;
.flex-v;
...
...
device-manager-ui/admin/src/assets/less/common.less
View file @
27a5bdd1
...
@@ -328,7 +328,7 @@
...
@@ -328,7 +328,7 @@
text-align: right;
text-align: right;
}
}
.
addclass
{
.
el-button--primary
{
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
color: #fff !important;
}
}
device-manager-ui/admin/src/components/MapDetail.vue
View file @
27a5bdd1
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
vid=
"amapDetail"
vid=
"amapDetail"
:amap-manager=
"amapManager"
:amap-manager=
"amapManager"
:center=
"center"
:center=
"center"
expandZoomRange
:expandZoomRange=
"true"
:zoom=
"20"
:zoom=
"20"
:pitch=
"65"
:pitch=
"65"
:rotation=
"45"
:rotation=
"45"
...
@@ -32,6 +32,89 @@
...
@@ -32,6 +32,89 @@
:extData=
"marker"
:extData=
"marker"
>
>
</el-amap-marker>
</el-amap-marker>
<!--信息窗体-->
<el-amap-info-window
:closeWhenClickMap=
"true"
:position=
"window.position"
:visible=
"window.visible"
:offset=
"[0, -30]"
:events=
"
{
init(m) {
m.on('open', () => (window.visible = true));
m.on('close', () => (window.visible = false));
},
}"
>
<div
class=
"info-window"
>
<!-- 头部 -->
<div
class=
"header flex aic jcb mb20"
>
<div
class=
"title"
>
{{
curDev
.
productName
+
"
-
"
+
curDev
.
deviceName
}}
</div>
<div
class=
"hint"
>
<div
class=
"green"
v-if=
"curDev.deviceStatus === 2"
>
<i
class=
"el-icon-link"
></i>
在线
</div>
<div
class=
"wraning"
v-else-if=
"curDev.enabled === 0"
>
<i
class=
"el-icon-switch-button"
></i>
停用
</div>
<div
class=
"ordinary"
v-else-if=
"curDev.deviceStatus === 0"
>
<i
class=
"el-icon-sunset"
></i>
未激活
</div>
<div
class=
"delete"
v-else-if=
"curDev.deviceStatus === 1"
>
<i
class=
"el-icon-light-rain"
></i>
离线
</div>
</div>
</div>
<!-- 主体 -->
<div
class=
"info-box"
>
<el-descriptions
:column=
"1"
size=
"small"
>
<el-descriptions-item
label=
"设备编码"
>
{{
curDev
.
deviceCode
?
curDev
.
deviceCode
:
"
--
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"MAC地址"
>
{{
curDev
.
deviceMac
?
curDev
.
deviceMac
:
"
--
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"设备位置"
>
{{
curDev
.
deviceInBuilding
?
curDev
.
deviceInBuilding
:
"
--
"
}}
栋
{{
curDev
.
deviceInFloor
?
curDev
.
deviceInFloor
:
"
--
"
}}
层
</el-descriptions-item
>
<el-descriptions-item
:labelStyle=
"
{ 'text-align': 'right', width: '50px' }"
label="负责人"
>
{{
curDev
.
leadingOfficial
||
"
--
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
>
{{
curDev
.
leadingOfficialTelephone
||
"
--
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"创建时间"
>
{{
formatterDate
(
curDev
.
createTime
)
}}
</el-descriptions-item>
</el-descriptions>
</div>
<!-- 底部按钮 -->
<!--
<div
class=
"footer mt20 flex aic"
>
<el-button
size=
"small"
v-if=
"curDev.deviceStatus === 0"
type=
"primary"
@
click=
"handleActive"
>
一键激活
</el-button
>
<el-button
size=
"small"
type=
"primary"
@
click=
"checkInfo(curDev.id)"
>
查看设备详情
</el-button
>
</div>
-->
</div>
</el-amap-info-window>
</el-amap>
</el-amap>
</div>
</div>
</
template
>
</
template
>
...
@@ -110,6 +193,10 @@ export default {
...
@@ -110,6 +193,10 @@ export default {
events
:
{
events
:
{
click
:
(
e
)
=>
{
click
:
(
e
)
=>
{
let
ExtData
=
e
.
target
.
getExtData
();
this
.
window
.
visible
=
true
;
this
.
window
.
position
=
ExtData
.
position
;
this
.
curDev
=
ExtData
.
extData
;
console
.
log
(
"
getExtData
"
,
e
.
target
.
getExtData
());
console
.
log
(
"
getExtData
"
,
e
.
target
.
getExtData
());
},
},
},
},
...
@@ -136,7 +223,11 @@ export default {
...
@@ -136,7 +223,11 @@ export default {
zoom
:
20
,
zoom
:
20
,
center
:
[
104.007767
,
30.568308
],
center
:
[
104.007767
,
30.568308
],
marker
:
{},
marker
:
{},
window
:
{
position
:
[
0
,
0
],
visible
:
false
,
},
curDev
:
{},
// 一些工具插件
// 一些工具插件
};
};
},
},
...
@@ -146,7 +237,7 @@ export default {
...
@@ -146,7 +237,7 @@ export default {
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.tuli {
.tuli {
width: 400px;
width: 400px;
top:
2
0px;
top:
4
0px;
left: 34px;
left: 34px;
position: absolute;
position: absolute;
float: left;
float: left;
...
@@ -161,13 +252,14 @@ export default {
...
@@ -161,13 +252,14 @@ export default {
background-color: rgba(255, 255, 255, 0.7);
background-color: rgba(255, 255, 255, 0.7);
}
}
.rightTop {
.rightTop {
width: 200px;
width: 250px;
height: 100%;
top: 0px;
top: 0px;
right: 0px;
right: 0px;
position: absolute;
position: absolute;
float: right;
float: right;
background-color: rgba(255, 255, 255, 1);
background-color: rgba(255, 255, 255, 1);
overflow-y: auto;
}
}
.amap-info-content {
.amap-info-content {
position: relative;
position: relative;
...
@@ -175,6 +267,30 @@ export default {
...
@@ -175,6 +267,30 @@ export default {
line-height: 1.4;
line-height: 1.4;
overflow: auto;
overflow: auto;
}
}
.info-window {
width: 400px;
padding: 10px;
font-size: 12px;
color: #606266;
.header {
.title {
font-size: 20px;
font-weight: 500;
}
}
.info-text-title {
width: 90px;
text-align: right;
}
.info-box {
padding: 10px 0px;
border-top: 1px solid #ececec;
border-bottom: 1px solid #ececec;
}
.footer {
justify-content: flex-end;
}
}
.my-map {
.my-map {
width: 100%;
width: 100%;
height: 93vh;
height: 93vh;
...
...
device-manager-ui/admin/src/views/device/list.vue
View file @
27a5bdd1
...
@@ -2,62 +2,145 @@
...
@@ -2,62 +2,145 @@
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"page-header"
>
<div
class=
"page-header"
>
<div>
<div>
<span
style=
"font-size: 14px"
><b>
设备列表
</b>
(
<span
style=
"font-size: 14px"
><b>
设备列表
</b>
(
<span
style=
"margin-right: 6px"
>
{{
siteName
}}
</span>
站点编码:
{{
<span
style=
"margin-right: 6px"
>
{{
siteName
}}
</span>
站点编码:
{{
siteCode
siteCode
}}
}}
)
</span>
)
</span
<el-link
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
@
click=
"switchMap"
:underline=
"false"
>
地图模式
>
<el-link
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
@
click=
"switchMap"
:underline=
"false"
>
地图模式
</el-link>
</el-link>
</div>
</div>
<el-button
style=
"margin-right: 10px"
@
click=
"$router.back()"
size=
"small"
>
返回上一级
<el-button
style=
"margin-right: 10px"
@
click=
"$router.back()"
size=
"small"
>
返回上一级
</el-button>
</el-button>
</div>
</div>
<el-divider></el-divider>
<el-divider></el-divider>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"handleImport"
>
导入
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
</el-button>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"doExport"
<el-button
:disabled=
"isExport"
>
导出
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
</el-button>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
<el-button
@
click=
"batchActiveDevice"
>
批量激活
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"batchActiveDevice"
>
批量激活
</el-button>
</el-button>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
<el-button
@
click=
"batchUpdateHall"
>
更新大厅
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"batchUpdateHall"
>
更新大厅
</el-button>
</el-button>
<el-button
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
slot=
"table-head-left2"
@
click=
"batchRestartApp"
>
批量重启
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"batchRestartApp"
>
批量重启
</el-button>
</el-button>
<el-tag
slot=
"table-body-head"
size=
"mini"
class=
"cursord"
@
click=
"changeStatAll()"
>
设备总数:
{{
tableData
.
totalCount
}}
台
<el-tag
slot=
"table-body-head"
size=
"mini"
class=
"cursord"
@
click=
"changeStatAll()"
>
设备总数:
{{
tableData
.
totalCount
}}
台
</el-tag>
</el-tag>
<el-tag
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"success"
class=
"cursord"
<el-tag
@
click=
"changeStat(2)"
>
在线:
{{
tableData
.
onlineCount
}}
台
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"success"
class=
"cursord"
@
click=
"changeStat(2)"
>
在线:
{{
tableData
.
onlineCount
}}
台
</el-tag>
</el-tag>
<el-tag
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"danger"
class=
"cursord"
<el-tag
@
click=
"changeStat(1)"
>
离线:
{{
tableData
.
offlineCount
}}
台
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"danger"
class=
"cursord"
@
click=
"changeStat(1)"
>
离线:
{{
tableData
.
offlineCount
}}
台
</el-tag>
</el-tag>
<el-tag
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"danger"
class=
"cursord"
<el-tag
@
click=
"changeStatEnabled(0)"
>
停用:
{{
tableData
.
stopCount
}}
台
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"danger"
class=
"cursord"
@
click=
"changeStatEnabled(0)"
>
停用:
{{
tableData
.
stopCount
}}
台
</el-tag>
</el-tag>
<el-tag
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"danger"
class=
"cursord"
<el-tag
@
click=
"changeStat(0)"
>
未激活:
{{
tableData
.
unActiveCount
}}
台
slot=
"table-body-head"
size=
"mini"
style=
"margin: 5px"
type=
"warning"
class=
"cursord"
@
click=
"changeStat(0)"
>
未激活:
{{
tableData
.
unActiveCount
}}
台
</el-tag>
</el-tag>
</LayoutTable>
</LayoutTable>
<!-- 设备导入对话框 -->
<!-- 设备导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-dialog
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:title=
"upload.title"
:action=
"upload.url + '?siteId=' + siteId"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:visible.sync=
"upload.open"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?siteId=' + siteId"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
将文件拖到此处,或
...
@@ -66,7 +149,12 @@
...
@@ -66,7 +149,12 @@
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
是否更新已经存在的数据
<el-link
type=
"primary"
class=
"addclass"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
<el-link
type=
"primary"
class=
"addclass"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link>
</el-link>
</div>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
...
@@ -74,46 +162,91 @@
...
@@ -74,46 +162,91 @@
</div>
</div>
</el-upload>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"submitFileForm"
>
确 定
</el-button
>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 站点修改对话框 -->
<!-- 站点修改对话框 -->
<el-dialog
:title=
"tree.title"
:visible.sync=
"tree.open"
width=
"40%"
append-to-body
>
<el-dialog
<span
style=
"font-size: 13px"
><b>
当前站点:
</b>
(
<el-link
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
:title=
"tree.title"
:underline=
"false"
>
{{
siteName
}}
</el-link>
:visible.sync=
"tree.open"
站点编码:
{{
siteCode
}}
)
</span>
width=
"40%"
append-to-body
>
<span
style=
"font-size: 13px"
><b>
当前站点:
</b>
(
<el-link
style=
"margin-left: 10px"
type=
"primary"
class=
"addclass"
:underline=
"false"
>
{{
siteName
}}
</el-link
>
站点编码:
{{
siteCode
}}
)
</span
>
<el-divider></el-divider>
<el-divider></el-divider>
<el-scrollbar
style=
"height: 100%"
>
<el-scrollbar
style=
"height: 100%"
>
<el-tree
size=
"mini"
ref=
"siteTree"
:data=
"areaData"
id=
"el-tree"
node-key=
"id"
indent=
"4"
:props=
"treeProps"
<el-tree
:load=
"loadNode"
highlight-current
default-expand-all
:expand-on-click-node=
"false"
size=
"mini"
:render-content=
"renderContent"
@
node-click=
"handleNodeClick"
>
ref=
"siteTree"
:data=
"areaData"
id=
"el-tree"
node-key=
"id"
indent=
"4"
:props=
"treeProps"
:load=
"loadNode"
highlight-current
default-expand-all
:expand-on-click-node=
"false"
:render-content=
"renderContent"
@
node-click=
"handleNodeClick"
>
</el-tree>
</el-tree>
</el-scrollbar>
</el-scrollbar>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"updateSiteConform"
>
确 定
</el-button>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"updateSiteConform"
>
确 定
</el-button
>
<el-button
@
click=
"tree.open = false"
>
取 消
</el-button>
<el-button
@
click=
"tree.open = false"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 大厅修改对话框 -->
<!-- 大厅修改对话框 -->
<el-dialog
:title=
"hallDialog.title"
:visible.sync=
"hallDialog.open"
width=
"60%"
append-to-body
>
<el-dialog
:title=
"hallDialog.title"
:visible.sync=
"hallDialog.open"
width=
"60%"
append-to-body
>
<el-form
label-width=
"120px"
>
<el-form
label-width=
"120px"
>
<Field
<Field
label=
"站点大厅"
v-model=
"hallId"
type=
"radio"
:enumData=
"tableData.dict.hallId"
placeholder=
"请选择所属大厅"
/>
label=
"站点大厅"
v-model=
"hallId"
type=
"radio"
:enumData=
"tableData.dict.hallId"
placeholder=
"请选择所属大厅"
/>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"updateBatchHallConform"
>
确 定
</el-button>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"updateBatchHallConform"
>
确 定
</el-button
>
<el-button
@
click=
"hallDialog.open = false"
>
取 消
</el-button>
<el-button
@
click=
"hallDialog.open = false"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 查看二维码弹窗 -->
<!-- 查看二维码弹窗 -->
<el-dialog
title=
"设备二维码"
:visible.sync=
"qrCodeDialog.visible"
width=
"350px"
>
<el-dialog
title=
"设备二维码"
:visible.sync=
"qrCodeDialog.visible"
width=
"350px"
>
<img
:src=
"qrCodeDialog.qrCode"
/>
<img
:src=
"qrCodeDialog.qrCode"
/>
<p
style=
"word-wrap: break-word"
>
{{
qrCodeDialog
.
qrCodeUrl
}}
</p>
<p
style=
"word-wrap: break-word"
>
{{
qrCodeDialog
.
qrCodeUrl
}}
</p>
</el-dialog>
</el-dialog>
...
@@ -170,8 +303,6 @@ export default {
...
@@ -170,8 +303,6 @@ export default {
this
.
upload
.
open
=
true
;
this
.
upload
.
open
=
true
;
},
},
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
...
@@ -241,15 +372,15 @@ export default {
...
@@ -241,15 +372,15 @@ export default {
},
},
changeStatAll
()
{
changeStatAll
()
{
delete
this
.
query
[
"
productId
"
]
delete
this
.
query
[
"
productId
"
]
;
delete
this
.
query
[
"
deviceName
"
]
delete
this
.
query
[
"
deviceName
"
]
;
delete
this
.
query
[
"
deviceCode
"
]
delete
this
.
query
[
"
deviceCode
"
]
;
delete
this
.
query
[
"
deviceStatus
"
]
delete
this
.
query
[
"
deviceStatus
"
]
;
this
.
query
[
"
page
"
]
=
1
this
.
query
[
"
page
"
]
=
1
;
this
.
query
=
Object
.
assign
(
this
.
query
,
{
this
.
query
=
Object
.
assign
(
this
.
query
,
{
//deviceStatusList: [1, 2],
//deviceStatusList: [1, 2],
// enabled: 1,
// enabled: 1,
});
});
this
.
getData
();
this
.
getData
();
...
@@ -257,9 +388,9 @@ export default {
...
@@ -257,9 +388,9 @@ export default {
changeStatEnabled
(
enabled
)
{
changeStatEnabled
(
enabled
)
{
//去除其它条件
//去除其它条件
this
.
query
[
"
page
"
]
=
1
this
.
query
[
"
page
"
]
=
1
;
this
.
query
=
Object
.
assign
(
this
.
query
,
{
this
.
query
=
Object
.
assign
(
this
.
query
,
{
// deviceStatusList: [1, 2],
// deviceStatusList: [1, 2],
enabled
:
enabled
,
enabled
:
enabled
,
});
});
...
@@ -270,13 +401,12 @@ export default {
...
@@ -270,13 +401,12 @@ export default {
//去除其它条件
//去除其它条件
// delete this.query["productId"]
// delete this.query["productId"]
//delete this.query["deviceName"]
//delete this.query["deviceName"]
delete
this
.
query
[
"
enabled
"
]
delete
this
.
query
[
"
enabled
"
]
;
this
.
query
=
Object
.
assign
(
this
.
query
,
{
deviceStatus
:
val
});
this
.
query
=
Object
.
assign
(
this
.
query
,
{
deviceStatus
:
val
});
this
.
query
[
"
page
"
]
=
1
this
.
query
[
"
page
"
]
=
1
;
this
.
getData
();
this
.
getData
();
},
},
activeDevice
(
row
)
{
activeDevice
(
row
)
{
this
.
$post
(
"
/device/active
"
,
{
this
.
$post
(
"
/device/active
"
,
{
deviceCode
:
row
.
deviceCode
,
deviceCode
:
row
.
deviceCode
,
...
@@ -307,28 +437,26 @@ export default {
...
@@ -307,28 +437,26 @@ export default {
});
});
},
},
batchUpdateHall
()
{
batchUpdateHall
()
{
this
.
hallId
=
null
;
this
.
hallId
=
null
;
this
.
hallName
=
""
this
.
hallName
=
""
;
this
.
hallDialog
.
title
=
"
设备所属大厅设置
"
;
this
.
hallDialog
.
title
=
"
设备所属大厅设置
"
;
this
.
hallDialog
.
open
=
true
;
this
.
hallDialog
.
open
=
true
;
},
},
updateBatchHallConform
(
row
)
{
updateBatchHallConform
(
row
)
{
this
.
hallName
=
this
.
tableData
.
dict
.
hallId
[
this
.
hallId
];
this
.
hallName
=
this
.
tableData
.
dict
.
hallId
[
this
.
hallId
];
this
.
$post
(
"
/device/batchUpdateHall
"
,
{
this
.
$post
(
"
/device/batchUpdateHall
"
,
{
idList
:
this
.
selection
,
idList
:
this
.
selection
,
hallId
:
this
.
hallId
,
hallId
:
this
.
hallId
,
hallName
:
this
.
hallName
hallName
:
this
.
hallName
,
})
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
"
批量更新大厅设备成功!
"
);
this
.
$message
.
success
(
"
批量更新大厅设备成功!
"
);
this
.
hallDialog
.
open
=
false
;
this
.
hallDialog
.
open
=
false
;
console
.
log
(
this
.
$refs
)
console
.
log
(
this
.
$refs
)
;
this
.
selection
=
[]
this
.
selection
=
[]
;
this
.
getData
();
this
.
getData
();
}
}
})
})
...
@@ -337,7 +465,6 @@ export default {
...
@@ -337,7 +465,6 @@ export default {
});
});
},
},
batchRestartApp
(
row
)
{
batchRestartApp
(
row
)
{
this
.
$post
(
"
/device/batchRestartApp
"
,
{
this
.
$post
(
"
/device/batchRestartApp
"
,
{
idList
:
this
.
selection
,
idList
:
this
.
selection
,
...
...
device-manager-ui/admin/src/views/login/login.vue
View file @
27a5bdd1
...
@@ -19,7 +19,8 @@
...
@@ -19,7 +19,8 @@
</el-form-item>
</el-form-item>
<el-form-item
size=
"large"
>
<el-form-item
size=
"large"
>
<el-button
<el-button
type=
"primary"
class=
"addclass"
type=
"primary"
class=
"addclass"
native-type=
"submit"
native-type=
"submit"
:loading=
"loading"
:loading=
"loading"
@
click=
"onSubmit"
@
click=
"onSubmit"
...
@@ -40,9 +41,7 @@ import { createSocket } from "@/assets/utils/websocket";
...
@@ -40,9 +41,7 @@ import { createSocket } from "@/assets/utils/websocket";
export
default
{
export
default
{
name
:
"
login
"
,
name
:
"
login
"
,
created
()
{
created
()
{},
},
methods
:
{
methods
:
{
login
()
{
login
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
...
...
device-manager-ui/admin/src/views/sitestat/mapDetail.vue
View file @
27a5bdd1
...
@@ -2,13 +2,21 @@
...
@@ -2,13 +2,21 @@
<div>
<div>
<MapDetail
ref=
"map"
:markersData=
"originData"
@
choose=
"getDetailData"
>
<MapDetail
ref=
"map"
:markersData=
"originData"
@
choose=
"getDetailData"
>
<el-card
body-style=
"padding:0px;"
slot=
"leftTop1"
>
<el-card
body-style=
"padding:0px;"
slot=
"leftTop1"
>
<el-button
type=
"text"
size=
"mini"
style=
"margin-left: 10px"
icon=
"el-icon-back"
<el-button
@
click=
"switchStat"
>
返回至站点分布
</el-button>
type=
"text"
size=
"mini"
style=
"margin-left: 10px"
icon=
"el-icon-back"
@
click=
"switchStat"
>
返回至站点分布
</el-button
>
</el-card>
</el-card>
<el-card
slot=
"leftTop"
>
<el-card
slot=
"leftTop"
>
<el-row
type=
"flex"
justify=
"space-between"
>
<el-row
type=
"flex"
justify=
"space-between"
>
<span
style=
"font-size: 18px"
><b>
{{
info
.
siteName
}}
</b></span>
<span
style=
"font-size: 18px"
><b>
{{
info
.
siteName
}}
</b></span
>
</el-row>
</el-row>
<el-divider></el-divider>
<el-divider></el-divider>
...
@@ -19,8 +27,11 @@
...
@@ -19,8 +27,11 @@
<el-descriptions-item
label=
"站点地址"
>
{{
<el-descriptions-item
label=
"站点地址"
>
{{
info
.
address
info
.
address
}}
</el-descriptions-item>
}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系人"
:labelStyle=
"
{ 'text-align': 'right', width: '50px' }">
{{
info
.
leadingOfficial
<el-descriptions-item
}}
</el-descriptions-item>
label=
"联系人"
:labelStyle=
"
{ 'text-align': 'right', width: '50px' }"
>
{{
info
.
leadingOfficial
}}
</el-descriptions-item
>
<el-descriptions-item
label=
"联系电话"
>
<el-descriptions-item
label=
"联系电话"
>
{{
info
.
leadingOfficialTelephone
}}
{{
info
.
leadingOfficialTelephone
}}
</el-descriptions-item>
</el-descriptions-item>
...
@@ -32,23 +43,33 @@
...
@@ -32,23 +43,33 @@
<el-divider></el-divider>
<el-divider></el-divider>
<el-row
type=
"flex"
justify=
"space-around"
>
<el-row
type=
"flex"
justify=
"space-around"
>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<span
style=
"font-size: 13px"
><b>
{{
info
.
deviceTotal
}}
</b></span><br
/>
<span
style=
"font-size: 13px"
><b>
{{
info
.
deviceTotal
}}
</b></span
><br
/>
<span
style=
"font-size: 12px"
>
设备总数
</span>
<span
style=
"font-size: 12px"
>
设备总数
</span>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<span
style=
"font-size: 13px"
><b
style=
"color: green"
>
{{
info
.
onlineCount
}}
</b></span><br
/>
<span
style=
"font-size: 13px"
><b
style=
"color: green"
>
{{
info
.
onlineCount
}}
</b></span
><br
/>
<span
style=
"font-size: 12px"
>
在线
</span>
<span
style=
"font-size: 12px"
>
在线
</span>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<span
style=
"font-size: 13px"
><b
style=
"color: red"
>
{{
info
.
offlineCount
}}
</b></span><br
/>
<span
style=
"font-size: 13px"
><b
style=
"color: red"
>
{{
info
.
offlineCount
}}
</b></span
><br
/>
<span
style=
"font-size: 12px"
>
离线
</span>
<span
style=
"font-size: 12px"
>
离线
</span>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<span
style=
"font-size: 13px"
><b
style=
"color: orange"
>
{{
info
.
stopCount
}}
</b></span><br
/>
<span
style=
"font-size: 13px"
><b
style=
"color: orange"
>
{{
info
.
stopCount
}}
</b></span
><br
/>
<span
style=
"font-size: 12px"
>
停用
</span>
<span
style=
"font-size: 12px"
>
停用
</span>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<span
style=
"font-size: 13px"
><b
style=
"color: grey"
>
{{
info
.
unActiveCount
}}
</b></span><br
/>
<span
style=
"font-size: 13px"
><b
style=
"color: grey"
>
{{
info
.
unActiveCount
}}
</b></span
><br
/>
<span
style=
"font-size: 12px"
>
待激活
</span>
<span
style=
"font-size: 12px"
>
待激活
</span>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -56,39 +77,86 @@
...
@@ -56,39 +77,86 @@
<el-divider></el-divider>
<el-divider></el-divider>
<el-row
type=
"flex"
justify=
"space-around"
style=
"margin-top: 10px"
>
<el-row
type=
"flex"
justify=
"space-around"
style=
"margin-top: 10px"
>
<el-button
type=
"primary"
class=
"addclass"
@
click=
"switchList"
size=
"mini"
>
列表模式
</el-button>
<el-button
type=
"primary"
<el-button
type=
"primary"
class=
"addclass"
size=
"mini"
icon=
"el-icon-edit-outline"
>
编辑站点
</el-button>
class=
"addclass"
@
click=
"switchList"
<el-button
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"addDevice"
icon=
"el-icon-plus"
>
添加设备
</el-button>
size=
"mini"
>
列表模式
</el-button
>
<el-button
type=
"primary"
class=
"addclass"
size=
"mini"
icon=
"el-icon-edit-outline"
>
编辑站点
</el-button
>
<el-button
type=
"primary"
class=
"addclass"
size=
"mini"
@
click=
"addDevice"
icon=
"el-icon-plus"
>
添加设备
</el-button
>
</el-row>
</el-row>
</el-card>
</el-card>
<el-col
slot=
"rightTop"
style=
"box-shadow: 12px 2px 12px 12px rgba(0, 0, 0, 0.1)"
>
<el-col
slot=
"rightTop"
style=
"box-shadow: 12px 2px 12px 12px rgba(0, 0, 0, 0.1)"
>
<el-row
type=
"flex"
justify=
"space-around"
>
<el-row
type=
"flex"
justify=
"space-around"
>
<el-select
style=
"padding: 5px"
size=
"mini"
@
change=
"deviceStatuschange"
v-model=
"deviceStatus"
<el-select
placeholder=
"请选择设备状态"
>
style=
"padding: 5px"
<el-option
v-for=
"($label, $value) in tableData.dict.deviceStatus"
:key=
"$value"
:label=
"$label"
size=
"mini"
:value=
"$value"
></el-option>
@
change=
"deviceStatuschange"
v-model=
"deviceStatus"
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"($label, $value) in tableData.dict.deviceStatus"
:key=
"$value"
:label=
"$label"
:value=
"$value"
></el-option>
</el-select>
</el-select>
<span>
</span>
<span>
</span>
</el-row>
</el-row>
<el-row>
<el-row>
<el-input
size=
"mini"
v-model=
"deviceName"
@
change=
"deviceNameChange"
style=
"padding: 5px"
<el-input
placeholder=
"请输入设备编码"
></el-input>
size=
"mini"
v-model=
"deviceName"
@
change=
"deviceNameChange"
style=
"padding: 5px"
placeholder=
"请输入设备编码"
></el-input>
</el-row>
</el-row>
<el-divider></el-divider>
<el-divider></el-divider>
<el-row
v-for=
"(label, value, index) in tableData.dict.productId"
:key=
"index"
type=
"flex"
<el-row
style=
"border-bottom: 1px solid #e8eaec; padding: 10px"
justify=
"space-between"
>
v-for=
"(label, value, index) in tableData.dict.productId"
:key=
"index"
type=
"flex"
style=
"border-bottom: 1px solid #e8eaec; padding: 10px"
justify=
"space-between"
>
<!--
<img
src=
"../../assets/images/排队机.png"
alt=
""
/>
-->
<!--
<img
src=
"../../assets/images/排队机.png"
alt=
""
/>
-->
<img
:src=
"require(`../../assets/images/$
{label}.png`)" />
<img
:src=
"require(`../../assets/images/$
{label}.png`)" />
<!--
<i
style=
"font-size: 20px"
class=
"el-icon-location-information"
></i>
-->
<!--
<i
style=
"font-size: 20px"
class=
"el-icon-location-information"
></i>
-->
<span
style=
"font-size: 12px"
>
{{
label
}}
</span>
<span
style=
"font-size: 12px"
>
{{
label
}}
</span>
<el-switch
v-model=
"items[index]"
:active-value=
"value"
:inactive-value=
"0"
@
change=
"switchChange"
<el-switch
active-color=
"#2882ED"
inactive-color=
"#8C8B8E"
>
v-model=
"items[index]"
:active-value=
"value"
:inactive-value=
"0"
@
change=
"switchChange"
active-color=
"#2882ED"
inactive-color=
"#8C8B8E"
>
</el-switch>
</el-switch>
</el-row>
</el-row>
</el-col>
</el-col>
...
...
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