|
@@ -1,12 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
-$(function(){
|
|
|
|
|
|
|
+$(function () {
|
|
|
|
|
|
|
|
// 道管中心选择变化
|
|
// 道管中心选择变化
|
|
|
- $("#center-manager").change(function(){
|
|
|
|
|
|
|
+ $("#center-manager").change(function () {
|
|
|
$("#fsList").empty();
|
|
$("#fsList").empty();
|
|
|
- if(GV(this)!=''){
|
|
|
|
|
- getFsStationList(GV(this),function(options){
|
|
|
|
|
|
|
+ if (GV(this) != '') {
|
|
|
|
|
+ getFsStationList(GV(this), function (options) {
|
|
|
$("#fsList").append(options);
|
|
$("#fsList").append(options);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
@@ -14,21 +14,21 @@ $(function(){
|
|
|
// end
|
|
// end
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-function queryEmpClick(){
|
|
|
|
|
|
|
+function queryEmpClick() {
|
|
|
//每次点击前清空表格数据
|
|
//每次点击前清空表格数据
|
|
|
$(".table-tbody").empty('');
|
|
$(".table-tbody").empty('');
|
|
|
var start_date = $("#start-time").val();
|
|
var start_date = $("#start-time").val();
|
|
|
var end_date = $("#end-time").val();
|
|
var end_date = $("#end-time").val();
|
|
|
var start_score = $("#start-score").val();
|
|
var start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-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;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if( start_date=='' || end_date==''){
|
|
|
|
|
|
|
+ if (start_date == '' || end_date == '') {
|
|
|
tip("请选择起止日期");
|
|
tip("请选择起止日期");
|
|
|
return;
|
|
return;
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
start_date += " 23:00:00";
|
|
start_date += " 23:00:00";
|
|
|
end_date += " 23:00:00";
|
|
end_date += " 23:00:00";
|
|
|
}
|
|
}
|
|
@@ -36,132 +36,499 @@ function queryEmpClick(){
|
|
|
var endStr = end_date.replace(/-/g, '/');
|
|
var endStr = end_date.replace(/-/g, '/');
|
|
|
var start = new Date(startStr);
|
|
var start = new Date(startStr);
|
|
|
//开始日期取前一天的23:00
|
|
//开始日期取前一天的23:00
|
|
|
- start.setDate(start.getDate()-1);
|
|
|
|
|
|
|
+ start.setDate(start.getDate() - 1);
|
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
|
var end = new Date(endStr);
|
|
var end = new Date(endStr);
|
|
|
- if(start>end){
|
|
|
|
|
|
|
+ if (start > end) {
|
|
|
tip("开始时间不能比结束时间大");
|
|
tip("开始时间不能比结束时间大");
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
var param = {
|
|
var param = {
|
|
|
- "parent_dept_id":GV("#center-manager"),
|
|
|
|
|
|
|
+ "parent_dept_id": GV("#center-manager"),
|
|
|
"dept_id": GV("#fsList"),
|
|
"dept_id": GV("#fsList"),
|
|
|
"start_date": start_date,
|
|
"start_date": start_date,
|
|
|
"end_date": end_date,
|
|
"end_date": end_date,
|
|
|
}
|
|
}
|
|
|
var url = "statistics/employee/order";
|
|
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 endD = new Date();
|
|
|
var now = new Date();
|
|
var now = new Date();
|
|
|
var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
|
|
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 start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-score").val();
|
|
var end_score = $("#end-score").val();
|
|
|
setJobSelect("#jobSelect");
|
|
setJobSelect("#jobSelect");
|
|
|
//默认初始化时间页面回显
|
|
//默认初始化时间页面回显
|
|
|
$("#start-time").val(start_time);
|
|
$("#start-time").val(start_time);
|
|
|
$("#end-time").val(end_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 start = new Date(start_date);
|
|
var start = new Date(start_date);
|
|
|
//开始日期取前一天的23:00
|
|
//开始日期取前一天的23:00
|
|
|
- start.setDate(start.getDate()-1);
|
|
|
|
|
|
|
+ start.setDate(start.getDate() - 1);
|
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
|
var param = {
|
|
var param = {
|
|
|
"start_date": start_date,
|
|
"start_date": start_date,
|
|
|
"end_date": end_date,
|
|
"end_date": end_date,
|
|
|
}
|
|
}
|
|
|
var url = "statistics/employee/order";
|
|
var url = "statistics/employee/order";
|
|
|
- getEmployeeInfosClick(url,param,start_score,end_score);
|
|
|
|
|
|
|
+ getEmployeeInfosClick(url, param, start_score, end_score);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* click
|
|
* click
|
|
|
* @param {*} url
|
|
* @param {*} url
|
|
|
* @param {*} param
|
|
* @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++;
|
|
count++;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- $(".table-tbody").append(strTbody);
|
|
|
|
|
- },function(error){
|
|
|
|
|
- return "" ;
|
|
|
|
|
|
|
+ $(".table-tbody").append(strTbody);
|
|
|
|
|
+ }, function (error) {
|
|
|
|
|
+ return "";
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+function addTask(userid, start_date, end_date) {
|
|
|
|
|
+
|
|
|
|
|
+ //获取该人员排班
|
|
|
|
|
+ var url = "teamClass/getUserClasss"
|
|
|
|
|
+ var param = {
|
|
|
|
|
+ "user_id": userid,
|
|
|
|
|
+ "start_time": start_date,
|
|
|
|
|
+ "end_time": end_date
|
|
|
|
|
+ }
|
|
|
|
|
+ post_common_service(url, param, function (data) {
|
|
|
|
|
+
|
|
|
|
|
+ console.log(data)
|
|
|
|
|
+
|
|
|
|
|
+ var tasklist = data.teamClasseList;
|
|
|
|
|
+ var userclasslist = data.userClassCountList;
|
|
|
|
|
+
|
|
|
|
|
+ var allheight = 600;
|
|
|
|
|
+ var height = allheight - 150 - 45;
|
|
|
|
|
+ var allwidth = 920;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //计算日期
|
|
|
|
|
+ var satrtday = new Date(start_date);
|
|
|
|
|
+ var endday = new Date(end_date);
|
|
|
|
|
+
|
|
|
|
|
+ var taskmap= new Map();
|
|
|
|
|
+ var userClassmap= new Map();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ for(var i=0;i<tasklist.length;i++){
|
|
|
|
|
+ var task = tasklist[i];
|
|
|
|
|
+ if(!taskmap.get(task.work_date)){
|
|
|
|
|
+ taskmap.put(task.work_date,[]);
|
|
|
|
|
+ }
|
|
|
|
|
+ var arr = taskmap.get(task.work_date);
|
|
|
|
|
+ arr.push(task);
|
|
|
|
|
+ taskmap.put(task.work_date,arr);
|
|
|
|
|
+ }
|
|
|
|
|
+ for(var i=0;i<userclasslist.length;i++){
|
|
|
|
|
+ var usercount = userclasslist[i];
|
|
|
|
|
+
|
|
|
|
|
+ var daytime = new Date(usercount.start_time)
|
|
|
|
|
+ if(daytime.getHours()>=23){
|
|
|
|
|
+ daytime = new Date(daytime.valueOf()+(1000 * 60 * 60 * 24))
|
|
|
|
|
+ }
|
|
|
|
|
+ var work_date = daytime.Format("yyyy-MM-dd")+" 00:00";
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if(!userClassmap.get(work_date)){
|
|
|
|
|
+ userClassmap.put(work_date,[]);
|
|
|
|
|
+ }
|
|
|
|
|
+ var arr = userClassmap.get(work_date);
|
|
|
|
|
+ arr.push(usercount);
|
|
|
|
|
+ userClassmap.put(work_date,arr);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var days = (endday.valueOf() - satrtday.valueOf()) / (1000 * 60 * 60 * 24);
|
|
|
|
|
+ var header = "<td></td>"
|
|
|
|
|
+ var nighttd = "<td>夜班</td>"
|
|
|
|
|
+ var middletd = "<td>中班</td>"
|
|
|
|
|
+ var morningtd = "<td>早班</td>"
|
|
|
|
|
+
|
|
|
|
|
+ for (var i = 1; i <= days; i++) {
|
|
|
|
|
+ var daytime = new Date(satrtday.valueOf() + i * 1000 * 60 * 60 * 24 -1000 * 60 * 60 * 23);
|
|
|
|
|
+ var workday = daytime.Format("yyyy-MM-dd HH:mm");
|
|
|
|
|
+
|
|
|
|
|
+ var html1 = ""
|
|
|
|
|
+ var html2 = ""
|
|
|
|
|
+ var html3 = ""
|
|
|
|
|
+
|
|
|
|
|
+ if(taskmap.get(workday)){
|
|
|
|
|
+ var userclassarry = null;
|
|
|
|
|
+ if(userClassmap.get(workday)){
|
|
|
|
|
+ userclassarry = userClassmap.get(workday);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var arry = taskmap.get(workday);
|
|
|
|
|
+
|
|
|
|
|
+ for(var j=0;j<arry.length;j++){
|
|
|
|
|
+ var hasin = false;
|
|
|
|
|
+ var tasktemp = arry[j];
|
|
|
|
|
+ var hasmin = false;
|
|
|
|
|
+
|
|
|
|
|
+ var taskfail = false;
|
|
|
|
|
+
|
|
|
|
|
+ if(userclassarry!=null){
|
|
|
|
|
+ var d = hasinList(tasktemp,userclassarry)
|
|
|
|
|
+ hasin = d!=null
|
|
|
|
|
+
|
|
|
|
|
+ if(hasin){
|
|
|
|
|
+ if(d.check_status == 22){
|
|
|
|
|
+ taskfail = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if((new Date(tasktemp.end_time)).valueOf() - (new Date(tasktemp.start_time)).valueOf()< 1000*60*15){
|
|
|
|
|
+ hasmin = true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ var classname = "btn-primary";
|
|
|
|
|
+ if(hasmin){
|
|
|
|
|
+ classname = "btn-danger disabled";
|
|
|
|
|
+ }
|
|
|
|
|
+ if(hasin){
|
|
|
|
|
+ classname = "btn-success disabled";
|
|
|
|
|
+ }
|
|
|
|
|
+ if(taskfail){
|
|
|
|
|
+ classname = "btn-info disabled";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var teamid = tasktemp.class_id +"_"+ ( typeof(tasktemp.unregular_id)=="undefined"?"":tasktemp.unregular_id)
|
|
|
|
|
+
|
|
|
|
|
+ var name = (new Date(tasktemp.start_time)).Format("HH:mm") + "--"+(new Date(tasktemp.end_time)).Format("HH:mm")
|
|
|
|
|
+ if(tasktemp.class_type==1){
|
|
|
|
|
+ html1+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+
|
|
|
|
|
+ // html1 +='<div class="row"><label class="btn '+classname+'"><input type="radio" name="options" id="option2">'+name+'</label></div>'
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(tasktemp.class_type==2){
|
|
|
|
|
+ html2+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(tasktemp.class_type==3){
|
|
|
|
|
+ html3+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(userClassmap.get(workday)){
|
|
|
|
|
+ var teamclassarry = null;
|
|
|
|
|
+
|
|
|
|
|
+ if(taskmap.get(workday)){
|
|
|
|
|
+ teamclassarry = taskmap.get(workday);
|
|
|
|
|
+ }
|
|
|
|
|
+ var arry = userClassmap.get(workday);
|
|
|
|
|
+
|
|
|
|
|
+ for(var j=0;j<arry.length;j++){
|
|
|
|
|
+ var hasin = false;
|
|
|
|
|
+ var usercounttemp = arry[j];
|
|
|
|
|
+ var taskfail = false;
|
|
|
|
|
+
|
|
|
|
|
+ if(teamclassarry!=null){
|
|
|
|
|
+ var d = hasinList(usercounttemp,teamclassarry)
|
|
|
|
|
+ hasin = d!=null
|
|
|
|
|
+
|
|
|
|
|
+ if(usercounttemp.check_status == 22){
|
|
|
|
|
+ taskfail = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if(usercounttemp.check_status == 22){
|
|
|
|
|
+ taskfail = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ var classname = "btn-warning disabled";
|
|
|
|
|
+ if(hasin){
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(taskfail){
|
|
|
|
|
+ classname = "gimportant disabled";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var name = (new Date(usercounttemp.start_time)).Format("HH:mm") + "--"+(new Date(usercounttemp.end_time)).Format("HH:mm")
|
|
|
|
|
+ if(usercounttemp.class_type==1){
|
|
|
|
|
+ html1+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(usercounttemp.class_type==2){
|
|
|
|
|
+ html2+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(usercounttemp.class_type==3){
|
|
|
|
|
+ html3+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ nighttd+="<td>" + (html3==""?"无":html3) + "</td>"
|
|
|
|
|
+ middletd+="<td>" + (html1==""?"无":html1) + "</td>"
|
|
|
|
|
+ morningtd+="<td>" + (html2==""?"无":html2) + "</td>"
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ 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;' +
|
|
|
|
|
+ '}' +
|
|
|
|
|
+ '.classbtn{' +
|
|
|
|
|
+ ' font-size:10px;' +
|
|
|
|
|
+ ' text-align: center;' +
|
|
|
|
|
+ ' padding: 0;' +
|
|
|
|
|
+ '}' +
|
|
|
|
|
+ '.spanclass{' +
|
|
|
|
|
+ ' width:10px;' +
|
|
|
|
|
+ ' height: 10px;' +
|
|
|
|
|
+ '}' +
|
|
|
|
|
+ '.gimportant{' +
|
|
|
|
|
+ ' background:#BD7B46 !important;' +
|
|
|
|
|
+ ' color:#ffffff !important'+
|
|
|
|
|
+ '}' +
|
|
|
|
|
+
|
|
|
|
|
+ '</style>';
|
|
|
|
|
+
|
|
|
|
|
+ var table1 = '<div class="row scrollbar" style="height:' + height + 'px;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">' +
|
|
|
|
|
+ nighttd+
|
|
|
|
|
+ ' </tr>' +
|
|
|
|
|
+ ' <tr class="warning">' +
|
|
|
|
|
+ morningtd+
|
|
|
|
|
+ ' </tr>' +
|
|
|
|
|
+ ' <tr class="active">' +
|
|
|
|
|
+ middletd+
|
|
|
|
|
+ ' </tr>' +
|
|
|
|
|
+ ' </tbody>' +
|
|
|
|
|
+ '</table></div>';
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var tips = '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#38B03F"/><div class="col-xs-10">排班已被稽查</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#3280FC"/><div class="col-xs-10">排班未被稽查</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#F1A325"/><div class="col-xs-10">已稽查但排班被删除</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#EA644A"/><div class="col-xs-10">排班未满15分钟</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#03B8CF"/><div class="col-xs-10">排班已稽查但任务无效</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#BD7B46"/><div class="col-xs-10">已稽查但任务无效且排班已删除</div></div>';
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var selectdiv = '<div class="row" style="text-align: left;"><div class="col-xs-10">已选择的排班:</div></div>'+
|
|
|
|
|
+ '<div class="row" style="text-align: left;"><div class="col-xs-2"/><div class="col-xs-10"><span id="selectedclass" style="font-size:10px"></span></div></div>';
|
|
|
|
|
+
|
|
|
|
|
+ var optlist = "";
|
|
|
|
|
+ var userlist = data.userList;
|
|
|
|
|
+ for(var q=0;q<userlist.length;q++){
|
|
|
|
|
+ var user = userlist[q];
|
|
|
|
|
+ optlist+=' <option value="'+user.id+'">'+user.truename+'</option>'
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ 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-4">'+tips+'</div><div class="col-xs-3">'+selectdiv+'</div><div class="col-xs-3"><span class="selecttag" style="text-align: right;">请分配对应的稽查人员:</span></div><div class="col-xs-2 class="selecttag""><select data-placeholder="选择稽查员" id="selectusers" class="chosen-select form-control" >' +
|
|
|
|
|
+ optlist+
|
|
|
|
|
+ '</select></div><div class="row row_alert"><button class="btn btn-primary" style="margin:20px;margin-right:10px" onclick="creatTask()" type="button">生成任务</button></div></div>';
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ layer.open({
|
|
|
|
|
+ type: 1,
|
|
|
|
|
+ title: "生成稽查任务",
|
|
|
|
|
+ skin: 'layui-layer-rim', //加上边框
|
|
|
|
|
+ area: [allwidth + 'px', allheight + 'px'], //宽高
|
|
|
|
|
+ scrollbar: false,
|
|
|
|
|
+ content: html
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+function selectTeamClass(obj){
|
|
|
|
|
+ $("#selectedclass").html( $(obj).attr('data') +" "+ $(obj).html() +"的排班");
|
|
|
|
|
+ $("#selectedclass").attr('data',obj.id);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function creatTask(){
|
|
|
|
|
+
|
|
|
|
|
+ //获取classid
|
|
|
|
|
+ var id = $("#selectedclass").attr('data');
|
|
|
|
|
+
|
|
|
|
|
+ //获取userid
|
|
|
|
|
+ var userid = $("#selectusers").val();
|
|
|
|
|
+ if(id!=null && typeof(id)!="undefined"){
|
|
|
|
|
+ var ids=id.split("_");
|
|
|
|
|
+ var classid = ids[0];
|
|
|
|
|
+ var unregular_id = ids[1];
|
|
|
|
|
+ var url = task_server_url + "/task/add"
|
|
|
|
|
+ if(unregular_id==null||unregular_id==""){
|
|
|
|
|
+ url+='?classid='+classid+'&userid='+userid;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ url+='?classid='+classid+'&unregularid='+unregular_id+'&userid='+userid;
|
|
|
|
|
+ }
|
|
|
|
|
+ get_common_service(url,'',function(data){
|
|
|
|
|
+ tip("已生成",null)
|
|
|
|
|
+ },function(error){
|
|
|
|
|
+ tip(error,null)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }else{
|
|
|
|
|
+ tip("未选择任务",null)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+function hasinList(task,list){
|
|
|
|
|
+ var hasin = false;
|
|
|
|
|
+ for(var p=0;p<list.length;p++){
|
|
|
|
|
+ var userclasscount = list[p];
|
|
|
|
|
+ if(typeof(task.unregular_id)=="undefined"){
|
|
|
|
|
+ if(typeof(userclasscount.unregular_id)=="undefined"){
|
|
|
|
|
+ if(task.class_id == userclasscount.class_id){
|
|
|
|
|
+ return userclasscount;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if(typeof(userclasscount.unregular_id)=="undefined"){
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if(task.class_id == userclasscount.class_id && userclasscount.unregular_id==task.unregular_id){
|
|
|
|
|
+ return userclasscount;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 对于受检次数为0,扣分和得分都为 /
|
|
* 对于受检次数为0,扣分和得分都为 /
|
|
|
* @param {*} value , check_num 受此次数
|
|
* @param {*} value , check_num 受此次数
|
|
|
* @return value or /
|
|
* @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();
|
|
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')
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -170,13 +537,13 @@ function average(obj){
|
|
|
* @param {*} value
|
|
* @param {*} value
|
|
|
* @param {*} default_display_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 "";
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -185,16 +552,16 @@ function filter(value , default_display_value){
|
|
|
* @param {*} obj
|
|
* @param {*} obj
|
|
|
* @param {*} check_item_name
|
|
* @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;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -202,31 +569,31 @@ function getItemScore(obj, check_item_name){
|
|
|
* @param {*} value
|
|
* @param {*} value
|
|
|
* @param {*} default_display_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 dept_id = $("#fsList").val();
|
|
|
var start_date = $("#start-time").val();
|
|
var start_date = $("#start-time").val();
|
|
|
var end_date = $("#end-time").val();
|
|
var end_date = $("#end-time").val();
|
|
|
var start_score = $("#start-score").val();
|
|
var start_score = $("#start-score").val();
|
|
|
var end_score = $("#end-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;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if( start_date=='' || end_date==''){
|
|
|
|
|
|
|
+ if (start_date == '' || end_date == '') {
|
|
|
tip("请选择起止日期");
|
|
tip("请选择起止日期");
|
|
|
- return ;
|
|
|
|
|
- }else{
|
|
|
|
|
|
|
+ return;
|
|
|
|
|
+ } else {
|
|
|
start_date += " 23:00:00";
|
|
start_date += " 23:00:00";
|
|
|
end_date += " 23:00:00";
|
|
end_date += " 23:00:00";
|
|
|
var start = new Date(start_date);
|
|
var start = new Date(start_date);
|
|
@@ -234,27 +601,27 @@ function exportExcel(){
|
|
|
start.setDate(start.getDate()-1);
|
|
start.setDate(start.getDate()-1);
|
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
start_date = start.Format("yyyy-MM-dd HH:mm:ss");
|
|
|
}
|
|
}
|
|
|
- if(!dept_id) dept_id="";
|
|
|
|
|
- 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);
|
|
|
|
|
|
|
+ if (!dept_id) dept_id = "";
|
|
|
|
|
+ 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("请输入得分区间");
|
|
tip("请输入得分区间");
|
|
|
return false;
|
|
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("数字不合法!");
|
|
tip("数字不合法!");
|
|
|
return false;
|
|
return false;
|
|
|
- }else if(parseInt(start_score)>parseInt(end_score)){
|
|
|
|
|
|
|
+ } else if (parseInt(start_score) > parseInt(end_score)) {
|
|
|
tip("开始得分不能比结束得分大");
|
|
tip("开始得分不能比结束得分大");
|
|
|
return false;
|
|
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之间");
|
|
tip("得分只能在0-1000之间");
|
|
|
return false;
|
|
return false;
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|