|
var matData = [];
|
var cstmrVal;
|
var itemVal;
|
|
function getCol() {
|
var cols = [
|
{field: 'count', align: 'center',title: '入库数量', edit:'text', width: 130, style:'color: blue;font-weight: bold'}
|
];
|
arrRemove(matCols, 'field', 'anfme');
|
cols.push.apply(cols, matCols);
|
cols.push(
|
{field: 'stock', align: 'center',title: '库存余量', style: 'font-weight: bold'},
|
{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:65}
|
)
|
return cols;
|
}
|
layui.config({
|
base: baseUrl + "/static/layui/lay/modules/"
|
}).extend({
|
notice: 'notice/notice',
|
}).use(['table','laydate', 'form', 'admin', 'notice', 'xmSelect'], function() {
|
var table = layui.table;
|
var $ = layui.jquery;
|
var layer = layui.layer;
|
var form = layui.form;
|
var notice = layui.notice;
|
var layDate = layui.laydate;
|
var admin = layui.admin;
|
var xmSelect = layui.xmSelect;
|
|
tableIns = table.render({
|
elem: '#chooseData',
|
headers: {token: localStorage.getItem('token')},
|
data: [],
|
limit: 100,
|
even: true,
|
toolbar: '#toolbar',
|
cellMinWidth: 50,
|
cols: [getCol()],
|
done: function(res, curr, count) {
|
limit();
|
}
|
});
|
|
// 页面修改
|
table.on('edit(chooseData)', function (obj) {
|
updateMatData(obj.data.locNo, obj.data.matnr, Number(obj.value));
|
});
|
|
// 监听头工具栏事件
|
table.on('toolbar(chooseData)', function (obj) {
|
var data = matData;
|
switch (obj.event) {
|
case 'createDoc':
|
if (data.length === 0){
|
notice.error({
|
title: '消息通知',
|
message: '请添加物料'
|
});
|
} else {
|
var success = true;
|
for (var i=0;i<matData.length;i++) {
|
if (matData[i].count <= 0) {
|
notice.error({
|
title: '消息通知',
|
message: matData[i].matnr + '物料数量必须大于零!'
|
});
|
success = false;
|
return false;
|
}else {
|
var nowTime = new Date();
|
var now = formatDate(nowTime);
|
form.val('inDate',{
|
"orderTime": now
|
});
|
}
|
}
|
var index = layer.load(1, {shade: [0.1,'#000']});
|
// 单据类型
|
var docTypeData;
|
$.ajax({
|
url: baseUrl+"/work/docType/all/get",
|
headers: {'token': localStorage.getItem('token')},
|
data:{docClass: 1},
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
docTypeData = res;
|
} else {
|
layer.msg(res.msg, {icon: 2})
|
}
|
}
|
});
|
var tpl1 = $('#docTypeSelectTpl').html();
|
var template1 = Handlebars.compile(tpl1);
|
var html1 = template1(docTypeData);
|
$("#docType").html(html1);
|
|
// 客户
|
var cstmrData;
|
// $.ajax({
|
// url: baseUrl+"/work/cstmr/all/get",
|
// headers: {'token': localStorage.getItem('token')},
|
// method: 'POST',
|
// async: false,
|
// success: function (res) {
|
// if (res.code === 200){
|
// cstmrData = res;
|
// } else {
|
// layer.msg(res.msg, {icon: 2})
|
// }
|
// }
|
// });
|
// var tpl2 = $('#cstmrSelectTpl').html();
|
// var template2 = Handlebars.compile(tpl2);
|
// var html2 = template2(cstmrData);
|
// $("#cstmr").html(html2);
|
// 单选
|
$.ajax({
|
url: baseUrl+"/work/cstmr/all/get/kv",
|
headers: {'token': localStorage.getItem('token')},
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
cstmrData = res.data;
|
} else {
|
layer.msg(res.msg, {icon: 2})
|
}
|
}
|
});
|
cstmrVal = xmSelect.render({
|
el: '#cstmr',
|
radio: true,
|
clickClose: true,
|
filterable: true,
|
create: function(val, arr){
|
if(arr.length === 0){
|
return {
|
name: val,
|
value: val
|
}
|
}
|
},
|
model: {
|
icon: 'hidden',
|
label: {
|
type: 'text',
|
}
|
},
|
data: cstmrData
|
})
|
|
// 项目
|
var itemData;
|
// $.ajax({
|
// url: baseUrl+"/work/item/all/get",
|
// headers: {'token': localStorage.getItem('token')},
|
// method: 'POST',
|
// async: false,
|
// success: function (res) {
|
// if (res.code === 200){
|
// itemData = res;
|
// } else {
|
// layer.msg(res.msg, {icon: 2});
|
// }
|
// }
|
// });
|
// var tpl3 = $('#itemSelectTpl').html();
|
// var template3 = Handlebars.compile(tpl3);
|
// var html3 = template3(itemData);
|
// $("#item").html(html3);
|
$.ajax({
|
url: baseUrl+"/work/item/all/get/kv",
|
headers: {'token': localStorage.getItem('token')},
|
method: 'POST',
|
async: false,
|
success: function (res) {
|
if (res.code === 200){
|
itemData = res.data;
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
}
|
});
|
itemVal = xmSelect.render({
|
el: '#item',
|
radio: true,
|
clickClose: true,
|
filterable: true,
|
create: function(val, arr){
|
if(arr.length === 0){
|
return {
|
name: val,
|
value: val
|
}
|
}
|
},
|
model: {
|
icon: 'hidden',
|
label: {
|
type: 'text',
|
}
|
},
|
data: itemData
|
})
|
|
// 弹窗
|
layer.close(index);
|
if (success) {
|
admin.open({
|
type: 1,
|
title: '单据填充',
|
offset: '100px',
|
area: ['360px'],
|
shade: 0.3,
|
content: $('#getOrderNo'),
|
success: function(layero, index){
|
layer.iframeAuto(index);
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
layui.form.render('select');
|
},
|
cancel: function () {
|
$('#orderNo').val('');
|
}
|
});
|
}
|
}
|
break;
|
}
|
});
|
|
|
// // 多选
|
// var demo1 = xmSelect.render({
|
// el: '#demo1',
|
// filterable: true,
|
// create: function(val, arr){
|
// if(arr.length === 0){
|
// return {
|
// name: val,
|
// value: val
|
// }
|
// }
|
// },
|
// data: [
|
// {name: '张三', value: 1, selected: true},
|
// {name: '李四', value: 2},
|
// {name: '王五', value: 3, disabled: true},
|
// ]
|
// })
|
|
// 监听行工具事件
|
table.on('tool(chooseData)', function(obj){
|
var data = obj.data;
|
switch (obj.event) {
|
case 'remove':
|
for (var i = matData.length - 1; i >= 0; i--) {
|
if (matData[i].matnr === data.matnr) {
|
matData.splice(i, 1);
|
}
|
}
|
tableIns.reload({data: matData,done:function (res) {
|
limit();
|
}});
|
break;
|
}
|
});
|
|
// 开始生成拣货单
|
form.on('submit(confirm)', function (data) {
|
var matDetls = [];
|
matData.forEach(function(elem) {
|
matDetls.push({
|
matnr: elem.matnr
|
, count: elem.count
|
});
|
});
|
var req = JSON.stringify({
|
docType: data.field.docType
|
, orderNo: data.field.orderNo
|
, orderTime: data.field.orderTime
|
, item: itemVal.getValue()[0] ? itemVal.getValue()[0].name : null
|
, cstmr: cstmrVal.getValue()[0] ? cstmrVal.getValue()[0].name : null
|
, list: matDetls
|
})
|
$.ajax({
|
url: baseUrl+"/work/receive/init",
|
headers: {'token': localStorage.getItem('token')},
|
data: req,
|
contentType:'application/json;charset=UTF-8',
|
method: 'POST',
|
success: function (res) {
|
if (res.code === 200){
|
notice.success({
|
title: '消息通知',
|
message: res.msg
|
});
|
top.layui.layer.close(top.popupRight);
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/";
|
} else {
|
notice.error({
|
title: '消息通知',
|
message: res.msg
|
});
|
}
|
}
|
});
|
})
|
|
function updateMatData(locNo, matnr, count) {
|
if (isNaN(count)) {
|
notice.error({
|
title: '消息通知',
|
message: '请输入数字'
|
});
|
} else {
|
if (count > 0) {
|
for (var i=0;i<matData.length;i++){
|
if (matData[i]["matnr"] === matnr){
|
matData[i]["count"] = count;
|
break;
|
}
|
}
|
} else {
|
notice.error({
|
title: '消息通知',
|
message: '数量必须大于零'
|
});
|
}
|
}
|
tableIns.reload({data: matData,done:function (res) {
|
limit();
|
}});
|
}
|
|
layDate.render({
|
elem: '#orderTime',
|
trigger: 'click',
|
type: 'date'
|
});
|
|
})
|
|
// 提取物料
|
var matDetlLayerIdx;
|
function getMatDetl() {
|
matDetlLayerIdx = layer.open({
|
type: 2,
|
title: '提取出库物料',
|
maxmin: true,
|
area: [top.detailWidth, top.detailHeight],
|
shadeClose: true,
|
content: 'matQueryBox.html',
|
success: function(layero, index){
|
}
|
});
|
}
|
|
// 添加表格数据
|
function addTableData(data) {
|
for (var i=0;i<data.length;i++){
|
let pass = false;
|
for (var j=0;j<matData.length;j++){
|
if (data[i].matnr === matData[j].matnr) {
|
pass = true;
|
break;
|
}
|
}
|
if (pass) {
|
data.splice(i--, 1);
|
} else {
|
data[i]["count"] = 0;
|
}
|
|
}
|
matData.push.apply(matData, data);
|
tableIns.reload({data: matData});
|
layer.close(matDetlLayerIdx);
|
}
|
|
function initOrderNo() {
|
$.ajax({
|
url: baseUrl+"/work/orderNo/init",
|
headers: {'token': localStorage.getItem('token')},
|
async: false,
|
method: 'GET',
|
success: function (res) {
|
if (res.code === 200){
|
$('#orderNo').val(res.data)
|
} else if (res.code === 403){
|
top.location.href = baseUrl+"/";
|
} else {
|
notice.error({
|
title: '消息通知',
|
message: res.msg
|
});
|
}
|
}
|
});
|
}
|
|
function formatDate(date) {
|
var y = date.getFullYear();
|
var m = date.getMonth() + 1;
|
m = m < 10 ? '0' + m : m;
|
var d = date.getDate();
|
d = d < 10 ? ('0' + d) : d;
|
return y + '-' + m + '-' + d;
|
};
|