HnRealNameBmwWeb/js/work/person/wagesManage/wagesGrantList.js

403 lines
16 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 layer = null;
var form = null;
var token = localStorage.getItem("token");
layui.use(['layer', 'laydate','form'], function () {
layer = layui.layer;
form = layui.form;
var laydate = layui.laydate;
laydate.render({
elem: '#monthTime',
type: 'month',
format: 'yyyy-MM',
});
$('#monthTime').val(getNowTime());
//查询工程
getProject(form);
//页面table
init();
pers = checkPermission();
$("#searchBt").click(function () {
example.ajax.reload();
});
form.on('select(proId)', function (data) {
//根据工程查询分包商
getSubsByProId($("#proId").val())
});
});
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
//表头固定
"fixedHeader": true,
"scrollX": "500px",
"scrollY": "650px",
"scrollCollapse": true,
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/wagesGrant",
"type": "get",
"data": function (d) {
d.proId = $("#proId").val();
d.subId=$("#subId").val();
d.keyWord = $("#keyWord").val();
var date = $("#monthTime").val();
date = date.split("-");
var year = date[0];
var month = date[1];
d.year =year;
d.month =month;
},
"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("<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>><'dt-table-length'l>",
"columns": [
{
width: '4%',
orderable: false, //用于取消排序的控件
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "proName","width":"10%"},
{"data": "teamName","width":"10%"},
{"data": "subName","width":"10%"},
{"data": "month","width":"8%","orderable": false,},
{"data": "seTime","width":"8%","orderable": false,},
{"data": "teamNum","width":"8%","orderable": false,},
{"data": "payNum","width":"8%","orderable": false,
"render": function (data, type, row,meta) {
var payNum = row['payNum'];
if(payNum==null||payNum=="null"){
payNum=0;
}
payNum = Number(payNum)
console.log("payNum="+payNum)
payNum = payNum.toFixed(2);
console.log("payNums="+payNum)
var id = "bcxj" + meta.row ;
var html = '';
html += "<input type='text' maxlength='8' id='" + id + "' value='" + payNum + "' readonly style='text-align: center;border: 0px;width: 100%; background-color: #F5F5F5;' />";
return html;
}
},
{"data": "","width":"8%","orderable": false,
"render": function (data, type, row) {
var payFlage = row['payFlage'];
var html = '';
if(payFlage==1){
html +="是"
}else{
html +="否"
}
return html;
}
},
{"data": "creName","width":"8%","orderable": false,},
{"data": "creTime","width":"8%"},
{
"data": "",
"width":"10%",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var year = row['year'];
var month = row['month'];
var proId = row['proId'];
var proName = row['proName'];
var teamId = row['teamId'];
var teamName = row['teamName'];
var seTime = row['seTime'];
var payFlage = row['payFlage'];
var html = '';
if(payFlage =="1"){
}else{
html += toBeFinished(id, "", pers);
html += buttonEdits(id,year,month,proId,proName,teamId,teamName,seTime, "sys:wagesGrant:update", pers);
}
html += buttonDel(id, "sys:wagesGrant:del", pers);
html += buttonView(id,year,month,proId,proName,teamId,teamName, seTime,"", pers);
html += buttonDownload(id,year,month,proId,proName,teamId,teamName,seTime, "sys:wagesGrant:download", pers);
return html;
}
}
],
"order": [[1, "desc"],[2, "desc"],[3, "desc"],[10, "desc"]] //在栏目列上显示排序功能
});
}
/**
* 确认
* */
function completedView(id){
layer.confirm("生成劳动报酬确认单已线下全部确认完成?", function () {
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: ctxPath + "/wagesGrant/updatePayForTeam", // 请求地址
data: {
"id": id
}, //获取提交的表单字段
success: function (data) {
console.log(data);
if (data.resMsg == "修改成功") {
layer.msg('修改成功', {icon: 1, time: 2000});
example.ajax.reload(); // 刷新页面
} else {
layer.msg(data.resMsg, {icon: 1, time: 2000});
example.ajax.reload(); // 刷新页面
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
})
}
/**
* 生产工资发放确认单
* */
function addWagesGrant() {
var height = '750px';
var width = '1650px';
var index = layer.open({
title: ['生成劳动报酬确认单', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'wagesGrantForm.html',
area: [width, height],
maxmin: false,
});
}
/**
* 编辑页面
*/
function edit(id,year,month ,proId ,proName,teamId,teamName,seTime) {
localStorage.setItem("year",year);
localStorage.setItem("month",month);
localStorage.setItem("proId",proId);
localStorage.setItem("proName",proName);
localStorage.setItem("teamId",teamId);
localStorage.setItem("teamName",teamName);
localStorage.setItem("seTime",seTime);
var height = '750px';
var width = '1650px';
var index = layer.open({
title: ['生成劳动报酬确认单修改', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'wagesGrantEditForm.html',
area: [width, height],
maxmin: false,
});
}
/**
* 查看
* */
function view(id,year,month ,proId ,proName,teamId,teamName,seTime) {
localStorage.setItem("id",id);
localStorage.setItem("year",year);
localStorage.setItem("month",month);
localStorage.setItem("proId",proId);
localStorage.setItem("proName",proName);
localStorage.setItem("teamId",teamId);
localStorage.setItem("teamName",teamName);
localStorage.setItem("seTime",seTime);
var height = '750px';
var width = '1650px';
var index = layer.open({
title: ['生成劳动报酬确认单查看', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'wagesGrantDetails.html',
area: [width, height],
maxmin: false,
});
}
/**
* 删除工程
* */
function del(id) {
layer.confirm("确定删除吗?", function () {
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: ctxPath + "/wagesGrant/deletePayForTeam", // 请求地址
data: {
"id": id
}, //获取提交的表单字段
success: function (data) {
console.log(data);
if (data.resMsg == "删除成功") {
layer.msg('删除成功', {icon: 1, time: 2000});
example.ajax.reload(); // 刷新页面
} else {
layer.msg(data.resMsg, {icon: 2, time: 3000});
example.ajax.reload(); // 刷新页面
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
})
}
//线下确认完成按钮
function toBeFinished(id, permission, pers){
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='线下确认完成' onclick='completedView(\"" + id + "\")'><i class='layui-icon'>&#xe679;</i></button>");
return btn.prop("outerHTML");
}
// 详情按钮
function buttonView(id,year,month ,proId ,proName,teamId ,teamName,seTime, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='详情' onclick='view(\"" + id + "\",\"" + year + "\",\"" + month + "\",\"" + proId + "\",\"" + proName + "\",\"" + teamId + "\",\"" + teamName + "\",\"" + seTime + "\")'><i class='layui-icon'>&#xe63c;</i></button>");
return btn.prop("outerHTML");
}
// 编辑按钮
function buttonEdits(id,year,month ,proId ,proName,teamId ,teamName,seTime,permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='编辑' onclick='edit(\"" + id + "\",\"" + year + "\",\"" + month + "\",\"" + proId + "\",\"" + proName + "\",\"" + teamId + "\",\"" + teamName + "\",\"" + seTime + "\")'><i class='layui-icon'>&#xe642;</i></button>");
return btn.prop("outerHTML");
}
// 删除按钮
function buttonDel(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='del(\"" + id + "\")'><i class='layui-icon'>&#xe640;</i></button>");
return btn.prop("outerHTML");
}
// 下载按钮
function buttonDownload(id,year,month,proId,proName,teamId,teamName,seTime, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='下载' onclick='templateDownload(\"" + id + "\",\"" + year + "\",\"" + month + "\",\"" + proId + "\",\"" + proName + "\",\"" + teamId + "\",\"" + teamName + "\",\"" + seTime + "\")'><i class='layui-icon'>&#xe61a;</i></button>");
return btn.prop("outerHTML");
}
function templateDownload(id,year,month ,proId ,proName,teamId,teamName,seTime){
var date = seTime.split("~");
var keyWord = $("#keyWord").val();
var startTime = date[0];
var endTime = date[1];
var token = localStorage.getItem("token");
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/wagesGrant/exportWagesGran?teamId=" + teamId + "&proId=" + proId+ "&year=" + year+ "&month=" + month+ "&startTime=" + startTime + "&endTime=" + endTime + "&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 + "项目"+ teamName + "班组" + year+ "年"+ month+"月劳动报酬确认单" + ".xlsx"; // 文件名
}else {
layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
a.click()
window.URL.revokeObjectURL(url)
};
xhr.send();
}
/**
* 获得当前时间 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 ;
}