mui.init(); var userRole, initLevel, initAreaCode, initTitle, level, areaCode, areaTitle, lowLevel = '', dateType = 1, //折线图中选择的时间类型。 1-日,2-周, 3-月 endDate, startDate, activityPicker, //活动下拉框 activityId, //标记活动Id myScroller; var initTabOffsetTop = 0; //初始化时,底部tab距离顶部的位置 var reqParam = []; //请求参数 var reqList = []; //请求的链接数据,根据这些信息后退的时候使用 //定义年份 var chooseYear; var now = new Date(); if(now.getMonth() >= 6){ chooseYear = now.getFullYear(); }else{ chooseYear = now.getFullYear() - 1; } mui.plusReady(function(){ var selfwv = plus.webview.currentWebview(); userRole = JSON.parse(plus.storage.getItem("selectedRole")); initLevel = level = userRole.code == CITY_CODE ? 4 : userRole.code.length==6 ? 3 : 2; initAreaCode = areaCode = userRole.code; initTitle = areaTitle = userRole.name; lowLevel = level - 1; var now = new Date(); $("#endTime").text("截至"+now.format("yyyy-MM-dd")); activityPicker = new mui.PopPicker(); //控制底部各区等tab的显示 showTabs(); initReqParams(); loadData(true); //记录返回链接信息 reqList.push({ level: level, lowLevel: lowLevel, areaCode: areaCode, areaTitle: areaTitle, req: reqParam, activityId: activityId }); initTabOffsetTop = $(".area-tab-panel").offset().top; bindEvents(); initScroller(); }) function initReqParams(){ if(!activityId){ startDate = getStartDate(); endDate = getEndDate(); } reqParam = [{ url: "/statistics/getAllAtivity", reqType: 'get', data: {area: initAreaCode, level: initLevel} },{ url: "/statistics/lowlevel_activity", reqType: 'get', data: { area: areaCode, level: level, sort: 1, year: chooseYear } },{ //折线图接口信息 url: "/statistics/active_apply_statistics", reqType: 'get', data: { startDate: startDate, endDate: endDate, interval: dateType, area: areaCode, level: level } }]; if(activityId){ reqParam[0].data.id = activityId; reqParam[1].data.activityCode = activityId; reqParam[2].data.activityCode = activityId; } if(lowLevel){ reqParam[1].data.lowLevel = lowLevel; } } function loadData(getTopData){ plus.nativeUI.showWaiting(); if(getTopData){ var params = reqParam[0]; getReqPromise(params.url, params.data, 'GET', true).then(function(res){ if(res.status == 200){ handleTopPanelData(res.data); initReqParams(); loadData2(); }else{ mui.toast(res.msg); plus.nativeUI.closeWaiting(); } }) }else{ loadData2() } } function loadData2(){ var reqs = [reqParam[1], reqParam[2]]; getReqPromises(reqs, true).then(function(ress){ var res1, res2, res3; res1 = ress[0]; res2 = ress[1]; if(res1){ if(res1.status == 200){ handleSecondPanelData(res1.data); }else{ mui.toast(res1.msg); } } if(res2){ if(res2.status == 200){ handleAreaPanel(res2.data); // 处理折线图 }else{ mui.toast(res2.msg); } } plus.nativeUI.closeWaiting(); }) } function loadLineData(){ var params = reqParam[2]; getReqPromise(params.url, params.data, params.reqType, true).then(function(res){ if(res.status == 200){ handleAreaPanel(res.data); }else{ mui.toast(res.msg); } }); } function handleTopPanelData(data){ if(!activityId){ $("#totalPanel").show(); $("#activityPanel").hide(); var list = [{ value: '', text: "总积分排行榜" }]; for(i=0; i10 ){ dataZoom_end = 100-(9/yData.length)*100; }else{ dataZoom_end = 0; } $("#startValue").text(xData[yData.length - lastIndex]); $("#endValue").text(xData[yData.length -1]); } drawLine(names, dataZoom_end, xDatas[0], yDatas, colors); } /* * 获得团队信息 */ function showTeamInfo(teamId){ var url = "/doctor/admin-teams/teams/info", params = { teamId: teamId }; plus.nativeUI.showWaiting(); sendGet(url, params, null, function(res){ if(res.status == 200){ var data = res.data; data.memberLength = data.members.length; var html = template("teamInfo", data); $("#teamInfoBox").empty().append(html); $(".modal-overlay").addClass("modal-overlay-visible"); setTimeout(function(){ $(".modal-content").show(); },50) }else{ mui.toast(res.msg); } plus.nativeUI.closeWaiting(); }, true); } function bindEvents(){ $("#chooseActivity").on('tap', function(){ activityPicker.show(function(items) { var item = items[0]; activityId = item.value; $("#activityTitle").text(item.text); initReqParams(); //清空请求数组 reqList.splice(0, reqList.length); reqList.push({ level: level, lowLevel: lowLevel, areaCode: areaCode, areaTitle: areaTitle, req: reqParam, activityId: activityId }); mui(".mui-scroll-wrapper").scroll().scrollTo(0, 0, 500); loadData(true); }); }); $("#pop1").on('tap', function(){ var popup1 = dialog({ content: '漏斗图显示活动中居民报名、参与、兑奖三个环节数据对比', quickClose: true// 点击空白处快速关闭 }); popup1.show(document.getElementById("pop1")); }); $("#pop2").on('tap', function(){ var popup2 = dialog({ content: '曲线代表活动中居民报名量与参与活动量按时间分布对比情况', quickClose: true// 点击空白处快速关闭 }); popup2.show(document.getElementById("pop2")); }); $(".date-tag").on('tap', function(){ var $this = $(this), val = $this.attr("data-type"); if($this.hasClass("active")){ return false; } $(".date-tag").removeClass("active"); $this.addClass("active"); dateType = val; initReqParams(); loadLineData(); }); //底部各区,社区,团队tab切换 $(".area-tab").on('tap', function(){ var $this = $(this), type = $this.attr("data-val"); //4 - 各区, 3 - 社区, 2 - 团队 if($this.hasClass("active")){ return false; } $(".area-tab").removeClass("active"); $this.addClass("active"); if(type == "4"){ lowLevel = ''; }else if(type == "3"){ lowLevel = 2; }else{ lowLevel = 1; } initReqParams(); loadData(); }); //点击列表查看下一级数据 $("#listTable").on('tap', '.data-row', function(){ var $this = $(this), code = $this.attr("data-code"), name = $this.attr("data-name"); if($this.find(".fa-angle-right").length == 0){ //团队内容 showTeamInfo(code); return false; } areaTitle = name; areaCode = code; var newlevel = level - 1; //如果是市级管理员,先点击“社区”tab后再往下看下一级的数据,需要将level再-1 if(newlevel == 3 && lowLevel == 2){ newlevel -- ; } lowLevel = ''; level = newlevel; // $("#areaTitle").text(areaTitle); //判断当前tab的位置 var top = $(".area-tab-panel").offset().top; if(top < 0){ var height = -(parseInt(initTabOffsetTop)/2); mui(".mui-scroll-wrapper").scroll().scrollTo(0, height, 500); } showTabs(); initReqParams(); loadData(); //记录返回链接信息 reqList.push({ level: level, lowLevel: lowLevel, areaCode: areaCode, areaTitle: areaTitle, req: reqParam, activityId: activityId }); }); //弹出遮罩 $(".icon-remark").on("click", function(e) { $(".modal-overlay").addClass("modal-overlay-visible"); setTimeout(function(){ $(".modal-content").show(); },50) }); $(".div-close,.modal-overlay").on("click",function(){ $(".modal-overlay").removeClass("modal-overlay-visible"); $(".modal-content").hide(); }); } /* * 控制底部各区等tab的显示,根据level来控制 */ function showTabs(){ $(".area-tab").removeClass("active"); switch(level){ case 4: $(".area-tab").show(); $(".area-tab").eq(0).addClass("active"); break; case 3: $(".area-tab").eq(0).hide(); $(".area-tab").eq(1).show(); $(".area-tab").eq(1).addClass("active") break; case 2: $(".area-tab").eq(0).hide(); $(".area-tab").eq(1).hide(); $(".area-tab").eq(2).addClass("active") break; } } function drawLine(name, dataZoom_end, xData, yDatas, colors){ var lineChart = echarts.init(document.getElementById('lineChart')); var option = { tooltip: { trigger: 'axis' }, color: colors, legend: { bottom: '0px', data: name, borderColor: "#f1f1f1" }, grid: { show: false, left: '30px', right: '20px', bottom: '30px', top: '10px', containLabel: true }, xAxis: { type: 'category', boundaryGap: false, data: xData, axisLabel: { interval:0,//横轴信息全部显示 formatter: function (value, index) { if(index == 0){ $("#startValue").text(value); // if(dateType == 1){ return value.substr(5,2)+"月"+value.substr(8,2); // } // return value.substr(5,5); }else{ if(index == 9){ $("#endValue").text(value); } // return value.substr(5,5); return value.substr(8,2); } } } }, yAxis: { type: 'value', axisPointer: { snap: true }, scale: true, minInterval: 1, boundaryGap: ['0%', '30%'] }, dataZoom: [{//给x轴设置滚动条 show: false, start: dataZoom_end, end: 100, type: 'slider', zoomLock: true, },{ //下面这个属性是内容区域配置 start: dataZoom_end, end: 100, type: 'inside', zoomLock: true, }] }; var series = [], legend = []; for(var i=0; i