var example = null; var pers = null; var layer,form; layui.use(['layer','form'], function () { layer = layui.layer; form = layui.form; getProject(form); pers = checkPermission(); init(); $("#searchBt").click(function () { example.ajax.reload(); }); }); function init() { example = $('#dt-table').DataTable({ "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "pagingType": "full_numbers", //首页|尾页 "language": { "url": ctxPath + "/js/plugin/datatables/Chinese.lang" }, 'scrollY': 'calc(100vh - 150px)', 'scroller': true, 'scrollCollapse':true, "ajax": { "url": ctxPath + "/contract", "type": "get", "data": function (d) { d.proId = $("#proId").val(); d.keyWord = $("#keyWord").val(); d.contractStatus = $("#contractStatus").val(); d.isSmallBag = $("#isSmallBag").val(); }, "error": function (xhr, textStatus, errorThrown) { var msg = xhr.responseText; console.log(msg); 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>", "columns": [ { width: '40px', "orderable": false, data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "proName","width":"15%",}, {"data": "name"}, {"data": "idNumber"}, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var postName = row['postName']; var html = ''; if(postName != '' && postName != null){ html += "" + postName + ""; }else{ html += "" } return html; } }, { "data": "wageCriterion", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var wageCriterion = row['wageCriterion']; var html = ''; if(wageCriterion != '' && wageCriterion != null){ html += "" + wageCriterion + ""; }else{ html += "" } return html; } }, { "data": "achievementsMoney", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var achievementsMoney = row['achievementsMoney']; var html = ''; if(achievementsMoney != '' && achievementsMoney != null){ html += "" + achievementsMoney + ""; }else{ html += "" } return html; } }, { "data": "effectDate", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var effectDate = row['effectDate']; var html = ''; if(effectDate != '' && effectDate != null){ html += "" + effectDate + ""; }else{ html += "" } return html; } }, // { // "data": "", // "defaultContent": "", // "orderable": false, // "render": function (data, type, row) { // var contractCode = row['contractCode']; // // var html = ''; // if(contractCode != '' && contractCode != null){ // html += "" + contractCode + ""; // }else{ // html += "" // } // return html; // } // }, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var contractType = row['contractType']; var url = row['url']; var html = ''; if(contractType != '' && contractType != null){ html += "" + contractType + ""; }else{ html += "" } return html; } }, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var contractType = row['contractType']; var idNumber = row['idNumber']; var url = row['url']; var num = row['num']; var html = ''; if(contractType != '' && contractType != null){ if(contractType === '纸质合同'){ html += "" + num + ""; }else if(contractType === '电子合同'){ html += "点击预览"; } }else{ html += "" } return html; } }, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var idNumber = row['idNumber']; var jkcnsPath = row['jkcnsPath']; var urls = row['urls']; var aqcnsPath = row['aqcnsPath']; var aqgzsPath = row['aqgzsPath']; var num = 0; if(jkcnsPath !="" && jkcnsPath !="null" && jkcnsPath !=null){ num += 1 } if(urls !="" && urls !="null" && urls !=null){ num += 1 } if(aqcnsPath !="" && aqcnsPath !="null" && aqcnsPath !=null){ num += 1 } if(aqgzsPath !="" && aqgzsPath !="null" && aqgzsPath !=null && jkcnsPath !="" && jkcnsPath !="null" && jkcnsPath !=null){ num += 1 } var html = ''; if(num != '' && num != null){ html += "" + num + ""; }else{ html += "" } return html; } }, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var stauts = row['stauts']; var miurInsurance = row['miurInsurance']; var color; // if(miurInsurance == "纸质合同"){ // stauts = "已签订"; // } if(stauts == "已签订"){ color = '#9BCB6F'; }else if(stauts == "未签订"){ color = '#DD365D'; }else if(stauts == "待审核"){ color = '#F7B669'; }else if(stauts == "待签署"){ color = '#F7B669'; }else if(stauts== "无数据"){ color = '#F7001D'; } var html = "" + stauts + ""; return html; } }, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var idNumber = row['idNumber']; var contractType = row['contractType']; var status = row['stauts']; var proId = row['proId']; var html = ''; if(status != '无数据' && status != '未签订' && status != null){ //存在但重新上传,合同见证上传 // html += uploadContractWitness(idNumber,id,proId,"", pers); //详情页面 // html += particularsContractWitness(idNumber,"", pers); //纸质合同可以删除 // if(contractType!="电子合同"){ // html += buttonDel(idNumber,id,"", pers); // } } if(status == '未签订' && (contractType == '' || contractType == null)){ //不存在,上传新的合同见证上传 // html += uploadContractWitness(idNumber,id,proId,"", pers); } if(status !== '未签订' && status != '无数据' && status != null ){ html += particularsContractWitness(idNumber,"", pers); } return html; } }, ], "fnInitComplete":function () { // 防止页面闪烁 $('.table').css('display',''); //自动调整列宽(自适应) let table = $('#dt-table').DataTable(); table.columns.adjust().draw(); }, "order": [[1, "desc"],[2, "desc"],[3, "desc"]] //在栏目列上显示排序功能 }); } //查看电子合同详情 function electronicContractView(id,contractType,idNumber,url){ let height = getDefaultHeight().toFixed(0) + 'px'; let width = getDefaultWidth().toFixed(0) + 'px'; localStorage.setItem("idNumber", idNumber); localStorage.setItem("url", url); localStorage.setItem("id", id); if(contractType=="电子合同"){ var index = layer.open({ title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'contractTypeView.html', area: [width, height], maxmin: false, }); }else{ let layerIndex = layer.open({ id: 'layer-contract-signing-detail', title: ['合同见证', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'contractPhoto.html', area: [width, height], maxmin: false, shadeClose: false, //开启遮罩关闭 shade: 0.3, //显示遮罩 move: false, resize: false, success:function(layero,index){ let iframeWin = window["layui-layer-iframe" + layerIndex]; iframeWin.setParam(id,idNumber); $(window).resize(function () { if (autoResizeWidth) autoResizeWidth(index); if (autoResizeHeight) autoResizeHeight(index); }) }, }); } } function acceptanceView(id,idNumber) { localStorage.setItem("id",id); localStorage.setItem("idNumber",idNumber); let height ="80%"; let width = "80%"; var index = layer.open({ title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'acceptanceView.html', area: [width, height], maxmin: false, }); } //详情页面 function particularsContractWitness(idNumber, permission, pers){ if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } //合同签订信息 function particularsContractWitnessPage(idNumber) { localStorage.setItem("idNumber", idNumber); let height = getDefaultHeight().toFixed(0) + 'px'; let width = getDefaultWidth().toFixed(0) + 'px'; var layerIndex = layer.open({ id: 'layer-contract-signing-infor', title: ['合同签订信息', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], content: './contractSingletonList.html', area: [width, height], type: 2, maxmin: false, shadeClose: false, //开启遮罩关闭 shade: 0.3, //显示遮罩 move: false, resize: false, btn: ['关闭'], success:function(layero,index){ let iframeWin = window["layui-layer-iframe" + layerIndex]; iframeWin.setParam(idNumber); $(window).resize(function () { if (autoResizeWidth) autoResizeWidth(index); if (autoResizeHeight) autoResizeHeight(index); }) }, btn2: function (index, layero) { } }); } //合同见证上传 function uploadContractWitness(idNumber, id,proId, permission, pers){ if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } // 合同见证上传 function uploadContractWitnessView(idNumber,id,proId) { // 前台生成合同见证id let contractId = getUuid(); //以前有合同,则须通过id删除,并添加新的。无合同删除用-1 if(id!==null && id!=='null'){ let confirm = layer.confirm("合同见证已存在,是否删除然并重新上传?",{shade:0},function () { openContractWitnessFormHtml(idNumber,id,proId,contractId); }) }else{ openContractWitnessFormHtml(idNumber,id,proId,contractId); } } function openContractWitnessFormHtml(idNumber,id,proId,contractId) { let height = getDefaultHeight2().toFixed(0) + 'px'; let width = getDefaultWidth2().toFixed(0) + 'px'; let layerIndex = layer.open({ title: false, type: 1, id: 'layer-choose-checker', maxmin: false, shade: 0.1, shadeClose: false, //开启遮罩关闭 content: chooseSignTypeHtml(idNumber,id,proId,contractId), area: [width, height], move: false, success: function (layero, index) { $(window).resize(function () { if (autoResizeWidth2) { autoResizeWidth2(index); } if (autoResizeHeight2) { autoResizeHeight2(index); } }) }, cancel : function() { layer.closeAll(); } }); } function chooseSignTypeHtml(idNumber,id,proId,contractId) { return '
    ' + '

    请选择签订的合同模板

    ' + '附件1-1-劳动合同书(普通人员)' + '附件1-2-劳动合同书(班组长)' + '
    '; } // 1、普通人员;2班组长 function choosePersonnelType(value,idNumber,id,proId,contractId) { let title = '合同见证上传(普通人员)'; if(value === 2){ title = '合同见证上传(班组长)'; } let height = getDefaultHeight().toFixed(0) + 'px'; let width = getDefaultWidth().toFixed(0) + 'px'; let layerIndex = layer.open({ id: 'layer_Personnel_add', title: [title, 'color:#3A81AD;font-size:22px;background-color:#eee;'], type: 2, content: 'contractWitnessForm.html', area: [width, height], maxmin: false, shadeClose: false, //开启遮罩关闭 shade: 0.3, //显示遮罩 move: false, resize: false, success: function (layero, index) { let iframeWin = window["layui-layer-iframe" + layerIndex]; iframeWin.setParam(value,idNumber,id === 'null' ? '-1':id,proId,contractId); $(window).resize(function () { if (autoResizeWidth) { autoResizeWidth(index); } if (autoResizeHeight) { autoResizeHeight(index); } }) }, cancel : function() { layer.closeAll(); } }); } // 删除按钮 function buttonDel(idNumber,id, permission, pers){ if(permission != ""){ if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } /** * 删除用户 * */ function del(idNumber,id) { layer.confirm("确定删除吗?",function () { $.ajax({ type: 'post', url: ctxPath + '/contract/delContract', data: {idNumber:idNumber,delId:id}, dataType: 'json', success: function (data) { if (data.resMsg == "删除成功") { layer.alert('删除成功', {icon: 1}); example.ajax.reload(); // 刷新页面 } else { layer.msg("删除失败", {icon: 2}); example.ajax.reload(); // 刷新页面 } } }) }) } function getUuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var rep = "-"; var uuid = s.join("").replace(new RegExp(rep,'gm'),''); return uuid; } // 子页面调用的刷新父页面方法 function reloadData() { example.ajax.reload( null, false); } //合同见证上传 // function uploadContractWitnessView(idNumber,id) { // var contractId = getUuid(); // //以前有合同,则须通过id删除,并添加新的。无合同删除用-1 // if(id!==null && id!=='null'){ // let confirm = layer.confirm("合同见证已存在,是否删除然并重新上传?",function () { // localStorage.setItem("idNumber", idNumber); // localStorage.setItem("delId", id); // localStorage.setItem("contractId", contractId); // layer.close(confirm); // var height = '700px'; // var width = '1300px'; // var index = layer.open({ // title: ['合同见证上传','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], // type: 2, // content: 'contractSignUploadFrom.html', // area: [width, height], // maxmin: false // }); // }) // }else{ // localStorage.setItem("idNumber", idNumber); // localStorage.setItem("delId", "-1"); // localStorage.setItem("contractId", contractId); // var height = '700px'; // var width = '1300px'; // var index = layer.open({ // title: ['合同见证上传','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], // type: 2, // content: 'contractSignUploadFrom.html', // area: [width, height], // maxmin: false // }); // } // // // // } /** * 导出数据 */ function exportBtns() { var token = localStorage.getItem("token"); var proId = $("#proId").val(); var keyWord = $("#keyWord").val(); var contractStatus = $("#contractStatus").val(); var index = top.layer.msg('数据较多,请稍等。。。', { icon: 4, time: 5000 //2秒关闭(如果不配置,默认是3秒) }); window.location.href = ctxPath + "/contract/exportList?keyWord=" + keyWord + "&contractStatus=" + contractStatus + "&proId=" + proId +"&token=" + token; } /** * 下载 */ var BATCH_SIZE = 5; // 每次下载的文件数量 var DELAY_TIME = 1000; // 批次之间的延迟时间(毫秒) function downloads() { var token = localStorage.getItem("token"); var proId = $("#proId").val(); var keyWord = $("#keyWord").val(); var contractStatus = $("#contractStatus").val(); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); $.ajax({ type: 'post', url: ctxPath + '/contract/downloadsPDF', data: {proId:proId,keyWord:keyWord,contractStatus:contractStatus}, dataType: 'json', success: function (data) { // console.log(data); if (data.resMsg == "数据获取成功") { var data = data.obj.data; downloadBatch(data, 0, BATCH_SIZE); // layer.alert('数据获取成功', {icon: 1}); // example.ajax.reload(); // 刷新页面 } else { layer.msg(data.resMsg, {icon: 2}); example.ajax.reload(); // 刷新页面 } layer.close(loadingMsg); }, error: function (err) { layer.close(loadingMsg); layer.msg("数据获取失败", {icon: 2}); console.log("err", err); } }) } function downloadBatch(data, startIndex, endIndex) { for (var i = startIndex; i < endIndex && i < data.length; i++) { if (data[i].contractType === '电子合同') { setParamPDFs(data[i].url, data[i].name); } } // 如果还有更多文件需要下载,设置下一个批次的延迟 if (endIndex < data.length) { setTimeout(function() { downloadBatch(data, endIndex, endIndex + BATCH_SIZE); }, DELAY_TIME); } }