在datatable中显示百分比进度条
来源:互联网 发布:谛听知乎 编辑:程序博客网 时间:2024/05/19 17:25
在DataTable的每个单元格中,显示百分比进度条,根据具体的百分比,进步条显示不同的颜色(绿色:正常;黄色:警告;红色:危险),用于分析效率之类的问题,废话不多说,看效果。
如果你有这种需求,就继续往下看。。。。。没有的话。。。。。。也可以看,哈哈。。。。
首先有这是在laveral框架下实现的,其他框架也大同小异,其实这个功能和用哪个框架没什么鸟关系。。
1.View层:
<div class="table-responsive"> <table class="table table-striped table-hover " id="main_table" cellspacing="0" width="100%"> <thead> <tr> <th id="status">状态</th> <th id="workstation_name">设备</th> <th id="availability">可用率</th> <th id="performance">表现性</th> <th id="quality">质量指数</th> <th id="oee">OEE</th> </tr> </thead> <tfoot> </tfoot> <tbody> /tbody> </table></div>
2.js层
function InitMainTable(){ table = $('#main_table').DataTable({ language: { url: '/js/plugins/dataTables/Chinese.json' }, autoWidth: true, searching: false, ordering: false, scrollX: true, bDestroy:true, processing: true, serverSide: true, dataType: 'json', ajax: { "url": "/OEE/Get_device_info", "type": "get" }, columns: [ {data:'status',"searchable":false,"orderable":false, render: function(data, type, row, meta) { var status="<div class='fa fa-circle text-info'></div>"; return "<div class='fa fa-circle text-info'></div>"; } }, { "data": "workstation_name","searchable":false,"orderable":false }, { "data": "availability","searchable":false,"orderable":false, render:function(data){ var tmp = ((100*data).toFixed(2)).toString(); var num =tmp+"%"; var result="style='width: "+tmp+"%'"; var color="class='progress-bar'"; if(data>=0.9){ color="class='progress-bar'"; } else if(data>=0.7){ color="class='progress-bar progress-bar-warning'"; } else { color="class='progress-bar progress-bar-danger'"; } return "<div class='col-lg-12'>"+ "<div> <small class='pull-right'>"+num+"</small> </div>"+ "<div class='progress progress-small'>"+ "<div id='DXI092-0208_progress-bar'"+result+color+"></div>"+ // "<input value='29%' readonly='true' style=' text-align-all: left;margin-top: -3px;border:1px;font-size: 5px;width: 25px'>"+ "</div>"+ "</div>"; } }, { "data": "performance","searchable":false,"orderable":false, render:function(data){ var tmp = ((100*data).toFixed(2)).toString(); var num =tmp+"%"; var result="style='width: "+tmp+"%'"; var color="class='progress-bar'"; if(data>=0.9){ color="class='progress-bar'"; } else if(data>=0.7){ color="class='progress-bar progress-bar-warning'"; } else { color="class='progress-bar progress-bar-danger'"; } return "<div class='col-lg-12'>"+ "<div> <small class='pull-right'>"+num+"</small> </div>"+ "<div class='progress progress-small'>"+ "<div id='DXI092-0208_progress-bar'"+result+color+"></div>"+ // "<input value='29%' readonly='true' style=' text-align-all: left;margin-top: -3px;border:1px;font-size: 5px;width: 25px'>"+ "</div>"+ "</div>"; } // render:function(data, type, row,meta){ // if (data=='info'){ // return "<div class='fa fa-circle text-info'></div>"; // }else if(data=='primary'){ // return "<div class='fa fa-circle text-primary'></div>"; // } // else if(data=='warning'){ // return "<div class='fa fa-circle text-warning'></div>"; // } // else{ // return "<div class='fa fa-circle text-danger'></div>"; // } // } }, { "data": "quality","searchable":false,"orderable":false, render:function(data){ var tmp = ((100*data).toFixed(2)).toString(); var num =tmp+"%"; var result="style='width: "+tmp+"%'"; var color="class='progress-bar'"; if(data>=0.9){ color="class='progress-bar'"; } else if(data>=0.7){ color="class='progress-bar progress-bar-warning'"; } else { color="class='progress-bar progress-bar-danger'"; } return "<div class='col-lg-12'>"+ "<div> <small class='pull-right'>"+num+"</small> </div>"+ "<div class='progress progress-small'>"+ "<div id='DXI092-0208_progress-bar'"+result+color+"></div>"+ // "<input value='29%' readonly='true' style=' text-align-all: left;margin-top: -3px;border:1px;font-size: 5px;width: 25px'>"+ "</div>"+ "</div>"; } // render:function(data){ // console.log(data); // var div = document.createElement('div'); // $( "#div" ).progressbar({ // value: data*100 // }); // return "<div id='div'></div>"; // } }, { "data": "oee","searchable":false,"orderable":false, render:function(data){ var tmp = ((100*data).toFixed(2)).toString(); var num =tmp+"%"; var result="style='width: "+tmp+"%'"; var color="class='progress-bar'"; if(data>=0.9){ color="class='progress-bar'"; } else if(data>=0.7){ color="class='progress-bar progress-bar-warning'"; } else { color="class='progress-bar progress-bar-danger'"; } return "<div class='col-lg-12'>"+ "<div> <small class='pull-right'>"+num+"</small> </div>"+ "<div class='progress progress-small'>"+ "<div id='DXI092-0208_progress-bar'"+result+color+"></div>"+ // "<input value='29%' readonly='true' style=' text-align-all: left;margin-top: -3px;border:1px;font-size: 5px;width: 25px'>"+ "</div>"+ "</div>"; } }, ], })}
3.Controller层
function Get_device_info(Request $request){ $draw=$request->input('title'); $start=$request->input('start'); $length=$request->input('length'); $order=$request->input('order'); $RecordsFiltered=$RecordsTotal=DB::connection('mysql') ->table('device_oee_record') ->where('deleted',0) ->count(); //判断start与length有没有效 if(!(isset($start) && $length != -1)) { $start = 0; $length = 10; } $basic_techparam= DB::connection('mysql') ->table('device_oee_record') ->where('deleted',0) //->orderBy('id','desc')//逆序查找 ->skip($start) ->take($length) ->get(); //dataTable 返回 Json 数组 $resultTable = array(); foreach ($basic_techparam as $key=>$value) { $singleResultTable = array(); //读取确定数据 //$singleResultTable['id'] = $basic_techparam[$key]->id; $singleResultTable['workstation_name'] = $basic_techparam[$key]->workstation_name; $singleResultTable['availability'] = $basic_techparam[$key]->availability; $singleResultTable['performance'] = $basic_techparam[$key]->performance; $singleResultTable['quality'] = $basic_techparam[$key]->quality; $singleResultTable['oee'] = $basic_techparam[$key]->oee; array_push($resultTable,$singleResultTable); } return $this->encodeTableData($draw,$RecordsTotal,$RecordsFiltered,$resultTable);//针对data_table必须使用这种返回方式 }
4.路由层
Route::get('/OEE/Get_device_info','OEE\OEEoutlineController@Get_device_info');
阅读全文
1 0
- 在datatable中显示百分比进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在ProgressBar上加文字----显示百分比的进度条
- 在DBGridEh中显示进度条
- C#: 控制台上输出显示进度条/百分比
- 场景切换之进度条显示进度百分比
- 异步加载动态进度条,显示百分比
- 异步加载动态进度条,显示百分比
- Android 自定义圆环进度条 自适应显示百分比
- JQUERY实现拖拽进度条显示百分比
- ios 滑块进度条百分比 显示进度
- ios AFNetworking 圆形进度条下载,显示百分比
- 多线程断点续传显示进度条和百分比
- Java 设计模式_适配器模式
- 微信开发 现金红包、裂变红包、企业付款
- 2017 Multi-University Training Contest
- 用C语言程序判断一个字符是否是字母或数字
- Javascript闭包
- 在datatable中显示百分比进度条
- 定时清理日志文件-python实现
- Java的数据类型和运算符
- jdk环境变量配置
- Linux中iptables设置详细
- python学习实录之 双色球模拟器
- linux后台运行和关闭、查看后台任务
- 获取元素的宽和高
- 微信小程序中input控件自动聚焦、软键盘的关闭和打开