前端处理model.addtribute传来的值

news2024/11/26 7:29:16

比如开始时间和结束时间,后端传来的样式为

model.addAttribute("startDate", startDate);
model.addAttribute("endDate", endDate);

前端接收为

[[${startDate}]]-[[${endDate}]]

如果前端为地图类型的echarts

<script>
    var sitepvs = '[[${sitepvs}]]';
    var province = '[[${province}]]';

    sitepvs = sitepvs.replace(/"/g, '');
    province = province.replace(/"/g, '');

    // 将字符串拆分为数组
    var sitepvsArray = sitepvs.split(',');
    var provinceArray = province.split(',');

    var data = [];

    for (var i = 0; i < provinceArray.length; i++) {
        // 检查数组元素是否为 undefined
        if (sitepvsArray[i] !== undefined) {
            // 使用trim()函数移除可能的空格
            var value = parseInt(sitepvsArray[i].trim());
            if (!isNaN(value)) {
                // 检查provinceArray[i]是否为undefined
                var provinceName = provinceArray[i] !== undefined ? provinceArray[i].trim().replace('省','') : '';
                data.push({
                    name: provinceName,
                    value: value
                });
            } else {
                console.error("Invalid value:", sitepvsArray[i]);
            }
        } else {
            console.error("Array element is undefined at index:", i);
        }
    }

    renderMap(data);
    // console.log(data);
        function renderMap(data) {
            // 地域分布
            var mapContainer = document.getElementById('mapBox');
            // 初始化ECharts实例
            var myChart = echarts.init(mapContainer);
            // 配置项
            var option = {
                tooltip: {
                    trigger: 'item'
                },
                visualMap: {
                    min: 0,
                    max: 10000,
                    left: 'left',
                    top: 'bottom',
                    text: ['高', '低'], // 图例的文本
                    calculable: true,
                    inRange: {
                        color: ['lightskyblue', 'yellow', 'red']
                    }
                },
                series: [
                    {
                        name: '数据名称',
                        type: 'map',
                        mapType: 'china',
                        roam: false,
                        label: {
                            show: true
                        },
                        itemStyle: {
                            normal: {
                                borderWidth: 0.5,
                                borderColor: '#ccc',
                            },
                            emphasis: {
                                borderWidth: 0.5,
                                borderColor: '#ccc'
                            }
                        },
                        data: data
                    }
                ],
            };

            // 使用配置项渲染地图
            myChart.setOption(option);
        }
</script>


旁边的表格数据处理
<script language="javascript">
    var sitepvs = '[[${sitepvs}]]';
    var province = '[[${province}]]';
    var zbs = '[[${zbs}]]';

    // 去除字符串中的引号
    sitepvs = sitepvs.replace(/"/g, '');
    province = province.replace(/"/g, '');
    zbs = zbs.replace(/"/g, '');

    // 将字符串拆分为数组
    var sitepvsArray = sitepvs.split(',');
    var provinceArray = province.split(',');
    var zbsArray = zbs.split(',');

    // 填充表格内容
    var table = document.getElementById("dataTable");
    table.innerHTML = `<tr>
    <th style="height: 30px;background-color: #f2f2f2;">(填标题)</th>
    <th style="height: 30px;background-color: #f2f2f2;"></th>
    <th style="height: 30px;background-color: #f2f2f2;"></th>
    <th style="height: 30px;background-color: #f2f2f2;"></th>
</tr>`;

    var numberOfRowsToShow = Math.min(20, provinceArray.length);

    for (var index = 0; index < numberOfRowsToShow; index++) {
        var row = table.insertRow(-1);
        var cell1 = row.insertCell(0);
        var cell2 = row.insertCell(1);
        var cell3 = row.insertCell(2);
        var cell4 = row.insertCell(3);

        cell1.textContent = index + 1;
        cell2.textContent = provinceArray[index];
        cell3.textContent = sitepvsArray[index];
        cell4.textContent = zbsArray[index];
    }
</script>

以及趋势图

<script>
    var pvNums = '[[${pvNums}]]';
    var uvNums = '[[${uvNums}]]';
    var ipNums = '[[${ipNums}]]';
    var pvNumsArr = pvNums.split(',').map(Number);
    var uvNumsArr = uvNums.split(',').map(Number);
    var ipNumsArr = ipNums.split(',').map(Number);
    function fetchDataAndUpdateChart(pvNumsArr, uvNumsArr, ipNumsArr) {
        // 初始化ECharts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 配置项
        var option = {
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data: ['(填对应数据标题)', '(填对应数据标题)', '(填对应数据标题)'],
                //右侧对齐
                left: 'center'
            },
            xAxis: {
                type: 'category',
                boundaryGap: false,
                axisLabel: {
                    // 文字颜色
                    color: '#000'
                },
                //隐藏刻度
                axisTick: {
                    show: false
                },
                data: ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日','12日','13日','14日','15日','16日','17日','18日','19日','20日','21日','22日','23日','24日','25日','26日','27号','28日','29日','30日','31日']
            },
            yAxis: [{
                type: 'value',
                axisLabel: {
                    // 文字颜色
                    color: '#000'
                },
                //修改刻度颜色
                splitLine: {
                    lineStyle: {
                        color: '#012f4a'
                    }
                },
                //隐藏刻度
                axisTick: {
                    show: false
                }
            }, {}],
            series: [
                {
                    name: '(填对应数据标题)',
                    type: 'line',
                    data: pvNums.split(','),
                    //曲线
                    smooth: true,
                    //圆圈大小
                    symbolSize: 8,
                    //线颜色
                    itemStyle: {
                        color: '#96A7DB'  // 线颜色
                    },
                },
                {
                    name: '(填对应数据标题)',
                    type: 'line',
                    data: uvNums.split(','),
                    //曲线
                    smooth: true,
                    //圆圈大小
                    symbolSize: 8,
                    //线颜色
                    itemStyle: {
                        color: '#C2E2B2'  // 线颜色
                    },
                },
                {
                    name: '(填对应数据标题)',
                    type: 'line',
                    data: ipNums.split(','),
                    //曲线
                    smooth: true,
                    //圆圈大小
                    symbolSize: 8,
                    //线颜色
                    itemStyle: {
                        color: '#F6D280'  // 线颜色
                    },
                }
            ]
        };
        myChart.setOption(option);
    }

    document.addEventListener('DOMContentLoaded', function() {
        // 获取参数并调用fetchDataAndUpdateChart函数
        var siteid = getParameterByName('siteid');
        var nowDate = getParameterByName("nowDate");

        if (siteid && nowDate) {
            fetchDataAndUpdateChart(siteid, nowDate);
        } else {
            console.error('Required parameters not found in URL');
        }
    });

    // 获取 URL 参数的函数
    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

B站大数据平台元数据业务分享

背景介绍 元数据是数据平台的衍生数据&#xff0c;比如调度任务信息&#xff0c;离线hive表&#xff0c;实时topic&#xff0c;字段信息&#xff0c;存储信息&#xff0c;质量信息&#xff0c;热度信息等。在数据平台建设初期&#xff0c;这类数据主要散落于各种平台子系统的数…

Android - 安卓概述

什么是安卓? Android 是一种基于 Linux 的开源操作系统&#xff0c;适用于智能手机和平板电脑等移动设备。 Android 是由 Google 和其他公司领导的 Open Handset Alliance 开发的。 Android 为移动设备的应用程序开发提供了统一的方法&#xff0c;这意味着开发人员只需为 And…

OpenAI允许前员工售股,估值达860亿美元

&#x1f989; AI新闻 &#x1f680; OpenAI允许前员工售股&#xff0c;估值达860亿美元 摘要&#xff1a;OpenAI最近向他们的部分前员工开放了股份出售的机会&#xff0c;此举是基于公司860亿美元估值的要约收购的一部分&#xff0c;由Thrive Capital领投。此前&#xff0c;…

第十届蓝桥杯省赛真题(C/C++大学B组)

试题 A: 组队 答案&#xff1a;490 试题 B: 年号字串 #include <bits/stdc.h> using namespace std;int main() {//26进制数 int n;cin>>n;string s "111";for(int i s.length() - 1;i >0;i--){s[i] A - 1 n % 26;n / 26;}cout<<s<<…

解决在Mac上的SourceTree中导入的项目拉取提交代码时总是弹出要输入登陆钥匙串问题

解决方案 复制以下代码到终端上执行一下&#xff1a; git config --global credential.helper osxkeychain 执行完成后&#xff0c;会跳出钥匙串的对话框此处填写的是电脑开机密码&#xff0c;并且勾选始终允许&#xff0c;否则&#xff0c;还是要一直跳出现在的这个登陆窗口…

【Linux系统编程】第一弹---背景介绍

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、Linux 背景介绍 1.1、发展史 1.1.1、UNIX发展的历史 1.1.2、Linux发展历史 2、开源精神 3、Linux内核官网 4、企业应用…

SQL Serve---查询

概要 1、order by子句 —默认asc&#xff08;升序&#xff09;、desc&#xff08;降序&#xff09; 2、distinct关键字 3、group by子句 4、聚合函数 —max()、min()、sum()、avg()、count() 5、having子句 6、compute子句 英文关键字 order by 排序 asc…

中国平安金融壹账通交付管理中心总经理崔羽先生受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 中国平安金融壹账通交付管理中心总经理崔羽先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“项目管理成与败&#xff0c;人才是第一要素”。大会将于5月25-26日在北京举办&#xff0c;敬请关注&#xff01; 议题简要…

玄子Share-使用 Pycharm 执行 Shell 脚本

玄子Share-使用 Pycharm 执行 Shell 脚本 Why&#xff1f; 为什么我要使用 Pycharm 执行 Shell 脚本呢&#xff0c;我直接使用 Linux 不行吗&#xff1f; 使用 Pycharm 执行 Shell 脚本的好处 我们的宿主机都是 WIndows 平台&#xff0c;若想编译 Shell 脚本&#xff0c;我…

关于SpringCloud,你了解多少?

Why SpringCloud&#xff1f; Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发&#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等&#xff0c;都可以用 spring boot 的开发风格做到一…

前端js基础知识(八股文大全)

一、js的数据类型 值类型(基本类型)&#xff1a;数字(Number)、字符串&#xff08;String&#xff09;、布尔(Boolean)、对空&#xff08;Null&#xff09;、未定义&#xff08;Undefined&#xff09;、Symbol,大数值类型(BigInt) 引用数据类型&#xff1a;对象(Object)、数组…

使用Python写接口压测1软件安装

每一个新的东西&#xff0c;学习都是从软件安装开始&#xff0c;第一个章节老生常谈&#xff0c;但不是所有同学都是解除过得&#xff0c;所以从零开始吧&#xff01; 官网 https://www.python.org/下载-我是windows&#xff0c;下载其他根据自己系统; 点击下载 安装 下一步 简…

常用的苹果应用商店上架工具推荐

摘要 移动应用app上架是开发者关注的重要环节&#xff0c;但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作&#xff0c;各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用&#xff0c;最终指出合理使用工具的重要性。 引言 移动应…

OpenHarmony南向开发-Docker编译环境

Docker环境介绍 OpenHarmony为开发者提供了两种Docker环境&#xff0c;以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下&#xff1a; 独立Docker环境&#xff1a;适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。 基于HPM的Docker…

书客、月影、欧普护眼大路灯哪款好?三款落地灯真实对比测评

作为在照明电器领域资深的评测员&#xff0c;我对市面上各种新颖的照明家电有着深入的探索和研究。大路灯能够提供舒适健康的照明光线&#xff0c;目前正受到许多用眼人群的广泛欢迎。&#xff0c;当然随着大路灯的普及&#xff0c;市场中也充斥着一些低劣的大路灯产品&#xf…

JetBrains WebStorm 2024.1 发布 - 最智能的 JavaScript IDE

JetBrains WebStorm 2024.1 发布 - 最智能的 JavaScript IDE 请访问原文链接&#xff1a;JetBrains WebStorm 2024.1 (macOS, Linux, Windows) - 最智能的 JavaScript IDE&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org JetBr…

BI数据分析软件:行业趋势与功能特点剖析

随着数据量的爆炸性增长&#xff0c;企业对于数据的需求也日益迫切。BI数据分析软件作为帮助企业实现数据驱动决策的关键工具&#xff0c;在当前的商业环境中扮演着不可或缺的角色。本文将从行业趋势、功能特点以及适用场景等方面&#xff0c;深入剖析BI数据分析软件&#xff0…

Oracle体系结构:聊聊session与process

提前声明&#xff1a;本篇文章讨论的是专用服务器模式下的session和process&#xff1b;不讨论共享服务器模式&#xff0c;因为共享服务器现在真的应用的很少了&#xff0c;独占才是主流。共享服务器往往都是用在资源紧张的场合 &#xff0c;而且独占服务器模式有独立的PGA&…

spring04:注解使用

spring04&#xff1a;注解使用 文章目录 spring04&#xff1a;注解使用前言&#xff1a;一、 Autowired Qualifier和 Resource 和 nullable1. Autowired 2. Resource &#xff1a;使用在类的属性上面&#xff08;和Autowired类似&#xff09;3. nullable 二、 Component 和 Re…

bugku-web-你从哪里来

这里就这一句话提示&#xff0c;问我是不是谷歌的&#xff1f; 用谷歌浏览器访问 没看见什么变化 抓包查看 没有变化 这时我想到爬虫中的反爬策略中有一种&#xff0c;判断请求的当前界面来判断用户的起始判断位置 这时抓取报文 GET / HTTP/1.1 Host: 114.67.175.224:1516…