Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
web-monitor
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
Administrator
web-monitor
Commits
5fb2b96a
Commit
5fb2b96a
authored
Jan 10, 2025
by
dupengyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
图表 统计 旧项目改动
parent
a674e78e
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
166 additions
and
75 deletions
+166
-75
index.js
src/router/index.js
+5
-5
index.vue
src/views/backup/backups/index.vue
+0
-0
index.vue
src/views/backup/synchronize/index.vue
+0
-0
index.vue
src/views/jobgroup/joblog/index.vue
+1
-13
monitorEquip.vue
src/views/setting/add/comp/monitorEquip.vue
+29
-18
api.js
src/views/setting/api.js
+17
-8
index.vue
src/views/setting/parameter/index.vue
+110
-27
monitorTable.vue
src/views/setting/statistics/comp/monitorTable.vue
+4
-4
No files found.
src/router/index.js
View file @
5fb2b96a
...
...
@@ -230,22 +230,22 @@ export const constantRoutes = [
}
]
},
{
path
:
'/
system
'
,
path
:
'/
backup
'
,
component
:
Layout
,
redirect
:
'/dashboard'
,
name
:
'
系统
管理'
,
meta
:
{
title
:
'
系统管理'
,
icon
:
'system
'
},
name
:
'
备份
管理'
,
meta
:
{
title
:
'
备份管理'
,
icon
:
'backup
'
},
children
:
[
{
path
:
'backups'
,
name
:
'数据备份'
,
component
:
()
=>
import
(
'@/views/
system
/backups/index'
),
component
:
()
=>
import
(
'@/views/
backup
/backups/index'
),
meta
:
{
title
:
'数据备份'
}
},
{
path
:
'synchronize'
,
name
:
'时间同步'
,
component
:
()
=>
import
(
'@/views/
system
/synchronize/index'
),
component
:
()
=>
import
(
'@/views/
backup
/synchronize/index'
),
meta
:
{
title
:
'时间同步'
}
}
]
...
...
src/views/
system
/backups/index.vue
→
src/views/
backup
/backups/index.vue
View file @
5fb2b96a
File moved
src/views/
system
/synchronize/index.vue
→
src/views/
backup
/synchronize/index.vue
View file @
5fb2b96a
File moved
src/views/jobgroup/joblog/index.vue
View file @
5fb2b96a
...
...
@@ -52,19 +52,7 @@ export default {
start
:
0
,
length
:
10
,
};
const
queryParams
=
new
URLSearchParams
(
data
).
toString
();
// const formData = new FormData();
// Object.keys(data).map((key) => {
// formData.append(key, data[key]);
// });
// let formdata=new FormData();
// formdata.append('jobGroup', 0);
// formdata.append('jobId', 0);
// formdata.append('logStatus', -1);
// formdata.append('filterTime', '2024-12-09 00:00:00 - 2025-01-09 23:59:59');
// formdata.append('start', );
// formdata.append('logStatus', -1);
const
queryParams
=
new
URLSearchParams
(
data
).
toString
();
const
res
=
await
joblogList
(
queryParams
);
console
.
log
(
res
);
this
.
tableData
=
res
;
...
...
src/views/setting/add/comp/monitorEquip.vue
View file @
5fb2b96a
...
...
@@ -66,6 +66,9 @@
<el-form-item
label=
"IP:"
prop=
"ip"
>
<el-input
v-model=
"monitorForm.ip"
placeholder=
"请输入IP"
/>
</el-form-item>
<el-form-item
label=
"端口:"
prop=
"port"
>
<el-input
v-model=
"monitorForm.port"
placeholder=
"请输入端口号"
/>
</el-form-item>
<el-form-item
label=
"设备类别:"
prop=
"equipType"
>
<el-select
v-model=
"monitorForm.equipType"
placeholder=
"请输入设备类别"
>
<el-option
...
...
@@ -86,7 +89,6 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"设备生产序列号:"
prop=
"equipSerialNumber"
>
<el-input
v-model=
"monitorForm.equipSerialNumber"
...
...
@@ -100,7 +102,7 @@
/>
</el-form-item>
</el-form>
<div
class=
"btn"
v-if=
"isEdit
==
1"
>
<div
class=
"btn"
v-if=
"isEdit
==
1"
>
<el-button
type=
"primary"
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
</div>
...
...
@@ -117,7 +119,7 @@ import {
selectMonitorItem
,
selectForSite
,
selectForFsu
,
updateMonitorEquipConf
updateMonitorEquipConf
,
}
from
"../../api"
;
import
{
successAlert
,
warningAlert
}
from
"@/utils/alert"
;
...
...
@@ -125,20 +127,20 @@ export default {
props
:
{
isEdit
:
{
type
:
Number
,
default
:
0
default
:
0
,
},
curInfo
:
{
type
:
Object
,
default
:
()
=>
{}
}
default
:
()
=>
{}
,
}
,
},
watch
:
{
curInfo
:
{
immediate
:
true
,
handler
(
newV
)
{
this
.
monitorForm
=
formInit
(
newV
);
}
}
}
,
}
,
},
data
()
{
return
{
...
...
@@ -162,7 +164,16 @@ export default {
equipFactory
:
[
{
required
:
true
,
message
:
"请输入设备厂商"
,
trigger
:
"blur"
},
],
ip
:
[{
required
:
true
,
pattern
:
/^
(
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
[
1-9
])\.((
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
\d)\.){2}(
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
\d)
$/
,
message
:
"请输入正确的IP地址"
,
trigger
:
"blur"
}],
ip
:
[
{
required
:
true
,
pattern
:
/^
(
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
[
1-9
])\.((
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
\d)\.){2}(
1
\d{2}
|2
[
0-4
]\d
|25
[
0-5
]
|
[
1-9
]\d
|
\d)
$/
,
message
:
"请输入正确的IP地址"
,
trigger
:
"blur"
,
},
],
port
:
[{
required
:
true
,
message
:
"请选择端口号"
,
trigger
:
"blur"
}],
equipMode
:
[
{
required
:
true
,
message
:
"请选择设备型号"
,
trigger
:
"blur"
},
],
...
...
@@ -198,18 +209,18 @@ export default {
// 编辑的确认
confirm
()
{
let
params
=
{
...
this
.
monitorForm
}
delete
params
.
creationTime
updateMonitorEquipConf
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功!'
);
...
this
.
monitorForm
,
}
;
delete
params
.
creationTime
;
updateMonitorEquipConf
(
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功!"
);
}
this
.
cancel
(
true
);
})
})
;
},
cancel
(
refersh
)
{
this
.
$emit
(
'update'
,
refersh
);
this
.
$emit
(
"update"
,
refersh
);
this
.
reset
();
},
changerailWay
()
{
...
...
@@ -249,7 +260,7 @@ export default {
this
.
params
.
size
=
res
.
total
;
this
.
getAllWay
();
}
});
l
});
},
},
created
()
{
...
...
src/views/setting/api.js
View file @
5fb2b96a
...
...
@@ -50,8 +50,9 @@ const path = {
updateFeederConf
:
'api/antennaFeeder/updateFeederConf'
,
autoList
:
'/device/autoAdd/selectPage'
,
waveStatistics
:
'/device/sampling/waveStatistics'
,
samplingList
:
'/device/sampling/selectPage'
,
waveStatistics
:
'/device/sampling/waveStatistics'
,
distanceStatistics
:
'/device/sampling/distanceStatistics'
,
samplingList
:
'/device/sampling/selectPage'
,
}
// 铁路线
export
function
railWaylist
()
{
...
...
@@ -198,16 +199,24 @@ export function autoList() {
// 漏缆链路及天馈接口驻波比数据趋势分析
export
function
waveStatistics
(
params
)
{
return
request
({
url
:
path
.
waveStatistics
,
method
:
'post'
,
params
url
:
path
.
waveStatistics
,
method
:
'post'
,
params
})
}
export
function
distanceStatistics
(
params
)
{
return
request
({
url
:
path
.
distanceStatistics
,
method
:
'post'
,
params
})
}
// 漏缆链路及天馈接口驻波比数据趋势分析 列表
export
function
samplingList
(
params
)
{
return
request
({
url
:
path
.
samplingList
,
method
:
'post'
,
params
url
:
path
.
samplingList
,
method
:
'post'
,
params
})
}
\ No newline at end of file
src/views/setting/parameter/index.vue
View file @
5fb2b96a
...
...
@@ -24,26 +24,16 @@
:inline=
"true"
size=
"mini"
>
<el-form-item
label=
"漏缆链路编号"
>
<el-input
v-model=
"form.pointDeviceName"
clearable
placeholder=
"请输入漏缆链路编号"
></el-input>
</el-form-item>
<el-form-item
label=
"天馈接口编号"
>
<el-input
v-model=
"form.pointDeviceName"
clearable
placeholder=
"请输入天馈接口编号"
></el-input>
</el-form-item>
<el-form-item
label=
"检测点位置名称"
>
<el-input
v-model=
"form.pointDeviceName"
clearable
placeholder=
"请输入检测点位置名称"
></el-input>
<el-form-item
label=
"类型"
>
<el-select
v-model=
"type"
placeholder=
"请选择类型"
clearable
>
<el-option
v-for=
"item in typeList"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"采集时间"
>
<el-date-picker
...
...
@@ -52,7 +42,7 @@
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
hh:mm:ss
"
>
</el-date-picker>
</el-form-item>
...
...
@@ -63,9 +53,9 @@
</el-form>
<div
class=
"card"
>
<div
class=
"nav-title"
>
漏缆链路及天馈接口驻波比数据趋势分析
</div>
<div
id=
"chart1"
style=
"width: 100%; height: 500px"
></div>
</div>
<div>
<!-- :cell-class-name="cellClassFn" -->
<el-table
:data=
"tableData"
style=
"width: 100%"
...
...
@@ -160,16 +150,22 @@
</template>
<
script
>
import
{
waveStatistics
,
samplingList
}
from
"../api.js"
;
import
*
as
echarts
from
"echarts"
;
import
{
waveStatistics
,
distanceStatistics
,
samplingList
}
from
"../api.js"
;
export
default
{
data
()
{
return
{
typeList
:
[
"驻波比"
,
"距离"
],
type
:
"驻波比"
,
form
:
{},
dateRange
:
[],
value
:
""
,
options
:
[],
tableData
:
[],
isQuery
:
false
,
myChart
:
{
chart1
:
null
,
},
params
:
{
current
:
1
,
size
:
10
,
...
...
@@ -178,11 +174,51 @@ export default {
};
},
mounted
()
{
this
.
handleWaveStatistics
();
this
.
handleSamplingList
();
this
.
handleInit
();
},
methods
:
{
handleView
(){},
handleInit
()
{
if
(
this
.
type
==
"驻波比"
)
{
this
.
handleWaveStatistics
();
}
else
{
this
.
handleDistanceStatistics
();
}
this
.
handleSamplingList
();
},
handleLoadEchars
(
data
)
{
if
(
this
.
myChart
.
chart1
!=
null
)
{
this
.
myChart
.
chart1
.
dispose
();
}
let
chartDom
=
document
.
getElementById
(
"chart1"
);
this
.
myChart
.
chart1
=
echarts
.
init
(
chartDom
);
let
option
;
option
=
{
tooltip
:
{
trigger
:
"axis"
,
},
xAxis
:
{
type
:
"category"
,
data
:
data
.
xData
,
},
yAxis
:
{
type
:
"value"
,
},
series
:
[
{
data
:
data
.
t1
,
name
:
data
.
t1Name
,
type
:
"line"
,
},
{
data
:
data
.
t2
,
name
:
data
.
t2Name
,
type
:
"line"
,
},
],
};
option
&&
this
.
myChart
.
chart1
.
setOption
(
option
);
},
handleView
()
{},
formatDate
(
date
)
{
const
year
=
date
.
getFullYear
();
const
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
"0"
);
...
...
@@ -204,6 +240,51 @@ export default {
data
.
endDate
=
this
.
formatDate
(
new
Date
());
}
let
res
=
await
waveStatistics
(
data
);
let
xData
=
res
.
map
((
item
)
=>
{
return
item
.
alarmDate
;
});
let
t1
=
res
.
map
((
item
)
=>
{
return
item
.
upWave
;
});
let
t2
=
res
.
map
((
item
)
=>
{
return
item
.
downWave
;
});
this
.
handleLoadEchars
({
xData
,
t1Name
:
"上行漏缆故障点驻波比值"
,
t2Name
:
"下行漏缆故障点驻波比值"
,
t1
,
t2
,
});
},
async
handleDistanceStatistics
()
{
let
data
=
{
startDate
:
""
,
endDate
:
""
,
};
if
(
!
this
.
dateRange
.
length
)
{
data
.
startDate
=
this
.
formatDate
(
new
Date
(
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
7
)
);
data
.
endDate
=
this
.
formatDate
(
new
Date
());
}
let
res
=
await
distanceStatistics
(
data
);
let
xData
=
res
.
map
((
item
)
=>
{
return
item
.
alarmDate
;
});
let
t1
=
res
.
map
((
item
)
=>
{
return
item
.
upDistance
;
});
let
t2
=
res
.
map
((
item
)
=>
{
return
item
.
downDistance
;
});
this
.
handleLoadEchars
({
xData
,
t1Name
:
"上行漏缆故障点距离"
,
t2Name
:
"下行漏缆故障点距离"
,
t1
,
t2
,
});
},
async
handleSamplingList
()
{
let
res
=
await
samplingList
(
this
.
params
);
...
...
@@ -217,7 +298,9 @@ export default {
},
getInit
()
{},
reset
()
{},
toSearch
()
{},
toSearch
()
{
this
.
handleInit
();
},
},
};
</
script
>
...
...
src/views/setting/statistics/comp/monitorTable.vue
View file @
5fb2b96a
...
...
@@ -9,9 +9,9 @@
<el-button
type=
"primary"
@
click=
"refresh"
>
刷新
</el-button>
<el-button
type=
"primary"
@
click=
"block = !block"
>
查询
</el-button>
<el-button
type=
"primary"
@
click=
"exportData"
>
导出
</el-button>
<el-button
type=
"primary"
@
click=
"handleAutomatic"
<
!--
<
el-button
type=
"primary"
@
click=
"handleAutomatic"
>
自动添加设备
</el-button
>
>
-->
</div>
</div>
<el-form
...
...
@@ -167,14 +167,14 @@
>
<monitor
:curInfo=
"curInfo"
:isEdit=
"1"
@
update=
"update"
/>
</el-dialog>
<el-dialog
<
!-- <
el-dialog
title="自动添加设备"
:visible.sync="open"
width="40%"
:close-on-click-modal="false"
>
<autoAdd />
</el-dialog>
</el-dialog>
-->
<el-dialog
title=
"监测设备参数设置"
:visible
.
sync=
"openSetting"
...
...
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