$(function () { // 道管中心选择变化 $("#center-manager").change(function () { $("#fsList").empty(); if (GV(this) != '') { getFsStationList(GV(this), function (options) { $("#fsList").append(options); }); } }) // end }) 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) { return; } if (start_date == '' || end_date == '') { tip("请选择起止日期"); return; } else { start_date += " 23:00:00"; end_date += " 23:00:00"; } var startStr = start_date.replace(/-/g, '/'); var endStr = end_date.replace(/-/g, '/'); var start = new Date(startStr); //开始日期取前一天的23:00 start.setDate(start.getDate() - 1); start_date = start.Format("yyyy-MM-dd HH:mm:ss"); var end = new Date(endStr); if (start > end) { tip("开始时间不能比结束时间大"); return; } var param = { "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) } 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_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 = new Date(start_date); //开始日期取前一天的23:00 start.setDate(start.getDate() - 1); start_date = start.Format("yyyy-MM-dd HH:mm:ss"); var param = { "start_date": start_date, "end_date": end_date, } var url = "statistics/employee/order"; 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) { html = "" strTbody += "" + (count + 1) + "" + data[i].user.fee_station_name + "" + "" + data[i].user.truename + "" + data[i].user.position_name + "" + "" + data[i].user.workno + "" + data[i].company_ranking + "" + "" + data[i].center_ranking + "" + data[i].fee_station_ranking + "" + getItemScore(data[i], '环境') + "" + "" + getItemScore(data[i], '仪容仪表') + "" + getItemScore(data[i], '表情') + "" + "" + getItemScore(data[i], '动作') + "" + getItemScore(data[i], '文明用语') + "" + "" + getItemScore(data[i], '工作纪律') + "" + getItemScore(data[i], '便民服务') + "" + getItemScore(data[i], '安全管理') + "" + data[i].check_all_score + "" + "" + filter(data[i].checked_num, '0') + (data[i].checked_num < 6 ? html : "") + "" + filterSlash(filterByZeroHandle(average(data[i]).toFixed(2), '0'), filter(data[i].checked_num, '0')) + "" + "" + filterSlash(score, filter(data[i].checked_num, '0')) + "" + "" + ""; count++; } } $(".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=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 = "" var nighttd = "夜班" var middletd = "中班" var morningtd = "早班" 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"+name+"" // html1 +='
' continue; } if(tasktemp.class_type==2){ html2+="
" continue; } if(tasktemp.class_type==3){ html3+="
" 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"+name+"" continue; } if(usercounttemp.class_type==2){ html2+="
" continue; } if(usercounttemp.class_type==3){ html3+="
" continue; } } } nighttd+="" + (html3==""?"无":html3) + "" middletd+="" + (html1==""?"无":html1) + "" morningtd+="" + (html2==""?"无":html2) + "" header += "" + daytime.Format("dd") + "" } var css = ''; var table1 = '
' + ' ' + ' ' + header + ' ' + ' ' + nighttd+ ' ' + ' ' + morningtd+ ' ' + ' ' + middletd+ ' ' + ' ' + '
'; var tips = '
排班已被稽查
'+ '
排班未被稽查
'+ '
已稽查但排班被删除
'+ '
排班未满15分钟
'+ '
排班已稽查但任务无效
'+ '
已稽查但任务无效且排班已删除
'; var selectdiv = '
已选择的排班:
'+ '
'; var optlist = ""; var userlist = data.userList; for(var q=0;q'+user.truename+'' } var html = css + '
' + table1 + '
' + '
'+tips+'
'+selectdiv+'
请分配对应的稽查人员:
'; 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= 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; } var jobSelect = $("#jobSelect").val(); if (jobSelect) { if (data[i].user.positionid == jobSelect) { flag3 = true; } else { flag3 = false; } } else { flag3 = true; } 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') } } /** * 过滤undefined * @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 ""; } } /** * 获取扣分详情 * @param {*} obj * @param {*} check_item_name */ 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]; } } return 0; } /** * 过滤除数为0和保留二位小数时出现的0.00 * @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 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) { return; } if (start_date == '' || end_date == '') { tip("请选择起止日期"); return; } else { start_date += " 23:00:00"; end_date += " 23:00:00"; } 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 == '') { tip("请输入得分区间"); return false; } else if (!(/^[0-9]*$/).test(start_score) || !(/^[0-9]*$/).test(end_score)) { tip("数字不合法!"); return false; } 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) { tip("得分只能在0-1000之间"); return false; } else { return true; } }