You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

234 lines
5.3 KiB
JavaScript

layui.use(["index", "api", "tpl", "dialog", "laypage", "laydate"], function () {
var $ = layui.$,
table = layui.table,
element = layui.element,
form = layui.form,
admin = layui.admin,
laydate = layui.laydate,
laypage = layui.laypage;
var wavypolylineChart = echarts.init(
document.getElementById("wavypolylineChart")
);
var refreshNextTime = 0;
var intervalsTime = 0; //刷新时间频率
var myRefreshTimeOut = "";
var where = {};
var LIST_TABLE_ID = "listTable";
var LIST_TABLE_DATA = [
{
id: 1,
name: "我的名字",
ip: "192.168.10.123",
port: "3306",
sid: "student_info",
username: "student",
password: "12345678",
createTime: 1590560278000,
fz: 1,
type: 1,
remark: "我是一个备注",
},
{
id: 2,
name: "我的名字",
ip: "192.168.10.123",
port: "3306",
sid: "student_info",
username: "student",
password: "12345678",
createTime: 1590560278000,
fz: 1,
type: 1,
remark: "我是一个备注",
},
{
id: 3,
name: "我的名字",
ip: "192.168.10.123",
port: "3306",
sid: "student_info",
username: "student",
password: "12345678",
createTime: 1590560278000,
fz: 1,
type: 1,
remark: "我是一个备注",
},
{
id: 4,
name: "我的名字",
ip: "192.168.10.123",
port: "3306",
sid: "student_info",
username: "student",
password: "12345678",
createTime: 1590560278000,
fz: 1,
type: 1,
remark: "我是一个备注",
},
];
var LIST_TABLE_COLS = [
{
field: "id",
title: "id",
align: "center",
},
{
field: "name",
title: "名称",
align: "center",
},
{
field: "createTime",
title: "创建时间",
align: "center",
templet: function (d) {
return layui.util.toDateString(d.createTime, "yyyy-MM-dd");
},
},
];
init();
function init() {
getChartData();
getTableData();
refreshTime();
}
function stopRefreshTime() {
clearTimeout(myRefreshTimeOut);
}
function refreshTime() {
if (intervalsTime == 0) {
stopRefreshTime();
}
var nowTime = new Date().getTime();
if (nowTime > refreshNextTime) {
refreshNextTime = nowTime + parseInt(intervalsTime);
getChartData();
getTableData();
if (intervalsTime > 0) {
refreshTime();
}
} else {
if (intervalsTime > 0) {
myRefreshTimeOut = window.setTimeout(function () {
refreshTime();
}, intervalsTime);
}
}
}
function getChartData() {
var responseTimeOptions = {
xAxisData: ["100", "200", "50", "300", "100", "100", "200", "50", "300", "100"],
seriesData: [100, 200, 50, 300, 100, 100, 200, 50, 300, 100],
}; //api 请求数据
renderWavypolylineChart(responseTimeOptions);
}
function renderWavypolylineChart({ xAxisData, seriesData }) {
var option = {
xAxis: {
type: "category",
boundaryGap: false,
name: "响应时长/ms",
nameLocation: "end",
data: xAxisData,
axisLine: {
lineStyle: {
color: "#454b5026",
},
},
splitLine: {
show: true,
lineStyle: {
color: ["#454b5026"],
width: 1,
type: "solid",
},
},
},
yAxis: {
type: "value",
name: "请求个数",
nameLocation: "end",
axisLine: {
lineStyle: {
color: "#454b5026",
},
},
splitLine: {
show: true,
lineStyle: {
color: ["#454b5026"],
width: 1,
type: "solid",
},
},
},
textStyle: {
color: "#a5aaaf",
},
series: [
{
data: seriesData,
type: "line",
showBackground: false,
symbol: "none", //去掉折线图中的节点
smooth: true,
areaStyle: {
normal: {
color: {
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "#1289ff4d"
},
{
offset: 0.7,
color: "rgba(255, 255, 255, 1)", // 100% 处的颜色
},
],
globalCoord: false, // 缺省为 false
},
},
},
itemStyle: {
normal: {
color: "#1289ff",
},
},
},
],
};
wavypolylineChart.setOption(option);
}
function getTableData() {
var tableRenderOptions = {
elem: "#" + LIST_TABLE_ID,
data: LIST_TABLE_DATA,
even: "false",
defaultToolbar: [],
page: false,
cols: [LIST_TABLE_COLS],
where: where,
};
table.render(tableRenderOptions);
laypage.render({
elem: "pages",
count: 100,
layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
jump: function (obj) {
console.log(obj);
},
});
}
});