hn_cloud_web/smz-web/js/work/ownPerson/workerDepartFaceContrast.js

455 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, form, laydate
$(function () {
initTrees();
layui.use(['layer', 'laydate', 'form'], function () {
layer = layui.layer
form = layui.form
laydate = layui.laydate
getAffiliatedUnit(form);
getOWNryxz();
getPro(form);
pers = checkPermission();
init();
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 });
}
example.ajax.reload();
});
});
});
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"language": {
"url": "../../../js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": smz_ht_url + "/WorkerDepartFaceContrast",
"type": "get",
"data": function (d) {
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
d.ssdw = $("#ssdw").val();
d.ygdw = $("#orgId").val();
d.rylx = $("#rylx").val();
d.state = $("#state").val();
d.proName = $("#proName").val();
d.name = $("#name").val();
d.startTime = startTime;
d.endTime = endTime;
},
"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 = smz_ht_url + '/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(e.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: '5%',
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "ssdw",width: '6%'},
{"data": "rylx",width: '8%'},
{"data": "ygdw",width: '6%'},
{"data": "proName",width: '10%'},
{"data": "name",width: '10%'},
{"data": "idNumber",width: '10%'},
{"data": "state",width: '10%'},
{"data": "attendanceDays","orderable": false,width: '5%'},
{"data": "absenceDays","orderable": false,width: '5%'},
{
"data": "",
"defaultContent": "",width: '5%',
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var proName = row['proName'];
var name = row['name'];
var html = '';
html += buttonView(id,proName, name,"", pers);
return html;
}
},
],
"order": [[1, "desc"], [2, "desc"], [3, "desc"], [4, "desc"], [5, "desc"], [6, "desc"], [7, "desc"]] //在栏目列上显示排序功能
});
}
function faceBtn() {
/*var height = '600px';
var width = '1200px';*/
layer.open({
title: ['人脸照片信息变更', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'workerDepartFaceContrastForm.html',
area: ['75%', '75%'],
maxmin: false,
/*yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[2];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
// example.ajax.reload(); // 刷新页面
},*/
});
}
/**
* 查看
* */
function view(id,proName,name) {
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
localStorage.setItem("startTime",startTime);
localStorage.setItem("endTime",endTime);
localStorage.setItem("id", id);
localStorage.setItem("proName", proName);
localStorage.setItem("name", name);
var index = layer.open({
title: false,
type: 2,
content: 'workerDepartFaceContrastDetail.html',
area: ['97.5%', '97.5%'],
maxmin: false
});
}
// 详情按钮
function buttonView(id,proName,name, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='详情' onclick='view(\"" + id + "\",\"" + proName + "\",\"" + name + "\")' style='background-color: transparent;color: #009688;'>详情</button>");
return btn.prop("outerHTML");
}
/**
* 导出数据
*/
function exportBtn() {
var token = localStorage.getItem("smz-token");
var ssdw = $("#ssdw").val();
var ygdw = $("#orgId").val();
var rylx = $("#rylx").val();
var state = $("#state").val();
var proName = $("#proName").val();
var name = $("#name").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var index = top.layer.msg('数据较多,请稍等。。。', {
icon: 4,
time: 5000 //2秒关闭如果不配置默认是3秒
});
/*$.ajax({
type: 'get',
url: smz_ht_url + '/WorkerDepartFaceContrast/exportWorkerDepartFaceContrast',
data: {
ssdw: ssdw,
ygdw: ygdw,
rylx: rylx,
state: state,
proName: proName,
name: name,
startTime: startTime,
endTime: endTime,
token: token
},
async: false,
success: function (data) {
console.log("成功啦");
},
error: function (err) {
}
});*/
window.location.href = smz_ht_url + "/WorkerDepartFaceContrast/exportWorkerDepartFaceContrast?ssdw=" + ssdw + "&ygdw=" + ygdw +"&rylx=" + rylx +
"&state=" + state + "&proName=" + proName + "&name=" + name + "&startTime=" + startTime + "&endTime=" + endTime + "&token=" + token;
// top.layer.close(index);
}
/**
* 下载
*/
function downloadWorks() {
var token = localStorage.getItem("smz-token");
var name = $("#name").val();
var teamName = $("#teamName").val();
var subName = $("#subName").val();
var proId = $("#proId").val();
var status = $("#status").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = smz_ht_url + "/faceContrast/exportWorkerAttendanceDownload?name=" + name + "&teamName=" + teamName+ "&subName=" + subName+ "&proId=" + proId+ "&status=" + status+ "&startTime=" + startTime+"&endTime=" + endTime+ "&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 = "施工人员考勤信息-"+startTime+"~"+endTime+".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 + "-" + day;
}
/**
* 获取当月第一天
* @returns {string}
*/
function getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var year = date.getFullYear();
var month = date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return year + "-" + month + "-" + day;
}
function getPro(form) {
$("#proId").empty();
$.ajax({
type: 'post',
url: smz_ht_url + '/users/getProInfo',
data: {
},
async: false,
success: function (data) {
var html = '<option value="">--请选择工程--</option>';
for (var i = 0; i < data.length; i++) {
html += '<option value="' + data[i].proId + '">' + data[i].proName + '</option>';
}
$("#proId").html(html);
form.render();
},
error: function (err) {
console.log("获取工程下拉列表出错:", err);
}
});
}
function initTrees() {
$.ajax({
type: 'POST',
headers : {
"token" : token
},
url: smz_ht_url + '/org/getCompanyTreeListOWN',
data: {},
dataType: 'json',
success: function (data) {
$.fn.zTree.init($("#orgTree"),{
view:{
dblClickExpand:false,
selectedMulti:false,
nameIsHTML:true
},
data:{
simpleData:{
enable: true
}
},
callback:{
onClick:clickRoles
}
}, data.obj);
},
error: function (e) {
console.log(e.resMsg);
},
});
}
function clickRoles(e, treeId, treeNode) {
//设置父节点不能被选择
if(treeNode.id =="x"){
var check = (treeNode);
if(check){
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c="";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";//获取name值
n += nodes[i].id + ",";//获取id值
o += nodes[i].other + ",";//获取自定义值
c += nodes[i].companyId + ",";
var pathNodes=nodes[i].getPath();
for(var y=0;y<pathNodes.length;y++){
p+=pathNodes[y].name+"/";//获取path/name值
}
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
if (n.length > 0 ) n = n.substring(0, n.length-1);
if (o.length > 0 ) o = o.substring(0, o.length-1);
if (p.length > 0 ) p = p.substring(0, p.length-1);
if (c.length > 0 ) c = c.substring(0, c.length-1);
$("#orgName").val(p);
$("#companyId").val(c);
$("#auForm input[name$='orgId']").prop("value",n);
hideRole(n,c);
}
}else{
if (treeNode.level !="1") {
layer.msg('请选择组织管理中的最后一级');
}else{
var check = (treeNode);
if(check){
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c="";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";//获取name值
n += nodes[i].id + ",";//获取id值
o += nodes[i].other + ",";//获取自定义值
c += nodes[i].companyId + ",";
var pathNodes=nodes[i].getPath();
for(var y=0;y<pathNodes.length;y++){
p+=pathNodes[y].name+"/";//获取path/name值
}
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
if (n.length > 0 ) n = n.substring(0, n.length-1);
if (o.length > 0 ) o = o.substring(0, o.length-1);
if (p.length > 0 ) p = p.substring(0, p.length-1);
if (c.length > 0 ) c = c.substring(0, c.length-1);
$("#orgName").val(p);
$("#companyId").val(c);
$("#auForm input[name$='orgId']").prop("value",n);
hideRole(n,c);
}
}
}
}
function loadCompanyInfo(n, c) { //分公司工程联动
var orgId = n;
}
function getOWNryxz() {
$("#rylx").empty();
$.ajax({
type: 'POST',
url: smz_ht_url + '/users/getOWNType',
data: {
type:"rylx"
},
dataType: 'json',
success: function (data) {
console.log(data)
var str = '<option value="">--请选择人员类型--</option>';
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].userId + '\'>' + data[i].userName + '</option>';
}
}
$("#rylx").append(str);
form.render(); //这里就是我们要渲染的地方了
}
})
}