Commit a516ca5c by 杨琪琪

服务器资源实时监控图表

parent 0731eaec
...@@ -105,7 +105,7 @@ const labelOption = { ...@@ -105,7 +105,7 @@ const labelOption = {
align: 'left', align: 'left',
verticalAlign: 'middle', verticalAlign: 'middle',
rotate: 90, rotate: 90,
formatter: '{c} {name|{a}}', formatter: '{@metric} {name|{a}}',
fontSize: 16, fontSize: 16,
rich: { rich: {
name: {} name: {}
...@@ -117,26 +117,35 @@ var defaultYBarOptions = { ...@@ -117,26 +117,35 @@ var defaultYBarOptions = {
textStyle: {fontSize: '14px', color: "#fff"}, textStyle: {fontSize: '14px', color: "#fff"},
left: 'center' left: 'center'
}, },
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: { grid: {
left: '3%', left: '3%',
right: '4%', right: '4%',
bottom: '5%', bottom: '15%',
containLabel: true containLabel: true
}, },
legend: { legend: {
data: ['Forest', 'Steppe', 'Desert', 'Wetland'],
textStyle: { textStyle: {
color: "#fff", color: "#fff",
}, },
left: 10 left: 10
}, },
xAxis: [ dataset: {
{ source: []
},
xAxis: {
type: 'category', type: 'category',
axisTick: {show: false}, axisTick: {show: false},
data: ['2012', '2013', '2014', '2015', '2016'] axisLabel: {
interval: 0, // 显示所有刻度值
rotate: 270, // 可选:旋转刻度标签,以免重叠
} }
], },
yAxis: [ yAxis: [
{ {
type: 'value' type: 'value'
...@@ -144,41 +153,24 @@ var defaultYBarOptions = { ...@@ -144,41 +153,24 @@ var defaultYBarOptions = {
], ],
series: [ series: [
{ {
name: 'Forest',
type: 'bar', type: 'bar',
barGap: 0, barGap: 0,
label: labelOption, // label: labelOption,
emphasis: { emphasis: {
focus: 'series' focus: 'series'
}, },
data: [320, 332, 301, 334, 390]
},
{
name: 'Steppe',
type: 'bar',
label: labelOption,
emphasis: {
focus: 'series'
},
data: [220, 182, 191, 234, 290]
}, },
],
dataZoom: [ // 数据区域缩放配置
{ {
name: 'Desert', type: 'inside', // 内置型数据区域缩放
type: 'bar', start: 0, // 默认开始位置百分比
label: labelOption, end: 100 // 默认结束位置百分比
emphasis: {
focus: 'series'
},
data: [150, 232, 201, 154, 190]
}, },
{ {
name: 'Wetland', type: 'slider', // 滑动条型数据区域缩放
type: 'bar', start: 0, // 默认开始位置百分比
label: labelOption, end: 100 // 默认结束位置百分比
emphasis: {
focus: 'series'
},
data: [98, 77, 101, 99, 40]
} }
] ]
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>testUrl</title> <title>testUrl</title>
<link rel="stylesheet" href="newLayui/css/layui.css" media="all"> <link rel="stylesheet" href="layui2_9_8/css/layui.css" media="all">
<link rel="stylesheet" href="css/callSupervision.css" media="all"> <link rel="stylesheet" href="css/callSupervision.css" media="all">
<script src="newLayui/layui.js"></script> <script src="layui2_9_8/layui.js"></script>
<script src="js/jquery.min.js"></script> <script src="js/jquery.min.js"></script>
<script src="js/echarts/echarts.js"></script> <script src="js/echarts/echarts.js"></script>
<style> <style>
...@@ -149,7 +149,18 @@ ...@@ -149,7 +149,18 @@
<script th:inline="javascript"> <script th:inline="javascript">
var gatewayUrl = [[${gatewayUrl}]]; var gatewayUrl = [[${gatewayUrl}]];
</script> </script>
<script>
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
// 2xx 范围内的状态码都会触发该函数。
// 对响应数据做点什么
return response.data;
}, function (error) {
// 超出 2xx 范围的状态码都会触发该函数。
// 对响应错误做点什么
return Promise.reject(error);
});
</script>
<script> <script>
var timeLineChart = null; var timeLineChart = null;
var courtBarChart = null; var courtBarChart = null;
...@@ -158,6 +169,7 @@ ...@@ -158,6 +169,7 @@
var currYear = new Date().strftime('%Y'); var currYear = new Date().strftime('%Y');
var currMonth = new Date().strftime('%m'); var currMonth = new Date().strftime('%m');
var currDate = new Date().strftime('%d'); var currDate = new Date().strftime('%d');
var monitorInterval = null;
// 确保layui和echarts已经加载 // 确保layui和echarts已经加载
layui.config({ layui.config({
...@@ -183,9 +195,9 @@ ...@@ -183,9 +195,9 @@
form.val('areaForm', { form.val('areaForm', {
isRegion: true, isRegion: true,
interval: 'hour', interval: 'hour',
year: new Date().strftime('%Y'), year: currYear,
month: new Date().strftime('%m'), month: currMonth,
day: new Date().strftime('%d') day: currDate
}) })
// 全区/地市 切换监听 // 全区/地市 切换监听
...@@ -202,7 +214,6 @@ ...@@ -202,7 +214,6 @@
showBottom: false, showBottom: false,
// max: new Date(), // max: new Date(),
done: function (value, date, endDate) { done: function (value, date, endDate) {
console.log('选择了年份:', value, date, endDate); // 打印选择的日期值
getBrokenLineData(); getBrokenLineData();
} }
}); });
...@@ -214,7 +225,12 @@ ...@@ -214,7 +225,12 @@
// max: new Date(), // max: new Date(),
isPreview: false, //禁用面板左下角选择值的预览,默认 true isPreview: false, //禁用面板左下角选择值的预览,默认 true
done: function (value, date, endDate) { done: function (value, date, endDate) {
console.log('选择了月份:', value, date, endDate); // 打印选择的日期值 if (!value) {
form.val("areaForm", {
day: ""
});
$('.interval-box').css('display', 'none')
}
getBrokenLineData(); getBrokenLineData();
} }
}); });
...@@ -226,7 +242,6 @@ ...@@ -226,7 +242,6 @@
// max: new Date(), // max: new Date(),
isPreview: false, //禁用面板左下角选择值的预览,默认 true isPreview: false, //禁用面板左下角选择值的预览,默认 true
done: function (value, date, endDate) { done: function (value, date, endDate) {
console.log('选择了日期:', value, date, endDate); // 打印选择的日期值
if (value) { if (value) {
form.val("areaForm", { form.val("areaForm", {
interval: "hour" interval: "hour"
...@@ -236,10 +251,8 @@ ...@@ -236,10 +251,8 @@
form.val("areaForm", { form.val("areaForm", {
interval: "" interval: ""
}); });
// $('.interval-box').css('display', 'none') $('.interval-box').css('display', 'none')
} }
let fData = form.val('areaForm');
console.log(' --- form 更新 --- ', fData)
getBrokenLineData(); getBrokenLineData();
} }
}); });
...@@ -247,11 +260,14 @@ ...@@ -247,11 +260,14 @@
//时分秒选择框 //时分秒选择框
form.on('radio(radio-time)', function (data) { form.on('radio(radio-time)', function (data) {
let val = data.value; let val = data.value;
console.log(' --- 当前选择值 --- ', val)
getBrokenLineData() getBrokenLineData()
}); });
getBrokenLineData(); getBrokenLineData();
getServerMonitoring(true);
monitorInterval = setInterval(function () {
getServerMonitoring();
}, 5000)
// 表格初始 // 表格初始
table.render({ table.render({
...@@ -381,15 +397,15 @@ ...@@ -381,15 +397,15 @@
displayType = "detailed" displayType = "detailed"
} }
let startDate = fData.day ? `${fData.year}-${fData.month}-${fData.day}` : fData.month ? `${fData.year}-${fData.month}` : fData.year; let startDate = fData.day ? `${fData.year}-${fData.month}-${fData.day}` : fData.month ? `${fData.year}-${fData.month}` : fData.year;
$.ajax({ axios({
url: gatewayUrl + '/stat/getBrokenLineData', url: gatewayUrl + '/stat/getBrokenLineData',
type: 'get', method: 'get',
data: { params: {
displayType, displayType,
startDate, startDate,
interval: fData.interval interval: fData.interval
}, }
success: function (res) { }).then(function (res) {
if (res.success) { if (res.success) {
let dataObj = JSON.parse(JSON.stringify(res.data)); let dataObj = JSON.parse(JSON.stringify(res.data));
let timeArr; let timeArr;
...@@ -413,19 +429,18 @@ ...@@ -413,19 +429,18 @@
updateLineChart({dataObject: YArrObject, showLegend: true}); updateLineChart({dataObject: YArrObject, showLegend: true});
} }
} }
}, }).catch(function (err) {
error: function (err) { console.log(' --- 接口请求失败,抛出异常 --- ', err)
console.log(' --- 报错 --- ', err) })
}
});
} }
// 获取法院调用排名 // 获取法院调用排名
function getCourtUseSum() { function getCourtUseSum() {
$.ajax({ axios({
url: gatewayUrl + '/appAbilityRecordAll/getCourtUseSum', url: gatewayUrl + '/appAbilityRecordAll/getCourtUseSum',
type: 'get', method: 'get',
success: function (res) { params: {}
}).then(function (res) {
let arr = JSON.parse(JSON.stringify(res)) let arr = JSON.parse(JSON.stringify(res))
let yAxisData = arr.map(item => { let yAxisData = arr.map(item => {
return item.sortName return item.sortName
...@@ -434,10 +449,8 @@ ...@@ -434,10 +449,8 @@
return item.sum return item.sum
}) })
updateBarChart({yAxisData, seriesData}); updateBarChart({yAxisData, seriesData});
}, }).catch(function (err) {
error: function (err) { console.log(' --- 接口请求失败,抛出异常 --- ', err)
console.log(' --- 报错 --- ', err)
}
}) })
} }
...@@ -445,69 +458,63 @@ ...@@ -445,69 +458,63 @@
let option = courtBarChart.getOption(); let option = courtBarChart.getOption();
option.yAxis[0].data = yAxisData; option.yAxis[0].data = yAxisData;
option.series[0].data = seriesData; option.series[0].data = seriesData;
courtBarChart.setOption(option); courtBarChart.setOption(option, true);
} }
// 获取年调用量 // 获取年调用量
function getCourtUseInYear() { function getCourtUseInYear() {
$.ajax({ axios({
url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInYear', url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInYear',
type: 'get', method: 'get',
data: { params: {
courtName: "全部", courtName: "全部",
year: currYear year: currYear
}, }
success: function (res) { }).then(function (res) {
callYearNum = res.count; callYearNum = res.count;
let len = $('#call-year-num').text(callYearNum).text().length; let len = $('#call-year-num').text(callYearNum).text().length;
resizeText(); resizeText();
}, }).catch(function (err) {
error: function (err) { console.log(' --- 接口请求失败,抛出异常 --- ', err)
console.log(' --- 报错 --- ', err)
}
}) })
} }
// 获取月调用量 // 获取月调用量
function getCourtUseInMonth() { function getCourtUseInMonth() {
$.ajax({ axios({
url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInMonth', url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInMonth',
type: 'get', method: 'get',
data: { params: {
courtName: "全部", courtName: "全部",
year: currYear, year: currYear,
month: currMonth month: currMonth
}, }
success: function (res) { }).then(function (res) {
callMonthNum = res.count; callMonthNum = res.count;
let len = $('#call-month-num').text(callMonthNum).text().length; let len = $('#call-month-num').text(callMonthNum).text().length;
resizeText(); resizeText();
}, }).catch(function (err) {
error: function (err) { console.log(' --- 接口请求失败,抛出异常 --- ', err)
console.log(' --- 报错 --- ', err)
}
}) })
} }
// 获取年调用量 // 获取年调用量
function getCourtUseInDay() { function getCourtUseInDay() {
$.ajax({ axios({
url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInDay', url: gatewayUrl + '/appAbilityRecordAll/getCourtUseInDay',
type: 'get', method: 'get',
data: { params: {
courtName: "全部", courtName: "全部",
year: currYear, year: currYear,
month: currMonth, month: currMonth,
day: currDate day: currDate
}, },
success: function (res) { }).then(function (res) {
callDayNum = res.count; callDayNum = res.count;
$('#call-day-num').text(callDayNum); $('#call-day-num').text(callDayNum);
resizeText(); resizeText();
}, }).catch(function (err) {
error: function (err) { console.log(' --- 接口请求失败,抛出异常 --- ', err)
console.log(' --- 报错 --- ', err)
}
}) })
} }
...@@ -593,8 +600,50 @@ ...@@ -593,8 +600,50 @@
} else { } else {
console.log(' --- 下载失败 --- ', data) console.log(' --- 下载失败 --- ', data)
} }
}).catch(function (err) {
console.log(' --- 接口请求失败,抛出异常 --- ', err)
}) })
} }
// 服务器资源实时监控
function getServerMonitoring(flag) {
axios({
url: gatewayUrl + '/stat/getServerMonitoring',
method: 'get',
}).then(function (res) {
if (res.success) {
updateYBarChart(res.data, flag);
} else {
console.log(' --- 获取服务器资源实时监控数据失败 --- ', res)
}
}).catch(function (err) {
console.log(' --- 接口请求失败,抛出异常 --- ', err)
})
}
function updateYBarChart(source, flag) {
// hardwareBarChart.clear();
let option = defaultYBarOptions;
let len = source[0].length - 1;
option.dataset['source'] = source;
if (flag) {
let bar = option.series[0];
let n = 0;
option.series = [];
while (n < len) {
option.series.push(bar);
n++;
}
}
hardwareBarChart.setOption(option, true);
}
// 页面即将销毁
$(window).on('beforeunload', function () {
if (monitorInterval) {
clearInterval(monitorInterval)
}
});
}); });
</script> </script>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment