Nav apraksta

total.js 16KB

    /** * Created by TT on 2017/11/24. */ ; spa_define(function () { return $.use(["spa", "code", "form", "util", "dict"], function (spa, code, form, util, dict) { return { modal: function (data) { var root = spa.findInModal(".sys_article_total");; var myChart = echarts.init(document.getElementById('type')); var tableData = {data: []}, allData = []; // var $data = {tn: "article", id:data.id}; /* 用户流量统计表格 时间倒序 */ // var query = function () { // if(allData != null) { // var td = tableData.data = []; // for(var i = allData.length; i >= allData.length-7; --i) { // var item = allData[i]; // if(item) { // td.push(item); // } // } // } else { // tableData.data = allData; // } // cr.val(tableData.data); // }; root.find(".modal-ctrl .icon-times").on("click", function () { spa.closeModal(); }); var dayList = function () { var dayList = []; var now = new Date(); var day1 = new Date(); day1.setMonth(now.getMonth() - 1); day1.setDate(1); var day2 = new Date(); day2.setDate(day2.getDate()); // var s1 = day1.format("yyyy-MM-dd"); // var s2 = day2.format("yyyy-MM-dd"); // console.log(s1, s2); var days = (day2 - day1) / (24 * 60 * 60 * 1000); dayList[0] = {time: day1.format("yyyy-MM-dd")}; for (var i = 1; i < days + 1; i++) { day1.setDate(day1.getDate() + 1); dayList[i] = {time: day1.format("yyyy-MM-dd")}; } return dayList; }; var load = function () { $.ajax({ type: "GET", url: "/ajax/operation/statist/total", success: function (data) { allData = dayList(); allData.forEach(function (day) { var time = (JSON.stringify(day.time)).replace(/\-|^\"|\"$/g, ""); day.pc = 0; day.app = 0; day.h5 = 0; data.data.forEach(function (log) { if (time == log.day) { if (log.source == 1) { day.pc = log.pv; } if (log.source == 2) { day.app = log.pv; } if (log.source == 3) { day.h5 = log.pv; } } day.num = day.pc + day.app + day.h5; }) }); var colors = ['#003366', "#660099", '#c23531', "#c23531"]; var option = { // color: colors, title: { text: '文章总浏览量', subtext: '分渠道' }, tooltip: { trigger: 'axis', // formatter:function (params) { // // return params[0].name + '<br/>' // // + params[3].seriesName + ' : ' + (params[2].value + params[1].value + params[0].value)+ '<br/>' // // + params[2].seriesName + ' : ' + params[2].value + '<br/>' // // + params[1].seriesName + ' : ' + params[1].value + '<br/>' // // + params[0].seriesName + ' : ' + params[0].value + '<br/>'; // console.log(params); // }, "axisPointer": { "type": "shadow", textStyle: { color: "#fff" } } }, legend: { // selectedMode:false, data: ['PC端', '移动端APP', '移动端H5','合计'] }, xAxis: { "type": "category", "axisLine": { lineStyle: { color: '#90979c' } }, "splitLine": { "show": false }, "axisTick": { "show": false }, "splitArea": { "show": false }, axisLabel: { showMinLabel:true, showMaxLabel:true }, "data": allData.map(function (item) { return item.time; }) }, yAxis: { "type": "value", "splitLine": { "show": false }, "axisLine": { lineStyle: { color: '#90979c' } }, "axisTick": { "show": false }, "axisLabel": { showMinLabel:true, showMaxLabel:true }, "splitArea": { "show": false } }, toolbox: { show: true, feature: { dataZoom: { yAxisIndex: 'none' }, dataView: {readOnly: false}, magicType: {type: ['line', 'bar']}, restore: {}, saveAsImage: {} } }, dataZoom: [{ startValue: allData[allData.length - 7].time }, { type: 'inside' }], visualMap: { top: 10, right: 10 }, series: [ { name: '移动端H5', type: 'bar', stack: '总量', "barMaxWidth": 35, "barGap": "10%", "itemStyle": { "normal": { "color": "#dd4444", "label": { "show": false, "textStyle": { "color": "#fff" }, "position": "insideTop", formatter: function(p) { return p.value > 0 ? (p.value) : ''; } } } }, data: allData.map(function (item) { return item.h5; }) }, { name: 'PC端', type: 'bar', stack: '总量', "barMaxWidth": 35, "barGap": "10%", "itemStyle": { "normal": { "color": "#80F1BE", "label": { "show": false, "textStyle": { "color": "#fff" }, "position": "insideTop", formatter: function(p) { return p.value > 0 ? (p.value) : ''; } } } }, data: allData.map(function (item) { return item.pc; }) }, { name: '移动端APP', type: 'bar', stack: '总量', "barMaxWidth": 35, "barGap": "10%", "itemStyle": { "normal": { "color": "#fec42c", "label": { "show": false, "textStyle": { "color": "#fff" }, "position": "insideTop", formatter: function(p) { return p.value > 0 ? (p.value) : ''; } } } }, data: allData.map(function (item) { return item.app; }) }, { name: '合计', type: 'line', stack: '总量', symbolSize:7, symbol:'circle', // areaStyle: {normal: {}}, // label: { // normal: { // show: true, // position: 'top', // formatter: function (params) { // for (var i = 0, l = option.xAxis.data.length; i < l; i++) { // if (option.xAxis.data[i] == params.name) { // // option.series[0].data[i]; // var num = option.series[0].data[i]+option.series[1].data[i]+option.series[2].data[i]; // return '合计:' + num; // } // } // } // // } // }, itemStyle:{ normal:{ color:"#dd4444", barBorderRadius:0, label:{ show:true, position:"top", formatter:function (params) { return params.val; } } } }, data: allData.map(function (item) { return item.num; }) } ] }; myChart.setOption(option); } }); }; load(); } }; }); });