{"ast":null,"code":"import \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.array.map.js\";\nimport \"core-js/modules/es.object.to-string.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/es.number.to-fixed.js\";\nimport \"core-js/modules/es.number.constructor.js\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport * as echarts from \"echarts\";\nexport default {\n name: \"IncomeChart\",\n data: function data() {\n return {\n sumIncome: 0,\n categoryIncomes: [],\n categoryNames: [],\n incomes: [],\n activeName: \"bar\",\n totalAll: 0,\n totalWeek: 0,\n totalMonth: 0,\n total: 0\n };\n },\n methods: {\n handleClick: function handleClick(tab) {\n switch (tab.name) {\n case \"bar\":\n this.total = this.totalAll;\n break;\n\n case \"pie\":\n this.total = this.totalAll;\n break;\n\n case \"line1\":\n this.total = this.totalWeek;\n break;\n\n case \"line2\":\n this.total = this.totalMonth;\n break;\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n var barChart = echarts.init(document.getElementById(\"bar\"));\n var pieChart = echarts.init(document.getElementById(\"pie\"));\n var lineChart1 = echarts.init(document.getElementById(\"weekLine\"));\n var lineChart2 = echarts.init(document.getElementById(\"monthLine\"));\n var barOption = {\n tooltip: {\n trigger: \"item\"\n },\n title: {\n text: \"收入统计柱状图\",\n x: \"center\"\n },\n label: {\n show: true,\n //是否显示\n position: \"top\"\n },\n xAxis: {\n type: \"category\",\n data: []\n },\n yAxis: {\n type: \"value\"\n },\n series: [{\n data: [],\n type: \"bar\"\n }]\n };\n var pieOption = {\n tooltip: {\n trigger: \"item\"\n },\n title: {\n text: \"收入统计饼图\",\n x: \"center\"\n },\n series: [{\n type: \"pie\",\n data: []\n }]\n };\n var lineOption1 = {\n tooltip: {\n trigger: \"item\"\n },\n label: {\n show: true //是否显示\n\n },\n title: {\n text: \"本周收入\",\n x: \"center\"\n },\n xAxis: {\n type: \"category\",\n data: [\"周一\", \"周二\", \"周三\", \"周四\", \"周五\", \"周六\", \"周日\"]\n },\n yAxis: {\n type: \"value\"\n },\n series: [{\n data: [],\n type: \"line\"\n }]\n };\n var lineOption2 = {\n tooltip: {\n trigger: \"item\"\n },\n label: {\n show: true //是否显示\n\n },\n title: {\n text: \"本月收入\",\n x: \"center\"\n },\n xAxis: {\n type: \"category\",\n data: []\n },\n yAxis: {\n type: \"value\"\n },\n series: [{\n data: [],\n type: \"line\"\n }]\n }; //渲染柱状图和饼图\n\n this.request.get(\"/api/income/chart\").then(function (res) {\n if (res.code === \"200\") {\n var categoryIncomes = res.data.categoryIncomes;\n var categoryNames = categoryIncomes.map(function (item) {\n return item.categoryName;\n });\n var incomes = categoryIncomes.map(function (item) {\n return item.categoryIncome;\n });\n barOption.xAxis.data = categoryNames;\n barOption.series[0].data = incomes;\n barChart.setOption(barOption);\n\n for (var i = 0; i < categoryNames.length; i++) {\n var item = {\n value: incomes[i],\n name: categoryNames[i]\n };\n pieOption.series[0].data.push(item);\n }\n\n pieChart.setOption(pieOption); //计算总和\n\n var sum = 0;\n incomes.forEach(function (item) {\n sum += item;\n });\n _this.total = sum;\n _this.totalAll = sum;\n }\n }); //渲染本周折线图\n\n this.request.get(\"/api/income/week\").then(function (res) {\n if (res.code === \"200\") {\n // lineOption1.xAxis.data = res.data.weekDays;\n var weekIncome = res.data.weekIncome;\n lineOption1.series[0].data = weekIncome;\n lineChart1.setOption(lineOption1); //计算本周总营收\n\n var sum = 0;\n weekIncome.forEach(function (item) {\n sum += item;\n });\n _this.totalWeek = sum;\n }\n }); //渲染本月折线图\n\n this.request.get(\"/api/income/month\").then(function (res) {\n if (res.code === \"200\") {\n lineOption2.xAxis.data = res.data.monthDays;\n var monthIncome = res.data.monthIncome;\n lineOption2.series[0].data = monthIncome;\n lineChart2.setOption(lineOption2); //计算本月总营收\n\n var sum = 0;\n monthIncome.forEach(function (item) {\n sum += item;\n });\n _this.totalMonth = sum;\n }\n });\n },\n filters: {\n numFilter: function numFilter(value) {\n // 截取当前数据到小数点后两位\n var realVal = Number(value).toFixed(2); // num.toFixed(2)获取的是字符串\n\n return Number(realVal);\n }\n }\n};","map":{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA;AACA;AACAA,qBADA;AAEAC,MAFA,kBAEA;AACA;AACAC,kBADA;AAEAC,yBAFA;AAGAC,uBAHA;AAIAC,iBAJA;AAKAC,uBALA;AAMAC,iBANA;AAOAC,kBAPA;AAQAC,mBARA;AASAC;AATA;AAWA,GAdA;AAeAC;AACAC,eADA,uBACAC,GADA,EACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AAZA;AAcA;AAhBA,GAfA;AAkCAC,SAlCA,qBAkCA;AAAA;;AACA;AACA;AACA;AACA;AACA;AACAC;AACAC;AADA,OADA;AAIAC;AACAC,uBADA;AAEAC;AAFA,OAJA;AAQAC;AACAC,kBADA;AACA;AACAC;AAFA,OARA;AAYAC;AACAC,wBADA;AAEAvB;AAFA,OAZA;AAgBAwB;AACAD;AADA,OAhBA;AAmBAE,eACA;AACAzB,gBADA;AAEAuB;AAFA,OADA;AAnBA;AA0BA;AACAT;AACAC;AADA,OADA;AAKAC;AACAC,sBADA;AAEAC;AAFA,OALA;AASAO,eACA;AACAF,mBADA;AAEAvB;AAFA,OADA;AATA;AAgBA;AACAc;AACAC;AADA,OADA;AAIAI;AACAC,kBADA,CACA;;AADA,OAJA;AAOAJ;AACAC,oBADA;AAEAC;AAFA,OAPA;AAWAI;AACAC,wBADA;AAEAvB;AAFA,OAXA;AAeAwB;AACAD;AADA,OAfA;AAkBAE,eACA;AACAzB,gBADA;AAEAuB;AAFA,OADA;AAlBA;AAyBA;AACAT;AACAC;AADA,OADA;AAIAI;AACAC,kBADA,CACA;;AADA,OAJA;AAOAJ;AACAC,oBADA;AAEAC;AAFA,OAPA;AAWAI;AACAC,wBADA;AAEAvB;AAFA,OAXA;AAeAwB;AACAD;AADA,OAfA;AAkBAE,eACA;AACAzB,gBADA;AAEAuB;AAFA,OADA;AAlBA,MAxEA,CAiGA;;AACA;AACA;AACA;AACA;AACA;AACA,SAFA;AAGA;AACA;AACA,SAFA;AAGAG;AACAA;AACAC;;AAEA;AACA;AAAAC;AAAA7B;AAAA;AACA8B;AACA;;AACAC,sCAhBA,CAiBA;;AACA;AACA1B;AACA2B;AACA,SAFA;AAGA;AACA;AACA;AACA,KA1BA,EAlGA,CA6HA;;AACA;AACA;AACA;AACA;AACAC;AACAC,0CAJA,CAKA;;AACA;AACAC;AACAH;AACA,SAFA;AAGA;AACA;AACA,KAbA,EA9HA,CA4IA;;AACA;AACA;AACAI;AACA;AACAA;AACAC,0CAJA,CAKA;;AACA;AACAC;AACAN;AACA,SAFA;AAGA;AACA;AACA,KAbA;AAcA,GA7LA;AA8LAO;AACAC,aADA,qBACAX,KADA,EACA;AACA;AAEA,6CAHA,CAKA;;AAEA;AACA;AATA;AA9LA","names":["name","data","sumIncome","categoryIncomes","categoryNames","incomes","activeName","totalAll","totalWeek","totalMonth","total","methods","handleClick","tab","mounted","tooltip","trigger","title","text","x","label","show","position","xAxis","type","yAxis","series","barOption","barChart","value","pieOption","pieChart","sum","lineOption1","lineChart1","weekIncome","lineOption2","lineChart2","monthIncome","filters","numFilter"],"sourceRoot":"src/views/manage/income","sources":["IncomeChart.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n"]},"metadata":{},"sourceType":"module"}