xiaoyong931011
2021-04-12 a13a93a493e7e94e28b2225c26e7e13b52d3288c
zq-erp/src/main/resources/templates/views/admin/hive-erp/analysis/customerFlow.html
@@ -11,8 +11,14 @@
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript"
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
    <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
    <style>
        .echarts {
            height: 400px
        }
    </style>
</head>
<body class=" container-fluid">
@@ -40,7 +46,7 @@
                name="endTime" type="text" class="form-control datetimepicker" autocomplete="off"
                id="endTime">
        </div>
        <div class="form-group mr-20  ">
        <div class="form-group mr-20 mt-20 ">
            <label>统计单位</label>
            <select name="statisticsUnit" class=" form-control " id="unitSelect"
                    style="width: 80px">
@@ -51,44 +57,78 @@
            </select>
        </div>
    </form>
    <!-- 搜索框部分en -->
    <div class="row chartsBox "  style="margin-top: 40px">
        <div class=" col-md-12">
            <div class="echarts" id="echarts-line-chart2"></div>
        <div class=" col-md-6">
            <div class="panel panel-info">
                <div class="panel-heading">门店人次对比分析</div>
                <div class="panel-body">
                    <div class="echarts" id="echarts-line-chart2"></div>
                </div>
            </div>
        </div>
        <div class=" col-md-6">
            <div class="panel panel-info">
                <div class="panel-heading">门店人头对比分析</div>
                <div class="panel-body">
                    <div class="echarts" id="echarts-line-chart1"></div>
                </div>
            </div>
        </div>
    </div>
   <!-- <div class="row chartsBox "  style="margin-top: 40px">
        <div class=" col-md-12" id="table">
            <table class="table table-striped" >
                <thead>
                <tr>
                    <th>时间</th>
                    <th v-for="name in legend" >{{name}}</th>
                </tr>
                </thead>
                <tbody>
                <tr v-for="(item,index) in xAxis">
                    <td>{{item}}</td>
                    <td v-for="data in series[index].data" >{{data}}</td>
                </tr>
                </tbody>
            </table>
    <div class="row chartsBox "  style="margin-top: 40px">
        <div class=" col-md-6">
            <div class="panel panel-info">
                <div class="panel-heading">门店到店率对比分析</div>
                <div class="panel-body">
                    <div class="echarts" id="echarts-line-chart3"></div>
                </div>
            </div>
        </div>
        <div class=" col-md-6">
            <div class="panel panel-warning">
                <div class="panel-heading">数据统计说明</div>
                <div class="panel-body ">
                    <div class="echarts">
                        <ul>
                            <li>
                                <h3>会员人头数</h3>
                                <p>一段时间内某个门店所有进店客户的总人数,同一个人无论进店几次都视为一个人头数</p>
                            </li>
                            <li>
                                <h3>会员人次</h3>
                                <p>一段时间内某个门店一个会员有3天来过门店则人次为3以此类推</p>
                            </li>
                            <li>
                                <h3>到店率</h3>
                                <p>一段时间内某个门店所有客户人次数除以人头数即为到店率</p>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
-->
</div>
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
<script type="text/javascript" th:src="@{/plugin/echarts/echarts.all.js}"></script>
<script type="text/javascript" th:src="@{/plugin/echarts/echarts.min.js}"></script>
<script type="text/javascript" th:src="@{/plugin/echarts/macarons.js}"></script>
<script type="text/javascript" th:src="@{/plugin/dateformat.js}"></script>
<script type="text/javascript" th:src="@{/plugin/StringUtil.js}"></script>
<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/ChartsUtils.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script>
@@ -98,16 +138,20 @@
    // 基于准备好的dom,初始化echarts实例
    var myChart1 = echarts.init(document.getElementById('echarts-line-chart1'), 'macarons');
    var myChart2 = echarts.init(document.getElementById('echarts-line-chart2'), 'macarons');
    myChart2.on('click', function (params) {
        console.log(params);
    });
    var myChart3 = echarts.init(document.getElementById('echarts-line-chart3'), 'macarons');
    /*
    点击事件
    myChart1.on('click', function (params) {
         console.log(params);
     });
 */
    // 指定图表的配置项和数据
    function getption(title) {
    function getption() {
        return {
            title: {
                text: title,
                text: "",
                padding: 20
            },
            legend: {},
@@ -122,7 +166,10 @@
                }
            },
            tooltip: {
                trigger: 'axis'
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            xAxis: {
                type: 'category',
@@ -138,12 +185,6 @@
            yAxis: {
                type: 'value'
            },
            series: [{
                name: '人头数',
                type: 'line',
                smooth: true,
                data: [1,2]
            }],
            dataZoom: [
                {
                    id: 'dataZoomX',
@@ -153,8 +194,8 @@
                }
            ],
            animation: true,
            animationDuration: 1000,
            animationDurationUpdate: 1000,
            animationDuration: 500,
            animationDurationUpdate: 500,
            animationEasing: 'linear',
            animationEasingUpdate: 'linear',
        }
@@ -166,7 +207,7 @@
    //加载数据
    function loadData() {
        //加载门店客流对比
        myChart2.showLoading();
        myChart1.showLoading();
        $.AjaxProxy({
            p: MForm.toJson("#serchform"),
            c: false,
@@ -181,29 +222,63 @@
                option.xAxis.data = map.xAxis;
                console.log(option);
                // 使用刚指定的配置项和数据显示图表。
                myChart1.setOption(option);
                myChart1.hideLoading();
            });
    }
    var chartsUtils1 = new ChartsUtils(loadData);
    chartsUtils1.setDataPackTimeValue();
    chartsUtils1.loadChartData();
    //加载数据2
    function loadData2() {
        //加载门店客流对比
        myChart2.showLoading();
        $.AjaxProxy({
            p: MForm.toJson("#serchform"),
            c: false,
        }).invoke(basePath+"/admin/analysis/customerEnterCountCompare",
            function (loj) {
                var map = loj.getValue("mapInfo");
                var option = getption("门店人次对比");
                option.series = map.series;
                option.legend.data = map.legendData;
                option.xAxis.data = map.xAxis;
                // 使用刚指定的配置项和数据显示图表。
                myChart2.setOption(option);
                myChart2.hideLoading();
            });
    }
    var ChartsUtils = new ChartsUtils(loadData);
    ChartsUtils.setDataPackTimeValue();
    ChartsUtils.loadChartData();
    var chartsUtils2 = new ChartsUtils(loadData2);
    chartsUtils2.loadChartData();
    //加载数据3
    function loadData3() {
        //加载门店到店率
        myChart3.showLoading();
        $.AjaxProxy({
            p: MForm.toJson("#serchform"),
            c: false,
        }).invoke(basePath+"/admin/analysis/customerEnterRateCompare",
            function (loj) {
                var map = loj.getValue("mapInfo");
                var option = getption("门店到店率对比");
                option.series = map.series;
                option.legend.data = map.legendData;
                option.xAxis.data = map.xAxis;
                // 使用刚指定的配置项和数据显示图表。
                myChart3.setOption(option);
                myChart3.hideLoading();
    function  buildTable(map){
        console.log(buildTable,map);
        var app = new Vue({
            el: '#table',
            data: {
                series : map.series,
                legend : map.legendData,
                xAxis : map.xAxis
            }
        } );
            });
    }
    var chartsUtils3 = new ChartsUtils(loadData3);
    chartsUtils3.loadChartData();
</script>