在使用Layui框架设计统计看板的HTML页面中,可以按照以下步骤实现需求:\n\n1. 引入Layui框架的相关文件,包括CSS和JS文件。\n\nhtml\n<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css">\n<script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script>\n\n\n2. 创建一个容器用于展示统计看板。\n\nhtml\n<div id="dashboard" style="height: 500px;"></div>\n\n\n3. 使用JavaScript代码解析数据文件,并生成统计图表。\n\nhtml\n<script>\nlayui.use(['echarts', 'element'], function(){\n var echarts = layui.echarts;\n \n // 解析数据文件(假设数据存储在变量data中)\n var data = [\n // 数据项1\n {\n "id":"001",\n "lNumber":"98553",\n "images":["https://img2.baidu.com/it/u=3853345508,384760633&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=1200","https://img0.baidu.com/it/u=1604010673,2427861166&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889","https://pic.616pic.com/photoone/00/00/56/618ce8b3797b76152.jpg"],\n "describe":"水果",\n "date":"2023-7-31 13:7:17",\n "id":"001",\n "username":"12311",\n "institution":"2134343"\n },\n // 数据项2\n // ...\n ];\n \n var dashboard = echarts.init(document.getElementById('dashboard'));\n \n // 获取每日每个机构号提交的数据量\n var dailyData = {};\n data.forEach(function(item){\n var date = item.date.split(' ')[0];\n var institution = item.institution;\n if(!dailyData[date]){\n dailyData[date] = {};\n }\n if(!dailyData[date][institution]){\n dailyData[date][institution] = 0;\n }\n dailyData[date][institution]++;\n });\n \n // 根据每日提交数据量生成日统计图表\n var dailyChart = echarts.init(document.getElementById('dailyChart'));\n var dailyOption = {\n title: {\n text: '每日提交数据量统计'\n },\n tooltip: {},\n xAxis: {\n type: 'category',\n data: Object.keys(dailyData)\n },\n yAxis: {\n type: 'value'\n },\n series: Object.keys(dailyData).map(function(date){\n return {\n name: date,\n type: 'bar',\n data: Object.keys(dailyData[date]).map(function(institution){\n return dailyData[date][institution];\n })\n }\n })\n };\n dailyChart.setOption(dailyOption);\n \n // 获取每月每个机构号提交的数据量\n var monthlyData = {};\n data.forEach(function(item){\n var month = item.date.split('-').slice(0, 2).join('-');\n var institution = item.institution;\n if(!monthlyData[month]){\n monthlyData[month] = {};\n }\n if(!monthlyData[month][institution]){\n monthlyData[month][institution] = 0;\n }\n monthlyData[month][institution]++;\n });\n \n // 根据每月提交数据量生成月报表图表\n var monthlyChart = echarts.init(document.getElementById('monthlyChart'));\n var monthlyOption = {\n title: {\n text: '每月提交数据量统计'\n },\n tooltip: {},\n xAxis: {\n type: 'category',\n data: Object.keys(monthlyData)\n },\n yAxis: {\n type: 'value'\n },\n series: Object.keys(monthlyData).map(function(month){\n return {\n name: month,\n type: 'bar',\n data: Object.keys(monthlyData[month]).map(function(institution){\n return monthlyData[month][institution];\n })\n }\n })\n };\n monthlyChart.setOption(monthlyOption);\n \n // 获取提交频次最高的十个网点\n var topInstitutions = Object.keys(dailyData).reduce(function(result, date){\n var institutions = dailyData[date];\n Object.keys(institutions).forEach(function(institution){\n if(result[institution]){\n result[institution] += institutions[institution];\n }else{\n result[institution] = institutions[institution];\n }\n });\n return result;\n }, {});\n var sortedInstitutions = Object.keys(topInstitutions).sort(function(a, b){\n return topInstitutions[b] - topInstitutions[a];\n }).slice(0, 10);\n \n // 构造附加比例图数据\n var ratioData = sortedInstitutions.map(function(institution){\n return {\n name: institution,\n value: topInstitutions[institution]\n }\n });\n \n // 在整个json中提交频次最多的十个网点生成附加比例图\n var ratioChart = echarts.init(document.getElementById('ratioChart'));\n var ratioOption = {\n title: {\n text: '提交频次最多的十个网点统计'\n },\n tooltip: {},\n series: [{\n name: '比例',\n type: 'pie',\n radius: '55%',\n data: ratioData\n }]\n };\n ratioChart.setOption(ratioOption);\n});\n</script>\n\n\n4. 在HTML页面中添加图表容器。\n\nhtml\n<div id="dailyChart" style="height: 400px; margin-bottom: 20px;"></div>\n<div id="monthlyChart" style="height: 400px; margin-bottom: 20px;"></div>\n<div id="ratioChart" style="height: 400px;"></div>\n\n\n通过以上步骤,可以在HTML页面中使用Layui框架设计一个统计看板,实现日统计和月报表功能,并展示提交频次最多的十个网点的附加比例图。

使用Layui框架设计统计看板:解析JSON数据并生成图表

原文地址: https://www.cveoy.top/t/topic/qnPW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录