HnRealNameBmwWeb/js/work/person/reportStatistics/employmentManagementAccount...

443 lines
17 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var example = null;
var pers = null;
var isSelected = [];
var teamId;
var proId =localStorage.getItem("proId");
var proName = localStorage.getItem("proName");
$(function () {
layui.use(['layer', 'laydate', 'form'], function () {
var layer = layui.layer;
var laydate = layui.laydate;
var form = layui.form;
$("#proName").html(proName);
getTeam(proId,"");
getSubName(proId,"");
initTable();
pers = checkPermission();
$("#searchBt").click(function () {
// example.ajax.reload();
initTable();
});
});
});
function initTable() {
var loadingMsg = layer.msg('加载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$.ajax({
type: 'get',
url: ctxPath + "/EmploymentManagement/getEmploymentManagementByPro",
data: {
"subId": $("#subId").val(),
"teamId": $("#teamId").val(),
"keyWord": $("#keyWord").val(),
"proId": proId,
},
success: function (data) {
//先清空
$("#dt-table").empty();
$("#text").empty();
var data = data.data;
var htmlMonth = "";
var colSpan = 0;
if(data.length>0){
var monthAll = data[0].month;
var month = monthAll.split(",");
colSpan = month.length -1;
for (var j = 0; j<month.length-1;j++){
htmlMonth +="<th>" + month[j] + "月</th>";
}
var fristTime = data[0].fristTime;
var lastTime = data[0].lastTime;
document.getElementById("fristTime").innerText=fristTime;
document.getElementById("lastTime").innerText=lastTime;
}else{
htmlMonth +="<th>暂无</th>";
}
htmlMonth +="<th>基本工资</th>";
htmlMonth +="<th>绩效工资</th>";
var dtTable = document.getElementById("attendanceDays");
dtTable.colSpan=colSpan;
$("#dt-table").append(htmlMonth);
for (var i=0; i<data.length;i++){
var checkNumAll = data[i].checkNum;
var checkNum = checkNumAll.split(",");
var htmlText = "<tr>";
var a = i+1;
htmlText +="<td>"+a+"</td>";
htmlText +="<td>"+data[i].personName+"</td>";
htmlText +="<td>"+data[i].sex+"</td>";
htmlText +="<td>"+data[i].nation+"</td>";
htmlText +="<td>"+data[i].age+"</td>";
htmlText +="<td>"+data[i].contactInfo+"</td>";
htmlText +="<td>"+data[i].idNumber+"</td>";
htmlText +="<td>"+data[i].subName+"</td>";
htmlText +="<td>"+data[i].teamName+"</td>";
htmlText +="<td>"+data[i].postName+"</td>";
htmlText +="<td>"+data[i].enDate+"</td>";
var exDate = data[i].exDate;
if (exDate=='' || exDate==null){
exDate="暂未出场";
}
htmlText +="<td>"+exDate+"</td>";
for (var j = 0; j<checkNum.length-1;j++){
htmlText +="<td>" + checkNum[j] + "</td>";
}
var contract = data[i].contract;
if (contract=='' || contract==null){
contract="";
}
htmlText +="<td>"+contract+"</td>";
var achievementsMoney = data[i].achievementsMoney;
if (achievementsMoney=='' || achievementsMoney==null){
achievementsMoney="";
}
htmlText +="<td>"+achievementsMoney+"</td>";
htmlText +="</tr>";
$("#text").append(htmlText);
};
if(data.length<1){
$("#text").empty();
var htmlTexts = "<tr>";
htmlTexts +="<td colspan='15'>未找到相关数据</td>";
htmlTexts +="</tr>";
$("#text").append(htmlTexts);
}
layer.close(loadingMsg);
}
})
}
function init() {
example =
$('#dt-table').DataTable({
"sort": false,
'paging':false,
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/EmploymentManagement/getEmploymentManagementByPro",
"type": "get",
"data": function (d) {
d.subId = $("#subId").val();
d.teamId = $("#teamId").val();
d.keyWord = $("#keyWord").val();
d.proId= proId;
},
"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);
}
}
},
"drawCallback": function() {
// alert( '表格重绘了' );
var thisDataTable = $('#dt-table').DataTable();
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#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' );
}
});
$("#num").text("已选0人");
},
"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>>",
"columns": [
{
width: '5%',
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "personName",width: '8%'},
{"data": "sex",width: '5%'},
{"data": "nation",width: '5%'},
{"data": "age",width: '5%'},
{"data": "contactInfo",width: '5%'},
{"data": "idNumber",width: '8%'},
{"data": "subName",width: '10%'},
{"data": "teamName",width: '8%'},
{"data": "postName",width: '8%'},
{"data": "enDate",width: '8%'},
{"data": "",width: '8%',
"render": function (data, type, row) {
var exDate = row['exDate'];
if (exDate=='' || exDate==null){
exDate="暂无出场";
}
var html = '';
html += "<span >" + exDate + "</span>"
return html;
}
},
{
"data": "",
"width": "8%",
"render": function (data, type, row) {
$("#monthLengths").empty();
var monthAll = row['month'];
var month = monthAll.split(",");
var checkNumAll = row['checkNum'];
var checkNum = checkNumAll.split(",");
var htmlMonth = '';
var html = '';
for (var i = 0; i<month.length-1;i++){
htmlMonth +="<th>" + month[i] + "月</th>";
}
var tr = $("<tr></tr>");
tr.append("<td>" + checkNum[0] + "</td>");
tr.append("<td>" + checkNum[1] + "</td>");
tr.append("<td>" + checkNum[2] + "</td>");
html= tr;
html += "<td>" + checkNum[0] + "</td>";
html += "<td>" + checkNum[1] + "</td>";
html += "<td>" + checkNum[2] + "</td>";
var dtTable = document.getElementById("dt-table").rows[0].cells;
dtTable[12].colSpan=month.length-1;
$("#monthLengths").prepend(htmlMonth);
// var nodetd = document.getElementsByTagName('td')[12];
$('#dt-table tbody').prepend(tr)
console.log("html="+ html);
return html;
}
},
{"data": "contract",width: '8%'},
],
footerCallback: function (row, data, start, end, display) {
var api = this.api(), data;
var intVal = function (i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '') * 1 :
typeof i === 'number' ? i : 0;
};
//当前页统计 api.column(0).data()是获取对应的数据 下标从0开始。
total = api.column(0).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0);
//全部统计
pageTotal = api.column(4, { page: 'current' }).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0);
//api.column(6).footer 是放到对应的列表 下标从0开始。
$(api.column(6).footer()).html(
'当前页:$' + pageTotal + ' ( 全部:$' + total + ')'
);
},
"order": [ [1, "asc"]] //在栏目列上显示排序功能
});
}
/**
* 下载
*/
function download() {
// $('#tables').table2excel({ //这里要选择table标签 我这里是用id选择 也可$('table').table2excel()
// exclude:'.not', //不被导出表格行的class类
// name:'Excel', //文档名称
// filename:"农民用工管理台账-"+proName+".xlsx", //文件名称
// exclude_img:false, //是否导出图片
// exclude_links:false,//是否导出超链接
// exclude_inputs:false//是否导出input框中的内容
// });
var subId = $("#subId").val();
var teamId = $("#teamId").val();
var keyWord = $("#keyWord").val();
if(subId=='-1' || teamId==-1 || subId=='' || subId=='null' || subId==null){
subId = "";
}
if(teamId=='-1' || teamId==-1 || teamId=='' || teamId=='null' || teamId==null){
teamId = "";
}
var token = localStorage.getItem("token");
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/EmploymentManagement/exportEmploymentManagement?proId=" + proId + "&subId=" + subId+ "&teamId=" + teamId+ "&keyWord=" + keyWord+ "&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 = "农民用工管理台账-"+proName+".xlsx"; // 文件名
}else {
layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
a.click()
window.URL.revokeObjectURL(url)
};
xhr.send();
}
function getPro(proId) {
$("#proId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/noSignalTeamRecords/getPro',
data: {},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '<option selected value="-1">请选择工程</option>';
for(var i = 0; i < data.length; i++) {
if(proId == data[i].id) {
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
} else {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
$("#proId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
function getTeam(proId,teamId) {
$("#teamId").empty();
$.ajax({
type: 'POST',
// url: ctxPath + '/noSignalTeamRecords/getTeam',
url: ctxPath + '/wagesGrant/getTeam',
data: {
id: proId
},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '<option selected value="-1">请选择班组</option>';
for(var i = 0; i < data.length; i++) {
if(teamId == data[i].id) {
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
} else {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
$("#teamId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
function getSubName(proId,subId) {
$("#subId").empty();
$.ajax({
type: 'POST',
// url: ctxPath + '/noSignalTeamRecords/getTeam',
url: ctxPath + '/wagesGrant/getSubName',
data: {
id: proId
},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '<option selected value="-1">请选择分包商</option>';
for(var i = 0; i < data.length; i++) {
if(subId == data[i].id) {
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
} else {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
$("#subId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
/**
* 获得当前时间 yyyy-MM-dd
* @returns {string}
*/
function getNowTime() {
var time = new Date();
var year = time.getFullYear();
var month = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1);
var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate();
return year + "-" + month + "-" + day;
}
//设置弹窗关闭
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.location.reload();
}
function display() {
$("#import").css("display","none");
$("#addBtn").css("display","none");
}