var example = null;
var pers = null;
var isSelected = [];
var id = localStorage.getItem("id");
var year = localStorage.getItem("year");
var month = localStorage.getItem("month");
var proId = localStorage.getItem("proId");
var proName = localStorage.getItem("proName");
var teamId = localStorage.getItem("teamId");
var teamName = localStorage.getItem("teamName");
var subId = localStorage.getItem("subId");
var subName = localStorage.getItem("subName");
$(function () {
layui.use(['layer', 'laydate', 'form'], function () {
var layer = layui.layer;
var laydate = layui.laydate;
var form = layui.form;
$("#years").html(year+"年"+month+"月");
$("#proName").html("工程名称:"+proName);
$("#subName").html(subName+" "+teamName);
init();
pers = checkPermission();
$("#searchBt").click(function () {
example.ajax.reload();
});
$("#download").click(function () {
var token = localStorage.getItem("token");
var keyWord = $("#keyWord").val();
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/wagesInfoConvey/exportWagesConvey?id=" + id + "&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;
console.log(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();
});
});
})
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 + "/wagesInfoConvey/getTeamConveyByTeamPro",
"type": "get",
"data": function (d) {
d.id = id;
d.keyWord = $("#keyWord").val();
},
"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);
}
}
},
"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": "proNum",width: '8%'},
{"data": "subNum",width: '8%'},
{"data": "purchaseNum",width: '5%'},
{"data": "contractNum",width: '5%'},
{"data": "year",width: '5%'},
{"data": "month",width: '8%'},
{"data": "teamMembers",width: '8%'},
{"data": "idNumber",width: '5%'},
{"data": "teamName",width: '5%'},
{"data": "postName",width: '5%'},
{"data": "checkNum",width: '8%'},
{"data": "payNum",width: '8%'},
{"data": "withhold",width: '5%'},
{"data": "realPay",width: '5%'},
{"data": "bankCardNum",width: '5%'},
],
"order": [ [1, "asc"]] //在栏目列上显示排序功能
});
}
function getNums(that) {
// that.value = that.value.replace(/^0\.[5]$|^[1]d*$/,'');
var str = that.value;
if(str =="0.5" || str ==0.5){
that.value = str;
}else if(str =="1" || str ==1){
that.value = str;
}else{
that.value = "";
}
}
/**
* 详情
* */
function detailsView(id) {
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: ctxPath + '/noSignalTeamApply/getNoSignalTeamApplyById',
data: {"id": id},
dataType: 'json',
success: function (data) {
var height = '750px';
var width = '850px';
var index = layer.open({
title: ['无信号班组申请web端打卡', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'noSignalTeamApplyForm.html',
area: [width, height],
maxmin: false,
btn: ['确定', '关闭'],
success: function (layero, index) {
var myIframe = window[layero.find('iframe')[0]['name']];
myIframe.setData(data);
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
console.log(formSubmit.find('button')[2]);
var submited = formSubmit.find('button')[2];
submited.click();
}
});
}
})
}
// 详情
function detailsBtn(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("");
return btn.prop("outerHTML");
}
//考勤打卡
function recordsBt(){
var flagWorkHours = 1;
var flagOverHours = 1;
var flagRemark = 1;
var startTime = $("#startTime").val();
var stopTime = $("#stopTime").val();
var time = $("#attendanceDate").val();
var num = $("#num").text();
var proId = $("#proId").val();
var id = $("#teamId").val();
if(num == "已选0人"){
parent.layer.msg("请选择勾选需要补卡的人员", {icon: 2, time: 2000});
return;
}
if((time < startTime) || (time > stopTime)){
parent.layer.msg("请选择" + startTime + "~" + stopTime + "之间的日期", {icon: 2, time: 2000});
return;
}
var teamId = $("#id").val();
var attendanceNum = $("#num").text().split("选")[1].split("人")[0];
var attendanceDate = $("#attendanceDate").val();
var names = [];
var idNumber = []; //考勤人员身份证 id_number
var workHourss = []; //工作时长
var overHourss = []; //加班时长
var remarks = []; //备注
var oTable = $('#dt-table').dataTable();
var rowcollection = oTable.$(".checkall:checked", {"page": "all"});
rowcollection.each(function (index, elem) {
var name = $(elem).parent().next().next().text();
var workHours = $(elem).parent().next().next().next().next().children().val();
if(workHours == "" || workHours == null){
flagWorkHours = 2;
}
var overHours = $(elem).parent().next().next().next().next().next().children().val();
if(overHours == "" || overHours == null){
flagOverHours = 2;
}
var remark = $(elem).parent().next().next().next().next().next().next().children().val();
if(remark == "" || remark == null){
flagRemark = 2;
}
var checkbox_value = $(elem).val();
var strArr = checkbox_value.split(",");
names.push(name);
idNumber.push(strArr[0]);
workHourss.push(workHours);
overHourss.push(overHours);
remarks.push(remark);
});
if(flagWorkHours == 2){
parent.layer.msg("请填写上班时长", {icon: 2, time: 2000});
return;
}
if(flagOverHours == 2){
parent.layer.msg("请填写加班时长", {icon: 2, time: 2000});
return;
}
if(flagRemark == 2){
parent.layer.msg("请填写备注", {icon: 2, time: 2000});
return;
}
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: ctxPath + "/noSignalTeamRecords/clockIn", // 请求地址
data: {
"proId": proId,
"fcTeamId": id,
"name": names,
"teamId": teamId,
"attendanceNum": attendanceNum,
"attendanceDate": attendanceDate,
"idNumber": idNumber.toString(),
"workHours":workHourss.toString(),
"overHours":overHourss.toString(),
"remarks":remarks.toString(),
}, //获取提交的表单字段
success: function (data) {
if (data.obj == "打卡成功") {
parent.layer.msg('打卡成功', {icon: 1, time: 2000});
setTimeout("reloading()", 2100);
} else if (data.obj == "打卡失败") {
parent.layer.msg('打卡失败', {icon: 2, time: 2000});
} else {
parent.layer.msg(data, {icon: 2, time: 2000});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
//附件查看
function fileBt(){
$.ajax({
type: 'POST',
url: ctxPath + '/noSignalTeamRecords/getFile',
data: {
teamId: teamId
},
dataType: 'json',
success: function (data) {
var index = layer.open({
title: ['附件查看', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'noSignalTeamRecordsFile.html',
area: ["80%", "90%"],
maxmin: false,
btn: ['确定', '取消'],
success: function (layero, index) {
var myIframe = window[layero.find('iframe')[0]['name']];
myIframe.initFile(data,teamId);
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
console.log(formSubmit.find('button')[1]);
var submited = formSubmit.find('button')[1];
submited.click();
}
});
}
})
}
function showCheck(data){
var num = 0;
var checkall = $(".checkall");
for(var i = 0;i < checkall.length;i++){
var flag = checkall[i].checked;
if(flag){
num++;
}
}
$("#num").text("已选" + num + "人");
}
function getPro(proId) {
$("#proId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/noSignalTeamRecords/getPro',
data: {},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '';
for(var i = 0; i < data.length; i++) {
if(proId == data[i].id) {
str += '';
} else {
str += '';
}
}
$("#proId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
function getTeam(proId,teamId) {
$("#teamId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/noSignalTeamRecords/getTeam',
data: {
id: proId
},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '';
for(var i = 0; i < data.length; i++) {
if(teamId == data[i].id) {
str += '';
} else {
str += '';
}
}
$("#teamId").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");
}