js版计算比亚迪行驶里程连续12个月计算不超3万公里改进版带echar

news2024/11/24 16:32:56

<!DOCTYPE html>
<html lang="zh-CN" style="height: 100%">
<head>
    <meta charset="utf-8" />
    <title>连续12个月不超3万公里计算LIGUANGHUA</title>
    <style>
        .clocks {
            height: 500px;
            margin: 25px auto;
            position: relative;
            width: 500px;
        }
    </style>
</head>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
<script type="text/javascript">
    function myFunction(){
        var search1=document.getElementById("month");// 获取对象
        var search2=document.getElementById("amounts");// 获取对象
        // 文档刚刚载入时的默认样式
        search1.value="202211";
        search2.value="2831,1108,3625,2888,2165,3032,1913";
        search1.style.color="gray";
        search2.style.color="gray";
        search1.οnblur=function(){// 失去焦点时
            if(this.value){// 输入框有值,应为黑色字体。
                this.style.color="";
            }else{// 无值时,为文档载入时样式
                this.value="202211";
                this.style.color="gray";
            }
        };
        search2.οnblur=function(){// 失去焦点时
            if(this.value){// 输入框有值,应为黑色字体。
                this.style.color="";
            }else{// 无值时,为文档载入时样式
                this.value="2831,1108,3625,2888,2165,3032,1913";
                this.style.color="gray";
            }
        };
        search1.οnfοcus=function(){// 获得焦点时,清空输入框,恢复字体颜色
            this.value="";
            this.style.color="";
        };
        search2.οnfοcus=function(){// 获得焦点时,清空输入框,恢复字体颜色
            this.value="";
            this.style.color="";
        };
    };
    function counts() {
        var months, amounts,array,hev;
        var arr1 = new Array(0)

        var arr2 = new Array(0)
        months = document.getElementById('month').value;
        amounts = document.getElementById('amounts').value;
        array = amounts.split(",");
        var sum=0,length,max,min,maxYear,minYear,k;
        length=array.length;
        var s='';
        var jve=0;
        var counts=30000;
        for (var i = 0; i < length; i++) {
            arr1.push(handelYear(months,i));
            k=0;
            hev=parseInt(array[i]);
            max=hev;
            console.log(months);
            minYear=handelYear(months,i);
            maxYear=handelYear(months,i);
            console.log(minYear);
            console.log(maxYear);
            min=hev;
            sum += parseInt(array[i]);
            k++;
            for (var j = i+1; j < length; j++) {

                // months.add(array[j]);
                jve=parseInt(array[j]);
                if (jve>max){
                    max=jve;
                    maxYear=handelYear(months,j);
                }
                if (jve<min){
                    min=jve;
                    minYear=handelYear(months,j);
                }
                sum+= jve;
                k++;
                if (k==12){
                    console.log("从"+handelYear(months,i)+"至"+handelYear(handelYear(months,i),11)+"的连续12个月的总里程:"+sum+"公里,平均每月行驶:"+parseInt(sum/k)+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里");
                    s=s+' <p> 从'+handelYear(months,i)+'至'+handelYear(handelYear(months,i),11)+'的连续12个月的总里程:<span style="color: red ;font-size:20px;font-weight: bold">'+sum+'</span>公里,平均每月行驶:<span style="color: red ;font-size:20px;font-weight: bold">'+parseInt(sum/k)+'</span>公里,其中'+maxYear+'是单月最大行驶:<span style="color: red ;font-size:20px;font-weight: bold">'+max+'</span>公里,'+minYear+'是单月最小行驶公里数:<span style="color: red ;font-size:20px;font-weight: bold">'+min+'</span>公里'+'</p> ';
                    sum=0;
                    k=0;
                    break;
                }else if  (i==0&&k<12&&j==length-1){
                    console.log("1从"+handelYear(months,i)+"至"+handelYear(months,length-1)+"的连续"+ k+"个月的总里程:"+sum+"公里,平均每月行驶:"+parseInt(sum/k)+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里,剩余的"+(12-k)+"个月內请控制在"+(counts-sum)+"公里内,平均每月可以行驶:"+(counts-sum)/(12-k));
                    //System.out.println("从"+month+"至"+handelYear(month,11)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(",")));
                    s=s+'<p> 从<span style="color: red ;font-size:20px;font-weight: bold">'+handelYear(months,i)+'</span>至<span style="color: red ;font-size:20px;font-weight: bold">'+handelYear(months,length-1)+'(含当月)</span>连续<span style="color: red ;font-size:20px;font-weight: bold">'+ k+'</span>个月的总里程:<span style="color: red ;font-size:20px;font-weight: bold">'+sum+'</span>公里,平均每月行驶:<span style="color: red ;font-size:20px;font-weight: bold">'+parseInt(sum/k)+'</span>公里,其中'+maxYear+'是单月最大行驶:<span style="color: red ;font-size:20px;font-weight: bold">'+max+'</span>公里,'+minYear+'是单月最小行驶公里数:<span style="color: red ;font-size:20px;font-weight: bold">'+min+'</span>公里'+
                        ',剩余的<span style="color: red ;font-size:20px;font-weight: bold">'+(12-k)+'</span>个月內请控制在<span style="color: red ;font-size:20px;font-weight: bold">'+(counts-sum)+'</span>公里内,平均每月还可以行驶:<span style="color: red ;font-size:20px;font-weight: bold">'+(counts-sum)/(12-k)+'</span>公里</p> ';
                    sum=0;
                    k=0;
                    break;
                }
            }
        }
        document.getElementById('jieguo').innerHTML=s;
        var myChart = echarts.init(document.getElementById('container'));
        var hour = arr1;
        var usercount = array;

        var option = {
            toolbox: {
                show : true,
                feature : {
                    mark : {show: true},
                    dataView : {show: true, readOnly: false},
                    magicType : {show: true, type: ['line','bar']},
                    restore : {show: true},
                    saveAsImage : {show: true}
                }
            },
            tooltip: {
                show: true
            },
            legend: {
                data:['每月公里数']
            },
            xAxis : [
                {
                    type : 'category',
                    data : hour
                }
            ],
            yAxis : [
                {
                    type : 'value'
                }
            ],
            series : [
                {
                    "name":"百分比每度电占比",
                    "type":"line",
                    "data":usercount,
                    itemStyle: {
                        normal: {
                            label : {
                                show: true,
                                position:"top"
                            }
                        }
                    }
                }
            ]
        };


        // 为echarts对象加载数据
        myChart.setOption(option);
    }
    function handelYear(month,length){
        var year=parseInt(month.substring(0,4));
        var mo=month.substring(4,6);
        var mon=0;
        if (mo.startsWith("0")){
            mon=parseInt(month.substring(5,6));
        }else{
            mon=parseInt(month.substring(4,6));
        }
        mon=mon+length;
        var j=parseInt(mon/12);
        if (mon>12){
            year=year+j;
            mon=mon-12*j;
        }
        var yearmon=null;
        if (mon>9){
            yearmon=year.toString()+mon.toString();
        }else{
            if (mon==0){
                mon=mon+1;
            }
            yearmon=year.toString()+"0"+mon.toString();
        }
        return yearmon;
    }


</script>
<!--  <h1><a href="http://10.0.2.52:8081/test/index1" target="_parent">测试手动调用接口</a>></h1>-->

<body style="height: 100%; margin: 0" οnlοad="myFunction()">
<p>请输入周期开始年月份(如:202201):<input type="text" name="month" id="month" οnmοuseοver="this.style.borderColor='#FF6600'" οnmοuseοut="this.style.borderColor=''" onFocus="if (value =='202211'){value =''}" onBlur="if (value ==''){value='202211'}"></p>
<p>请输入上面周期开始的每月公里数(车机系统获取),逗号隔开(如:2831,1108,3625):<input type="text" name="amounts" id="amounts" style="width:550px;" οnmοuseοver="this.style.borderColor='#FF6600'" οnmοuseοut="this.style.borderColor=''" onFocus="if (value =='2831,1108,3625,2888,2165,3032,1913'){value =''}" onBlur="if (value ==''){value='2831,1108,3625,2888,2165,3032,1913'}" ></p>
<p><input type="button" value="开始计算" οnclick="counts()" οnmοuseοver="this.style.borderColor='#FF6600'" οnmοuseοut="this.style.borderColor=''" ></p>
<div id="jieguo">
</div>
<div id="container" style="height: 80%"></div>
</body>
</html>

将以上内容复制到文本框,改名为1.html,用浏览器打开即可

还有项目款,这个需要数据支撑了,感兴趣的可以私我

 

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

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

相关文章

IDEA以服务列表的形式展示

IDEA以服务列表的形式展示 要是没有要显示的服务列表的话就右键将启动的全部添加进去。正常是懒加载的形式&#xff0c;正常启动了就会添加进去。

超强阵容!HarmonyOS极客马拉松2023专家评审团来袭!

数十位重量级专家现身决赛现场&#xff0c;为参赛者提供多角度专业点评。12支队伍&#xff0c;46位选手&#xff0c;齐聚东莞松山湖&#xff0c;围绕HarmonyOS技术特性&#xff0c;共同挑战36小时极限编程&#xff0c;谁将问鼎决赛之巅&#xff0c;8.3日-5日&#xff0c;我们拭…

SLM实验室:新的RL研究基准和软件框架

计算和人才的增加使强化学习&#xff08;RL&#xff09;研究成为机器学习的热门领域 - 它已被用于解决自动驾驶汽车&#xff0c;机器人技术&#xff0c;药物发现等方面的问题。但是&#xff0c;找到一种方法来重现现有工作并准确评估迭代改进仍然是RL面临的一项艰巨挑战。 为了…

青少年中心:温湿度这个隐藏技巧,快速搞定环境安全

青少年是一个国家未来的重要资源&#xff0c;他们的成长环境对于塑造其积极向上的人生轨迹至关重要。在青少年中心&#xff0c;我们致力于提供一个安全、温馨的学习和交流空间&#xff0c;让青少年们得以充分发展自己的潜力。 为了确保青少年中心的环境始终符合健康标准&#x…

【技术宅提前活20年】如何用工业主机搭建一个个人网站

目录 引言 准备 部署 引言 随着网络技术的发展&#xff0c;摩尔定律的规律使得硬件的造价不再高昂。今天&#xff0c;安安就教大家如何用工业主机搭建一个个人网站。 效果展示 安城安的云世界 准备 1.小型工业主机一台 在网上可以买到~1000元左右可以买一台不错的。 2.内…

【C语言】函数----详解

&#x1f341; 博客主页:江池俊的博客 &#x1f4ab;收录专栏&#xff1a;C语言——探索高效编程的基石 &#x1f4bb; 其他专栏&#xff1a;数据结构探索 &#x1f3e9;代码仓库&#xff1a;江池俊的代码仓库 &#x1f3aa; 社区&#xff1a;C/C之家社区(欢迎大家加入与我一起…

iwatch怎么更改表盘样式 iwatch更改表盘样式方法

今年苹果终于带来了一个Apple Watch用户期待了已久的功能&#xff1a;第三方表盘&#xff0c;那么Apple Watch表盘如何更改、切换表盘还有如何调整表盘颜色设置等等&#xff0c;跟随小编一起来看看吧&#xff01; 详细的图文教程 如何在 Apple Watch 上切换表盘 在表盘上&…

如何在vue3中使用swiper插件(教程)

我的项目环境Vue3vitetsscss, 首先当然是下载依赖: pnpm install swiper10.0.4一定要下载正确的版本, 每个版本的使用差异还是有一些的 2.使用以下代码进行测试 <template> <div> <swiper :modules"modules" :navigation"true" :loop&qu…

牛客周赛 Round 4---游游的因子计算

输入 6 2 输出 6 1 2 3 4 6 12 解析&#xff1a; 如果一个数 x 是 a 的因子&#xff0c;y是b的因子&#xff0c;那么x*y一定是a*b的因子。 试除法分别获取a和b的因子&#xff0c;然后两层遍历的所有 a[ i ] * b[ j ] 的所有情况即为答案。 #include<bits/stdc.h> u…

python中出现形如‘break‘ outside loop错误

背景&#xff1a; 具体场景是我在使用PyQt5开发中&#xff0c;QMessage弹框收到特定信息后期望终止整个槽函数&#xff0c;当时想着就用了break这个关键字&#xff0c;期望终止整个函数执行&#xff0c;没想到报错break outside loop 大家如果没用过PyQt5也不用担心&#xff…

翻译新时代:借助文档翻译器开启全球交流之旅

在小雅家的客厅里&#xff0c;小雅正在和她的朋友小明聊天。小雅最近参加了一个国际学术会议&#xff0c;她发现了一些有趣的研究论文&#xff0c;但是其中一些是用外语写的&#xff0c;让她有些头疼。 小雅&#xff1a;小明&#xff0c;你知道文档翻译工具有哪些吗&#xff1…

从vtk/pcl源码中,分离pclVisilization 和 vtkQtWidget

背景: vtk和pcl是优秀的三维开源引擎, 但是我们在工程中,需要集成到我们软件中,因而有了QVtkOpenglWidget等直接嵌入Qt程序的要求; 但是从vtk8.2之后,这部分源码又剔除出去了,随之影响的还有pcl 8.0系列之后的版本; 那么升级就遇到问题了, 如果在版本之前的编译我们还好说,但…

基于SpringBoot的开源项目/demo汇总

一些基于SpringBoot的开源项目&#xff0c;方便大家学习&#xff0c;参考。持续更新&#xff0c;排名不分先后。也欢迎贡献&#xff08;回复此贴&#xff09;。 1、GitHub - Tencent/APIJSON: &#x1f3c6; 零代码、全功能、强安全 ORM 库 &#x1f680; 后端接口和文档零代码…

Power apps:做个弹窗

首先需要添加一个组件 接着在组件里插入一个矩形&#xff0c;背景我设为了白色&#xff0c;添加弹窗的内容&#xff0c;比如label&#xff0c;按钮之类的&#xff0c;覆盖在矩形上方 回到应用中&#xff0c;在需要出现弹窗的窗口插入这个自定义组件&#xff0c;设置它的Visible…

【Linux后端服务器开发】IP协议

目录 一、IP协议概述 二、协议头格式 三、网段划分 四、IP地址的数量限制 五、路由 一、IP协议概述 主机&#xff1a;配有IP地址&#xff0c;但是不进行路由控制的设备 路由器&#xff1a;即配有IP地址&#xff0c;又能进行路由控制 节点&#xff1a;主机和路由器的总称…

#Gitee 的 WebHooks 实现代码自动化部署#

1:安装git 2:php同步脚本 3:配置webhook 一&#xff1a;安装git服务 // 查看是否安装了git git --version// 如果未安装&#xff0c;执行安装命令 yum install git 2&#xff1a;编写同步PHP脚本 <?php //理发店钩子 error_reporting(1); set_time_limit(0); // 部署目…

AI 视频清晰化CodeFormer-Deepfacelab

CodeFormer 概述 (a) 我们首先学习一个离散码本和一个解码器&#xff0c;通过自重建学习来存储人脸图像的高质量视觉部分。(b) 使用固定的码本和解码器&#xff0c;我们引入了一个用于代码序列预测的 Transformer 模块&#xff0c;对低质量输入的全局人脸组成进行建模。此外&a…

经营简报echarts图

文章目录 效果图代码 效果图 代码 <template><div class"mainFirst"><div id"main" style"width: 100%; height: 500px"></div></div> </template><script> import * as echarts from "echarts…

对象转JSON字符串和JSON字符串拼接格式化后顺序问题

使用的是fastJson 实体类 转JSON字符串 格式化输出 转JSON字符串或者格式化输出后的顺序调整 注意这个和toString方法没有关系,完全按照 JSONType注解里的排序 上面是实体对象JSON格式化的排序问题 下面是JSON字符串拼接后的排序问题 拼接JSON字符串 恢复排序

优思学院|PPAP(生产零件批准过程)是什么?

生产零件批准过程&#xff08;PPAP&#xff09;是一种非常有效的工具&#xff0c;用于优化制造业供应链。PPAP是一个标准化的过程&#xff0c;它确保制造商可以提供高质量的零件和产品&#xff0c;并符合客户的要求和期望。在本文中&#xff0c;我们将深入探讨PPAP的重要性&…