czl-web/js/personnelPool/dome.js

313 lines
9.5 KiB
JavaScript
Raw Normal View History

2025-05-20 13:54:27 +08:00
var startWorkFiles = {};
var table
var form
var upload
var example = null;
var pers = null;
// 设置全局变量以保存选中行信息
let ids = new Array();
$(function () {
layui.use(['layer','form','table','upload'], function () {
var layer = layui.layer;
form = layui.form;
table = layui.table;
upload = layui.upload;
init(table,form,'');
var uploadIns = upload.render({
elem: '#importBt', //绑定元素
url: ctxPath + "/ma/sendoff/import",
accept: 'file', //允许上传的文件类型
exts: 'xlsx|xls',
auto: true, //是否自动上传
multiple: false, //是否支持多文件上传
choose: function(obj){ //选择文件后的回调函数
},
before:function(){
layer.msg('数据导入中,请稍等。。。', {
icon: 4
});
this.data = {
"fileType": "sendoff"
};
},
done: function(res, index, upload){ //上传完毕的回调函数
layer.closeAll("loading");
if (res.code == 200){
layer.msg('导入成功', {icon: 1, time: 2000},function () {
table.reload('layuiTable');
});
} else {
layer.msg(res.msg,{icon:2})
}
}
,error: function(){
layer.closeAll("loading");
console.log("请求异常回调");
}
});
$("#searchBt").click(function () {
var keyWord = $("#keyWord").val();
// var title = $("#title").val();
init(table,form,keyWord)
});
$("#resetBt").click(function () {
var keyWord = ''
$("#keyWord").val("");
// $("#title").val("");
layui.form.render('select');
init(table,form,keyWord)
});
});
pers = checkPermission();
})
function init(table,form,keyWord) {
table.render({
elem: '#layuiTable'
,url: ctxPath + "/ma/sendoff/list?keyWord="+keyWord
,method:'post'
,cols: [[
{type: 'checkbox', fixed: 'left'}
, { field: 'ID', title: '序号',width:'3%', sort: true, type:'numbers'}
, { field: 'cxPzTime', title: '冲销凭证日期',align:'center'}
, { field: 'cxPzCode', title: '冲销凭证号',align:'center'}
, { field: 'maCode', title: '物料号',align:'center'}
, { field: 'maName', title: '物料名称',align:'center'}
, { field: 'fhPzCode', title: '发货凭证号',align:'center'}
, {field:'right', title: '操作',toolbar:"#barDemo",align:'center'}
]]
,limits: [5,10,20,50,100,500] //一页选择显示3,5或10条数据
, limit: 10 //一页显示5条数据
, response: {
statusCode: 200 //规定成功的状态码默认0
}
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据res为从url中get到的数据
let result;
if (res.count > 0) {
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
} else {
result = res.data.slice(0, this.limit);
}
}
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": result //解析数据列表
};
}
,id: 'layuiTable'
,page: true //开启分页
,height: 600
});
table.on('tool(contact)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
del(data.id);
} else if(obj.event === 'edit'){
edit(data.id);
}
});
}
/**
* 新增
*/
function add(){
localStorage.setItem('type','1')
var index = layer.open({
title: '新增',
type: 2,
content: './child/sendoffAddForm.html',
area: ['80%', '70%'],
maxmin: false,
btn:['确定 ','取消'],
yes:function(index,layero){
var formSubmit=layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[0];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
},
btn2:function(index,layero){
}
});
}
/**
* 修改
* */
function edit(id) {
localStorage.setItem('type','2')
$.ajax({
type: 'post',
url: ctxPath + '/ma/sendoff/getById',
data: {
"id":id
},
dataType: 'text',
success: function (data) {
var height = '80%';
var width = '70%';
var index = layer.open({
title: '修改',
type: 2,
content: './child/sendoffForm.html',
area: [width, height],
maxmin: false,
btn:['确定 ','取消'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
yes:function(index,layero){
var formSubmit=layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[0];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
},
btn2:function(index,layero){
}
});
}
})
}
/**
* 删除
* */
function del(id) {
layer.confirm("确定删除吗?",function () {
$.ajax({
type: 'post',
url: ctxPath + '/ma/sendoff/delete',
data: {
"id":id
},
success: function (data) {
if(data.code == 200){
layer.alert('删除成功', {icon: 1},()=>{
location.reload();
});
}else{
layer.alert('删除失败', {icon: 2});
}
}
})
})
}
function getData(day){
var today=new Date()
var targetday=today.getTime() +1000*60*60*24* day
today.setTime(targetday)
var tYear=today.getFullYear()
var tMonth=today.getMonth()
var tDate=today.getDate()
tMonth=this.doHandMonth(tMonth+1)
tDate=this.doHandMonth(tDate)
return tYear +"-" + tMonth+"-"+tDate
}
function doHandMonth(month){
var m=month
if(month.toString().length==1){
m="0"+month
}
return m
}
function batchDeleteBtn(){
var selectData = layui.table.checkStatus('layuiTable').data;
console.log(selectData);
let ids = [];
for (let i = 0; i < selectData.length; i++){
ids.push(selectData[i].id)
}
console.log(ids);
if(ids.toString() == ''){
return layer.alert('请选择需要删除的数据',{icon: 0});
}else{
layer.confirm("确定删除所选 "+ids.length+" 条数据吗?",function () {
$.ajax({
type: 'delete',
url: ctxPath + '/ma/sendoff/' + ids.toString(),
success: function (data) {
if(data.code == 200){
layer.msg('删除成功', {icon: 1},function () {
table.reload('layuiTable');
});
}else{
layer.alert('删除失败', {icon: 2});
}
}
})
})
}
}
function exportData() {
var index = layer.msg('数据导出中,请稍等。。。', {
icon: 4
});
var token = localStorage.getItem("token");
var djCode = $("#djCode").val();
var maCode = $("#maCode").val();
var param = {
djCode:djCode,
maCode:maCode
}
var url = ctxPath + "/ma/sendoff/export?param=" + encodeURIComponent(JSON.stringify(param));
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
//设置xhr请求的超时时间
xhr.timeout = 100000;
//设置响应返回的数据格式
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader("token", token);
//构造表单数据
xhr.onload = function () {
if (this.status === 200) {
var blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
layer.close(index);
a.download = "发货冲销对应表-导出.xlsx"; // 文件名
} else if (this.status === 401) {
localStorage.removeItem("token");
layer.msg('用户登录过期,请重新登录', {icon: 5, time: 2000}, function () {
location.href = ctxPath + '/login.html';
});
}
a.click();
window.URL.revokeObjectURL(url);
};
xhr.send();
}
function downloadFile() {
var token = localStorage.getItem("token");
window.location.href = ctxPath + "/download/download?filename=发货冲销对应表-导入模板.xlsx&token=" + token;
}