欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

点击Echarts仪表盘指针弹出展示列表

程序员文章站 2022-05-31 13:29:14
...

仪表盘数据展示

function depotmarkInfo(deptid)
{
	var chart_01 = echarts.init(document.getElementById('charts_01'));
	chart_01.on("click",function(params){ 
        $("#checkModalLabel").html(params.data.name);
        $("#checModalBody p .name").html(params.data.name+":");

        if(params.data.name=="安全考核")
        {
        	$("#checModalBody p .store").html(params.data.value+"分(安全问题满分80分,发现重大事故奖励20分)");
        }
        else if(params.data.name=="技术业务考核")
        {
        	$("#checModalBody p .store").html(params.data.value+"分(技术业务培训满分100分,历史荣誉称号)");
        }
        else if(params.data.name=="两纪及作业标准")
        {
        	$("#checModalBody p .store").html(params.data.value+"分(两纪及作业标准满分100分)");
        }
        else if(params.data.name=="工作量")
        {
        	$("#checModalBody p .store").html(params.data.value+"分(工作量平均分)");
        }
        else if(params.data.name=="基本素质")
        {
        	$("#checModalBody p .store").html(params.data.value+"(基本素质平均分)");
        }
        else if(params.data.name=="诚信管理")
        {
        	$("#checModalBody p .store").html(params.data.value+"(诚信管理平均分)");
        }
        $("#check").show().addClass('in');
        $("#checkModalClose").on("click",function(){
            $("#check").hide().removeClass('in');
        });       
        depotsafemarkInfo(params.data.name,1,order,sort,deptid,deptid);
    });
	
	$.ajax({
		  url: "../../security/base/peoplesafeoffice!officemarkInfoByAjax.action",
		  type: "post",
	  
		  data:{//页面数据  传入站段信息
			  deptid:deptid
		  },
		  dataType: "json",
		  success: function (data) { //获取成功以后执行
			  //alert(JSON.Stringify(data));
			  var dataset=[];
			  $(data).each(function() {
				  dataset.push(this[0]);
			  });
			//判断:工务处以下全叫“作业标准”,其它的叫“两纪及作业标准” lenian 2018 03 21
			  var depotName = data[1];
			  var twoBiaoPan;
			  if(depotName.indexOf("工务") != -1){
				  twoBiaoPan = "作业标准";
			  } else {
				  twoBiaoPan = "两纪及作业标准";
			  }
			  chart_01.setOption({
			        backgroundColor: "rgb(254, 248, 239)",
			        title: {
			            text: '综合评分:'+ dataset[0][4].toFixed(2),//数据,
			            left: 'center',
			            bottom: 'center',
			            textStyle: {
			                color: '#f00',
			                fontSize: 24,
			            }
			        },
			        tooltip : {
			            formatter: "{a} <br/>{c} {b}"
			        },
			        toolbox: {
			            show: true,
			        },
			        series : [
			            {
			                name: '安全考核',
			                type: 'gauge',
			                center: ['20%', '30%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23'
			                },
// 			                data:[{value: 96.5, name: '安全考核'}]
			                data:[{value: dataset[0][0].toFixed(2), name: '安全考核'}]
			            },
			            {
			                name: '技术业务考核',
			                type: 'gauge',
			                center: ['50%', '30%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23'
			                },
// 			                data:[{value: 85, name: '技术业务考核'}]
			                data:[{value: dataset[0][1].toFixed(2), name: '技术业务考核'}]
			            },
			            {
			                name: '两纪及作业标准',
			                type: 'gauge',
			                center: ['80%', '30%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23'
			                },
// 			                data:[{value:88, name: '两纪及作业标准'}]
			               // data:[{value: dataset[0][2].toFixed(2), name: '两纪及作业标准'}]
			                data:[{value: dataset[0][2].toFixed(2), name: twoBiaoPan}]
			            },
			            {
			                name: '基本素质',
			                type: 'gauge',
			                center: ['20%', '77%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23',
			                    formatter:'{value}'
			                },
// 			                data:[{value:90, name: '业务量'}]
			                data:[{value: dataset[0][8].toFixed(2), name: '基本素质'}]
			            },
			            {
			                name: '工作量',
			                type: 'gauge',
			                center: ['50%', '77%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23',
			                    formatter:'{value}'
			                },
// 			                data:[{value:90, name: '业务量'}]
			                data:[{value: dataset[0][3].toFixed(2), name: '工作量'}]
			            },
			            {
			                name: '诚信管理',
			                type: 'gauge',
			                center: ['80%', '77%'],    // 默认全局居中
			                radius: '42%',
			                min:0,
			                max:100,
			                splitNumber:10,
			                axisLine: {            // 坐标轴线
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        width: 8,
			                        color: [[0.2, '#c23531'], [0.8, '#FFC125'], [1, 'green']]
			                    }
			                },
			                axisTick: {            // 坐标轴小标记
			                    length:12,        // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle控制线条样式
			                        color: 'auto'
			                    }
			                },
			                splitLine: {           // 分隔线
			                    length:20,         // 属性length控制线长
			                    lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
			                        color: 'auto'
			                    }
			                },
			                pointer: {
			                    width:5
			                },
			                title: {
			                    fontWeight: 'bolder',
			                    offsetCenter: [0, '-30%'],       // x, y,单位px
			                },
			                detail: {
			                    // 其余属性默认使用全局文本样式,详见TEXTSTYLE
			                    fontWeight: 'bolder',
			                    color:'#63869E',
			                    fontSize: '23',
			                    formatter:'{value}'
			                },
// 			                data:[{value:90, name: '业务量'}]
			                data:[{value: 100, name: '诚信管理'}]
			            }
			        ]
			    });
		  }
	});	
}

指针点出事件

var order="asc";
var sort="asc";
function depotsafemarkInfo(typename,page,order,sort,deptid)
{
	var Xtable = $("#Safetable");
	var nextX= $("#nextSafe");
	var preX= $("#preSafe");
	var nickname;
	if(typename == "安全考核")
	{
		nickname="sec";
	}
	else if(typename== "技术业务考核")
	{
		nickname="tec";
	}
	else if(typename== "两纪及作业标准")
	{
		nickname="two";
	}
	else if(typename== "基本素质")
	{
		nickname="calMultiScore";
	}
	else if(typename== "工作量")
	{
		nickname="work";
	}
	else if(typename== "诚信管理")
	{
		nickname="integrity";
	}
	$(".rt", Xtable).remove();
	
	$(".hd", Xtable).remove();
	 var tablehead = $("<tr class='hd'></tr>");
	 Xtable.append(tablehead);
	 tablehead.append("<th>员工ID</th>");
	 tablehead.append("<th>姓名</th>");
	  
	 if(typename == "安全考核")
	 {
		 tablehead.append("<th id='order'>安全考核分值</th>");
	 }
	 else if (typename== "技术业务考核")
	 {
		  tablehead.append("<th id='order'>技术业务考核分值</th>");
		  tablehead.append("<th id='sort'>荣誉称号分值</th>");  
	 }
	 else if(typename== "两纪及作业标准")
	 {
		  tablehead.append("<th id='order'>两纪及作业标准</th>");
	 }	
	 else if(typename== "基本素质")
	 {
		  tablehead.append("<th id='order'>基本素质</th>");
	 }
	 else if(typename== "工作量")
	 {
		  tablehead.append("<th id='order'>工作量</th>");
	 }
	 else if(typename== "诚信管理")
	 {
		  tablehead.append("<th id='order'>诚信管理</th>");
	 }
	 tablehead.append("<th>所属站段</th>");
	 tablehead.append("<th>画像详情</th>");
	
	$.ajax({
		  url: "../../security/base/peoplesafeoffice!officesafemarkInfoByAjax.action",
		  type: "post",
	  
		  data:{//页面数据  传入站段信息
			  pagenumsafe:page ,
			  typenickname:nickname,
			  order:order,
			  sort:sort,
			  deptid:deptid
		  },
		  
		  dataType: "json",
		  success: function (data) { //获取成功以后执行
			 // alert(JSON.stringify(data));

			  var dataset=data;
			  var rstset=dataset[0].result;
			  var type_check_fix;
			  $("#order").on("click", function() {
				  if(order== "asc")
				  {
					 order="desc";
					 depotsafemarkInfo(typename, page,order,null,deptid);
				  }
				  else
				  {
					  order="asc";
					  depotsafemarkInfo(typename, page,order,null,deptid);
				  }
			  });
			  $("#sort").on("click", function() {
				  if(sort== "asc")
				  {
					  sort="desc";
					 depotsafemarkInfo(typename, page,null,sort,deptid);
				  }
				  else
				  {
					  sort="asc";
					  depotsafemarkInfo(typename, page,null,sort,deptid);
				  }
			  });
			  $(rstset).each(function(i,val) {			  
				  if(typename == "安全考核")
				  {
					  if(val.sec_check == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.sec_check).toFixed(2); 
					  }
				  }
				  else if (typename== "技术业务考核")
				  {
					  if(val.tec_check == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.tec_check).toFixed(2); 
					  }
				  }
				  else if(typename== "两纪及作业标准")
				  {
					  if(val.two_check == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.two_check).toFixed(2); 
					  }
				  }	
				  else if(typename== "基本素质")
				  {
					  if(val.calMultiScore == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.calMultiScore).toFixed(2); 
					  }
				  }
				  else if(typename== "工作量")
				  {
					  if(val.work_check == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.work_check).toFixed(2); 
					  }
				  }
				  else if(typename== "诚信管理")
				  {
					  if(val.integrity == null){
						  type_check_fix=0.00;
					  }else{
						  type_check_fix=(val.integrity).toFixed(2); 
					  }
				  }
					
				  var tablerow = $("<tr class='rt'></tr>");
				  Xtable.append(tablerow);
				  tablerow.append("<td>"+formatidcard(val.idcard_num)+"</td>");
				  tablerow.append("<td>"+val.name+"</td>");
	 			  tablerow.append("<td>"+type_check_fix+"</td>");
	 			  if(typename== "技术业务考核")
	 			  {
	 				 if(val.honorary_check == null){
		 				 tablerow.append("<td>0.00</td>");
					  }else{
		 				 tablerow.append("<td>"+val.honorary_check+"</td>");
					  }
	 			  }
	 			  tablerow.append("<td>"+val.depot+"</td>");
				  var td = $("<td></td>");
				  var a = $("<a>详情查看</a>");
				  a.on("click", function() {
					 gotohtml(val.idcard_num);
				  });
				  td.append(a);
				  tablerow.append(td);
			  });
			  
			  
			  $("#countnumSafe").html("第 " +dataset[0].pageNo+ " 页  / 共 "+dataset[0].totalPages+" 页");
			  $("#pageNoSafe").val(dataset[0].pageNo);
			  
			  $("#gotoSafe").unbind("click", null);
			  $("#gotoSafe").on("click", function() {
				  if($("#pageNoSafe").val()<= data[0].totalPages)
				  {
					  depotsafemarkInfo(typename, $("#pageNoSafe").val(),order,sort,deptid);
					  $("#gotoSafe").css("next");
				  }
				  else
				  {
					  $("#gotoSafe").css("disabled");
				  }
			  });
			  
			  
			  $(nextX).unbind("click", null);
			  if(page<data[0].totalPages)
			  {
				  $(nextX).on("click", function() {
					  depotsafemarkInfo(typename,parseInt(page) + 1,order,sort,deptid);
				  });
				  $(nextX).css("next");
			  }
			  else
			  {
				  $(nextX).css("disabled");
			  }
			  $(preX).unbind("click", null);
			  
			  if(page>1)
			  {
				  $(preX).on("click", function() {
					  depotsafemarkInfo(typename,page - 1,order,sort,deptid);
				  });
				  $(preX).css("previous");
			  }
			  else
			  {
				  $(preX).css("disabled");
			  }
		  }
	});
}

弹出的列表

<div class="modal fade" id="check" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document" style="width:60%;" >
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" id="checkModalLabel">Modal title</h4>
      </div>
      <div class="modal-body" id="checModalBody">
        <p> <span class="name"> </span>    <span class="store"></span> </p>
        <table class="table table-bordered table-hover" id="Safetable">
          <thead>
<!--            <tr> -->
<!--              <th>员工ID</th> -->
<!--              <th>姓名</th> -->
<!--              <th id="checktypename"></th> -->
<!--              <th>所属站段</th> -->
<!--              <th>画像详情</th> -->
<!--            </tr> -->
         </thead>
         <tbody>

         </tbody>    
     </table>
		<ul class="pager">
			<li><a href="#" id="preSafe">上一页</a></li>
			<li><a href="#" id="countnumSafe"> 第12页  / 共234页 </a></li>
			<li><a href="#" id="nextSafe">下一页</a></li>
			<li>         跳转到  <input type="text" id="pageNoSafe" class="g-input" style="width: 30px;" > 页 </li>
			<li><a href="#" id="gotoSafe">跳转</a></li>
		</ul>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" id="checkModalClose">返回</button>
      </div>
    </div>
  </div>
</div> 

展示图如下:

点击Echarts仪表盘指针弹出展示列表