hn_cloud_web/smz-web/js/work/person/wagesManage/generatePayroll.js

249 lines
7.7 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 token = localStorage.getItem("smz-token");
var num = 0;
$(function () {
layui.use(['laydate','form','layer'], function () {
var layer = layui.layer;
var laydate = layui.laydate;
var form = layui.form;
form.render();
form.verify();
getOrg(form);
var orgId = $("#orgId").val();
getProject(form, orgId);
form.on('select(orgId)', function (data) {
getProject(form, data.value);
});
pers = checkPermission();
var today = getNowTime(); // 假设你的 getNowTime() 返回 'yyyy-MM-dd' 格式
$('#test6').val(today + ' - ' + today);
laydate.render({
elem: '#test6',
range: true,
min: $('#hidMinListDate').val(),
max: $('#hidMaxListDate').val()
});
$("#searchBt").click(function () {
var dateRange = $.trim($('#test6').val());
if (!dateRange) {
return layer.msg('请选择日期范围', { icon: 2, time: 2000 });
}
init();
});
$("#generateData").click(function () {
if(num != 0){
generatePayrollForm();
}else{
layer.msg('无人员数据');
}
});
$("#downInformation").click(function () {
downLoad();
});
});
});
function init() {
example =
$('#dt-table').DataTable({
"sort": false,
"destroy": true,
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页
"language": {
"url": "../../../../js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": smz_ht_url + "/GenetatePayroll/getPayrollDetails",
"type": "post",
"data": function (d) {
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
d.companyId = $("#orgId").val();
d.proId = $("#proId").val();
d.startTime = startTime;
d.endTime = endTime;
},
"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 = smz_ht_url + '/login.html';
});
} else if (code == 403) {
console.log("未授权:" + message);
layer.msg('未授权');
} else if (code == 500) {
console.log('系统错误:' + message);
}
}
},
"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) {
num ++;
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "personName"},
{"data": "idNumber"},
{"data": "bankNumber"},
{"data": "bankName"},
{"data": "workType"},
{"data": "salaryCalcType"},
{"data": "salaryCalcSta"},
{"data": "workDays"},
{"data": "wageCriterion"},
],
"order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能
});
}
function generatePayrollForm(){
var companyId = $("#orgId").val();
var proId = $("#proId").val();
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
localStorage.setItem("companyId", companyId);
localStorage.setItem("proId", proId);
localStorage.setItem("startTime", startTime);
localStorage.setItem("endTime", endTime);
var height = '600px';
var width = '1000px';
var index = layer.open({
title: ['填写信息生成工资册','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'generatePayrollForm.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: smz_ht_url + '/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: smz_ht_url + '/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 getNowTime() {
var nowDate = new Date();
var year = nowDate.getFullYear();
var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1)
: nowDate.getMonth() + 1;
var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
var dateStr = year + "-" + month + "-" + day;
return dateStr;
}
//下载导出
function downLoad(id){
var orgId = $("#orgId").val();
var proId = $("#proId").val();
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
window.location.href = smz_ht_url + "/export/exportPayroll?orgId="+orgId+ "&proId=" + proId+ "&startTime=" + startTime + "&endTime=" + endTime+ "&token=" + token ;
}