页面布局div,一进入页面默认选中第一个div

该页面通过div布局展示了不同维度的投标人统计数据,默认加载当前月上一个月的数据,并可通过选择不同的时间段和查询方式进行数据筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面是div的排布,一进入页面默认选中第一个div,并且展示第一个div下的数据(默认选中的是当前月的上一个月),然后点击哪个div显示哪个div下的数据。


代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="g2" uri="/g2-tags"%>
<g2:url var="path" value="/static/glodon.gbp.statistic" />

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>投标人统计分析</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
</script>
</head>
<body>
<% 
// String firstDay=(String)request.getAttribute("firstDay"); 
// String lastDay=(String)request.getAttribute("lastDay"); 
// String centerCodeName=(String)request.getAttribute("centerCodeName"); 
%>
<%-- value="<%=firstDay%>" --%>
	<div id="d01" class="content-title">投标人交易情况统计<span style="font-size:16px;color: #B6BFCB"> Bidders Transaction Statistics</span></div>
    <div class="sj-info">
        <div class="sort">
            <div id="sort1" class="sort-def" val="panel1">报名次数排名</div>
            <div id="sort2" class="sort-def" val="panel2">中标次数排名</div>
            <div id="sort3" class="sort-def" val="panel3">累计中标金额排名</div>
            <div id="sort4" class="sort-def" val="panel4">有效投标率排名</div>
            <div id="sort5" class="sort-def" val="panel5">价格区间排名</div>
        </div>
        <div class="panel" id="panel1">
        	<div class="searchDiv">
        		<div class="searchBtn1" id="year1" onclick="changeSearch(1,this)" >年</div>
        		<div class="searchBtn1" id="month1" onclick="changeSearch(2,this)" >月</div>
        		<div class="searchBtn1" id="week1" onclick="changeSearch(3,this)" >周</div>
        		<input type="hidden" id="searchType1" class="searchType" />
               <!--  <div class="search-title">按月查询:</div> -->
	                <select class="jyzx-all1" id="monthSerach1"  >
	                </select>
                <div class="searchBtn" id="searchButton1" >高级查询</div>
        		<div class="searchBtn" onclick="getChartData1(2)">查询</div>
            </div>
            <div id="hideDiv1" class="searchDiv">
            	<div class="search-title">日期查询:</div>
                <input id="begin1" class="datas" placeholder="   请选择" style="margin-right: 10px;" >
                <div style="float: left;margin-right: 10px;margin-top: 5px;">~</div>
                <input id="end1" class="datas" placeholder="   请选择" ">
            	<div class="search-title">交易中心:</div>
	                <select class="jyzx-all" id="jyzx-all1" style="width: 210px;">
	                    <option value="">全省</option>
	                </select>
	             
	             <div class="search-title">交易类型:</div>
	                <select class="jylx-all" id="jylx-type1" style="width: 110px;">
	                    <option value="Ce">建设工程</option>
	                    <option value="Gp">政府采购</option>
	                </select>
            </div><br/>
            <br/>
            <div id="mychart1" style="height: 400px;border:1px solid #ddd;padding: 40px;"></div>
        </div>
		<script type="text/javascript">
		function initDate(id){
			$(".searchBtn1").css("background","#4387B8");
			$(".searchBtn1").css("color","white");
			$(".searchBtn1").css("1px solid #ddd");
			$("#month"+id).css("background","white");
			$("#month"+id).css("color","#4387B8");
			$("#month"+id).css("border","1px solid #4387B8");
			$(".jyzx-all1").empty();
			var yearData = 2016; 
			var monthData = 1; 
			$(".jyzx-all1").append('<option value="" >请选择</option>');
			for (var i=1;i<37;i++){
				$(".jyzx-all1").append('<option value='+yearData+'-'+monthData+' >'+yearData+'年'+monthData+'月</option>');
				if(i % 12 == 0){
					yearData += 1;
					monthData = 1;
				}
				if(i >= 1 && i % 12 != 0){
					monthData += 1;
				}
			}
			$(".searchType").val("2");
		}
		
		function changeSearch(data,value){
			$(".searchBtn1").css("background","#4387B8");
			$(".searchBtn1").css("color","white");
			$(".searchBtn1").css("1px solid #ddd");
			if(data == 1){
				$(".jyzx-all1").empty();
				var yearData = 2015; 
				$(".jyzx-all1").append('<option value="" >请选择</option>');
				for (var i=1;i<7;i++){
					$(".jyzx-all1").append('<option value='+yearData+' >'+yearData+'</option>');
					yearData += 1;
				}
				$(".searchType").val("1");
			} else if(data == 2){
				$(".jyzx-all1").empty();
				var yearData = 2016; 
				var monthData = 1; 
				$(".jyzx-all1").append('<option value="" >请选择</option>');
				for (var i=1;i<37;i++){
					$(".jyzx-all1").append('<option value='+yearData+'-'+monthData+' >'+yearData+'年'+monthData+'月</option>');
					if(i % 12 == 0){
						yearData += 1;
						monthData = 1;
					}
					if(i >= 1 && i % 12 != 0){
						monthData += 1;
					}
				}
				$(".searchType").val("2");
			} else{
				$(".jyzx-all1").empty();
				$(".jyzx-all1").append('<option value="" >请选择</option>');
				var weekYearData = 2016; 
				var weekData = 1; 
				for (var i=1;i<157;i++){
					$(".jyzx-all1").append('<option value='+weekYearData+'-'+weekData+'>'+weekYearData+'年第'+weekData+'周</option>');
					if(i % 52 == 0){
						weekYearData += 1;
						weekData = 1;
					}
					if(i >= 1 && i % 52 != 0){
						weekData += 1;
					}
				}
				$(".searchType").val("3");
			}
			$("#"+value.id).css("background","white");
			$("#"+value.id).css("color","#4387B8");
			$("#"+value.id).css("border","1px solid #4387B8");
			$(".datas").val('');
		}
		$(function(){
			//ajax获取交易中心的数据
			$.ajax({
				type : "post",
				async : false, //同步执行  
				url : "bidder!getSelect.do",
				data : {
				},
				dataType : "json", //返回数据形式为json  
				success : function(data) {
					if (data) {
						for (var i=0;i<data.data.length;i++)
						{
							$(".jyzx-all").append('<option value='+data.data[i].name+' >'+data.data[i].value+'</option>');	
						}
					}
				},
				error : function(errorMsg) {
					
				}
			});
			$("#hideDiv1").hide();
        	var t=0;
        $("#searchButton1").click(function() {
            if(t==0){
            	$("#hideDiv1").show();
            	$("#searchButton1").text("收起");
            	//$("#monthSerach1").val('');
                 t=1;
            }else  {
            	$("#hideDiv1").hide();
            	$("#searchButton1").text("高级查询");
                 t=0;
            }

        });
        $("#monthSerach1").change(function() {
        	$("#begin1").val('');
			$("#end1").val('');
        });
        $(".jyzx-all1").empty();
		var yearData = 2016; 
		var monthData = 1; 
		$(".jyzx-all1").append('<option value="" >请选择</option>');
		for (var i=1;i<37;i++){
			$(".jyzx-all1").append('<option value='+yearData+'-'+monthData+' >'+yearData+'年'+monthData+'月</option>');
			if(i % 12 == 0){
				yearData += 1;
				monthData = 1;
			}
			if(i >= 1 && i % 12 != 0){
				monthData += 1;
			}
		}
		$(".searchType").val("2");
		$(".jyzx-all1").val('${firstDay}');
		$("#month1").css("background","white");
		$("#month1").css("color","#4387B8");
		$("#month1").css("border","1px solid #4387B8");
			$(".panel").hide();
			$("#panel1").show();
			$("#sort1").attr("class", "sort-select");
			//$("#xmhyfl").attr('checked',true);
			$(".sort div").on("click", function() {
				//$(".jyzx-all").val('');//清空数据
				//$(".jylx-all").val('');
				//$(".datas").val('');
				var id = $(this).attr("val");
				$(".sort-select").attr("class", "sort-def");
				$(this).attr("class", "sort-select");
				$(".panel").hide();
				$("#" + id).show();
				if(id=="panel2"){
					getChartData2(1);
				}else if(id=="panel3"){
					getChartData3(1);
				}else if(id=="panel4"){
					getChartData4(1);
				}else if(id=="panel5"){
					getChartData5(1);
				}else if(id=="panel1"){
					getChartData1(1);
				}
			})
		});
			var myChart1;
			$(function() {
// 				document.getElementById("begin1").flatpickr();
// 	            document.getElementById("end1").flatpickr();

				document.getElementById("begin1").flatpickr({
					onChange: function(dateObj, dateStr, instance) {
			        	$("#monthSerach1").val('');
					}
				});
	            document.getElementById("end1").flatpickr({
					onChange: function(dateObj, dateStr, instance) {
			        	$("#monthSerach1").val('');
					}
				});
				myChart1 = echarts.init(document.getElementById('mychart1'));
			 	myChart1.showLoading({  
		            text : "图表数据正在努力加载..."  
		        });
				//投标人报名次数排前十的数据统计
				var options1 = {
						title : {
							text : '投标人累计报名次数排名',
							x : 'center'
						},
						//color: colorArr,
						tooltip : {
							trigger : 'axis',
							axisPointer : { // 坐标轴指示器,坐标轴触发有效
								type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
							}
						},
						
		 				toolbox: {
		 			        show : true,
		 			        x:'850',//下载的字体显示不全
		 			        feature : {
		 			            //dataView : {show: false, readOnly: false},
		 			            magicType : {show: true, type: ['line', 'bar']},
		 			            //restore : {show: true},
		 			            saveAsImage : {show: true}
		 			        }
		 			    },
// 					 legend: {
// 						    	x: 'left',
// 						        data: ['招标代理名称']
// 							  },
						grid : {
//		 					left : '1%',
//		 					right : '10%',
//		 					bottom : '3%',
//		 					containLabel : true
							y2: 140
						},
						xAxis : {
							type : 'category',
							name : '投标人',
							data : [ '' ],
							axisLabel:{
							     interval:0,//横轴信息全部显示
							     rotate:-30,//-30度角倾斜显示
							},
							axisLine:{
		                        lineStyle:{
		                            color:'#D6BAFF',
		                            width:1,//这里是为了突出显示加上的
		                        }
		                    }
						},
						yAxis : {
							type : 'value',
							name : '单位: 次',
							splitLine: {
							    lineStyle: {
							        // 使用深浅的间隔色
							        color: ['#D6BAFF']
							    }
							},
							nameTextStyle: {
								color: ['#D6BAFF']
								},
							axisLine:{
		                        lineStyle:{
		                            color:'#D6BAFF',
		                            width:1,//这里是为了突出显示加上的
		                        }
		                    }
						},
						series: [{
							name : '投标人名称',
							type : 'bar',
							stack : '次数',
							label : {
								normal : {
									show : true,
									position: 'top'
								}
							},
							data : [ '' ],
							color:['#D6BAFF'],
							itemStyle: {
								normal: {
								barBorderRadius: 5,
								}
							},
							barWidth: 30,
						}]
					};
				myChart1.setOption(options1);
				getChartData1();
			});

			function getChartData1(data) {
				if(data == 1){
					initDate(1);
					$(".jyzx-all1").val('${firstDay}');
				}
				//获得图表的options对象  
				var newOption1 = myChart1.getOption();
				//参数
				var startDate = $("#begin1").val();
				var endDate = $("#end1").val();
				var searchType = $("#searchType1").val();
				var monthSerach = $("#monthSerach1").val();
				var type = $("#jylx-type1").val();
				if(type==null || type=="" || type=="undefine"){
		        	type = "${type}";
		        }
				var centerCode = $("#jyzx-all1").val();
				//投标人报名次数排前十的数据统计
				$.ajax({
					type : "post",
					async : false, //同步执行  
					url : "bidder!bmcsBar.do",  
					data : {
						startDate : startDate,
						endDate : endDate,
						type:type,
						centerCode:centerCode,
						monthSerach : monthSerach,
						searchType :searchType
					},
					dataType : "json", //返回数据形式为json  
					success : function(data) {
						if (data) {
							newOption1.title[0].text = data.centreName+"投标人累计报名次数排名";
							newOption1.xAxis[0].data = data.category;
							newOption1.series[0].data = data.series;
							myChart1.hideLoading();
							myChart1.setOption(newOption1);
						}
					},
					error : function(errorMsg) {
						alert("图表请求数据失败啦!");
						myChart1.hideLoading();
					}
				});
			}
			//根据查询条件加载柱图
			function showChart1() {
				getChartData1();
			}
			</script>
   </div>
</body>
</html>

后台代码,获取当前月的上个月
	public String zbrtjfx() {
		if(StringUtils.isBlank(type)){
			setType("Ce");
		}
		// 获取当前上一个月
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(new Date());
		Integer year = calendar.get(Calendar.YEAR);
		Integer month = calendar.get(Calendar.MONTH)+1;
		if (month - 1 == 0) {
			month = 12;
			year -= 1;
		}else{
			month -= 1;
		}
		setFirstDay(year + "-" + month);
		return "zbrtjfx";
	}
2016-12-15修改
文章中涉及到的样式css在
http://blog.youkuaiyun.com/wu920604/article/details/53582083
查找


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值