From c9bcbceb7112358c780688ffbd0ebb3ef528e65e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 07 四月 2023 18:40:06 +0800 Subject: [PATCH] 首页管理 --- management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageStatistics.html | 471 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 467 insertions(+), 4 deletions(-) diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageStatistics.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageStatistics.html index b3abc02..449042c 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageStatistics.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHomePage/tHomePageStatistics.html @@ -14,19 +14,482 @@ <span class="control-label" style="font-size: 30px">今天</span> </div> </div> - <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> - <div class="initialLevel col-sm-3 control-label form-group" > + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-8 control-label form-group" style="cursor: pointer;text-align: left;" > <label>${txt}</label> </div> + <div class="initialLevel col-sm-4 form-group" style="cursor: pointer;text-align: right;" > + <label class="col-sm-2">代理商</label> + <select class="col-sm-2 " id="agentName" style="width: 200px;height: 33px" name="agentName"> + <option value="">请选择</option> + @for(i in agentList){ + <option value="${i.id}">${i.principal}</option> + @} + </select> + </div> </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" style="border: 1px solid;border-color: #c2ccd1;height: 130px"> + <br/> + <div class="ibox float-e-margins"> + <div class="col-sm-3" ><br/> + <label style="font-size: 16px">代理商</label><br/> + <img src="https://newok.oss-cn-shenzhen.aliyuncs.com/img/0e257d6fe5af4275919d039b40e30e19.png"> + </div> + <div class="initialLevel col-sm-9 control-label form-group" > + <div> + <div class="col-sm-8" style="font-size: 16px">总数</div> + <div class="col-sm-1" id="agentTotal">${agentTotal}</div> + </div><br/> + <div id="pro1" style="height: 20px"></div><br/> + <div> + <div class="col-sm-8" style="font-size: 16px">近一月新增</div> + <div class="col-sm-1" id="agentMonthTotal">${agentMonthTotal}</div> + </div><br/> + <div id="pro2" style="height: 20px"></div> + </div> + </div> + </div> + <div class="col-sm-1"></div> + <div class="initialLevel col-sm-3 control-label form-group" style="border: 1px solid;border-color: #c2ccd1;height: 130px"> + <br/> + <div class="ibox float-e-margins"> + <div class="col-sm-3" ><br/> + <label style="font-size: 16px">司机</label><br/> + <img src="https://newok.oss-cn-shenzhen.aliyuncs.com/img/0e257d6fe5af4275919d039b40e30e19.png" > + </div> + <div class="initialLevel col-sm-9 control-label form-group" > + <div> + <div class="col-sm-8" style="font-size: 16px">总数</div> + <div class="col-sm-1" id="driverTotal">${driverTotal}</div> + </div><br/> + <div id="pro3" style="height: 20px"></div><br/> + <div> + <div class="col-sm-8" style="font-size: 16px">近一月新增</div> + <div class="col-sm-1" id="driverMonthTotal">${driverMonthTotal}</div> + </div><br/> + <div id="pro4" style="height: 20px"></div> + </div> + </div> + </div> + <div class="col-sm-1"></div> + <div class="initialLevel col-sm-4 control-label form-group" style="border: 1px solid;border-color: #c2ccd1;height: 600px"><br/> + <div> + <div class="initialLevel col-sm-4 control-label form-group" > + <label style="font-size: 20px">业绩排名</label> + </div> + <div class="col-sm-2"></div> + <div class="initialLevel col-sm-6 control-label form-group" > + <div style="font-size: 0px;width: 100%"> + <button id="btn1" onclick="queryOrderCount()">单量</button> + <button id="btn2" onclick="queryIncome()">收入</button> + <button id="btn3" onclick="queryCommission()">佣金</button> + </div> + <div> + <select class="col-lg-8" style="height: 25px"> + <option value="">请选择</option> + </select> + </div> + </div> + </div> + <div id="performanceResp"> + </div> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" ><br/><br/> + <div class="initialLevel col-sm-3 control-label form-group" style="border: 1px solid;border-color: #c2ccd1;margin-top: -400px;height: 300px"> + <br/> + <div class="col-sm-5" > + <label style="font-size: 16px">订单统计(本月)</label> + </div> + <div class="col-sm-3"></div> + <div class="initialLevel col-sm-4 control-label form-group" style="text-align: right" > + </div> + <div id="chart2" style="height: 90%;width: 100%"></div> + </div> + <div class="col-sm-1"></div> + <div class="initialLevel col-sm-3 control-label form-group" style="border: 1px solid;border-color: #c2ccd1;margin-top: -400px;margin-left: 25%;height: 300px"> + <br/> + <div> + <div class="col-sm-5" > + <label style="font-size: 16px">订单统计(年份)</label> + </div> + <div class="col-sm-3"></div> + <div class="initialLevel col-sm-4 control-label form-group" style="text-align: right"> + <select class="col-lg-12" id="year" style="height: 25px;border-radius: 5px"> + <option value="">请选择</option> + </select> + </div> + </div><br/> + <div id="chart1" style="height: 90%;width: 100%"></div> + </div> + + <div class="initialLevel col-sm-4 control-label form-group" > + </div> + + </div> + </div> </div> </div> </div> </div> </div> -<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script> -<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon.js"></script> +<script src="${ctxPath}/static/modular/system/tCoupon/tAgent_info.js"></script> +<script src="${ctxPath}/static/modular/system/tCoupon/tAgent.js"></script> + +<link rel="stylesheet" href="${ctxPath}/static/css/plugins/lineProgressbar/jquery.lineProgressbar.css"> +<script src="${ctxPath}/static/js/plugins/lineProgressbar/jquery.lineProgressbar.js"></script> + +<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script> +<style> + img{ + height: 30px; + width: 30px; + } + #chart1 { + position: relative; + height: 100vh; + overflow: hidden; + } + button{ + width: 70px; + height: 25px; + margin-bottom: 5px; + } + #btn1{ + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + font-size: 1px; + } + #btn2{ + font-size: 1px; + } + #btn3{ + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + font-size: 1px; + } + table{ + table-layout:fixed; + word-break:break-all; + } + th{ + text-align: center; + } + td{ + width:100px; + height:40px + } + .pro { + width: 200px; + margin: 100px auto; + + } + .result { + width: 200px; + margin: 100px auto; + + } + .result{ + text-align: center; + text-shadow: 0 0 5px #333333; + color:#FFFFFF; + } +</style> <script type="text/javascript"> + + $(function (){ + loading() + orderByMonth() + orderByYear() + queryOrderCount() + + }) + + // 进度条加载 + function loading(){ + var options = $.extend({ + percentage : $('#agentTotal').text(), + ShowProgressCount: false, + duration: 10, + + // Styling Options + fillBackgroundColor: '#3498db', + backgroundColor: '#EEEEEE', + radius: '10px', + height: '20px', + width: '80%' + }); + $('#pro1').LineProgressbar(options); + var options = $.extend({ + percentage : $('#agentMonthTotal').text(), + ShowProgressCount: false, + duration: 10, + + // Styling Options + fillBackgroundColor: '#3498db', + backgroundColor: '#EEEEEE', + radius: '10px', + height: '20px', + width: '80%' + }); + $('#pro2').LineProgressbar(options); + var options = $.extend({ + percentage : $('#driverTotal').text(), + ShowProgressCount: false, + duration: 10, + + // Styling Options + fillBackgroundColor: '#3498db', + backgroundColor: '#EEEEEE', + radius: '10px', + height: '20px', + width: '80%' + }); + $('#pro3').LineProgressbar(options); + var options = $.extend({ + percentage : $('#driverMonthTotal').text(), + ShowProgressCount: false, + duration: 10, + + // Styling Options + fillBackgroundColor: '#3498db', + backgroundColor: '#EEEEEE', + radius: '10px', + height: '20px', + width: '80%' + }); + $('#pro4').LineProgressbar(options); + } + + // 单量 + function queryOrderCount(){ + $('#btn1').css("backgroundColor","dodgerblue") + $('#btn1').css("borderColor","dodgerblue") + $('#btn1').css("color","#FFFFFF") + $('#btn2').css("backgroundColor","#FFFFFF") + $('#btn2').css("borderColor","dodgerblue") + $('#btn2').css("color","black") + $('#btn3').css("backgroundColor","#FFFFFF") + $('#btn3').css("borderColor","dodgerblue") + $('#btn3').css("color","black") + $('#btn1').val(1) + $('#btn2').val('') + $('#btn3').val('') + getOrder($('#btn1').val()) + } + // 收入 + function queryIncome(){ + $('#btn1').css("backgroundColor","#FFFFFF") + $('#btn1').css("borderColor","dodgerblue") + $('#btn1').css("color","black") + $('#btn2').css("backgroundColor","dodgerblue") + $('#btn2').css("borderColor","dodgerblue") + $('#btn2').css("color","#FFFFFF") + $('#btn3').css("backgroundColor","#FFFFFF") + $('#btn3').css("borderColor","dodgerblue") + $('#btn3').css("color","black") + $('#btn1').val('') + $('#btn2').val(2) + $('#btn3').val('') + getOrder($('#btn2').val()) + } + // 佣金 + function queryCommission(){ + $('#btn1').css("backgroundColor","#FFFFFF") + $('#btn1').css("borderColor","dodgerblue") + $('#btn1').css("color","black") + $('#btn2').css("backgroundColor","#FFFFFF") + $('#btn2').css("borderColor","dodgerblue") + $('#btn2').css("color","black") + $('#btn3').css("backgroundColor","dodgerblue") + $('#btn3').css("borderColor","dodgerblue") + $('#btn3').css("color","#FFFFFF") + $('#btn1').val('') + $('#btn2').val('') + $('#btn3').val(3) + getOrder($('#btn3').val()) + } + + // 通过年查询订单数量(查询每月) + function orderByYear(){ + var dom = document.getElementById('chart1'); + var ajax = new $ax(Feng.ctxPath+"/tHomePage/statisticsYearByAgentId",function(data){ + data = data.yearResp + var myChart = echarts.init(dom, null, { + renderer: 'canvas', + useDirtyRect: false + }); + var option; + option = { + tooltip: { + trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用 + axisPointer: {// 坐标轴指示器,坐标轴触发有效 + type: 'line' // 默认为直线,可选为:'line' | 'shadow' + }, + formatter: '日期: {b} <br/>订单数量 : {c}' + }, + xAxis: { + type: 'category', + data: [data[0].month+'月',data[1].month+'月', data[2].month+'月', data[3].month+'月',data[4].month+'月',data[5].month+'月',data[6].month+'月',data[7].month+'月',data[8].month+'月',data[9].month+'月',data[10].month+'月',data[11].month+'月'] + }, + yAxis: { + type: 'value' + }, + series: [ + { + data: [data[0].orderCount,data[1].orderCount, data[2].orderCount, data[3].orderCount,data[4].orderCount,data[5].orderCount,data[6].orderCount,data[7].orderCount,data[8].orderCount,data[9].orderCount,data[10].orderCount,data[11].orderCount], + type: 'line', + color: '#00b7ee' + } + ] + }; + option && myChart.setOption(option); + }, function (data) { + }); + ajax.set("agentId",$("#agentName").val()); + ajax.set("yearDate",$("#year").val()); + ajax.start(); + } + + // 通过本月查询订单数量(查询本月每天) + function orderByMonth(){ + var dom = document.getElementById('chart2'); + var ajax = new $ax(Feng.ctxPath+"/tHomePage/statisticsMonthByAgentId",function(data){ + data = data.monthResp + var mon = new Date().getMonth()+1; + if(mon < 10){ + mon = '0'+mon; + } + var yResp = []; + var xResp = []; + for (var i =0;i<data.length;i++){ + yResp.push({ + value:data[i].orderCount, + }) + xResp.push({ + value:mon+'-'+data[i].month, + }) + } + var myChart = echarts.init(dom, null, { + renderer: 'canvas', + useDirtyRect: false + }); + var option; + option = { + tooltip: { + trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用 + axisPointer: {// 坐标轴指示器,坐标轴触发有效 + type: 'line' // 默认为直线,可选为:'line' | 'shadow' + }, + formatter: '日期: {b} <br/>订单数量 : {c}' + }, + + xAxis: { + type: 'category', + data: xResp + }, + yAxis: { + type: 'value' + }, + series: [ + { + data: yResp, + type: 'line', + color: '#00b7ee' + } + ] + }; + option && myChart.setOption(option); + }, function (data) { + }); + ajax.set("agentId",$("#agentName").val()); + ajax.start(); + } + + function getOrder(type){ + $.ajax({ + url: Feng.ctxPath + '/tHomePage/statisticsOrderByAgentId', + type: 'POST', + data: { + agentId: $("#agentName").val(), + monthDate: $("#monthDate").val(), + type: type + }, + success: function (res) { + var str = '<table border="1" style="border: #c2ccd1;border-radius: 1px;height: 90%;width: 100%;text-align:center;">\n' + + ' <tr>\n' + + ' <th>排名</th>\n' + + ' <th>时间</th>\n' + + ' <th>姓名</th>\n'; + if(type == 1){ + str += ' <th>单量</th>\n' + + ' </tr>'; + } + if(type == 2){ + str += ' <th>收入</th>\n' + + ' </tr>'; + } + if(type == 3){ + str += ' <th>佣金</th>\n' + + ' </tr>'; + } + if(!$.isEmptyObject(res)){ + var order = res.performanceResp + if(order.length > 0){ + for(var i in order){ + var a=parseInt(i)+1 + str += + '<tr><td>' + a + '</td><td>' + order[i].monthTime + '</td><td>' + order[i].userName + '</td><td>' + order[i].amount + '</td></tr>'; + } + } + } + str += '</table>'; + $('#performanceResp').html(''); + $('#performanceResp').html(str); + } + }); + } + + // 动态查询代理商司机数量 + function getInfo(){ + var ajax = new $ax(Feng.ctxPath+"/tHomePage/statisticsDriverByAgentId",function(data){ + $("#agentTotal").text(data.agentTotal) + $("#agentMonthTotal").text(data.agentMonthTotal) + $("#driverTotal").text(data.driverTotal) + $("#driverMonthTotal").text(data.driverMonthTotal) + loading() + }, function (data) { + }); + ajax.set("agentId",$("#agentName").val()); + ajax.start(); + } + + // 代理商选择事件 + $('#agentName').change(function(){ + // 查询代理商 查询司机 + getInfo() + // 查询月度报表 + orderByMonth() + // 通过年查询订单报表 + orderByYear() + // 查询排行榜 + if($('#btn1').val() != null && $('#btn1').val() != ''){ + console.log(111) + getOrder($('#btn1').val()) + } + if($('#btn2').val() != null && $('#btn2').val() != ''){ + console.log(222) + getOrder($('#btn2').val()) + } + if($('#btn3').val() != null && $('#btn3').val() != ''){ + console.log(333) + getOrder($('#btn3').val()) + } + }) + </script> @} -- Gitblit v1.7.1