|  | @ -0,0 +1,315 @@
 | 
	
		
			
				|  |  | Vue.component('resident-analysis', {
 | 
	
		
			
				|  |  | 	template: '<div>\
 | 
	
		
			
				|  |  | 				<div class="div-qingkuang-left">\
 | 
	
		
			
				|  |  | 					<div class="div-header-block">\
 | 
	
		
			
				|  |  | 						<div class="div-analysis-title">缴费情况</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 					<div class="c-position-r height-140">\
 | 
	
		
			
				|  |  | 						<div class="div-right-info">\
 | 
	
		
			
				|  |  | 							<div class="y-amount c-f16">{{yiJiaoFeiData}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-rate c-f14 mt5">{{yiJiaoFeiPer}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-title c-f12 mt10">已缴费人数</div>\
 | 
	
		
			
				|  |  | 						</div>\
 | 
	
		
			
				|  |  | 						<div class="div-left-info">\
 | 
	
		
			
				|  |  | 							<div class="y-amount c-f16">{{weiJiaoFeiData}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-rate c-f14 mt5">{{weiJiaoFeiPer}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-title c-f12 mt10">未缴费人数</div>\
 | 
	
		
			
				|  |  | 						</div>\
 | 
	
		
			
				|  |  | 						<div id="jiaoFeiChart" class="height-140"></div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 				</div>\
 | 
	
		
			
				|  |  | 				<div class="div-qingkuang-right">\
 | 
	
		
			
				|  |  | 					<div class="div-header-block">\
 | 
	
		
			
				|  |  | 						<div class="div-analysis-title">健康分布</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 					<div class="c-position-r height-140">\
 | 
	
		
			
				|  |  | 						<div id="healthChart" class="height-140"></div>\
 | 
	
		
			
				|  |  | 						<div class="ui-col-1 ui-grid ui-grid-vertical">\
 | 
	
		
			
				|  |  | 							<div id="jkCatalogs">\
 | 
	
		
			
				|  |  | 								<div class="ui-col-1">\
 | 
	
		
			
				|  |  | 									<span class="span-frame cb-12b7f5"></span>\
 | 
	
		
			
				|  |  | 									<span class="c-f14 c-12b7f5">{{jianKangRQPer}}</span>\
 | 
	
		
			
				|  |  | 									<span class="c-f12 c-909090">(健康人群)</span>\
 | 
	
		
			
				|  |  | 								</div>\
 | 
	
		
			
				|  |  | 								<div class="ui-col-1">\
 | 
	
		
			
				|  |  | 									<span class="span-frame cb-fb5dab"></span>\
 | 
	
		
			
				|  |  | 									<span class="c-f14 c-fb5dab">{{huanBingRQPer}}</span>\
 | 
	
		
			
				|  |  | 									<span class="c-f12 c-909090">(患病人群)</span>\
 | 
	
		
			
				|  |  | 								</div>\
 | 
	
		
			
				|  |  | 								<div class="ui-col-1">\
 | 
	
		
			
				|  |  | 									<span class="span-frame cb-cd67fd"></span>\
 | 
	
		
			
				|  |  | 									<span class="c-f14 c-cd67fd">{{gaoWeiRQPer}}</span>\
 | 
	
		
			
				|  |  | 									<span class="c-f12 c-666">(高危人群)</span>\
 | 
	
		
			
				|  |  | 								</div>\
 | 
	
		
			
				|  |  | 								<div class="ui-col-1">\
 | 
	
		
			
				|  |  | 									<span class="span-frame cb-ffc800"></span>\
 | 
	
		
			
				|  |  | 									<span class="c-f14 c-ffc800">{{huiFuQiRQPer}}</span>\
 | 
	
		
			
				|  |  | 									<span class="c-f12 c-666">(恢复期人群)</span>\
 | 
	
		
			
				|  |  | 								</div>\
 | 
	
		
			
				|  |  | 								<div class="ui-col-1">\
 | 
	
		
			
				|  |  | 									<span class="span-frame cb-61eb41"></span>\
 | 
	
		
			
				|  |  | 									<span class="c-f14 c-61eb41">{{weiBiaoZRQPer}}</span>\
 | 
	
		
			
				|  |  | 									<span class="c-f12 c-666">(未标注)</span>\
 | 
	
		
			
				|  |  | 								</div>\
 | 
	
		
			
				|  |  | 							</div>\
 | 
	
		
			
				|  |  | 						</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 				</div>\
 | 
	
		
			
				|  |  | 				<div class="div-qingkuang-left">\
 | 
	
		
			
				|  |  | 					<div class="div-header-block">\
 | 
	
		
			
				|  |  | 						<div class="div-analysis-title">服务分布比例</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 					<div id="serviceChart" class="height-140"></div>\
 | 
	
		
			
				|  |  | 				</div>\
 | 
	
		
			
				|  |  | 				<div class="div-qingkuang-right">\
 | 
	
		
			
				|  |  | 					<div class="div-header-block">\
 | 
	
		
			
				|  |  | 						<div class="div-analysis-title">性别情况</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 					<div class="c-position-r height-140">\
 | 
	
		
			
				|  |  | 						<div class="div-right-info">\
 | 
	
		
			
				|  |  | 							<div class="y-amount c-f16">{{maleData}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-rate c-f14 mt5">{{malePer}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-title c-f12 mt10">男性</div>\
 | 
	
		
			
				|  |  | 						</div>\
 | 
	
		
			
				|  |  | 						<div class="div-left-info">\
 | 
	
		
			
				|  |  | 							<div class="y-amount c-f16 c-fb5dab">{{femaleData}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-rate c-f14 mt5 c-fb5dab">{{femalePer}}</div>\
 | 
	
		
			
				|  |  | 							<div class="y-title c-f12 mt10 c-fb5dab">女性</div>\
 | 
	
		
			
				|  |  | 						</div>\
 | 
	
		
			
				|  |  | 						<div id="sexChart" class="height-140"></div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 				</div>\
 | 
	
		
			
				|  |  | 				<div class="div-service-kuang">\
 | 
	
		
			
				|  |  | 					<div class="div-header-block">\
 | 
	
		
			
				|  |  | 						<div class="div-analysis-title">年龄分布</div>\
 | 
	
		
			
				|  |  | 					</div>\
 | 
	
		
			
				|  |  | 					<div id="ageChart" class="height-140"></div>\
 | 
	
		
			
				|  |  | 				</div>\
 | 
	
		
			
				|  |  | 			</div>',
 | 
	
		
			
				|  |  | 	props: [],
 | 
	
		
			
				|  |  | 	data: function() {
 | 
	
		
			
				|  |  | 		return {
 | 
	
		
			
				|  |  | 			yiJiaoFeiData:"",
 | 
	
		
			
				|  |  | 			yiJiaoFeiPer:"",
 | 
	
		
			
				|  |  | 			weiJiaoFeiData:"",
 | 
	
		
			
				|  |  | 			weiJiaoFeiPer:"",
 | 
	
		
			
				|  |  | 			jianKangRQPer:"",
 | 
	
		
			
				|  |  | 			huanBingRQPer:"",
 | 
	
		
			
				|  |  | 			gaoWeiRQPer:"",
 | 
	
		
			
				|  |  | 			huiFuQiRQPer:"",
 | 
	
		
			
				|  |  | 			weiBiaoZRQPer:"",
 | 
	
		
			
				|  |  | 			maleData:"",
 | 
	
		
			
				|  |  | 			malePer:"",
 | 
	
		
			
				|  |  | 			femaleData:"",
 | 
	
		
			
				|  |  | 			femalePer:"",
 | 
	
		
			
				|  |  | 			chooseYear:"",//选择年份值
 | 
	
		
			
				|  |  | 			curLevel:null,//当前level值
 | 
	
		
			
				|  |  | 			curCode:null,//当前选中区域的code值
 | 
	
		
			
				|  |  | 			curName:null,//当前选中区域名称值
 | 
	
		
			
				|  |  | 			endDate:null,
 | 
	
		
			
				|  |  | 			userRole:null,
 | 
	
		
			
				|  |  | 			roleLevel:null,
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	},
 | 
	
		
			
				|  |  | 	mounted: function() {
 | 
	
		
			
				|  |  | 		var vm = this;
 | 
	
		
			
				|  |  | 	    var now = new Date();
 | 
	
		
			
				|  |  | 	    if(now.getMonth() >= 6){
 | 
	
		
			
				|  |  | 	        vm.chooseYear = now.getFullYear();
 | 
	
		
			
				|  |  | 	    }else{
 | 
	
		
			
				|  |  | 	        vm.chooseYear = now.getFullYear() - 1;
 | 
	
		
			
				|  |  | 	    }
 | 
	
		
			
				|  |  | 	    vm.userRole = JSON.parse(window.localStorage.getItem("selectedRole"));
 | 
	
		
			
				|  |  | 		vm.roleLevel = vm.userRole.code == '350200'  ? 4 : vm.userRole.code.length==6 ? 3 : 2;
 | 
	
		
			
				|  |  | 	    vm.endDate = getEndDate(vm.chooseYear);
 | 
	
		
			
				|  |  | 		vm.curLevel = vm.roleLevel;
 | 
	
		
			
				|  |  | 		vm.curCode = vm.userRole.code;
 | 
	
		
			
				|  |  | 		vm.curName = vm.userRole.name;
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  |     	
 | 
	
		
			
				|  |  |     	//初始化数据
 | 
	
		
			
				|  |  | 		initData(vm);
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//刷新数据
 | 
	
		
			
				|  |  | 		EventBus.$on('refresh-click', function(arg) {
 | 
	
		
			
				|  |  | 			initData(vm);
 | 
	
		
			
				|  |  | 		});
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//弹出筛选框
 | 
	
		
			
				|  |  | 		EventBus.$on('filter-click', function(arg) {
 | 
	
		
			
				|  |  | 			//弹框显示筛选条件
 | 
	
		
			
				|  |  |             Vuedals.Bus.$emit('new', {
 | 
	
		
			
				|  |  |                 title: '条件筛选',
 | 
	
		
			
				|  |  |                 onClose:function(data){
 | 
	
		
			
				|  |  |                     vm.chooseYear = data.year;
 | 
	
		
			
				|  |  |                     vm.curName = data.name;
 | 
	
		
			
				|  |  |                     vm.curCode = data.areaCode;
 | 
	
		
			
				|  |  |                     vm.curLevel = data.level;
 | 
	
		
			
				|  |  |                     vm.endDate = getEndDate(vm.chooseYear);
 | 
	
		
			
				|  |  |                     initData(vm);//刷新数据
 | 
	
		
			
				|  |  |                 },
 | 
	
		
			
				|  |  |                 component: 'resident-analysis-filter',
 | 
	
		
			
				|  |  |                 props: {
 | 
	
		
			
				|  |  |                     curLevel: vm.roleLevel,
 | 
	
		
			
				|  |  |                     curCode: vm.userRole.code,
 | 
	
		
			
				|  |  |                     curName: vm.userRole.name
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  | 		});
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 	},
 | 
	
		
			
				|  |  | 	methods: {
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | })
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //请求接口数据
 | 
	
		
			
				|  |  | function initData(vm) {
 | 
	
		
			
				|  |  | 	var url = "/statistics/leveltwo_increment";
 | 
	
		
			
				|  |  | 	EventBus.$emit('update-area-name', {areaName:vm.curName});//更新区域名称
 | 
	
		
			
				|  |  | 	EventBus.$emit('update-statistics-time', {});//更新统计时间
 | 
	
		
			
				|  |  | 	EventBus.$emit('update-statistics-year', {selectDate:vm.chooseYear+"年"});//更新统计年份
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	var reqUrl = [{
 | 
	
		
			
				|  |  | 			url: url,
 | 
	
		
			
				|  |  | 			reqType: 'get',
 | 
	
		
			
				|  |  | 			data: {
 | 
	
		
			
				|  |  | 				endDate:vm.endDate,
 | 
	
		
			
				|  |  | 				area:vm.curCode,
 | 
	
		
			
				|  |  | 				level:vm.curLevel,
 | 
	
		
			
				|  |  | 				index:16,
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		},
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			url: url,
 | 
	
		
			
				|  |  | 			reqType: 'get',
 | 
	
		
			
				|  |  | 			data: {
 | 
	
		
			
				|  |  | 				endDate:vm.endDate,
 | 
	
		
			
				|  |  | 				area:vm.curCode,
 | 
	
		
			
				|  |  | 				level:vm.curLevel,
 | 
	
		
			
				|  |  | 				index:15,
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		},
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			url: url,
 | 
	
		
			
				|  |  | 			reqType: 'get',
 | 
	
		
			
				|  |  | 			data: {
 | 
	
		
			
				|  |  | 				endDate:vm.endDate,
 | 
	
		
			
				|  |  | 				area:vm.curCode,
 | 
	
		
			
				|  |  | 				level:vm.curLevel,
 | 
	
		
			
				|  |  | 				index:vm.chooseYear==2016?7:36,
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		},
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			url: url,
 | 
	
		
			
				|  |  | 			reqType: 'get',
 | 
	
		
			
				|  |  | 			data: {
 | 
	
		
			
				|  |  | 				endDate:vm.endDate,
 | 
	
		
			
				|  |  | 				area:vm.curCode,
 | 
	
		
			
				|  |  | 				level:vm.curLevel,
 | 
	
		
			
				|  |  | 				index:6,
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		},
 | 
	
		
			
				|  |  | 		{
 | 
	
		
			
				|  |  | 			url: url,
 | 
	
		
			
				|  |  | 			reqType: 'get',
 | 
	
		
			
				|  |  | 			data: {
 | 
	
		
			
				|  |  | 				endDate:vm.endDate,
 | 
	
		
			
				|  |  | 				area:vm.curCode,
 | 
	
		
			
				|  |  | 				level:vm.curLevel,
 | 
	
		
			
				|  |  | 				index:8,
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	];
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	httpRequest.getReqPromises(reqUrl).then(function(datas) {
 | 
	
		
			
				|  |  | 		var jiaoFeiArr = datas[0],
 | 
	
		
			
				|  |  | 		healthArr = datas[1],
 | 
	
		
			
				|  |  | 		serviceArr = datas[2],
 | 
	
		
			
				|  |  | 		sexArr = datas[3],
 | 
	
		
			
				|  |  | 		ageArr = datas[4];
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//缴费情况处理
 | 
	
		
			
				|  |  | 		if(jiaoFeiArr.status == "200") {
 | 
	
		
			
				|  |  | 			var data = jiaoFeiArr.data.index_16;
 | 
	
		
			
				|  |  | 			var yiJiaoFeiData = "";
 | 
	
		
			
				|  |  | 			var weiJiaoFeiData = "";
 | 
	
		
			
				|  |  | 			if(data && data.length == 1 && data[0].code == 0) { //未缴费率为100%的情况,后台没有返回已缴费的数据
 | 
	
		
			
				|  |  | 				vm.yiJiaoFeiData = "0";
 | 
	
		
			
				|  |  | 				vm.yiJiaoFeiPer = "0.00%";
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			$.each(data, function(i, v) {
 | 
	
		
			
				|  |  | 				if(v.code == 0 || v.code == 1) {
 | 
	
		
			
				|  |  | 					if(v.code == 1) {
 | 
	
		
			
				|  |  | 						yiJiaoFeiData = v.amount;
 | 
	
		
			
				|  |  | 						v.rate = parseFloat(v.rate).toFixed(2);
 | 
	
		
			
				|  |  | 						vm.yiJiaoFeiData = v.amount;
 | 
	
		
			
				|  |  | 						vm.yiJiaoFeiPer = v.rate + "%";
 | 
	
		
			
				|  |  | 					} else {
 | 
	
		
			
				|  |  | 						weiJiaoFeiData = v.amount;
 | 
	
		
			
				|  |  | 						v.rate = parseFloat(v.rate).toFixed(2);
 | 
	
		
			
				|  |  | 						vm.weiJiaoFeiData = v.amount;
 | 
	
		
			
				|  |  | 						vm.weiJiaoFeiPer = v.rate + "%";
 | 
	
		
			
				|  |  | 					}
 | 
	
		
			
				|  |  | 				}
 | 
	
		
			
				|  |  | 			})
 | 
	
		
			
				|  |  | 			jiaoFeiData(yiJiaoFeiData,weiJiaoFeiData);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//健康分布处理
 | 
	
		
			
				|  |  | 		if(healthArr.status == "200") {
 | 
	
		
			
				|  |  | 			var data = healthArr.data.index_15;
 | 
	
		
			
				|  |  | 			var wbzdata = data[0].amount;
 | 
	
		
			
				|  |  | 			var jkrqdata = data[1].amount;
 | 
	
		
			
				|  |  | 			var hbrqdata = data[2].amount;
 | 
	
		
			
				|  |  | 			var gwrqdata = data[3].amount;
 | 
	
		
			
				|  |  | 			var hfqrqdata = data[4].amount;
 | 
	
		
			
				|  |  | 			vm.weiBiaoZRQPer = parseFloat(data[0].rate).toFixed(2);
 | 
	
		
			
				|  |  | 			vm.jianKangRQPer = parseFloat(data[1].rate).toFixed(2);
 | 
	
		
			
				|  |  | 			vm.huanBingRQPer = parseFloat(data[2].rate).toFixed(2);
 | 
	
		
			
				|  |  | 			vm.gaoWeiRQPer = parseFloat(data[3].rate).toFixed(2);
 | 
	
		
			
				|  |  | 			vm.huiFuQiRQPer = parseFloat(data[4].rate).toFixed(2);
 | 
	
		
			
				|  |  | 			healthData(jkrqdata,hbrqdata,gwrqdata,hfqrqdata,wbzdata);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//服务分布处理
 | 
	
		
			
				|  |  | 		if(serviceArr.status=="200"){
 | 
	
		
			
				|  |  | 			var data=serviceArr.data["index_"+(vm.chooseYear==2016?7:36)];
 | 
	
		
			
				|  |  | 			var amountArr = [];
 | 
	
		
			
				|  |  | 			$.each(data, function(i, v) {
 | 
	
		
			
				|  |  | 				amountArr.push(v.amount);
 | 
	
		
			
				|  |  | 			})
 | 
	
		
			
				|  |  | 			serviceData(amountArr);			
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//性别情况处理
 | 
	
		
			
				|  |  | 		if(sexArr.status=="200"){
 | 
	
		
			
				|  |  | 			var data = sexArr.data.index_6;
 | 
	
		
			
				|  |  | 			var femaleData,maleData;
 | 
	
		
			
				|  |  | 			$.each(data, function(i, v) {
 | 
	
		
			
				|  |  | 				if(v.code=="1"){//女
 | 
	
		
			
				|  |  | 					femaleData = v.amount;
 | 
	
		
			
				|  |  | 					vm.femaleData = v.amount;
 | 
	
		
			
				|  |  | 					vm.femalePer = parseFloat(v.rate).toFixed(2)+"%";
 | 
	
		
			
				|  |  | 				}else{//男
 | 
	
		
			
				|  |  | 					maleData = v.amount;
 | 
	
		
			
				|  |  | 					vm.maleData = v.amount;
 | 
	
		
			
				|  |  | 					vm.malePer = parseFloat(v.rate).toFixed(2)+"%";
 | 
	
		
			
				|  |  | 				}
 | 
	
		
			
				|  |  | 			})
 | 
	
		
			
				|  |  | 			sexData(femaleData,maleData);			
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		//年龄分布处理
 | 
	
		
			
				|  |  | 		if(ageArr.status=="200"){
 | 
	
		
			
				|  |  | 			 var data=ageArr.data.index_8;
 | 
	
		
			
				|  |  | 			 var amountArr = [];
 | 
	
		
			
				|  |  | 			$.each(data, function(i, v) {
 | 
	
		
			
				|  |  | 				amountArr.push(v.amount);
 | 
	
		
			
				|  |  | 			})
 | 
	
		
			
				|  |  | 			ageData(amountArr);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	})
 | 
	
		
			
				|  |  | }
 |