HnRealNameBmwWeb/js/work/person/wagesManage/uploadPayrollList.js

428 lines
15 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;
$(function () {
layui.use(['form','layer'], function () {
var layer = layui.layer;
var form = layui.form;
form.render();
form.verify();
getOrg(form);
var orgId = $("#orgId").val();
getPro(form, orgId);
form.on('select(orgId)', function (data) {
getPro(form, data.value);
});
});
pers = checkPermission();
init();
$("#searchBt").click(function () {
example.ajax.reload();
});
$("#payrollImport").click(function(){
payrollImportFrom();
});
$("#TemplateDownload").click(function(){
down();
});
});
function init() {
example =
$('#dt-table').DataTable({
"sort": false,
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/uploadPayroll",
"type": "get",
"data": function (d) {
d.keyWord = $("#keyword").val();
d.companyId = $("#orgId").val();
d.proId = $("#proId").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);
}
}
},
"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' );
}
});
},
"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: '40px',
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "companyName"},
{"data": "proName"},
{"data": "name"},
{"data": "creator"},
{"data": "createTime"},
{"data": "peopleNum"},
{"data": "salaryTotal"},
{"data": "remark"},
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var isPush = row['isPush'];
var html = '';
if(isPush == '0'){
html = '<span style="color: #ff0000">未提交</span>';
}else if(isPush == '1'){
html = '<span style="color: green">提交成功</span>';
}else if(isPush == '2'){
html = '<span style="color: red">提交失败</span>';
}
return html;
}
},
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var isHandle = row['isHandle'];
var html = '';
if(isHandle == '0'){
html = '<span style="color: #ff0000">未提交</span>';
}else if(isHandle == '1'){
html = '<span style="color: #00B83F">提交成功</span>';
}else if(isHandle == '2'){
html = '<span style="color: #ff0000">提交失败</span>';
}else if(isHandle == '3'){
html = '<span style="color: #FF7F50">等待银行授权</span>';
}else if(isHandle == '4'){
html = '<span style="color: #FF7F50">银行处理中</span>';
}else if(isHandle == '5'){
html = '<span style="color: #00B83F">发放成功</span>';
}else if(isHandle == '6'){
html = '<span style="color: #ff0000">发放失败</span>';
}else if(isHandle == '7'){
html = '<span style="color: #ff0000">无效数据</span>';
}else if(isHandle == '8'){
html = '<span style="color: #ff0000">异常数据</span>';
}else if(isHandle == '9'){
html = '<span style="color: #ff0000">异常,未知状态</span>';
}
return html;
}
},
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var isPush = row['isPush'];
var submitBatchNo = row['submitBatchNo'];
var html = '';
if(isPush == '0'){
html += checkView(submitBatchNo,"", pers);
html += checkUpd(submitBatchNo,"", pers);
html += buttonDel(submitBatchNo, "", pers);
html += checkSub(submitBatchNo,"", pers);
}else if(isPush == '1'){
html += checkView(submitBatchNo,"", pers);
}else{
html += checkView(submitBatchNo,"", pers);
html += checkUpd(submitBatchNo,"", pers);
html += buttonDel(submitBatchNo, "", pers);
html += checkSub(submitBatchNo,"", pers);
}
return html;
}
},
],
"order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能
});
}
// 提交人社厅
function checkSub(submitBatchNo, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='提交人社厅' onclick='submitSub(\""+submitBatchNo+"\")' ><i class='layui-icon'>&#xe67c;</i></button>");
return btn.prop("outerHTML");
}
// 查看
function checkView(submitBatchNo, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='工资册查看' onclick='view(\""+submitBatchNo+"\")'><i class='layui-icon'>&#xe63c;</i></button>");
return btn.prop("outerHTML");
}
// 下载模板
function down() {
window.location.href = ctxPath + "/download/download?filename=工资册导入模板.xlsx"
}
// 删除按钮
function buttonDel(submitBatchNo, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='del(\"" + submitBatchNo +"\")'><i class='layui-icon'>&#xe640;</i></button>");
return btn.prop("outerHTML");
}
/**
* 提交人社厅
* */
function submitSub(submitBatchNo) {
var data ={"submitBatchNo" : submitBatchNo};
layer.confirm("确定提交吗?", function () {
$.ajax({
type: 'post',
url: ctxPath + '/wagesPush/selectWagesPushList',
data: {
submitBatchNo:submitBatchNo
},
dataType: 'json',
success: function (data) {
if (data.resMsg == "success") {
layer.alert(data.obj, {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg('提交失败', {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
/**
* 删除工资册
* */
function del(submitBatchNo) {
var data ={"submitBatchNo" : submitBatchNo};
layer.confirm("确定删除吗?", function () {
$.ajax({
type: 'post',
url: ctxPath + '/uploadPayroll/deletePayroll',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
dataType: 'json',
success: function (data) {
if (data.resMsg == "删除成功") {
layer.alert('删除成功', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg('删除失败', {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
//查看
function view(submitBatchNo){
localStorage.setItem("submitBatchNo", submitBatchNo);
var height = '85%';
var width = '85%';
var index = layer.open({
title: ['工资卡见证','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'uploadGeneratePayrollView.html',
area: [width, height],
maxmin: false,
btn: ['关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
},
btn2: function (index, layero) {
}
});
}
//修改
function checkUpd(submitBatchNo, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='工资册修改' onclick='upd(\""+submitBatchNo+"\")'><i class='layui-icon'>&#xe642;</i></button>");
return btn.prop("outerHTML");
}
function upd(submitBatchNo){
localStorage.setItem("submitBatchNo", submitBatchNo);
var height = '80%';
var width = '80%';
var index = layer.open({
title: ['工资册修改','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'uploadGeneratePayrollUpd.html',
area: [width, height],
maxmin: false,
btn: ['确定', '关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
},
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 changePro(value) {
if (value == 0) {
getProject(null);
} else {
getProject(value);
}
}
/**
* 获取分公司
* */
function getCompanys(form) {
$("#orgId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/users/getOrgInfo',
data: {},
dataType: 'json',
success: function (data) {
var str = '<option value="">请选择分公司</option>';
for (var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].orgId + '\'>' + data[i].companyName + '</option>';
}
$("#orgId").html(str);
form.render();
}
})
}
/**
* 获取工程
* */
function getProject(form,orgId) {
$("#proId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/users/getProInfo',
data: {
"orgId": orgId
},
dataType: 'json',
success: function (data) {
var str = '';
str = '<option value="">请选择工程</option>';
for (var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].proId + '\'>' + data[i].proName + '</option>';
}
$("#proId").html(str);
form.render();
}
})
}
//工资册导入
function payrollImportFrom(){
var height = '585px';
var width = '675px';
var index = layer.open({
title: ['工资册导入','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'uploadPayRollImportFrom.html',
area: [width, height],
maxmin: false,
btn: ["确定","取消"],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
},
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) {
}
});
}