Browse Source

地区联动

zhanghaoyu 6 years ago
parent
commit
71ee09c31f

+ 8 - 0
js/util.js

@ -359,3 +359,11 @@ function updateFontSize(){
		$('html').css('font-size', width/7.7 + 'px')
	}
}
//获取地址栏参数
function getUrlParms(name){
	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if(r!=null)
	return unescape(r[2]);
	return null;
}

+ 12 - 0
page/bigData/css/alert.css

@ -270,3 +270,15 @@ body {
.laydate-theme-molv .layui-laydate-main {
  width: 1.427083rem!important;
}
.table_select {
  background-color: #009dfe!important;
  border-left: solid 1px #004b7a;
  border-right: solid 1px #004b7a;
}
.table_select div {
  border: none!important;
  color: #fff!important;
}
.click {
  cursor: pointer;
}

+ 12 - 0
page/bigData/css/alert.less

@ -205,4 +205,16 @@ body{
}
.laydate-theme-molv .layui-laydate-main{
    width: 1.427083rem!important;
}
.table_select{
    background-color: #009dfe!important;
    border-left: solid 1px #004b7a;
    border-right: solid 1px #004b7a;
}
.table_select div{
    border: none!important;
    color: #fff!important;
}
.click{
    cursor:pointer;
}

+ 7 - 7
page/bigData/html/alert5.html

@ -57,22 +57,22 @@
                <div class="left_2 flex f_x_sb">
                    <ul>
                        <li class="title flex f_x_sb">
                            <div>死亡原因</div>
                            <div>区县</div>
                            <div>人</div>
                        </li>
                        <li v-for="item in alertChart1" class="flex f_x_sb">
                            <div>{{item.firstColumn}}</div>
                            <div>{{item.HC_15_1006}}</div>
                        <li v-for="(item,index) in alertChart2" :class = "townCode == item.townCode?'flex f_x_sb table_select':'flex f_x_sb'" v-if = "index > 0">
                            <div class="click" @click = 'getCity(item.townCode)'>{{item.firstColumn}}</div>
                            <div>{{item.HC_13_0004}}</div>
                        </li>
                    </ul>
                    <ul>
                        <li class="title flex f_x_sb">
                            <div>区县</div>
                            <div>死亡原因</div>
                            <div>人</div>
                        </li>
                        <li v-for="(item,index) in alertChart2" class="flex f_x_sb" v-if = "index > 0">
                        <li v-for="item in alertChart1" class="flex f_x_sb">
                            <div>{{item.firstColumn}}</div>
                            <div>{{item.HC_13_0004}}</div>
                            <div>{{item.HC_15_1006}}</div>
                        </li>
                    </ul>
                </div>

+ 5 - 5
page/bigData/html/alert6.html

@ -57,20 +57,20 @@
                <div class="left_2 flex f_x_sb">
                    <ul>
                        <li class="title flex f_x_sb">
                            <div>疾病</div>
                            <div>区县</div>
                            <div>人次</div>
                        </li>
                        <li v-for="(item,index) in alertChart1" class="flex f_x_sb" v-if = "index < 13 && index != 0">
                            <div>{{item.firstColumn}}</div>
                        <li v-for="(item,index) in alertChart2" v-if = "index > 0"  :class = "townCode == item.townCode?'flex f_x_sb table_select':'flex f_x_sb'">
                            <div class="click" @click = 'getCity(item.townCode)'>{{item.firstColumn}}</div>
                            <div>{{item.HC_13_0003}}</div>
                        </li>
                    </ul>
                    <ul>
                        <li class="title flex f_x_sb">
                            <div>区县</div>
                            <div>疾病</div>
                            <div>人次</div>
                        </li>
                        <li v-for="(item,index) in alertChart2" class="flex f_x_sb" v-if = "index > 0">
                        <li v-for="(item,index) in alertChart1" class="flex f_x_sb" v-if = "index < 13 && index != 0">
                            <div>{{item.firstColumn}}</div>
                            <div>{{item.HC_13_0003}}</div>
                        </li>

+ 32 - 13
page/bigData/js/alert5.js

@ -32,12 +32,13 @@ new Vue({
        type:0,
        thirdJiDate:"",//三个季度前
        qushiSeason:"",//季度趋势
        townCode:'',//区县选择
	},
	mounted: function() {
        var vm = this;
        updateFontSize();
        this.formatDate();
        this.initData(this.type);
        this.initData(this.type,vm.townCode);
        var myDate = new Date();
        var maxMonth = myDate.getMonth()+1; //获取当前月份(0-11,0代表1月)
        var maxYear = myDate.getFullYear();
@ -75,7 +76,7 @@ new Vue({
                vm.halfYearStartDate = getLastHalfMonthArray(endDate.year+'-'+endDate.month)
                vm.halfYearEndDate = vm.lastDay;
                vm.thirdJiDate = getThirdJiDate(endDate.year,endDate.month);
                vm.initData(vm.type);
                vm.initData(vm.type,vm.townCode);
                vm.alertTime = 0;
              }
            //   showBottom: false
@ -84,7 +85,7 @@ new Vue({
        
    },
    methods: {
        initData:function(type){
        initData:function(type,city){
            var vm = this;
            var linkageFilter1 = "quotaDate >= '" + vm.firstDay + "' and quotaDate <= '" + vm.lastDay + "';";
            var linkageFilter2 = "quotaDate >= '" + vm.thirdJiDate + "' and quotaDate <= '" + vm.lastDay + "';";
@ -93,15 +94,27 @@ new Vue({
            var code = this.code;
            var urlNumber = '/gov/report/getNoChartTemplateData';
            var urlChart = '/gov/report/getTemplateDataByViewCode';
            var reqUrl = [
                {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1}},//死亡原因-人
                {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1}},//年龄段分布
                {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1}},//性别分布
                {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3}},//新增患者月趋势
                {url:urlChart,reqType: 'get',data: {viewCode:code[5]}},//老年人就诊趋势-年
                {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2}},//新增患者季趋势
            ]
            if(city == ''){
                var reqUrl = [
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_13_0038': '12'})}},//死亡原因-人
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                    {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1}},//年龄段分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1}},//性别分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3}},//新增患者月趋势
                    {url:urlChart,reqType: 'get',data: {viewCode:code[5]}},//老年人就诊趋势-年
                    {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2}},//新增患者季趋势
                ]
            }else{
                var reqUrl = [
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_13_0038': '12'})}},//死亡原因-人
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                    {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1+'town='+city,linkageDimension:'org'}},//年龄段分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1+'town='+city,linkageDimension:'org'}},//性别分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3+'town='+city,linkageDimension:'org'}},//新增患者月趋势
                    {url:urlChart,reqType: 'get',data: {viewCode:code[5],linkageFilter:'town='+city,linkageDimension:'org'}},//老年人就诊趋势-年
                    {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2+'town='+city,linkageDimension:'org'}},//新增患者季趋势
                ]
            }
            $(".div-mask-layer").show();
            httpRequest.getReqPromises(reqUrl).then(function(datas) {
                console.log(datas);
@ -201,7 +214,7 @@ new Vue({
        alertTitle:function(type){
            this.alertTime = 0;
            this.type = type;
            this.initData(type)
            this.initData(type,vm.townCode)
        },
        alertChart:function(time){
            var vm = this;
@ -260,6 +273,12 @@ new Vue({
            var new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天
            return new Date(new_date.getTime() - 1000 * 60 * 60 * 24).getDate(); //获取当月最后一天日期
        },
        getCity(e){
            console.log(e)
            var vm = this;
            e == vm.townCode?vm.townCode = '':vm.townCode=e;
            vm.initData(vm.type,vm.townCode);
        }
    
    }
});

+ 37 - 14
page/bigData/js/alert6.js

@ -32,12 +32,17 @@ new Vue({
        type:0,
        thirdJiDate:"",//三个季度前
        qushiSeason:"",//季度趋势
        townCode:'',//区县选择
	},
	mounted: function() {
        var vm = this;
        var townCode = getUrlParms('cityVal');
        if(townCode){
            vm.townCode = townCode;
        }
        updateFontSize();
        this.formatDate();
        this.initData(this.type);
        this.initData(this.type,this.townCode);
        var myDate = new Date();
        var maxMonth = myDate.getMonth()+1; //获取当前月份(0-11,0代表1月)
        var maxYear = myDate.getFullYear();
@ -75,7 +80,7 @@ new Vue({
                vm.halfYearStartDate = getLastHalfMonthArray(endDate.year+'-'+endDate.month)
                vm.halfYearEndDate = vm.lastDay;
                vm.thirdJiDate = getThirdJiDate(endDate.year,endDate.month)
                vm.initData(vm.type);
                vm.initData(vm.type,vm.townCode);
                vm.alertTime = 0;
              }
            //   showBottom: false
@ -84,7 +89,7 @@ new Vue({
        
    },
    methods: {
        initData:function(type){
        initData:function(type,city){
            var vm = this;
            var linkageFilter1 = "quotaDate >= '" + vm.firstDay + "' and quotaDate <= '" + vm.lastDay + "';";
            var linkageFilter2 = "quotaDate >= '" + vm.thirdJiDate + "' and quotaDate <= '" + vm.lastDay + "';";
@ -94,15 +99,28 @@ new Vue({
            var urlNumber = '/gov/report/getNoChartTemplateData';
            var urlChart = '/gov/report/getTemplateDataByViewCode';
            $(".div-mask-layer").show();
            var reqUrl = [
                {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_13_0038': '12'})}},//死亡原因-人
                {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1}},//年龄段分布
                {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1}},//性别分布
                {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3}},//新增患者月趋势
                {url:urlChart,reqType: 'get',data: {viewCode:code[5]}},//老年人就诊趋势-年
                {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2}},//新增患者季趋势
            ]
            if(city == ''){
                var reqUrl = [
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_13_0038': '12'})}},//死亡原因-人
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                    {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1}},//年龄段分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1}},//性别分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3}},//新增患者月趋势
                    {url:urlChart,reqType: 'get',data: {viewCode:code[5]}},//老年人就诊趋势-年
                    {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2}},//新增患者季趋势
                ]
            }else{
                var reqUrl = [
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[0],linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_13_0038': '12'})}},//死亡原因-人
                    {url:urlNumber,reqType: 'get',data: {viewCodeStr:code[1],linkageFilter:linkageFilter1}},//区县分布-人
                    {url:urlChart,reqType: 'get',data: {viewCode:code[2],linkageFilter:linkageFilter1+'town='+city,linkageDimension:'org'}},//年龄段分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[3],linkageFilter:linkageFilter1+'town='+city,linkageDimension:'org'}},//性别分布
                    {url:urlChart,reqType: 'get',data: {viewCode:code[4],linkageFilter:linkageFilter3+'town='+city,linkageDimension:'org'}},//新增患者月趋势
                    {url:urlChart,reqType: 'get',data: {viewCode:code[5],linkageFilter:'town='+city,linkageDimension:'org'}},//老年人就诊趋势-年
                    {url:urlChart,reqType: 'get',data: {viewCode:code[6],linkageFilter:linkageFilter2+'town='+city,linkageDimension:'org'}},//新增患者季趋势
                ]
            }
            
            httpRequest.getReqPromises(reqUrl).then(function(datas) {
                console.log(datas);
                vm.alertChart1 = datas[0].obj.VIEW_13_0038;
@ -201,7 +219,7 @@ new Vue({
        alertTitle:function(type){
            this.alertTime = 0;
            this.type = type;
            this.initData(type)
            this.initData(type,vm.townCode)
        },
        alertChart:function(time){
            var vm = this;
@ -260,7 +278,12 @@ new Vue({
            var new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天
            return new Date(new_date.getTime() - 1000 * 60 * 60 * 24).getDate(); //获取当月最后一天日期
        },
    
        getCity(e){
            console.log(e)
            var vm = this;
            e == vm.townCode?vm.townCode = '':vm.townCode=e;
            vm.initData(vm.type,vm.townCode);
        }
    }
});
//数字格式化