var example = null; var pers = null; var token = localStorage.getItem("smz-token"); var usernameLogin = localStorage.getItem("usernameLogin"); $(function () { initTrees(); layui.use(['layer', 'laydate', 'form'], function () { var layer = layui.layer; var form = layui.form; // getPro(form); pers = checkPermission(); getAffiliatedUnit(form); getOWNType(form,"rylx","rylx","--请选择人员类型--"); init(); /** * 批量新增 */ $("#saveZipButton").click(function(){ importExcel(); }); /** * 批量修改导入 */ $("#saveZipButtonBatch").click(function(){ importExcelBatch(); }); $("#searchBt").click(function () { example.ajax.reload(); }); }); }); function initTrees() { $.ajax({ type: 'POST', headers : { "token" : token }, url: ctxPath + '/org/getCompanyTreeListOWN', data: {}, dataType: 'json', success: function (data) { $.fn.zTree.init($("#orgTree"),{ view:{ dblClickExpand:false, selectedMulti:false, nameIsHTML:true }, data:{ simpleData:{ enable: true } }, callback:{ onClick:clickRoles } }, data.obj); }, error: function (e) { console.log(e.resMsg); }, }); } function clickRoles(e, treeId, treeNode) { //设置父节点不能被选择 if(treeNode.id =="x"){ var check = (treeNode); if(check){ var zTree = $.fn.zTree.getZTreeObj("orgTree"), nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c=""; for (var i=0, l=nodes.length; i 0 ) v = v.substring(0, v.length-1); if (n.length > 0 ) n = n.substring(0, n.length-1); if (o.length > 0 ) o = o.substring(0, o.length-1); if (p.length > 0 ) p = p.substring(0, p.length-1); if (c.length > 0 ) c = c.substring(0, c.length-1); $("#orgName").val(p); $("#companyId").val(c); $("#auForm input[name$='orgId']").prop("value",n); hideRole(n,c); } }else{ if (treeNode.level !="1") { layer.msg('请选择组织管理中的最后一级'); }else{ var check = (treeNode); if(check){ var zTree = $.fn.zTree.getZTreeObj("orgTree"), nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c=""; for (var i=0, l=nodes.length; i 0 ) v = v.substring(0, v.length-1); if (n.length > 0 ) n = n.substring(0, n.length-1); if (o.length > 0 ) o = o.substring(0, o.length-1); if (p.length > 0 ) p = p.substring(0, p.length-1); if (c.length > 0 ) c = c.substring(0, c.length-1); $("#orgName").val(p); $("#companyId").val(c); $("#auForm input[name$='orgId']").prop("value",n); hideRole(n,c); } } } } function loadCompanyInfo(n, c) { //分公司工程联动 var orgId = n; } function init() { example = $('#dt-table').DataTable({ "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "language": { "url": contentPath + "/js/plugin/datatables/Chinese.lang" }, "ajax": { "url": ctxPath + "/workerOn/list", "type": "POST", "data": function (d) { d.ssdw = $("#ssdw").val(); d.orgId = $("#orgId").val(); d.rylx = $("#rylx").val(); d.proName = $("#proName").val(); d.name = $("#name").val(); }, "error": function (xhr, textStatus, errorThrown) { var msg = xhr.responseText; var response = JSON.parse(msg); var code = response.code; var message = response.message; if (code == 400) { layer.msg(message); } else if (code == 401) { localStorage.removeItem("token"); layer.msg("token过期,请先登录", {shift: -1, time: 1000}, function () { location.href = ctxPath + '/login.html'; }); } else if (code == 403) { console.log("未授权:" + message); layer.msg('未授权'); } else if (code == 500) { console.log('系统错误:' + message); } } }, "lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项 "drawCallback": function() { // alert( '表格重绘了' ); var thisDataTable = $('#dt-table').DataTable(); $(".pagination").append("
  • " + "" + "确认
  • "); //点击按钮跳转指定页数 $('#dataTable-btn').click(function (e) { if ($("#changePage").val() && $("#changePage").val() > 0) { var redirectpage = $("#changePage").val() - 1; } else { var redirectpage = 0; } thisDataTable.page(redirectpage).draw( 'page' ); }); //敲击回车键跳转指定页数 $("#changePage").keypress(function (e) { if(event.keyCode==13){ if ($("#changePage").val() && $("#changePage").val() > 0) { var redirectpage = $("#changePage").val() - 1; } else { var redirectpage = 0; } thisDataTable.page(redirectpage).draw( 'page' ); } }); }, "dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>><'dt-table-length'l>", "scrollX": true, "fixedColumns": { "leftColumns": 5, "rightColumns": 1 }, "columns": [ { "orderable": false, data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; }, }, {"data": "name",}, {"data": "idNumber",}, {"data": "ygdw",}, {"data": "rylx",}, {"data": "ssdw","orderable": false,}, {"data": "proName","orderable": false,}, {"data": "htbh","orderable": false,}, {"data": "yhzh","orderable": false,}, {"data": "yhmc","orderable": false,}, {"data": "lxdh","orderable": false,}, {"data": "ryxz","orderable": false,}, {"data": "gw","orderable": false,}, {"data": "rzrq","orderable": false,}, {"data": "htOn","orderable": false,}, {"data": "htOff","orderable": false,}, {"data": "","orderable": false, "render" :function (data, type, row) { var state = row['state']; var html = ''; if(state =='0'){ html = "已下发新签"; }else if(state =='1'){ html = "已签"; }else if(state =='3'){ html = "正常状态"; }else if(state =='4'){ html = "临期"; }else{ html = "未签署合同"; } return html; } }, {"data": "sbzy","orderable": false,}, {"data": "gjjzy","orderable": false,}, {"data": "be","orderable": false,}, {"data": "ywxOn","orderable": false,}, {"data": "ywxOff","orderable": false,}, {"data": "age","orderable": false,}, {"data": "sex","orderable": false,}, {"data": "zgxl","orderable": false,}, {"data": "zgbyxx","orderable": false,}, {"data": "zgzy","orderable": false,}, {"data": "xl","orderable": false,}, {"data": "byxx","orderable": false,}, {"data": "zy","orderable": false,}, {"data": "hkxz","orderable": false,}, {"data": "hkdz","orderable": false,}, {"data": "jjlxr","orderable": false,}, {"data": "jjlxrgx","orderable": false,}, {"data": "jjlxrdh","orderable": false,}, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var type = row['type']; var lxdh = row['lxdh']; var writeTime = row['writeTime']; var html = ''; html += buttonView(id, "", pers); if(type =='1'){ html += buttonEditsContract(id, "", pers);//sys:project:add // html += buttonEdits(id, "", pers);//sys:project:add }else{ html += buttonEdits(id, "", pers);//sys:project:add } console.log("usernameLogin="+usernameLogin); if(usernameLogin == "bnsAdmin"){ html += buttonDel(id,lxdh, "", pers);// html += buttonEntry(id, "", pers);// html += buttonIncome(id, "", pers);// html += buttonDepart(id,lxdh, "", pers);// }else{ } if(writeTime =="" || writeTime =="null" || writeTime ==null ){ }else{ // html += buttonRegistration(id, "", pers);// 入职登记表 } return html; } }, ], "order": [[1, "desc"], [2, "desc"], [3, "desc"], [4, "desc"],] //在栏目列上显示排序功能 }); } // 详情按钮 function buttonView(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 编辑按钮 function buttonEdits(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 编辑按钮 - 签订合同的按钮 function buttonEditsContract(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 删除按钮 function buttonDel(data,lxdh, permission, pers){ if(permission != ""){ if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 入职证明路径 function buttonEntry(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 收入证明路径 function buttonIncome(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 入职登记表 function buttonRegistration(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 离职按钮 function buttonDepart(data,lxdh, permission, pers){ if(permission != ""){ if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } //入职登记表页面 function registration(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getRegistrationId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['入职登记表','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnRegistration.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[2]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } }) } /** * 导出数据 */ function exportBtn() { var token = localStorage.getItem("smz-token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); var index = top.layer.msg('数据较多,请稍等。。。', { icon: 4, time: 5000 //2秒关闭(如果不配置,默认是3秒) }); window.location.href = ctxPath + "/faceContrast/exportWorkerAttendance?name=" + name + "&teamName=" + teamName +"&subName=" + subName + "&proId=" + proId + "&status=" + status + "&startTime=" + startTime + "&endTime=" + endTime+"&token=" + token; } /** * 下载 */ function downloadWorks() { var token = localStorage.getItem("smz-token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = ctxPath + "/faceContrast/exportWorkerAttendanceDownload?name=" + name + "&teamName=" + teamName+ "&subName=" + subName+ "&proId=" + proId+ "&status=" + status+ "&startTime=" + startTime+"&endTime=" + endTime+ "&token=" + token; var xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { var blob = this.response; var a = document.createElement("a"); var url = window.URL.createObjectURL(blob); a.href = url; a.download = "施工人员考勤信息-"+startTime+"~"+endTime+".xlsx"; // 文件名 }else { layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000}); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); } /** * 新增页面 * */ function insertWorkerOn() { var height = '85%'; var width = '65%'; var index = layer.open({ title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnForm.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success: function (layero, index) { var myIframe = window[layero.find('iframe')[0]['name']]; myIframe.getAffiliatedUnits(""); myIframe.getOWNrylx(""); //人员类型 myIframe.getOWNryxz(""); //员工性质 myIframe.getOWNxl(""); //学历 myIframe.getOWNzgxl(""); //最高学历 myIframe.getOWNhkxz(""); //户口类型 }, yes: function (index, layero) { var myIframe = window[layero.find('iframe')[0]['name']]; myIframe.show(); myIframe.cancelReadOnly(); var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } /** * 编辑页面 */ function edit(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getWorkerOnId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['修改','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnForm.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 myIframe.cancelReadOnly(); }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } }) } /** * 编辑合同签订后页面 */ function editContract(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getWorkerOnId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['修改-合同签订','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnContractForm.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 myIframe.cancelReadOnly(); }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } }) } /** * 查看 * */ function view(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getWorkerOnId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['查看','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnForm.html', area: [width, height], maxmin: false, btn: ['关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 myIframe.setReadOnly(); }, }); } }) } /** * 删除 * */ function del(id,lxdh) { layer.confirm("确定删除吗?",function () { $.ajax({ type: 'delete', url: ctxPath + '/workerOn/'+id, data: {"lxdh":lxdh}, dataType: 'json', success: function (data) { if (data.obj == '删除成功') { layer.alert('删除成功', {icon: 1}); example.ajax.reload(null, false); // 刷新页面 } else { layer.msg(data.obj, {icon: 2}); example.ajax.reload(null, false); // 刷新页面 } } }) }) } function depart(id,lxdh) { var height = '40%'; var width = '30%'; localStorage.setItem("id",id); localStorage.setItem("lxdh",lxdh); var index = layer.open({ title: ['离职','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerDeparts.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } /** * 入职证明路径 */ function entry(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getWorkerOnId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['入职证明生成','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnEntry.html', area: [width, height], maxmin: false, btn: ['下发', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } }) } /** * 收入证明路径 */ function income(id) { $.ajax({ type: 'POST', contentType: "application/x-www-form-urlencoded", url: ctxPath + '/workerOn/getWorkerOnId', data:{"id":id}, dataType: 'json', success: function (data) { var height = '80%'; var width = '60%'; var index = layer.open({ title: ['收入证明生成','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnIncome.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; var fnc = myIframe.setData(data); //aaa()为子页面的方法 }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); // example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } }) } /** * 导出 */ function exportWorkerOnBtn() { var ssdw = $("#ssdw").val(); var orgId = $("#orgId").val(); var rylx = $("#rylx").val(); var proName = $("#proName").val(); var name = $("#name").val(); var token = localStorage.getItem("smz-token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = ctxPath + "/workerOn/exportWorkerOnOut?ssdw=" + ssdw + "&orgId=" + orgId + "&rylx=" + rylx + "&proName=" + proName + "&name=" + name + "&token=" + token; var xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { var blob = this.response; var a = document.createElement("a"); var url = window.URL.createObjectURL(blob); a.href = url; a.download = "在职信息.xlsx"; // 文件名 }else { layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000}); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); } function downWorker(){ window.location.href = ctxPath + "/download/download?filename=在职信息导入模板.xlsx"; } function downWorkerBatch(){ window.location.href = ctxPath + "/download/download?filename=批量修改导入模板.xlsx"; } //导入excel文件 function importExcel(){ var formData = new FormData($('form')[0]); var name = $("#articleImageFile").val(); if(name==null|| name == "") { return; } if(!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { layer.msg("请上传正确的Excel表格!"); $("#articleImageFile").val(""); return; } formData.append("file", $("#articleImageFile")[0].files[0]); var idx = layer.msg('正在提交数据,请稍等...', { icon: 16 ,shade: 0.01 ,time:'-1' }); $.ajax({ url : ctxPath + "/workerOn/importExcel", type : 'POST', async : false, data : formData, timeout:20000, // 告诉jQuery不要去处理发送的数据 processData : false, // 告诉jQuery不要去设置Content-Type请求头 contentType : false, success : function(data) { layer.close(idx); if(data.indexOf("导入成功") !=-1){ layer.alert(data, {icon: 1}); }else if(data.indexOf("导入失败") !=-1){ console.log(data) layer.alert(data, {icon: 2}); } example.ajax.reload(null, false); // 刷新页面 }, error:function(XMLHttpRequest, textStatus, errorThrown) { console.log(JSON.stringify(errorThrown)); layer.close(idx); } }); $("#articleImageFile").val(""); } /** * 可批量修改信息(例如:社保增员、意外险生效时间、意外险到期时间) * */ function batchBtn() { var height = '85%'; var width = '85%'; var index = layer.open({ title: ['批量修改信息', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'workerOnBatchForm.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], yes: function (index, layero) { var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[1]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } //导入excel文件 function importExcelBatch(){ var formData = new FormData($('form')[0]); var name = $("#articleImageFileBatch").val(); if(name==null|| name == "") { return; } if(!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { layer.msg("请上传正确的Excel表格!"); $("#articleImageFileBatch").val(""); return; } formData.append("file", $("#articleImageFileBatch")[0].files[0]); var idx = layer.msg('正在提交数据,请稍等...', { icon: 16 ,shade: 0.01 ,time:'-1' }); $.ajax({ url : ctxPath + "/workerOn/importExcelBatch", type : 'POST', async : false, data : formData, timeout:20000, // 告诉jQuery不要去处理发送的数据 processData : false, // 告诉jQuery不要去设置Content-Type请求头 contentType : false, success : function(data) { layer.close(idx); if(data.indexOf("导入成功") !=-1){ layer.alert(data, {icon: 1}); }else if(data.indexOf("导入失败") !=-1){ console.log(data) layer.alert(data, {icon: 2}); } example.ajax.reload(null, false); // 刷新页面 }, error:function(XMLHttpRequest, textStatus, errorThrown) { console.log(JSON.stringify(errorThrown)); layer.close(idx); } }); $("#articleImageFileBatch").val(""); }