|  | @ -0,0 +1,436 @@
 | 
	
		
			
				|  |  | var reqList = [];
 | 
	
		
			
				|  |  | Vue.use(Vuedals.default);
 | 
	
		
			
				|  |  | new Vue({
 | 
	
		
			
				|  |  |     el: "#main",
 | 
	
		
			
				|  |  |     data: {
 | 
	
		
			
				|  |  |         appname: "长处分分析",
 | 
	
		
			
				|  |  |         isback: true,
 | 
	
		
			
				|  |  |         isrefresh: true,
 | 
	
		
			
				|  |  |         isfilter: true,
 | 
	
		
			
				|  |  |         isopen: true,
 | 
	
		
			
				|  |  |         //页面请求参数
 | 
	
		
			
				|  |  |         level: '',
 | 
	
		
			
				|  |  |         area: '',
 | 
	
		
			
				|  |  |         areaTitle: '',
 | 
	
		
			
				|  |  |         userRole: {},
 | 
	
		
			
				|  |  |         lowLevel: '3', //市级对应lowLevel为3,逐级递减
 | 
	
		
			
				|  |  |         dateType: 1, //折线图坐标值1-日,2-周,3-月
 | 
	
		
			
				|  |  |         startDate: "",
 | 
	
		
			
				|  |  |         endDate: "",
 | 
	
		
			
				|  |  |         tagCode: 1, //顶部各个tag标签对应的值
 | 
	
		
			
				|  |  |         sumType: 4, //记录从筛选页面选择的统计维度 1-订单统计,2-费用统计,3-配送统计,4-年龄统计
 | 
	
		
			
				|  |  |         disease: "", //疾病类型
 | 
	
		
			
				|  |  |         orderTagDatas: {
 | 
	
		
			
				|  |  |             total: 0,
 | 
	
		
			
				|  |  |             finishCount: 0,
 | 
	
		
			
				|  |  |             patientCancelCount: 0,
 | 
	
		
			
				|  |  |             noReviewedCount: 0,
 | 
	
		
			
				|  |  |             processingCount: 0,
 | 
	
		
			
				|  |  |             payOuttimeCount: 0
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         paymentData: {
 | 
	
		
			
				|  |  |             sum: 0,
 | 
	
		
			
				|  |  |             avg: 0
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         expressData: {
 | 
	
		
			
				|  |  |             self: 0,
 | 
	
		
			
				|  |  |             doctor: 0,
 | 
	
		
			
				|  |  |             delivery: 0
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         ageDatas: [
 | 
	
		
			
				|  |  |             {name: "0~6岁", color: "#ff5442", value: 0},
 | 
	
		
			
				|  |  |             {name: "7~18岁", color: "#ffc800", value: 0},
 | 
	
		
			
				|  |  |             {name: "19~30岁", color: "#4ce428", value: 0},
 | 
	
		
			
				|  |  |             {name: "31~50岁", color: "#24bbfa", value: 0},
 | 
	
		
			
				|  |  |             {name: "51~64岁", color: "#fb5dab", value: 0},
 | 
	
		
			
				|  |  |             {name: "65岁以上", color: "#9b5ffd", value: 0}]
 | 
	
		
			
				|  |  |     },
 | 
	
		
			
				|  |  |     components: {
 | 
	
		
			
				|  |  |         vuedals: Vuedals.Component
 | 
	
		
			
				|  |  |     },
 | 
	
		
			
				|  |  |     mounted: function(){
 | 
	
		
			
				|  |  |         //初始化数据
 | 
	
		
			
				|  |  |         initData(this);
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         //获得顶部各tab的值
 | 
	
		
			
				|  |  |         loadData([0,1,2], this); //参数组数表示请求的区域为上中下
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         //存储请求所带的参数
 | 
	
		
			
				|  |  |         reqList.push({
 | 
	
		
			
				|  |  |             level: this.level,
 | 
	
		
			
				|  |  |             area: this.area,
 | 
	
		
			
				|  |  |             areaTitle: this.areaTitle,
 | 
	
		
			
				|  |  |             endDate: this.endDate,
 | 
	
		
			
				|  |  |             startDate: this.startDate,
 | 
	
		
			
				|  |  |             lowLevel: this.lowLevel,
 | 
	
		
			
				|  |  |             tagCode: this.tagCode,
 | 
	
		
			
				|  |  |             sumType: this.sumType,
 | 
	
		
			
				|  |  |             disease: this.disease
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         //设置监听器, 监听折线图日期变化
 | 
	
		
			
				|  |  |         var vm = this;
 | 
	
		
			
				|  |  |         //监听后退按钮的操作
 | 
	
		
			
				|  |  |         EventBus.$on("back-click", function(arg){
 | 
	
		
			
				|  |  |             if(reqList.length == 1){
 | 
	
		
			
				|  |  |                 history.go(-1);
 | 
	
		
			
				|  |  |             } 
 | 
	
		
			
				|  |  |             else{
 | 
	
		
			
				|  |  |                 var preInfo = reqList.pop();
 | 
	
		
			
				|  |  |                 var info = reqList[reqList.length - 1];
 | 
	
		
			
				|  |  |                 vm.level = info.level;
 | 
	
		
			
				|  |  |                 vm.area = info.area;
 | 
	
		
			
				|  |  |                 vm.areaTitle = info.areaTitle;
 | 
	
		
			
				|  |  |                 vm.lowLevel = info.lowLevel;
 | 
	
		
			
				|  |  |                 vm.tagCode = info.tagCode;
 | 
	
		
			
				|  |  |                 vm.sumType = info.sumType;
 | 
	
		
			
				|  |  |                 vm.disease = info.disease;
 | 
	
		
			
				|  |  |                 
 | 
	
		
			
				|  |  |                 loadData([0,1,2], vm);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //监听页面刷新
 | 
	
		
			
				|  |  |         EventBus.$on("refresh-click", function(arg){
 | 
	
		
			
				|  |  |             loadData([0,1,2], vm);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |     },
 | 
	
		
			
				|  |  |     methods: {
 | 
	
		
			
				|  |  |         changeTagCode: function(val){
 | 
	
		
			
				|  |  |             this.tagCode = val;
 | 
	
		
			
				|  |  |             if(this.sumType == 2){
 | 
	
		
			
				|  |  |                 //费用统计只查看人均费用的变化趋势
 | 
	
		
			
				|  |  |                 loadData([2], this);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 loadData([1,2], this);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //存储请求所带的参数
 | 
	
		
			
				|  |  |             reqList.push({
 | 
	
		
			
				|  |  |                 level: this.level,
 | 
	
		
			
				|  |  |                 area: this.area,
 | 
	
		
			
				|  |  |                 areaTitle: this.areaTitle,
 | 
	
		
			
				|  |  |                 endDate: this.endDate,
 | 
	
		
			
				|  |  |                 startDate: this.startDate,
 | 
	
		
			
				|  |  |                 lowLevel: this.lowLevel,
 | 
	
		
			
				|  |  |                 tagCode: this.tagCode,
 | 
	
		
			
				|  |  |                 sumType: this.sumType,
 | 
	
		
			
				|  |  |                 disease: this.disease,
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         getBarData: function(arg){
 | 
	
		
			
				|  |  |             this.dateType = arg.dateType;
 | 
	
		
			
				|  |  |             loadData([1], this);
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         getPaymentLineData: function(arg){
 | 
	
		
			
				|  |  |             this.dateType = arg.dateType;
 | 
	
		
			
				|  |  |             loadData([1], this);
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         getBottomAreaData: function(arg){
 | 
	
		
			
				|  |  |             //如果level改变,则需要重新加载整个页面的数据,否则只需加载底部区域数据
 | 
	
		
			
				|  |  |             if(arg.level == this.level){
 | 
	
		
			
				|  |  |                 this.lowLevel = arg.lowLevel;
 | 
	
		
			
				|  |  |                 loadData([2], this);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 this.level = arg.level;
 | 
	
		
			
				|  |  |                 //长处方这边level改了lowLevel也需要跟着一起变
 | 
	
		
			
				|  |  |                 this.lowLevel = arg.level - 1;
 | 
	
		
			
				|  |  |                 this.area = arg.area;
 | 
	
		
			
				|  |  |                 this.areaTitle = arg.areaTitle;
 | 
	
		
			
				|  |  |                 loadData([0,1,2], this);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //存储请求所带的参数
 | 
	
		
			
				|  |  |             reqList.push({
 | 
	
		
			
				|  |  |                 level: this.level,
 | 
	
		
			
				|  |  |                 area: this.area,
 | 
	
		
			
				|  |  |                 areaTitle: this.areaTitle,
 | 
	
		
			
				|  |  |                 endDate: this.endDate,
 | 
	
		
			
				|  |  |                 startDate: this.startDate,
 | 
	
		
			
				|  |  |                 lowLevel: this.lowLevel,
 | 
	
		
			
				|  |  |                 tagCode: this.tagCode,
 | 
	
		
			
				|  |  |                 sumType: this.sumType,
 | 
	
		
			
				|  |  |                 disease: this.disease,
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function initData(vm){
 | 
	
		
			
				|  |  |     //获得缓存中缓存的角色权限
 | 
	
		
			
				|  |  |     var userRole = window.localStorage.getItem("selectedRole");
 | 
	
		
			
				|  |  |     if(!userRole){
 | 
	
		
			
				|  |  |         return false;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     vm.userRole = JSON.parse(userRole);
 | 
	
		
			
				|  |  |     vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2;
 | 
	
		
			
				|  |  |     vm.lowLevel = vm.level - 1;
 | 
	
		
			
				|  |  |     vm.area = vm.userRole.code;
 | 
	
		
			
				|  |  |     vm.areaTile = vm.userRole.name;
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     var now = new Date();
 | 
	
		
			
				|  |  |     vm.endDate = now.format("yyyy-MM-dd");
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function initReqParams(vm){
 | 
	
		
			
				|  |  |     //sumType: 1-订单统计,2-费用统计,3-配送统计,4-年龄统计
 | 
	
		
			
				|  |  |     var reqParam = [];
 | 
	
		
			
				|  |  |     switch(vm.sumType){
 | 
	
		
			
				|  |  |         case 1: 
 | 
	
		
			
				|  |  |             //tagCode: 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
 | 
	
		
			
				|  |  |             reqParam = [{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionCount",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionTotalHistogram",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionTotalLowLevel",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
 | 
	
		
			
				|  |  |             }];
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 2: 
 | 
	
		
			
				|  |  |             //dateType: 折线图坐标值1-日,2-周,3-月
 | 
	
		
			
				|  |  |             //tagCode: 1.总量,2.平均值
 | 
	
		
			
				|  |  |             vm.startDate = getBeforeMonthStartDate(3, vm.dateType);
 | 
	
		
			
				|  |  |             reqParam = [{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionCost",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionCostAvgLine",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.dateType, startDate: vm.startDate, endDate: vm.endDate}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionCostLowLevel",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
 | 
	
		
			
				|  |  |             }];
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 3: 
 | 
	
		
			
				|  |  |             //tagCode: 1.自取,2.快递配送,3.健管师配送
 | 
	
		
			
				|  |  |             reqParam = [{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionDispatchingTotal",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionDispatchingHistogram",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionDispatchingLowLevel",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
 | 
	
		
			
				|  |  |             }];
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 4: 
 | 
	
		
			
				|  |  |             reqParam = [{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionAgeTotal",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionAgeHistogram",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             },{
 | 
	
		
			
				|  |  |                 url: "/statistics/getPrescriptionAgeLowLevel",
 | 
	
		
			
				|  |  |                 data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease}
 | 
	
		
			
				|  |  |             }];
 | 
	
		
			
				|  |  |             break;  
 | 
	
		
			
				|  |  |         default:
 | 
	
		
			
				|  |  |             reqParam = [];
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |     };
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     return reqParam;
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function loadData(loadArr, vm){
 | 
	
		
			
				|  |  |     //获取其他请求的参数
 | 
	
		
			
				|  |  |     var reqParams = initReqParams(vm),
 | 
	
		
			
				|  |  |         reqPromise = [];
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     for(i=0; i<loadArr.length; i++){
 | 
	
		
			
				|  |  |         var j = loadArr[i];
 | 
	
		
			
				|  |  |         var param = reqParams[j];
 | 
	
		
			
				|  |  |         reqPromise.push(httpRequest.get(param.url, {data: param.data}));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |     if(reqPromise.length > 0){
 | 
	
		
			
				|  |  |         Promise.all(reqPromise).then(function(ress){
 | 
	
		
			
				|  |  |             var res1, res2, res2;
 | 
	
		
			
				|  |  |             for(var i=0; i<loadArr.length; i++){
 | 
	
		
			
				|  |  |                 var j = loadArr[i] + 1;
 | 
	
		
			
				|  |  |                 if(j == 1){
 | 
	
		
			
				|  |  |                     res1 = ress[i];
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(j == 2){
 | 
	
		
			
				|  |  |                     res2 = ress[i];
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(j == 3){
 | 
	
		
			
				|  |  |                     res3 = ress[i];
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(res1){
 | 
	
		
			
				|  |  |                 if(res1.status == 200){
 | 
	
		
			
				|  |  |                     handleTopPanelData(res1.data, vm);
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     console.log(res1.msg);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(res2){
 | 
	
		
			
				|  |  |                 if(res2.status == 200){
 | 
	
		
			
				|  |  |                     handleSecondPanelData(res2.data, vm);
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                    console.log(res2.msg);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(res3){
 | 
	
		
			
				|  |  |                 if(res3.status == 200){
 | 
	
		
			
				|  |  |                     listHandle(res3.data, vm);
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     console.log(res3.msg);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         })
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function handleTopPanelData(data, vm){
 | 
	
		
			
				|  |  |     switch(vm.sumType){
 | 
	
		
			
				|  |  |         case 1:
 | 
	
		
			
				|  |  |             vm.orderTagDatas = {
 | 
	
		
			
				|  |  |                 total: data.total,
 | 
	
		
			
				|  |  |                 finishCount: data.finishCount,
 | 
	
		
			
				|  |  |                 patientCancelCount: data.patientCancelCount,
 | 
	
		
			
				|  |  |                 noReviewedCount: data.noReviewedCount,
 | 
	
		
			
				|  |  |                 processingCount: data.processingCount,
 | 
	
		
			
				|  |  |                 payOuttimeCount: data.payOuttimeCount
 | 
	
		
			
				|  |  |             };
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 2:
 | 
	
		
			
				|  |  |             vm.paymentData = {
 | 
	
		
			
				|  |  |                 sum: data.sum,
 | 
	
		
			
				|  |  |                 avg: data.avg
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 3:
 | 
	
		
			
				|  |  |             vm.expressData = {
 | 
	
		
			
				|  |  |                 self: data.seltTotal,
 | 
	
		
			
				|  |  |                 doctor: data.deliveryTotal,
 | 
	
		
			
				|  |  |                 delivery: data.doctorTotal
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 4:
 | 
	
		
			
				|  |  |             var len = vm.ageDatas.length,
 | 
	
		
			
				|  |  |                 color = ['#ff5442', '#ffc800 ','#4ce428', '#24bbfa','#fb5dab', "#9b5ffd"],
 | 
	
		
			
				|  |  |                 objName = ['0age', '7age', '19age', '31age', '51age', '65age'],
 | 
	
		
			
				|  |  |                 arr = [];
 | 
	
		
			
				|  |  |             for(i=0; i<len; i++){
 | 
	
		
			
				|  |  |                 vm.ageDatas[i].value = data[objName[i]];
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //绘制饼图
 | 
	
		
			
				|  |  |             drawPieChart("agePie", vm.ageDatas, color);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function handleSecondPanelData(data, vm){
 | 
	
		
			
				|  |  |     switch(vm.sumType){
 | 
	
		
			
				|  |  |         case 1:
 | 
	
		
			
				|  |  |         case 3:
 | 
	
		
			
				|  |  |             var color = "#17b3ec",
 | 
	
		
			
				|  |  |                 xAxisData = [],
 | 
	
		
			
				|  |  |                 seriesData = [];
 | 
	
		
			
				|  |  |             for(i=0; i<data.length; i++){
 | 
	
		
			
				|  |  |                 var item = data[i];
 | 
	
		
			
				|  |  |                 xAxisData.push(item.date);
 | 
	
		
			
				|  |  |                 seriesData.push(item.count);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             var names;
 | 
	
		
			
				|  |  |             if(vm.sumType == 1){
 | 
	
		
			
				|  |  |                 names = ["续方总量", "已完成", "居民取消", "审核未通过", "进行中", "其他原因取消"];
 | 
	
		
			
				|  |  |             }else if(vm.sumType == 3){
 | 
	
		
			
				|  |  |                 names = ["居民自取", "物流配送", "健管师配送"];
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             EventBus.$emit("draw-bar-chart", {
 | 
	
		
			
				|  |  |                 panelName: "近半年统计",
 | 
	
		
			
				|  |  |                 xData: xAxisData,
 | 
	
		
			
				|  |  |                 yData: seriesData,
 | 
	
		
			
				|  |  |                 quotaName: names[vm.tagCode - 1],
 | 
	
		
			
				|  |  |                 color: color,
 | 
	
		
			
				|  |  |                 unit: "笔"
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 2:
 | 
	
		
			
				|  |  |             var yDatas = [],
 | 
	
		
			
				|  |  |                 colors = ['#12b7f5'];
 | 
	
		
			
				|  |  |                 
 | 
	
		
			
				|  |  |             var xData = _.map(data, function(o){
 | 
	
		
			
				|  |  |                 return o.date;
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             var yData = _.map(data, function(o){
 | 
	
		
			
				|  |  |                 return o.avg;
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             yDatas.push(yData);
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             EventBus.$emit("draw-line-chart", {
 | 
	
		
			
				|  |  |                 panelName : "近三个月人均费用趋势",
 | 
	
		
			
				|  |  |                 quotaNames : ["人均费用"],
 | 
	
		
			
				|  |  |                 xData : xData,
 | 
	
		
			
				|  |  |                 yDatas : yDatas,
 | 
	
		
			
				|  |  |                 colors : colors,
 | 
	
		
			
				|  |  |                 unit: "元"
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |         case 4: 
 | 
	
		
			
				|  |  |             var color = "#17b3ec",
 | 
	
		
			
				|  |  |                 xAxisData = ['0~6岁', '7~18岁', '19~30岁', '31~50岁', '51~64岁', '65岁以上'],
 | 
	
		
			
				|  |  |                 fieldName = ['0ageRate', '7ageRate', '19ageRate', '31ageRate', '51ageRate', '65ageRate']
 | 
	
		
			
				|  |  |                 seriesData = [];
 | 
	
		
			
				|  |  |             for(i=0; i<6; i++){
 | 
	
		
			
				|  |  |                 seriesData.push(parseInt(data[fieldName[i]]));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             drawBarChart("ageBar", xAxisData, seriesData, color, "人均使用次数");
 | 
	
		
			
				|  |  |             break;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function listHandle(data, vm){
 | 
	
		
			
				|  |  |     var list = data;
 | 
	
		
			
				|  |  |     var topArr = soreRank(getKeyValueArr(list, 'val'));
 | 
	
		
			
				|  |  |     var arr = _.map(list, function(o, index){
 | 
	
		
			
				|  |  |         var cols = [o.name, o.val];
 | 
	
		
			
				|  |  |         return {
 | 
	
		
			
				|  |  |             rank: topArr[index],
 | 
	
		
			
				|  |  |             code: o.code,
 | 
	
		
			
				|  |  |             name: o.name,
 | 
	
		
			
				|  |  |             cols: cols
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  |     var headers = {
 | 
	
		
			
				|  |  |         '1': ["排名", "续方总量", "已完成", "居民取消", "审核未通过", "进行中", "其他原因取消"],
 | 
	
		
			
				|  |  |         '2': ["排名", "费用总计", "人均费用"],
 | 
	
		
			
				|  |  |         '3': ["排名", "居民自取", "物流配送", "健管师配送"],
 | 
	
		
			
				|  |  |         '4': ["排名", "绑定设备"],
 | 
	
		
			
				|  |  |     };
 | 
	
		
			
				|  |  |     EventBus.$emit("render-area-data",{
 | 
	
		
			
				|  |  |         level: vm.level,
 | 
	
		
			
				|  |  |         area: vm.area,
 | 
	
		
			
				|  |  |         lowLevel: vm.lowLevel,
 | 
	
		
			
				|  |  |         headers:["排名", headers[vm.sumType][vm.tagCode]],
 | 
	
		
			
				|  |  |         rows: arr
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /*
 | 
	
		
			
				|  |  |  * months :  月份差距(例如months=3,则获取今天往前数3个月的那天的值)
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | function getBeforeMonthStartDate(months,type){
 | 
	
		
			
				|  |  |     //type: 折线图坐标值1-日,2-周,3-月
 | 
	
		
			
				|  |  |     //从1号开始算每个月开始的时间
 | 
	
		
			
				|  |  |     var sDate = new Date(),
 | 
	
		
			
				|  |  |         now = new Date();
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     sDate.setMonth(now.getMonth() - months + 1);// 包含本月算一个月
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     var sDateStr = sDate.format("yyyy-MM-dd");
 | 
	
		
			
				|  |  |     var startDate = "";
 | 
	
		
			
				|  |  |     if(type == '3'){
 | 
	
		
			
				|  |  |         startDate = sDateStr.substr(0,8)+"01";
 | 
	
		
			
				|  |  |     }else{
 | 
	
		
			
				|  |  |         startDate = sDateStr;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     return startDate;
 | 
	
		
			
				|  |  | }
 |