ECharts 简单的使用

Posted IronMenPHP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECharts 简单的使用相关的知识,希望对你有一定的参考价值。

多参考菜鸟教程

1.引入文件

  <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
    <script src="https://www.runoob.com/static/js/wonderland.js"></script>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

2.html

{extend name='bank/index' /}
{block name="title"}<title>统计 </title>{/block}
{block name="nav"}
{__block__}
<form action="{:url('count')}">
<div class="layui-form-item" style="margin-top: 30px">
    <div class="layui-inline" >
        <label class="layui-form-label"></label>
        <div class="layui-input-inline" style="width: 100px;">
            <input type="date" name="time_min" placeholder="查询起始日期" autocomplete="off" class="layui-input">
        </div>
        <div class="layui-form-mid">-</div>
        <div class="layui-input-inline" style="width: 100px;">
            <input type="date" name="time_max" placeholder="查询截至日期" autocomplete="off" class="layui-input">
        </div>
    </div>
    <button  type="submit" id="sendtime" class="layui-btn layui-btn-warm">查询</button></form>
<script>
// $('#sendtime').click(function () {
//     var  time_min = $("input[name='time_min']").val();
//     var  time_max = $("input[name='time_max']").val();
//     console.log(time_min)
//     $.ajax({
//         'url':"{:url('count')}",
//         'data':{
//             time_min : time_min,
//             time_max : time_max,
//         },
//         success:(res)=>{
//             console.log(res)
//         }
//     })
// })

</script>
</div>
<div style="display: flex">
    <div id="main" style="width: 600px;height:400px;">
    </div>

    <div>
        <p>总金额:    <span id="money_sum">{$tenantList.money_sum} </span> </p>
        <p>退款金额:    <span  id="money_out">{$tenantList.money_out} </span></p>
        <p>未消费:     <span  id="money_stop">{$tenantList.money_stop} </span></p>
        <p>未提现:     <span  id="nogetmoney">{$tenantList.nogetmoney} </span></p>
        <p>已提现:     <span  id="isgetmoney">{$tenantList.isgetmoney} </span></p>
    </div>
</div>

<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    var sum = Number($('#money_out').text()) + Number($('#money_sum').text()) + Number($('#money_stop').text()) + Number($('#nogetmoney').text()) + Number($('#isgetmoney').text());
    var money_out =  Number($('#money_out').text()) /Number(sum)  * Number(100) ;
    var money_sum = $('#money_sum').text() /Number(sum)  * Number(100) ;
    var money_stop = $('#money_stop').text() /Number(sum)  * Number(100) ;
    var nogetmoney = $('#nogetmoney').text() /Number(sum)  * Number(100);
    var isgetmoney = $('#isgetmoney').text() /Number(sum)  * Number(100) ;
    console.log(money_out);
    myChart.setOption({
        series : [
            {
                name: '访问来源',
                type: 'pie',    // 设置图表类型为饼图
                radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                data:[          // 数据数组,name 为数据项名称,value 为数据项值
                    {value:money_sum, name:'销售总额 '+ money_sum.toFixed(2)+'%'},
                    {value:money_out, name:'退款金额'+ money_out.toFixed(2) +'%'},
                    {value:money_stop, name:'未消费'+ money_stop.toFixed(2) +'%'},
                    {value:nogetmoney, name:'未提现'+ nogetmoney.toFixed(2) +'%'},
                    {value:isgetmoney, name:'已提现'+ isgetmoney.toFixed(2) +'%'},
                ]
            }
        ]
    })
</script>

{/block}

{block name="body"}

{/block}

3.后端

 /**
     * @return \\Illuminate\\Contracts\\Foundation\\Application|\\Illuminate\\Contracts\\View\\Factory|\\Illuminate\\View\\View|\\think\\response\\View
     * author: IronMenZFB
     * date:c
     */
    public function count(Request $request)
    {
        $time_min = $request->param('time_min');
        $time_max = $request->param('time_max');
        if ($time_min == "" && $time_max == '') {
            $tenantList = Tenant::where('id', self::UID)->find();
        } else {
            $tenantList = Tenant::where('id', self::UID)->whereTime('create_time', 'between', [$time_min, $time_max])->find();
        }
        return view('bank/bank-count', compact('tenantList'));
    }

4.效果

以上是关于ECharts 简单的使用的主要内容,如果未能解决你的问题,请参考以下文章

Echarts百度Echarts的使用入门+两个简单的小例子+心得

ECharts简单的运行示列(固定数据和交互数据库)

React+Echarts简单的封装套路

小程序里echarts画的饼图在安卓手机上效果不正常?

eCharts 使用

Echart 词云图 上手代码 同含(echarts-wordcloud.js)最简单的教程 复制可用