hn_cloud_web/smz-web/js/work/uploadResults/uploadResultsAddForm.js

407 lines
14 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 name="";
var idNumber="";
var certificateName="";
var isUpload = false;
var form;
var layer;
$(function () {
layui.use(['form', 'laydate','upload'], function () {
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
laydate = layui.laydate;
layer=layui.layer;
var upload = layui.upload;
form.render();
form.verify({
});
// 年月选择器
laydate.render({
elem: '#month',
type: 'month',
max:getNowTime()
});
// getProForSalary();
// getSubForSalary();
$(document).ready(function() {
var isup=$("#isupdate").val();
if(isup==0){
getProForSalary(); // 初始化时加载工程下拉列表
}
});
form.on('select(proId)', function(data){
console.log(data,"data")
getSubForSalary(data.value);
})
//getAllPersonList(form);
document.getElementById('nextButton').addEventListener('click', function() {
//判断 月份、工程、分包、备注是否填写
if ($("#month").val()==""){
layer.msg("请选择月份!", {icon: 2, time: 2000});
return false;
}else if ($("#proId").val()==""){
layer.msg("请选择工程!", {icon: 2, time: 2000});
return false;
}else if ($("#subId").val()==""){
layer.msg("请选择分包!", {icon: 2, time: 2000});
return false;
} else if ($("#remark").val()==""){
layer.msg("请填写备注!", {icon: 2, time: 2000});
return false;
}
document.getElementById('div1').style.display = 'none';
document.getElementById('div2').style.display = 'block';
});
document.getElementById('prevButton').addEventListener('click', function() {
document.getElementById('div2').style.display = 'none';
document.getElementById('div1').style.display = 'block';
});
document.getElementById('submitReword').addEventListener('click', function() {
var excelFileAttenname = $("#excelFileAtten").val();
var excelFileALLname = $("#excelFileALL").val();
if(excelFileAttenname==null|| excelFileAttenname == "") {
layer.msg("请上传Excel表格!");
return;
}
if(!(excelFileAttenname.endsWith(".xls") || excelFileAttenname.endsWith(".xlsx") || excelFileAttenname.endsWith(".xlsm"))) {
layer.msg("请上传正确的Excel表格!");
$("#excelFileAtten").val("");
return;
}
if(excelFileALLname==null|| excelFileALLname == "") {
layer.msg("请上传Excel表格!");
return;
}
if(!(excelFileALLname.endsWith(".xls") || excelFileALLname.endsWith(".xlsx") || excelFileALLname.endsWith(".xlsm"))) {
layer.msg("请上传正确的Excel表格!");
$("#excelFileALL").val("");
return;
}
var ischeck=$("#isCheck").val();
if(ischeck==0){
layer.msg("请点击 开始对比 ")
return;
}
updateReword("1");
});
document.getElementById('saveReword').addEventListener('click', function() {
var excelFileAttenname = $("#excelFileAtten").val();
var excelFileALLname = $("#excelFileALL").val();
if(excelFileAttenname==null|| excelFileAttenname == "") {
layer.msg("请上传Excel表格!");
return;
}
if(!(excelFileAttenname.endsWith(".xlsx"))) {
layer.msg("请上传正确的Excel表格!");
$("#excelFileAtten").val("");
return;
}
if(excelFileALLname==null|| excelFileALLname == "") {
layer.msg("请上传Excel表格!");
return;
}
if(!(excelFileALLname.endsWith(".xlsx"))) {
layer.msg("请上传正确的Excel表格!");
$("#excelFileALL").val("");
return;
}
var ischeck=$("#isCheck").val();
if(ischeck==0){
layer.msg("请点击 开始对比 ")
return;
}
updateReword("0");
});
});
$("#importAtten").click(function(){
importExcel();
});
$("#jieguo").click(function(){
jieguo();
});
});
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 setData(rewordNum){
$("#rewordNum").val(rewordNum)
}
function setData2(rewordNum){
console.log(rewordNum,"setData2")
$("#rewordNum").val(rewordNum);
$("#isupdate").val("1");
$.ajax({
type: 'post',
url: smz_ht_url + '/salaryCheck/getDetailForUpadte',
data: {rewordNum:rewordNum},
async: false,
success: function (data) {
getSubForSalary("");
$("#month").val(data.data.month)
$("#proId").val(data.data.proId)
$("#subId").val(data.data.subId)
$("#remark").val(data.data.checkRemark)
form.render();
},
error: function (err) {
console.log("出错:", err);
}
});
}
function updateReword(state){
var rewordNum=$("#rewordNum").val();
$.ajax({
type: 'post',
url: smz_ht_url + '/salaryCheck/updateReword',
data: {state:state,rewordNum:rewordNum},
async: false,
success: function (data) {
console.log(data,"updateReword")
var isupdate=$("#isupdate").val();
if(isupdate==1){
window.parent.init();
}
if(state==1){
openResult();
}else{
reloading();
}
},
error: function (err) {
console.log("出错:", err);
}
});
}
function getProForSalary() {
$("#proId").html("");
$.ajax({
type: 'post',
url: smz_ht_url + '/salaryCheck/getPros',
data: {},
async: false,
success: function (data) {
var html = '<option value="">--请选择--</option>';
for (var i = 0; i < data.data.length; i++) {
html += '<option value="' + data.data[i].proId + '">' + data.data[i].proName + '</option>';
}
$("#proId").html(html);
form.render();
// 绑定事件监听器以在用户选择工程时加载分包商
$("#proId").change(function() {
var selectedProId = $(this).val(); // 获取选中的工程ID
if (selectedProId) { // 如果选择了工程
getSubForSalary(selectedProId); // 加载分包商
} else {
$("#subId").html(""); // 如果没有选择工程,则清空分包商下拉列表
}
});
},
error: function (err) {
console.log("获取工程信息下拉列表出错:", err);
}
});
}
function getSubForSalary(proId) {
$("#subId").html("");
$.ajax({
type: 'post',
url: smz_ht_url + '/salaryCheck/getSubs',
async: false,
data: {proId:proId},
success: function (data) {
var html = '';
for (var i = 0; i < data.data.length; i++) {
html += '<option value="' + data.data[i].subId + '">' + data.data[i].subName + '</option>';
}
$("#subId").html(html);
form.render();
},
error: function (err) {
console.log("获取分包商信息下拉列表出错:", err);
}
});
}
//导入excel文件
function importExcel(){
$("#isCheck").val("0");
var formData = new FormData($('form')[0]);
var excelFileAttenname = $("#excelFileAtten").val();
var excelFileALLname = $("#excelFileALL").val();
if(excelFileAttenname==null|| excelFileAttenname == "") {
layer.msg("请上传Excel表格!");
return;
}
if(!(excelFileAttenname.endsWith(".xlsx"))) {
layer.msg("请上传正确的Excel表格!");
$("#excelFileAtten").val("");
return;
}
if(excelFileALLname==null|| excelFileALLname == "") {
layer.msg("请上传Excel表格!xlsx格式");
return;
}
if(!(excelFileALLname.endsWith(".xlsx"))) {
layer.msg("请上传正确的Excel表格!xlsx格式");
$("#excelFileALL").val("");
return;
}
var proId=$("#proId").val();
var month=$("#month").val();
var subId=$("#subId").val();
var remark=$("#remark").val();
var rewordNum=$("#rewordNum").val();
formData.append("file1", $("#excelFileALL")[0].files[0]);
formData.append("file2", $("#excelFileAtten")[0].files[0]);
formData.append("month", month);
formData.append("proId", proId);
formData.append("subId", subId);
formData.append("remark", remark);
formData.append("rewordNum", rewordNum);
var idx = layer.msg('正在处理数据,请稍等...', {
icon: 16
,shade: 0.01
,time:'0'
});
$.ajax({
url : smz_ht_url + "/salaryCheck/importExcelALL",
type : 'POST',
data : formData,
timeout:20000,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
success : function(data) {
layer.close(idx);
if(data.code==200){
$("#rewordNum").val(data.rewordNum);
$("#countNum").html("异常数据"+data.count+"条")
layer.alert(data.msg, {icon: 1});
$("#jieguo").html("结果下载");
$("#isCheck").val("1");
}else{
layer.alert(data.msg, {icon: 2});
}
// example.ajax.reload(null, false); // 刷新页面
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
console.log(JSON.stringify(errorThrown));
layer.close(idx);
}
});
}
function openResult(){
localStorage.setItem("submitrewordNum",$("#rewordNum").val());
var height = '97.5%';
var width = '97.5%';
var index = layer.open({
title: '结果',
type: 2,
closeBtn: 0,
content: 'submitReword.html',
area: [width, height],
maxmin: false,
});
}
/**
* 打开比对说明页面
*/
function ruleView(){
localStorage.setItem("uprewordNum",$("#rewordNum").val());
var height = '75%';
var width = '75%';
var index = layer.open({
title: '比对说明',
type: 2,
content: 'uploadResultsComparisonExplanation.html',
area: [width, height],
maxmin: false,
// btn:['确定','关闭'],
// yes:function(index,layero){
// var formSubmit=layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[2];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// submited.click();
// example.ajax.reload(); // 刷新页面
// },
// btn2:function(index,layero){
//
// }
});
}
function jieguo(){
var token = localStorage.getItem("smz-token");
let loadingMsg = layer.msg("请稍等...", {icon: 16, scrollbar: false, time: 0});
let url = smz_ht_url + "/salaryCheck/exportCheck?rewordNum=" + $('#rewordNum').val().trim()+"&token="+token ;
let xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
let blob = this.response;
var a = document.createElement("a");
let url = window.URL.createObjectURL(blob);
a.href = url;
a.download = "比对结果.xlsx"; // 文件名
a.click();
window.URL.revokeObjectURL(url)
}else {
}
};
xhr.send();
}
/**
* 去下载
* 跳转考勤统计页面
*/
function goDownload(){
var height = '97.5%';
var width = '97.5%';
var index = parent.layer.open({
title: '考勤统计',
type: 2,
content: '../../../pages/work/person/faceContrastNew/faceContrast.html',
area: [width, height],
maxmin: false,
});
}
function resultsView(){
var ischeck=$("#isCheck").val();
if(ischeck==0){
layer.msg("请点击 开始对比 ")
return;
}
localStorage.setItem("uprewordNum",$("#rewordNum").val());
var height = '97.5%';
var width = '97.5%';
var index = parent.layer.open({
title: '考勤统计',
type: 2,
content: 'uploadResultsViewAbnormal.html',
area: [width, height],
maxmin: false,
});
}
/**
* 模版下载
*/
function templateDownload() {
window.location.href = smz_ht_url + "/download/download?filename=工资支付表、劳动报酬确认单、传盘文件模版(新).xlsx";
}
//设置弹窗关闭
function reloading() {
parent.layer.closeAll();
layer.closeAll();
window.parent.example.ajax.reload(null, false); // 刷新页面
}