(function() { Vue.component('high-incidence-disease', { template: '
\

本月高发疾病排行

\ \
\ \ \ \
\
\ \ \ \ \
\
\
\ \
\
暂无数据!
\
\
\
', props: ["data","city","cityVal"], data: function() { return { index1:0, index2:0, gaoBingFaData:null, isInit:true, fontSize: 0, linkageFilter:"", hasData:true, monthData:null, jiData:null, yearMonth:null, } }, mounted: function() { var width = window.screen.width>=1920?window.screen.width:1920; this.fontSize = 0.007 * width; }, watch:{ data:function(data){ if(data[0] || data[1] || data[2]){ this.monthData = data[0]; this.yearData = data[1]; this.jiData = data[2]; this.initData(); }else{ this.hasData = false; } } }, methods: { detailClick:function(){ var vm = this; var width = (0.7604 * window.screen.width) + 'px'; var height = (0.41875 * window.screen.width) + 'px'; vm.cityVal = vm.cityVal=="0"?"":vm.cityVal; top.layer.open({ id: 'LAY_layuipro', //设定一个id,防止重复弹出 type: 2, title: false, closeBtn: 0, shade: 0.5, shadeClose: true, area: [width, height], content: httpRequest.alertUrl+'/page/bigData/html/alert6.html?town='+vm.city+"&cityVal="+vm.cityVal }); }, btnClick1:function(idx){ this.index1 = idx; this.initData(); }, btnClick2:function(idx){ this.index2 = idx; this.initData(); }, initData:function(){//高发疾病 if(this.index2==0){//本月 this.gaoBingFaData = this.monthData.successFlg?this.monthData.obj.viewInfos&&JSON.parse(this.monthData.obj.viewInfos[0].options[0].option):{}; }else if(this.index2==1){//本季 this.gaoBingFaData = this.jiData.successFlg?this.jiData.obj.viewInfos&&JSON.parse(this.jiData.obj.viewInfos[0].options[0].option):{}; }else if(this.index2==2){//本年 this.gaoBingFaData = this.yearData.successFlg?this.yearData.obj.viewInfos&&JSON.parse(this.yearData.obj.viewInfos[0].options[0].option):{}; } if(this.gaoBingFaData&&this.gaoBingFaData.xAxis[0].data){ this.hasData = true; }else{ this.hasData = false; return false; } var menZhenData = [],menZhenTitle = ""; var xAxisData = (this.gaoBingFaData.xAxis[0].data)||[]; var zhuYuanData = (this.gaoBingFaData.series[1].data)||[]; var zhuYuanTitle = this.gaoBingFaData.series[1].name||""; if(this.index1==0){//全部(显示门诊/住院数据叠加) menZhenData = (this.gaoBingFaData.series[0].data); menZhenTitle = this.gaoBingFaData.series[0].name; }else if(this.index1==2){//门诊(显示单个柱状图) zhuYuanData = (this.gaoBingFaData.series[0].data); zhuYuanTitle = this.gaoBingFaData.series[0].name; menZhenData = []; menZhenTitle = ""; } //数据排序(降序排列) if(this.index1==0){ var formatData = _.map(zhuYuanData,function(item,idx){ var total = parseInt(item)+parseInt(menZhenData[idx]); return {total:total,zhuyuanval:parseInt(item),menzhenval:parseInt(menZhenData[idx]),xAxis:xAxisData[idx]} }) formatData = _.sortBy(formatData,"total").reverse(); xAxisData = [],zhuYuanData=[],menZhenData=[]; _.map(formatData,function(item,idx){ xAxisData.push(item.xAxis); zhuYuanData.push(item.zhuyuanval); menZhenData.push(item.menzhenval); }) }else if(this.index1==1 || this.index1==2){ var formatData = _.map(zhuYuanData,function(item,idx){ return {total:parseInt(item),zhuyuanval:parseInt(item),xAxis:xAxisData[idx]} }) formatData = _.sortBy(formatData,"total").reverse(); xAxisData = [],zhuYuanData=[]; _.map(formatData,function(item,idx){ xAxisData.push(item.xAxis); zhuYuanData.push(item.zhuyuanval); }) } this.geoFaMainFun(xAxisData,menZhenData,zhuYuanData,menZhenTitle,zhuYuanTitle) }, geoFaMainFun:function(xAxisData,menZhenData,zhuYuanData,menZhenTitle,zhuYuanTitle){ var vm = this; var gaoFaChart = echarts.init(document.getElementById('div-gaofa-disease-chart')); debugger var gaofaOption = { "tooltip": { "trigger": "axis" }, "grid": {top: 40, bottom: 30, left: 140,right:80}, "yAxis": [{ "type": "category", "name": "人次", "data": xAxisData.reverse(), axisPointer: { type: 'shadow' }, axisTick: { show: false }, axisLine: { lineStyle: { color: '#095f8e' } }, axisLabel: { color: '#b5e1fc', fontSize:vm.fontSize, interval: 0, formatter: function(value) { if (value.length > 8) { return value.substring(0, 8) + "..."; } else { return value; } } }, nameTextStyle:{color: '#b5e1fc'}, }], "xAxis": [{ "type": "value", axisPointer: { type: 'shadow' }, axisTick: { show: false }, axisLine: { lineStyle: { color: '#095f8e' } }, axisLabel: { color: '#fff', fontSize:vm.fontSize, interval:0 }, splitLine: { show: false // 不显示坐标轴刻度 } }], "series": [{ "smooth": true, "name": zhuYuanTitle, "type": "bar", stack: '高发疾病', barWidth: 20, "label": { show: true, position: "right", color: '#b5e1fc' }, "itemStyle": { "normal": { "lineStyle": { "shadowColor": "rgba(0,0,0,0.4)" }, color: '#00e6f3', barBorderRadius: [0, 8, 8, 0], } }, "data": zhuYuanData.reverse() }, ] } if(menZhenData.length>0){ gaofaOption.series[0].label.show = false; gaofaOption.series[0].itemStyle.normal.color = "#6576e0"; delete gaofaOption.series[0].itemStyle.normal.barBorderRadius; gaofaOption.series[1] = { "smooth": true, "name": menZhenTitle, "type": "bar", stack: '高发疾病', "label": { show: true, position: "right", color: '#b5e1fc', fontSize:vm.fontSize, formatter:function(param){ var dataIndex = param.dataIndex,zhuYuanVal; _.map(zhuYuanData,function(item,idx){ if(idx==dataIndex){ zhuYuanVal = item } }) return zhuYuanVal+"+"+param.value; }, }, "itemStyle": { "normal": { "lineStyle": { "shadowColor": "rgba(0,0,0,0.4)" }, barBorderRadius: [0, 8, 8, 0], color: '#00e6f3' }, }, "data": menZhenData.reverse() } }else{ gaofaOption.series = gaofaOption.series[0]; } if(gaoFaChart){ gaoFaChart.clear(); } gaoFaChart.setOption(gaofaOption); } }, }) })()