From 19251fb5596415bfa83c51b8ed130ecbb31644ce Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 09 十月 2023 18:31:30 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html | 721 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 549 insertions(+), 172 deletions(-) diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html index 0bf9052..411caab 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html @@ -102,10 +102,10 @@ <div class="col-sm-10" style="width: 1500px" > </br> </br> - <span id="yearRefund">本年退费额度:</span> - <span id="monthRefund">本月退费额度:</span> - <span id="weekRefund">本周退费额度:</span> - <span id="todayRefund">本日退费额度:</span> + <span id="yearRefund">本年退费额度:<span id="back1"></span></span> + <span id="monthRefund">本月退费额度:<span id="back2"></span></span> + <span id="weekRefund">本周退费额度:<span id="back3"></span></span> + <span id="todayRefund">本日退费额度:<span id="back4"></span></span> </br> </br> <div id="refund" style="width: 1280px;height:500px;"></div> @@ -121,8 +121,8 @@ </br> </br> <div style="height: 25px;box-sizing: border-box;background:#f3f3f4;line-height: 25px;border:1px solid;margin-bottom: 20px;width: 500px"> - <div id="d1" class='table2' onclick="getContent1(1)" style="border-right: 1px solid #333;background-color: rgb(26, 179, 148);color: white;">用户总数:0人</div> - <div id="d2" class='table2' onclick="getContent1(2)" style="border-right: 1px solid #333;">年费会员数量:0人</div> + <div id="d1" class='table2' onclick="getContent1(1)" style="border-right: 1px solid #333;background-color: rgb(26, 179, 148);color: white;">用户总数:<span id="userAll"></span>人</div> + <div id="d2" class='table2' onclick="getContent1(2)" style="border-right: 1px solid #333;">年费会员数量:<span id="userVipAll"></span>人</div> </div> </div> <div class="col-sm-10"> @@ -244,9 +244,9 @@ <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> <script> var ans = []; - var weekX = []; + var weekX = ["1","2","上周","本周"]; var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]; - var yearX = ["2023年","2024年","2025年","2026年","2027年","2028年"]; + var yearX = []; var timeX = []; var dataX = []; // 创建一个日期对象 @@ -283,6 +283,9 @@ getContent2(1); var ajax = new $ax(Feng.ctxPath + "/data/getIncomeData", function(resp){ + yearX=resp.year + + var list = resp.yearMount; console.log(list); var t1 = document.getElementById("totalIncome"); @@ -378,80 +381,30 @@ }); ajax.set("type",1); ajax.start(); - option2 = { + + // 基于准备好的dom,初始化echarts实例 + var myChart = echarts.init(document.getElementById('main')); + var myChart1 = echarts.init(document.getElementById('refund')); + + + + var myChart6 = echarts.init(document.getElementById('teach')); + var myChart7 = echarts.init(document.getElementById('courseData')); + + + var ajax3 = new $ax(Feng.ctxPath + "/data/backPt", function(data){ + $("#back1").text(data.thisYear); + $("#back2").text(data.thisMonth); + $("#back3").text(data.thisWeek); + $("#back4").text(data.thisDay); + option1 = { + tooltip: { trigger: 'axis' }, legend: { - data: ['年度用户数', '月度用户数','周度用户数','日度用户数'], - icon: 'stack', - selectedMode: 'single', // 单选 - selected: { - 年度用户数: true, - 月度用户数: false, - 周度用户数: false, - 日度用户数: false - } - }, - grid: { - left: '3%', - right: '4%', - bottom: '3%', - containLabel: true - }, - toolbox: { - feature: { - saveAsImage: {} - } - }, - xAxis: { - type: 'category', - boundaryGap: false, - data: yearX - }, - yAxis: { - type: 'value' - }, - series: [ - { - name: '年度用户数', - type: 'line', - stack: 'Total', - data: [100,50,60,10,12,13,54,156] - }, - { - name: '月度用户数', - type: 'line', - stack: 'Total', - data: [26,44,55,12,6,7,98,541,223] - }, - { - name: '周度用户数', - type: 'line', - stack: 'Total', - data: [ - 33,22,11,12,61,17,23,33,41 - ] - }, - { - name: '日度用户数', - type: 'line', - stack: 'Total', - data: [ - 12,11,17,26,23,111,23,45,41 - ] - } - ] - }; - var ajax2 = new $ax(Feng.ctxPath + "/data/getIncomeData", function(resp){ - option3 = { - tooltip: { - trigger: 'axis' - }, - legend: { - - data: ['年度会员数', '月度会员数','周度会员数','日度会员数'], + data: ['年度退费', '月度退费','周度退费','日度退费'], icon: 'stack', selectedMode: 'single', // 单选 selected: { @@ -482,54 +435,115 @@ }, series: [ { - name: '年度会员数', + name: '年度退费', type: 'line', stack: 'Total', - data: [100,50,60,10,12,13,54,156] + data: data.yearData }, { - name: '月度会员数', + name: '月度退费', type: 'line', stack: 'Total', - data: [26,44,55,12,6,7,98,541,223] + data: data.monthData }, { - name: '周度会员数', + name: '周度退费', type: 'line', stack: 'Total', - data: [ - 33,22,11,12,61,17,23,33,41 - ] + data: data.weekData }, { - name: '日度会员数', + name: '日度退费', type: 'line', stack: 'Total', - data: [ - 12,11,17,26,23,111,23,45,41 - ] + data: data.dayData } ] + }; }); - ajax2.set("type",1); - ajax2.start(); - // 基于准备好的dom,初始化echarts实例 - var myChart = echarts.init(document.getElementById('main')); - var myChart1 = echarts.init(document.getElementById('refund')); - var myChart2 = echarts.init(document.getElementById('user')); - var myChart3 = echarts.init(document.getElementById('vip')); - var myChart4 = echarts.init(document.getElementById('activity')); - var myChart5 = echarts.init(document.getElementById('prepare')); - var myChart6 = echarts.init(document.getElementById('teach')); - var myChart7 = echarts.init(document.getElementById('courseData')); + ajax3.start(); - option1 = { + + + var ajax4 = new $ax(Feng.ctxPath + "/data/userAndVipPt", function(data){ + option1 = { + + tooltip: { + trigger: 'axis' + }, + legend: { + + data: ['年度退费', '月度退费','周度退费','日度退费'], + icon: 'stack', + selectedMode: 'single', // 单选 + selected: { + 年度会员数: true, + 月度会员数: false, + 周度会员数: false, + 日度会员数: false + } + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: yearX + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度退费', + type: 'line', + stack: 'Total', + data: data.yearData + }, + { + name: '月度退费', + type: 'line', + stack: 'Total', + data: data.monthData + }, + { + name: '周度退费', + type: 'line', + stack: 'Total', + data: data.weekData + }, + { + name: '日度退费', + type: 'line', + stack: 'Total', + data: data.dayData + } + ] + + }; + }); + ajax4.start(); + + + + + + option6 = { tooltip: { trigger: 'axis' }, legend: { - data: ['年度退费', '月度退费', '周度退费', '日度退费'] + data: ['年度学员数', '月度学员数', '周度学员数', '日度学员数'] }, grid: { left: '3%', @@ -552,25 +566,25 @@ }, series: [ { - name: '年度退费', + name: '年度学员数', type: 'line', stack: 'Total', data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330] }, { - name: '月度退费', + name: '月度学员数', type: 'line', stack: 'Total', data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] }, { - name: '周度退费', + name: '周度学员数', type: 'line', stack: 'Total', data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188] }, { - name: '日度退费', + name: '日度学员数', type: 'line', stack: 'Total', data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160] @@ -579,12 +593,13 @@ }; - option4 = { + + option7 = { tooltip: { trigger: 'axis' }, legend: { - data: ['年度次数', '月度次数'] + data: ['年度耗课数量', '月度耗课数量', '周度耗课数量', '日度耗课数量'] }, grid: { left: '3%', @@ -607,18 +622,29 @@ }, series: [ { - name: '年度次数', + name: '年度耗课数量', type: 'line', stack: 'Total', - data: [1220, 1532, 101, 1394, 980, 2380, 1680, 1190, 1410, 1330, 2110, 1330] + data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330] }, { - name: '月度次数', + name: '月度耗课数量', type: 'line', stack: 'Total', - data: [1220, 1182, 2191, 3234, 1290, 1330, 2310, 2190, 2210, 1330, 2410, 1650] + data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] + }, + { + name: '周度耗课数量', + type: 'line', + stack: 'Total', + data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188] + }, + { + name: '日度耗课数量', + type: 'line', + stack: 'Total', + data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160] } - ] }; option5 = { @@ -753,21 +779,6 @@ type: 'line', stack: 'Total', data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] - }, - { - name: '周度耗课数量', - type: 'line', - stack: 'Total', - data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188] - }, - { - name: '日度耗课数量', - type: 'line', - stack: 'Total', - data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160] - } - ] - }; myChart.on('legendselectchanged', obj => { var options = myChart.getOption() //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 @@ -782,6 +793,33 @@ } myChart.setOption(options, true) }) + myChart1.on('legendselectchanged', obj => { + var options = myChart1.getOption() + //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 + if (obj.name == '年度退费') { + options.xAxis[0].data = yearX + } else if (obj.name == '月度退费') { + options.xAxis[0].data = monthX + } else if (obj.name == '周度退费') { + options.xAxis[0].data = ["1周","2周","3周","4周"] + } else if (obj.name == '日度退费') { + options.xAxis[0].data = dataX + } + myChart1.setOption(options, true) + }) + + + // 使用刚指定的配置项和数据显示图表。 + myChart.setOption(option); + myChart1.setOption(option1); + + myChart6.setOption(option6); + myChart7.setOption(option7); + }); + + function ptUser() { + var myChart2 = echarts.init(document.getElementById('user')); + var myChart3 = echarts.init(document.getElementById('vip')); myChart2.on('legendselectchanged', obj => { var options = myChart2.getOption() //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 @@ -790,7 +828,7 @@ } else if (obj.name == '月度用户数') { options.xAxis[0].data = monthX } else if (obj.name == '周度用户数') { - options.xAxis[0].data = weekX + options.xAxis[0].data = ["1周","2周","3周","4周"] } else if (obj.name == '日度用户数') { options.xAxis[0].data = dataX } @@ -805,22 +843,244 @@ } else if (obj.name == '月度会员数') { options.xAxis[0].data = monthX } else if (obj.name == '周度会员数') { - options.xAxis[0].data = weekX + options.xAxis[0].data = ["1周","2周","3周","4周"] } else if (obj.name == '日度会员数') { options.xAxis[0].data = dataX } myChart3.setOption(options, true) }); - // 使用刚指定的配置项和数据显示图表。 - myChart.setOption(option); - myChart1.setOption(option1); + var ajax2 = new $ax(Feng.ctxPath + "/data/userAndVipPt", function(data){ + $("#userAll").text(data.allUser) + $("#userVipAll").text(data.allVip) + console.log(data) + option2 = { + tooltip: { + trigger: 'axis' + }, + legend: { + + data: ['年度用户数', '月度用户数','周度用户数','日度用户数'], + icon: 'stack', + selectedMode: 'single', // 单选 + selected: { + 年度用户数: true, + 月度用户数: false, + 周度用户数: false, + 日度用户数: false + } + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: yearX + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度用户数', + type: 'line', + stack: 'Total', + data: data.yearData + }, + { + name: '月度用户数', + type: 'line', + stack: 'Total', + data: data.monthData + }, + { + name: '周度用户数', + type: 'line', + stack: 'Total', + data: [data.count,data.count1,data.count2,data.count3] + }, + { + name: '日度用户数', + type: 'line', + stack: 'Total', + data: data.dayData + } + ] + }; + option3 = { + tooltip: { + trigger: 'axis' + }, + legend: { + + data: ['年度会员数', '月度会员数','周度会员数','日度会员数'], + icon: 'stack', + selectedMode: 'single', // 单选 + selected: { + 年度会员数: true, + 月度会员数: false, + 周度会员数: false, + 日度会员数: false + } + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: yearX + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度会员数', + type: 'line', + stack: 'Total', + data: data.yearsVip + }, + { + name: '月度会员数', + type: 'line', + stack: 'Total', + data: data.monthsVip + }, + { + name: '周度会员数', + type: 'line', + stack: 'Total', + data:[data.countVip,data.countVip1,data.countVip2,data.countVip3] + }, + { + name: '日度会员数', + type: 'line', + stack: 'Total', + data: data.daysVip + } + ] + }; + }); + ajax2.set("type",1) + ajax2.start() myChart2.setOption(option2); myChart3.setOption(option3); + } + + function ptActivity() { + var myChart4 = echarts.init(document.getElementById('activity')); + var myChart5 = echarts.init(document.getElementById('prepare')); + + var ajax2 = new $ax(Feng.ctxPath + "/data/actPt", function(data){ + console.log(data) + + option4 = { + tooltip: { + trigger: 'axis' + }, + legend: { + data: ['年度次数', '月度次数'] + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度次数', + type: 'line', + stack: 'Total', + data: [1220, 1532, 101, 1394, 980, 2380, 1680, 1190, 1410, 1330, 2110, 1330] + }, + { + name: '月度次数', + type: 'line', + stack: 'Total', + data: [1220, 1182, 2191, 3234, 1290, 1330, 2310, 2190, 2210, 1330, 2410, 1650] + } + + ] + }; + option5 = { + tooltip: { + trigger: 'axis' + }, + legend: { + data: ['年度次数', '月度次数'] + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度次数', + type: 'line', + stack: 'Total', + data: [120, 132, 101, 394, 980, 2380, 1680, 1190, 1410, 1330, 2110, 1330] + }, + { + name: '月度次数', + type: 'line', + stack: 'Total', + data: [120, 182, 211, 324, 120, 130, 310, 290, 220, 130, 240, 150] + } + ] + }; + }); + ajax2.set("type",1) + ajax2.start() myChart4.setOption(option4); myChart5.setOption(option5); - myChart6.setOption(option6); - myChart7.setOption(option7); - }); + } + function getContent(type){ //设置点击字体颜色效果 for(var i=1;i<4;i++){ @@ -840,6 +1100,158 @@ $("#ensure").show(); $("#nextB").hide(); } + + if(type==2){ + var ajax = new $ax(Feng.ctxPath + "/data/stuUserData", function (data) { + console.log(data,323232) + var chartDom = document.getElementById('cookieAge'); + var myChart = echarts.init(chartDom); + var option; + option = { + title: { + text: '年龄分布', + subtext: '', + left: 'center' + }, + tooltip: { + trigger: 'item' + }, + + series: [ + { + name: 'Access From', + type: 'pie', + radius: '50%', + data: [ + { value: data.age1, name: '0-12岁' }, + { value: data.age2, name: '13-18岁' }, + { value: data.age3, name: '19-25岁' }, + { value: data.age4, name: '12-35岁' }, + { value: data.age5, name: '36-50岁' }, + { value: data.age6, name: '51岁以上' }, + + ], + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + myChart.setOption(option); + + + + var chartDom = document.getElementById('cookieGender'); + var myChart = echarts.init(chartDom); + var option; + option = { + title: { + text: '性别分布', + subtext: '', + left: 'center' + }, + tooltip: { + trigger: 'item' + }, + + series: [ + { + name: 'Access From', + type: 'pie', + radius: '50%', + data: [ + { value: data.boy, name: '男' }, + { value: data.girl, name: '女' }, + + ], + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + myChart.setOption(option); + + + + + var chartDom = document.getElementById('city'); + var myChart = echarts.init(chartDom); + var option; + + option = { + xAxis: { + type: 'category', + data: data.cityData + }, + yAxis: { + type: 'value' + }, + series: [ + { + data: data.cityNum, + type: 'bar' + } + ] + }; + myChart.setOption(option); + + + + }, function (data) { + + }); + ajax.start(); + + + ptUser() + + } + + + if(type==3){ + var ajax = new $ax(Feng.ctxPath + "/data/stuCourseData", function (data) { + + console.log(data.data1) + var chartDom = document.getElementById('cookieTeachCourse'); + var myChart = echarts.init(chartDom); + var option; + + option = { + xAxis: { + type: 'category', + data: data.data1, + }, + yAxis: { + type: 'value' + }, + series: [ + { + data: data.data2, + type: 'bar' + } + ] + }; + myChart.setOption(option); + }, function (data) { + + }); + ajax.start(); + + ptActivity() + } + + + + } function getContent1(type){ //设置点击字体颜色效果 @@ -1059,42 +1471,6 @@ myChart.setOption(option); }); $(function(){ - var chartDom = document.getElementById('cookieGender'); - var myChart = echarts.init(chartDom); - var option; - option = { - title: { - text: '性别分布', - subtext: '', - left: 'center' - }, - tooltip: { - trigger: 'item' - }, - - series: [ - { - name: 'Access From', - type: 'pie', - radius: '50%', - data: [ - { value: 1048, name: '男' }, - { value: 735, name: '女' }, - - ], - emphasis: { - itemStyle: { - shadowBlur: 10, - shadowOffsetX: 0, - shadowColor: 'rgba(0, 0, 0, 0.5)' - } - } - } - ] - }; - myChart.setOption(option); - }); - $(function(){ var chartDom = document.getElementById('cookieTeachGender'); var myChart = echarts.init(chartDom); var option; @@ -1174,5 +1550,6 @@ }; myChart.setOption(option); }); + </script> @} -- Gitblit v1.7.1