|
|
@@ -1,12 +1,12 @@
|
|
|
|
|
|
|
|
|
-$(function(){
|
|
|
+$(function () {
|
|
|
|
|
|
// 道管中心选择变化
|
|
|
- $("#center-manager").change(function(){
|
|
|
+ $("#center-manager").change(function () {
|
|
|
$("#fsList").empty();
|
|
|
- if(GV(this)!=''){
|
|
|
- getFsStationList(GV(this),function(options){
|
|
|
+ if (GV(this) != '') {
|
|
|
+ getFsStationList(GV(this), function (options) {
|
|
|
$("#fsList").append(options);
|
|
|
});
|
|
|
}
|
|
|
@@ -14,21 +14,21 @@ $(function(){
|
|
|
// end
|
|
|
})
|
|
|
|
|
|
-function queryEmpClick(){
|
|
|
+function queryEmpClick() {
|
|
|
//每次点击前清空表格数据
|
|
|
$(".table-tbody").empty('');
|
|
|
var start_date = $("#start-time").val();
|
|
|
var end_date = $("#end-time").val();
|
|
|
var start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-score").val();
|
|
|
- var flag = param_method(start_score,end_score);
|
|
|
- if(flag==false){
|
|
|
+ var flag = param_method(start_score, end_score);
|
|
|
+ if (flag == false) {
|
|
|
return;
|
|
|
}
|
|
|
- if( start_date=='' || end_date==''){
|
|
|
+ if (start_date == '' || end_date == '') {
|
|
|
tip("请选择起止日期");
|
|
|
return;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
start_date += " 23:00:00";
|
|
|
end_date += " 23:00:00";
|
|
|
}
|
|
|
@@ -36,125 +36,216 @@ function queryEmpClick(){
|
|
|
var endStr = end_date.replace(/-/g, '/');
|
|
|
var start = new Date(startStr);
|
|
|
var end = new Date(endStr);
|
|
|
- if(start>end){
|
|
|
+ if (start > end) {
|
|
|
tip("开始时间不能比结束时间大");
|
|
|
return;
|
|
|
}
|
|
|
var param = {
|
|
|
- "parent_dept_id":GV("#center-manager"),
|
|
|
+ "parent_dept_id": GV("#center-manager"),
|
|
|
"dept_id": GV("#fsList"),
|
|
|
"start_date": start_date,
|
|
|
"end_date": end_date,
|
|
|
}
|
|
|
var url = "statistics/employee/order";
|
|
|
- getEmployeeInfosClick(url,param,start_score,end_score)
|
|
|
+ getEmployeeInfosClick(url, param, start_score, end_score)
|
|
|
}
|
|
|
|
|
|
-function initQueryEmp(){
|
|
|
+function initQueryEmp() {
|
|
|
//默认初始化前一周查所有
|
|
|
var endD = new Date();
|
|
|
var now = new Date();
|
|
|
var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
|
|
|
- var start_time = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate();
|
|
|
- var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate();
|
|
|
+ var start_time = startD.getFullYear() + "-" + (startD.getMonth() + 1) + "-" + startD.getDate();
|
|
|
+ var end_time = endD.getFullYear() + "-" + (endD.getMonth() + 1) + "-" + endD.getDate();
|
|
|
var start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-score").val();
|
|
|
setJobSelect("#jobSelect");
|
|
|
//默认初始化时间页面回显
|
|
|
$("#start-time").val(start_time);
|
|
|
$("#end-time").val(end_time);
|
|
|
- var start_date = start_time+" 23:00:00";
|
|
|
- var end_date = end_time+" 23:00:00";
|
|
|
+ var start_date = start_time + " 23:00:00";
|
|
|
+ var end_date = end_time + " 23:00:00";
|
|
|
|
|
|
var param = {
|
|
|
"start_date": start_date,
|
|
|
"end_date": end_date,
|
|
|
}
|
|
|
var url = "statistics/employee/order";
|
|
|
- getEmployeeInfosClick(url,param,start_score,end_score);
|
|
|
+ getEmployeeInfosClick(url, param, start_score, end_score);
|
|
|
}
|
|
|
/**
|
|
|
* click
|
|
|
* @param {*} url
|
|
|
* @param {*} param
|
|
|
*/
|
|
|
-function getEmployeeInfosClick(url,param,start_score,end_score){
|
|
|
- post_common_service( url,param,function(data){
|
|
|
-
|
|
|
- var strTbody='';
|
|
|
- var count=0;
|
|
|
- for(var i=0;i<data.length;i++){
|
|
|
- var score = 1000-filterByZeroHandle(average(data[i]).toFixed(2),'0');
|
|
|
- var flag = judgeParamFilter(data, i,score, start_score,end_score)
|
|
|
- if(flag){
|
|
|
- strTbody+="<tr><td width='4%;'>"+(count+1)+"</td><td width='6%;'>"+data[i].user.fee_station_name+"</td>"
|
|
|
- +"<td width='6%;'>"+data[i].user.truename+"</td><td width='6%;'>"+data[i].user.position_name+"</td>"
|
|
|
- +"<td width='6%;'>"+data[i].user.workno+"</td><td width='4%;'>"+data[i].company_ranking+"</td>"
|
|
|
- +"<td width='4%;'>"+data[i].center_ranking+"</td><td width='4%;'>"+data[i].fee_station_ranking
|
|
|
- +"</td><td width='4%;'>"+ getItemScore(data[i], '环境') +"</td>"
|
|
|
- +"<td width='4%;'>"+getItemScore(data[i], '仪容仪表')+"</td><td width='4%;'>"+getItemScore(data[i], '表情')+"</td>"
|
|
|
- +"<td width='4%;'>"+getItemScore(data[i], '动作')+"</td><td width='4%;'>"+getItemScore(data[i], '文明用语')+"</td>"
|
|
|
- +"<td width='4%;'>"+ getItemScore(data[i], '工作纪律') +"</td><td width='4%'>"+getItemScore(data[i], '便民服务')+"</td><td width='4%;'>"
|
|
|
- +getItemScore(data[i], '安全管理')+"</td><td width='4%;'>"+data[i].check_all_score+"</td>"
|
|
|
- +"<td width='4%;'>"+filter(data[i].checked_num,'0')+"</td><td width='4%;'>"+filterSlash(filterByZeroHandle(average(data[i]).toFixed(2),'0'),filter(data[i].checked_num,'0'))+"</td>"
|
|
|
- +"<td width='4%;'>"+filterSlash(score,filter(data[i].checked_num,'0'))+"</td><td width='4%;'>"+"</td><td width='4%;'>"+"</td></tr>";
|
|
|
+function getEmployeeInfosClick(url, param, start_score, end_score) {
|
|
|
+ post_common_service(url, param, function (data) {
|
|
|
+
|
|
|
+ var strTbody = '';
|
|
|
+ var count = 0;
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ var score = 1000 - filterByZeroHandle(average(data[i]).toFixed(2), '0');
|
|
|
+ var flag = judgeParamFilter(data, i, score, start_score, end_score)
|
|
|
+ if (flag) {
|
|
|
+
|
|
|
+ html = "<button id=\"user_" + data[i].user.id + "\" onClick='addTask(" + data[i].user.id + ",\"" + param.start_date + "\",\"" + param.end_date + "\")' class=\"btn\" style='margin-left: 10px;padding: 0px;border: 0;background: none;' type=\"button\"><i class=\"icon icon-plus-sign\"></i></button>"
|
|
|
+
|
|
|
+ strTbody += "<tr><td width='4%;'>" + (count + 1) + "</td><td width='6%;'>" + data[i].user.fee_station_name + "</td>"
|
|
|
+ + "<td width='6%;'>" + data[i].user.truename + "</td><td width='6%;'>" + data[i].user.position_name + "</td>"
|
|
|
+ + "<td width='6%;'>" + data[i].user.workno + "</td><td width='4%;'>" + data[i].company_ranking + "</td>"
|
|
|
+ + "<td width='4%;'>" + data[i].center_ranking + "</td><td width='4%;'>" + data[i].fee_station_ranking
|
|
|
+ + "</td><td width='4%;'>" + getItemScore(data[i], '环境') + "</td>"
|
|
|
+ + "<td width='4%;'>" + getItemScore(data[i], '仪容仪表') + "</td><td width='4%;'>" + getItemScore(data[i], '表情') + "</td>"
|
|
|
+ + "<td width='4%;'>" + getItemScore(data[i], '动作') + "</td><td width='4%;'>" + getItemScore(data[i], '文明用语') + "</td>"
|
|
|
+ + "<td width='4%;'>" + getItemScore(data[i], '工作纪律') + "</td><td width='4%'>" + getItemScore(data[i], '便民服务') + "</td><td width='4%;'>"
|
|
|
+ + getItemScore(data[i], '安全管理') + "</td><td width='4%;'>" + data[i].check_all_score + "</td>"
|
|
|
+ + "<td width='6%;'>" + filter(data[i].checked_num, '0') + (data[i].checked_num < 6 ? html : "") + "</td><td width='4%;'>" + filterSlash(filterByZeroHandle(average(data[i]).toFixed(2), '0'), filter(data[i].checked_num, '0')) + "</td>"
|
|
|
+ + "<td width='4%;'>" + filterSlash(score, filter(data[i].checked_num, '0')) + "</td><td width='4%;'>" + "</td><td width='4%;'>" + "</td></tr>";
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
|
- $(".table-tbody").append(strTbody);
|
|
|
- },function(error){
|
|
|
- return "" ;
|
|
|
+ $(".table-tbody").append(strTbody);
|
|
|
+ }, function (error) {
|
|
|
+ return "";
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function addTask(userid, start_date, end_date) {
|
|
|
+
|
|
|
+ //获取该人员排班
|
|
|
+
|
|
|
+
|
|
|
+ var allheight = 500;
|
|
|
+ var height = allheight - 150 - 50;
|
|
|
+ var allwidth = 820;
|
|
|
+
|
|
|
+
|
|
|
+ //计算日期
|
|
|
+ var satrtday = new Date(start_date);
|
|
|
+ var endday = new Date(end_date);
|
|
|
+
|
|
|
+
|
|
|
+ var days = (endday.valueOf()-satrtday.valueOf())/(1000*60*60*24);
|
|
|
+
|
|
|
+ var header = "<td></td>"
|
|
|
+
|
|
|
+ for(var i=0;i<=days;i++){
|
|
|
+ var daytime = new Date(satrtday.valueOf()+i*1000*60*60*24);
|
|
|
+ header+="<td>"+daytime.Format("dd")+"</td>"
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ var css = '<style lang="css">' +
|
|
|
+ '.row{' +
|
|
|
+ ' margin-right: 0px; ' +
|
|
|
+ ' margin-left: 0px;' +
|
|
|
+ '}' +
|
|
|
+ '.selecttag{' +
|
|
|
+ ' line-height:32px' +
|
|
|
+ '}' +
|
|
|
+ '.table td {' +
|
|
|
+ ' vertical-align: middle;' +
|
|
|
+ ' text-align: center;' +
|
|
|
+ ' border-left: 1px solid #ddd;'+
|
|
|
+ ' border-right: 1px solid #ddd;'+
|
|
|
+ ' border-top: 1px solid #ddd;'+
|
|
|
+ '}' +
|
|
|
+ '</style>';
|
|
|
+
|
|
|
+ var table1 = '<div class="row scrollbar" style="width:'+(allwidth-21)+'px;overflow:scroll;padding-top:10px;padding-bottom:10px"><table class="table" style="height:' + height + 'px;margin:0px">' +
|
|
|
+ ' <tbody>' +
|
|
|
+ ' <tr style="height:10px" >' +
|
|
|
+ header +
|
|
|
+ ' </tr>' +
|
|
|
+ ' <tr class="danger">' +
|
|
|
+ ' <td>夜班</td>' +' <td>夜班</td>' +
|
|
|
+ ' </tr>' +
|
|
|
+ ' <tr class="warning">' +
|
|
|
+ ' <td>早班</td>' +' <td>夜班</td>' +
|
|
|
+ ' </tr>' +
|
|
|
+ ' <tr class="active">' +
|
|
|
+ ' <td>中班</td>' +' <td>夜班</td>' +
|
|
|
+ ' </tr>' +
|
|
|
+ ' </tbody>' +
|
|
|
+ '</table></div>';
|
|
|
+
|
|
|
+ var html = css + '<div class="row row_alert" style="padding-left:10px;padding-right:10px;">' + table1 + '</div><div class="row row_alert" style="bottom: 0;position: absolute;width: 100%;text-align: right;}">' +
|
|
|
+ '<div class="col-xs-9"><span class="selecttag" style="text-align: right;">请分配对应的稽查人员:</span></div><div class="col-xs-3 class="selecttag""><select data-placeholder="选择一个宠物..." class="chosen-select form-control" tabindex="2">' +
|
|
|
+ ' <option value=""></option>' +
|
|
|
+ ' <option value="cat">小猫</option>' +
|
|
|
+ ' <option value="fish">金鱼</option>' +
|
|
|
+ ' <option value="dragon">龙</option>' +
|
|
|
+ ' <option value="mammoth">猛犸</option>' +
|
|
|
+ ' <option value="gollum">咕噜</option>' +
|
|
|
+ '</select></div><div class="row row_alert"><button class="btn btn-primary" style="margin:20px;margin-right:10px" type="button">生成任务</button></div></div>';
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ layer.open({
|
|
|
+ type: 1,
|
|
|
+ title: "生成稽查任务",
|
|
|
+ skin: 'layui-layer-rim', //加上边框
|
|
|
+ area: [allwidth+'px', allheight+'px'], //宽高
|
|
|
+ scrollbar: false,
|
|
|
+ content: html
|
|
|
});
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 对于受检次数为0,扣分和得分都为 /
|
|
|
* @param {*} value , check_num 受此次数
|
|
|
* @return value or /
|
|
|
*/
|
|
|
-function filterSlash(value,check_num){
|
|
|
- if(check_num == 0 ){
|
|
|
- return '/' ;
|
|
|
- }else{
|
|
|
- return value ;
|
|
|
+function filterSlash(value, check_num) {
|
|
|
+ if (check_num == 0) {
|
|
|
+ return '/';
|
|
|
+ } else {
|
|
|
+ return value;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function judgeParamFilter(data,i,score, start_score,end_score){
|
|
|
- var flag1=false;
|
|
|
- if(score>=parseFloat(start_score) && score<=parseFloat(end_score)){
|
|
|
- flag1=true;
|
|
|
- }else{
|
|
|
- flag1=false;
|
|
|
- }
|
|
|
- var checkCount = $("#check_count").val();
|
|
|
- if(checkCount){
|
|
|
- if(filter(data[i].checked_num,'0')==checkCount){
|
|
|
- flag2=true;
|
|
|
- }else{
|
|
|
- flag2=false;
|
|
|
+function judgeParamFilter(data, i, score, start_score, end_score) {
|
|
|
+ var flag1 = false;
|
|
|
+ if (score >= parseFloat(start_score) && score <= parseFloat(end_score)) {
|
|
|
+ flag1 = true;
|
|
|
+ } else {
|
|
|
+ flag1 = false;
|
|
|
+ }
|
|
|
+ var checkCount = $("#check_count").val();
|
|
|
+ if (checkCount) {
|
|
|
+ if (filter(data[i].checked_num, '0') == checkCount) {
|
|
|
+ flag2 = true;
|
|
|
+ } else {
|
|
|
+ flag2 = false;
|
|
|
}
|
|
|
- }else{
|
|
|
- flag2=true;
|
|
|
+ } else {
|
|
|
+ flag2 = true;
|
|
|
}
|
|
|
var jobSelect = $("#jobSelect").val();
|
|
|
- if(jobSelect){
|
|
|
- if(data[i].user.positionid==jobSelect){
|
|
|
- flag3=true;
|
|
|
- }else{
|
|
|
- flag3=false;
|
|
|
+ if (jobSelect) {
|
|
|
+ if (data[i].user.positionid == jobSelect) {
|
|
|
+ flag3 = true;
|
|
|
+ } else {
|
|
|
+ flag3 = false;
|
|
|
}
|
|
|
- }else{
|
|
|
- flag3=true;
|
|
|
+ } else {
|
|
|
+ flag3 = true;
|
|
|
}
|
|
|
- return flag1&flag2&flag3;
|
|
|
+ return flag1 & flag2 & flag3;
|
|
|
}
|
|
|
|
|
|
-function average(obj){
|
|
|
- if(filter(obj.checked_num,'0') == 0){
|
|
|
- return 0 ;
|
|
|
- }else{
|
|
|
- return obj.check_all_score / filter(obj.checked_num,'1')
|
|
|
+function average(obj) {
|
|
|
+ if (filter(obj.checked_num, '0') == 0) {
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ return obj.check_all_score / filter(obj.checked_num, '1')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -163,13 +254,13 @@ function average(obj){
|
|
|
* @param {*} value
|
|
|
* @param {*} default_display_value
|
|
|
*/
|
|
|
-function filter(value , default_display_value){
|
|
|
- if(value!='' && value!=undefined ){
|
|
|
- return value ;
|
|
|
- }else if(default_display_value != undefined){
|
|
|
- return default_display_value ;
|
|
|
- }else{
|
|
|
- return "" ;
|
|
|
+function filter(value, default_display_value) {
|
|
|
+ if (value != '' && value != undefined) {
|
|
|
+ return value;
|
|
|
+ } else if (default_display_value != undefined) {
|
|
|
+ return default_display_value;
|
|
|
+ } else {
|
|
|
+ return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -178,16 +269,16 @@ function filter(value , default_display_value){
|
|
|
* @param {*} obj
|
|
|
* @param {*} check_item_name
|
|
|
*/
|
|
|
-function getItemScore(obj, check_item_name){
|
|
|
- var names = obj.checked_socre_name ;
|
|
|
- var scores = obj.checked_score ;
|
|
|
+function getItemScore(obj, check_item_name) {
|
|
|
+ var names = obj.checked_socre_name;
|
|
|
+ var scores = obj.checked_score;
|
|
|
|
|
|
- for(var i=0;i<names.length ;i++){
|
|
|
- if( names[i].indexOf(check_item_name) > -1){
|
|
|
- return scores[i] ;
|
|
|
+ for (var i = 0; i < names.length; i++) {
|
|
|
+ if (names[i].indexOf(check_item_name) > -1) {
|
|
|
+ return scores[i];
|
|
|
}
|
|
|
}
|
|
|
- return 0 ;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -195,54 +286,54 @@ function getItemScore(obj, check_item_name){
|
|
|
* @param {*} value
|
|
|
* @param {*} default_display_value
|
|
|
*/
|
|
|
-function filterByZeroHandle(value , default_display_value){
|
|
|
- if(isNaN(value)){
|
|
|
- return default_display_value ;
|
|
|
- }else{
|
|
|
- if((value+'').endsWith('.00')){
|
|
|
- return value.substring(0,value.length-3);
|
|
|
- }
|
|
|
- return value ;
|
|
|
+function filterByZeroHandle(value, default_display_value) {
|
|
|
+ if (isNaN(value)) {
|
|
|
+ return default_display_value;
|
|
|
+ } else {
|
|
|
+ if ((value + '').endsWith('.00')) {
|
|
|
+ return value.substring(0, value.length - 3);
|
|
|
}
|
|
|
+ return value;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-function exportExcel(){
|
|
|
+function exportExcel() {
|
|
|
var dept_id = $("#fsList").val();
|
|
|
var start_date = $("#start-time").val();
|
|
|
var end_date = $("#end-time").val();
|
|
|
var start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-score").val();
|
|
|
- var flag = param_method(start_score,end_score);
|
|
|
- if(flag==false){
|
|
|
+ var flag = param_method(start_score, end_score);
|
|
|
+ if (flag == false) {
|
|
|
return;
|
|
|
}
|
|
|
- if( start_date=='' || end_date==''){
|
|
|
+ if (start_date == '' || end_date == '') {
|
|
|
tip("请选择起止日期");
|
|
|
- return ;
|
|
|
- }else{
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
start_date += " 23:00:00";
|
|
|
end_date += " 23:00:00";
|
|
|
}
|
|
|
- window.open( getserveraddr() + "/file/employee/order?dept_id="+dept_id+
|
|
|
- "&start_date="+start_date+"&end_date="+end_date+"&start_score="+start_score+"&end_score="+end_score);
|
|
|
+ window.open(getserveraddr() + "/file/employee/order?dept_id=" + dept_id +
|
|
|
+ "&start_date=" + start_date + "&end_date=" + end_date + "&start_score=" + start_score + "&end_score=" + end_score);
|
|
|
}
|
|
|
|
|
|
|
|
|
-function param_method(start_score,end_score){
|
|
|
-
|
|
|
- if(start_score==''||end_score==''){
|
|
|
+function param_method(start_score, end_score) {
|
|
|
+
|
|
|
+ if (start_score == '' || end_score == '') {
|
|
|
tip("请输入得分区间");
|
|
|
return false;
|
|
|
- }else if(!(/^[0-9]*$/).test(start_score) || !(/^[0-9]*$/).test(end_score)){
|
|
|
+ } else if (!(/^[0-9]*$/).test(start_score) || !(/^[0-9]*$/).test(end_score)) {
|
|
|
tip("数字不合法!");
|
|
|
return false;
|
|
|
- }else if(parseInt(start_score)>parseInt(end_score)){
|
|
|
+ } else if (parseInt(start_score) > parseInt(end_score)) {
|
|
|
tip("开始得分不能比结束得分大");
|
|
|
return false;
|
|
|
- }else if(start_score<0 || start_score>1000 || end_score<0 || end_score>1000){
|
|
|
+ } else if (start_score < 0 || start_score > 1000 || end_score < 0 || end_score > 1000) {
|
|
|
tip("得分只能在0-1000之间");
|
|
|
return false;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return true;
|
|
|
}
|
|
|
}
|