var initCountVal = 0;
var initAnfmeVal = "-";
var matCodeData = [];
var currLocNo;
var matCodeLayerIdx;
var data = [];
var checkStatus = [];
var dataCheck = [];
var admin;
function getCol() {
var cols = [
{field: 'id', title: 'id', align: 'center',hide:true}
,{type: 'checkbox'}
,{field: 'pakinTime$', title: '入库时间', align: 'center' , sort:true}
,{field: 'owner', align: 'center',title: '主体',edit:true}
,{field: 'type', align: 'center',title: '物资类别',hide:true,edit:true}
,{field: 'proOrderNo', align: 'center',title: '生产订单编号',hide:true,edit:true}
,{field: 'workshop', align: 'center',title: '生产车间',hide:true,edit:true}
,{field: 'line', align: 'center',title: '生产线',hide:true,edit:true}
,{field: 'matnr', align: 'center',title: '存货编码',hide:true,edit:true}
,{field: 'brand', align: 'center',title: '牌号',edit:true}
,{field: 'batch', align: 'center',title: '批号',edit:true, width: 150, sort:true}
,{field: 'packageNo', align: 'center',title: '包装号',edit:true, sort:true}
,{field: 'proDate', align: 'center',title: '生产日期',edit:true, width: 100}
,{field: 'weight', align: 'center',title: '重量KG',edit:true}
,{field: 'packageType', align: 'center',title: '包装类型',edit:true}
,{field: 'zpalletType', align: 'center',title: '托盘类型',edit:true}
,{field: 'filmWrap', align: 'center',title: '缠膜',edit:true}
,{field: 'fingerMelting', align: 'center',title: '熔指,g/10min',edit:true}
,{field: 'water', align: 'center',title: '水分,ppm', hide:true,edit:true}
,{field: 'fusingPoint', align: 'center',title: '熔点,℃',edit:true}
,{field: 'vadf1', align: 'center',title: '挥发段,%', hide:true,edit:true}
,{field: 'vadf2', align: 'center',title: '分解段,%', hide:true,edit:true}
,{field: 'yellowness', align: 'center',title: '黄度',edit:true}
,{field: 'opacity', align: 'center',title: '不透明度,%',edit:true}
,{field: 'l', align: 'center',title: 'L*', hide:true,edit:true}
,{field: 'a', align: 'center',title: 'a*', hide:true,edit:true}
,{field: 'b', align: 'center',title: 'b*', hide:true,edit:true}
,{field: 'fillIn', align: 'center',title: '填充,%',hide:true,edit:true}
,{field: 'str1', align: 'center',title: '拉伸强度,MPa',hide:true,edit:true}
,{field: 'str2', align: 'center',title: '断裂伸长率,%',hide:true,edit:true}
,{field: 'str3', align: 'center',title: '缺口冲击,KJ/m2',hide:true,edit:true}
,{field: 'str4', align: 'center',title: '维卡,℃',hide:true,edit:true}
,{field: 'str5', align: 'center',title: '半结晶时间,min',hide:true,edit:true}
,{field: 'str6', align: 'center',title: '结晶度.%',hide:true,edit:true}
,{field: 'massState', align: 'center',title: '质量状态',edit:true}
,{field: 'problem', align: 'center',title: '备注',edit:true}
,{field: 'direction', align: 'center',title: '应用方向',edit:true}
,{field: 'position', align: 'center',title: '存放位置',edit:true}
,{field: 'stash', align: 'center',title: '仓库',edit:true}
,{field: 'locNo', align: 'center',title: '库位',edit:true}
,{field: 'weightAnfme', align: 'center',title: '剩余重量(KG)',edit:true}
,{field: 'qtyAnfme', align: 'center',title: '待出库重量(KG)',hide:true}
,{field: 'status', align: 'center',title: '状态', templet: setState ,edit:true}
,{align: 'center', title: '流转明细', toolbar: '#tbLook'}
// ,{field: 'orderNo', align: 'center',title: '单号', hide:true}
// ,{field: 'pakoutTime', align: 'center',title: '出库时间', hide:true}
// ,{field: 'orderWeight', align: 'center',title: '重量', hide:true}
// ,{field: 'handlerBy', align: 'center',title: '经办人', hide:true}
// ,{field: 'transfer', align: 'center',title: '流转形式', hide:true}
// ,{field: 'customer', align: 'center',title: '客户名称', hide:true}
// ,{field: 'allocate', align: 'center',title: '调拨到', hide:true}
// ,{field: 'memo', align: 'center',title: '备注', hide:true}
];
return cols;
}
function setState(data){
if(data.status === "待入库"){
return "待入库"
}else if(data.status === "已入库"){
return "已入库"
}else if(data.status === "待出库"){
return "待出库"
}else if(data.status === "部分出库"){
return "部分出库"
}else if(data.status === "全部出库"){
return "全部出库"
}else if(data.status === "暂入库"){
return "暂入库"
}
}
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
dropdown: 'dropdown/dropdown',
}).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
var layDate = layui.laydate;
var form = layui.form;
admin = layui.admin;
// 数据渲染
tableIns = table.render({
elem: '#plaDetl',
headers: {token: localStorage.getItem('token')},
url: baseUrl+'/pla/list/auth?step=2',
page: true,
limit: 16,
limits: [16, 30, 50, 100, 200, 500],
even: true,
toolbar: '#toolbar',
cellMinWidth: 50,
cols: [getCol()],
request: {
pageName: 'curr',
pageSize: 'limit'
},
parseData: function (res) {
console.log(res)
return {
'code': res.code,
'msg': res.msg,
'count': res.data.total,
'data': res.data.records
}
},
response: {
statusCode: 200
},
done: function(res, curr, count) {
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
tableData = table.cache.locDetl;
console.log(tableData);
pageCurr=curr;
limit();
form.on('checkbox(tableCheckbox)', function (data) {
var _index = $(data.elem).attr('table-index')||0;
if(data.elem.checked){
res.data[_index][data.value] = 'Y';
}else{
res.data[_index][data.value] = 'N';
}
});
}
});
table.on('tool(plaDetl)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'look') {
var $a = $(obj.tr).find('a[lay-event="look"]');
var offset = $a.offset();
var top = offset.top;
var left = offset.left;
layer.open({
type: 1,
title: false,
area: '1200px',
offset: ['600px', (left - 1200 + $a.outerWidth()) + 'px'],
shade: .01,
shadeClose: true,
fixed: false,
content: '
',
success: function (layero) {
table.render({
elem: '#lookSSXMTable',
headers: {token: localStorage.getItem('token')},
url: baseUrl+'/plaQty/list/auth',
where: {
batch: data.batch,
package_no: data.packageNo
},
page: true,
cellMinWidth: 100,
cols: [[
{type: 'numbers'},
{field: 'orderNo', title: '单号'},
{field: 'pakoutTime', title: '出库时间'},
{field: 'orderWeight', title: '重量'},
{field: 'handlerBy', title: '经办人'},
{field: 'transfer', title: '流转形式'},
{field: 'customer', title: '客户名称'},
{field: 'allocate', title: '调拨到'},
{field: 'memo', title: '备注'},
]],
request: {
pageName: 'curr',
pageSize: 'limit'
},
parseData: function (res) {
return {
'code': res.code,
'msg': res.msg,
'count': res.data.total,
'data': res.data.records
}
},
response: {
statusCode: 200
},
done: function () {
$(layero).find('.layui-table-view').css('margin', '0');
},
size: ''
});
}
});
}
})
// 监听头工具栏事件
table.on('toolbar(plaDetl)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id)
switch(obj.event) {
case 'updateData':
var data = checkStatus.data;
if (data.length === 0){
layer.msg('请选择数据');
} else {
layer.confirm('确定修改'+(data.length===1?'此':data.length)+'条数据吗', function(){
$.ajax({
url: baseUrl+"/pla/update/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(data),
contentType:'application/json;charset=UTF-8',
method: 'POST',
traditional:true,
success: function (res) {
if (res.code === 200){
layer.closeAll();
tableReload(false);
} else if (res.code === 403){
top.location.href = baseUrl+"/";
} else {
layer.msg(res.msg)
}
}
})
});
}
break;
case "deleteData":
var data = checkStatus.data;
if (data.length === 0){
layer.msg('请选择数据');
} else {
layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){
$.ajax({
url: baseUrl+"/pla/delete/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(data),
contentType:'application/json;charset=UTF-8',
method: 'POST',
traditional:true,
success: function (res) {
if (res.code === 200){
layer.closeAll();
tableReload(false);
} else if (res.code === 403){
top.location.href = baseUrl+"/";
} else {
layer.msg(res.msg)
}
}
})
});
}
break;
case "viladate":
var data = checkStatus.data;
if (data.length === 0){
layer.msg('请选择数据');
} else {
layer.confirm('确定校验'+(data.length===1?'此':data.length)+'条数据吗', function(){
$.ajax({
url: baseUrl+"/pla/viladate/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(data),
contentType:'application/json;charset=UTF-8',
method: 'POST',
traditional:true,
success: function (res) {
if (res.code === 200){
layer.closeAll();
tableReload(false);
} else if (res.code === 403){
top.location.href = baseUrl+"/";
} else {
layer.msg(res.msg)
}
}
})
});
}
}
})
// 搜索栏搜索事件
form.on('submit(search)', function (data) {
pageCurr = 1;
tableReload(false);
});
// 重置事件
form.on('submit(reset)', function (data) {
reset();
});
function reset() {
clearFormVal($('#search-box'));
matCodeData = [];
tableReload();
locTips(false);
}
// 重载表格
// function tableReload() {
// tableIns.reload({data: matCodeData});
// }
function tableReload(child) {
var searchData = {
};
$.each($('#search-box [name]').serializeArray(), function() {
searchData[this.name] = this.value;
});
(child ? parent.tableIns : tableIns).reload({
where: searchData,
page: {
curr: pageCurr
},
done: function (res, curr, count) {
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
pageCurr=curr;
if (res.data.length === 0 && count !== 0) {
tableIns.reload({
where: searchData,
page: {
curr: pageCurr-1
}
});
pageCurr -= 1;
}
limit(child);
}
});
}
$(document).on('click','#add', function () {
var now = dateToStr(new Date())
var newRow = {ioTime : now};
data = table.cache.plaDetl;
data.push(newRow);
table.reload('plaDetl',{
data: data
})
})
$(document).on('click','#delete', function () {
let dataNew = [];
let data = table.cache.plaDetl;
for(var i=0; i 1){
layer.msg("请勾选一条库存明细");
return;
}
layer.open({
type: 2,
title: '卖出',
maxmin: true,
area: ['800px', top.detailHeight],
shadeClose: false,
content: 'pickup.html',
success: function(layero, index){
//layer.getChildFrame('#data-detail-submit-edit', index).hide();
top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
var iframe = window['layui-layer-iframe' + index];
iframe.child(dataSave)
}
});
})
$(document).on('click','#returned', function () {
layer.open({
type: 2,
title: '退回',
maxmin: true,
area: ['800px', '800px'],
shadeClose: false,
content: 'returned.html',
success: function(layero, index){
layer.getChildFrame('#data-detail-submit-edit', index).hide();
top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
}
});
})
})
// 关闭动作
$(document).on('click','#data-detail-close', function () {
parent.layer.closeAll();
});
// excel导入模板下载
function excelMouldDownload(){
layer.load(1, {shade: [0.1,'#fff']});
location.href = baseUrl + "/pla/excel/import/mould";
layer.closeAll('loading');
}
// excel导入
function importExcel() {
$("#importExcel").trigger("click");
}
function upload(obj){
if(!obj.files) {
return;
}
var file = obj.files[0];
admin.confirm('确认同步 [' + file.name +'] 文件吗?', function (index) {
layer.load(1, {shade: [0.1,'#fff']});
var url = baseUrl + "/pla/excel/import/auth";
var form = new FormData();
form.append("file", file);
xhr = new XMLHttpRequest();
xhr.open("post", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
xhr.setRequestHeader('token', localStorage.getItem('token'));
xhr.onload = uploadComplete; //请求完成
xhr.onerror = uploadFailed; //请求失败
xhr.onloadend = function () { // // 上传完成重置文件流
layer.closeAll('loading');
$("#importExcel").val("");
};
// xhr.upload.onprogress = progressFunction;//【上传进度调用方法实现】
xhr.upload.onloadstart = function(){//上传开始执行方法
ot = new Date().getTime(); //设置上传开始时间
oloaded = 0;//设置上传开始时,以上传的文件大小为0
};
xhr.send(form);
}, function(index){
$("#importExcel").val("");
});
}
function uploadComplete(evt) {
var res = JSON.parse(evt.target.responseText);
if(res.code === 200) {
layer.msg(res.msg, {icon: 1});
loadTree("");
} else {
layer.msg(res.msg, {icon: 2});
}
}
function uploadFailed(evt) {
var res = JSON.parse(evt.target.responseText);
layer.msg(res.msg, {icon: 2});
}