<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<title>添加出库单</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width, initial-scale=1.0, minExum-scale=1.0, maxExum-scale=1.0, user-scalable=0">
|
<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
|
<style>
|
.isShow{
|
display: block;
|
}
|
.isNoShow{
|
display: none;
|
}
|
</style>
|
</head>
|
<body>
|
<div class="layui-form" lay-filter="layuiadmin-app-form-list" style="padding: 20px 0 0 0;">
|
<div class="layui-form-item" style="margin-bottom: 0px;">
|
<!-- <div class="layui-inline">
|
<label class="layui-form-label">出库仓库</label>
|
<div class="layui-input-inline">
|
<select name="WarehouseId" id="WarehouseId" lay-filter="WarehouseId" lay-verify="required" lay-search>
|
<option value=""></option>
|
</select>
|
</div>
|
</div> -->
|
<div class="layui-inline">
|
<label class="layui-form-label">单据类型</label>
|
<div class="layui-input-inline">
|
<select name="Type" id="Type" lay-filter="Type" lay-verify="required" lay-search>
|
<option value=""></option>
|
<!-- 09 -->
|
<option value="0">标准销售出库</option>
|
<option value="1">非标销售出库</option>
|
<option value="2">标准调拨出库</option>
|
<option value="3">非标调拨出库</option>
|
<!-- 08 -->
|
<!-- <option value="0">成品出库</option>
|
<option value="1">原辅料出库</option>
|
<option value="2">不合格品出库</option>
|
<option value="3">取样出库</option> -->
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">客户名称</label>
|
<div class="layui-input-inline">
|
<select name="CustomerNo" id="CustomerNo" lay-search>
|
<option value=""></option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline " id="chengyunshang">
|
<label class="layui-form-label">承运商</label>
|
<div class="layui-input-inline">
|
<select name="LogisticsId" id="LogisticsId" lay-search>
|
<option value=""></option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<div style="padding-bottom: 2px;margin-left: 15px;">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="add">添加明细</button>
|
<button type="submit" class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit=""
|
lay-filter="form1">立即提交</button>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-card">
|
<div class="layui-card-body">
|
|
<table id="LAY-app-content-list" name="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
|
|
<!-- <script type="text/html" id="switchTpl">
|
<input type="checkbox" name="IsBale" value="{{d.LAY_TABLE_INDEX}}" lay-skin="switch" lay-text="是|否" lay-filter="IsBaleDemo" {{ d.IsBale == "1" ? 'checked' : '' }}>
|
</script>
|
<script type="text/html" id="checkboxTpl">
|
<input type="checkbox" name="IsBelt" value="{{d.LAY_TABLE_INDEX}}" lay-skin="switch" lay-text="是|否" lay-filter="IsBeltDemo" {{ d.IsBelt == "1" ? 'checked' : '' }}>
|
</script> -->
|
<script type="text/html" id="table-content-list">
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"> <i
|
class="layui-icon layui-icon-delete"></i>删除</a>
|
</script>
|
|
</div>
|
</div>
|
</div>
|
|
<script src="../../layuiadmin/layui/layui.js"></script>
|
<script src="../../js/public.js"></script>
|
<script src="../../js/jquery-3.5.1.min.js"></script>
|
<script src="../../js/jquery.cookie.js"></script>
|
<script>
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'form', 'layer', 'laydate', 'table','jquery'], function() {
|
var $ = layui.$,
|
form = layui.form,
|
table = layui.table,
|
layer = layui.layer;
|
|
// getWareHouseList();
|
getCustomerList();
|
getLogisticsInfoList();
|
|
window.success = function(data) {
|
console.log(data);
|
refreshTable(data);
|
};
|
|
var arr = [];
|
function refreshTable(data) {
|
//table.clear();
|
|
for (var i in data) {
|
var isHave = false;
|
data[i].ExQty = 0;
|
data[i].IsBale="0";
|
data[i].IsBelt="0";
|
|
for(var j in arr){
|
if(arr[j].SkuNo == data[i].SkuNo && arr[j].LotNo == data[i].LotNo){
|
isHave = true;
|
break;
|
}
|
}
|
if(isHave){
|
continue;
|
}
|
arr.push(data[i]); //属性
|
}
|
$.extend(infoOptions, {
|
data: arr
|
});
|
infoOptions.page = {
|
curr: 1
|
}
|
table.render(infoOptions);
|
|
}
|
var infoOptions = {
|
elem: '#LAY-app-content-list',
|
height: 'full-160',
|
id: 'LAY-app-content-list',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols: [
|
[{
|
field: 'SkuNo',
|
title: '物品编码',
|
align: 'center',
|
fixed: 'left',
|
width:140,
|
}, {
|
field: 'SkuName',
|
title: '物品名称',
|
align: 'center',
|
fixed: 'left',
|
}, {
|
field: 'LotNo',
|
title: '批次',
|
align: 'center',
|
minWidth:140,
|
}, {
|
field: 'Standard',
|
title: '物品规格',
|
align: 'center',
|
}, {
|
field: 'Qty',
|
title: '库存数量',
|
align: 'center',
|
width:100,
|
}, {
|
field: 'ExQty',
|
title: '出库数量',
|
align: 'center',
|
width:100,
|
edit: 'number',
|
event: 'dataNumber'
|
},
|
// {
|
// field:'IsBale',
|
// title:'是否裹包',
|
// width:90,
|
// templet: '#switchTpl',
|
// unresize: true //是否禁用拖拽列宽
|
// }, {
|
// field:'IsBelt',
|
// title:'是否打带',
|
// width:90,
|
// templet: '#checkboxTpl',
|
// unresize: true //是否禁用拖拽列宽
|
// },
|
{
|
title: '操作',
|
align: 'center',
|
width:90,
|
templet: '#table-content-list',
|
fixed: 'right',
|
}]
|
],
|
};
|
// //监听裹包操作
|
// form.on('switch(IsBaleDemo)', function(obj){
|
// if (obj.elem.checked) {
|
// for (var k in arr) {
|
// if (arr[k].LAY_TABLE_INDEX == obj.value) {
|
// arr[k].IsBale = "1";
|
// }
|
// }
|
|
// }else{
|
// for (var k in arr) {
|
// if (arr[k].LAY_TABLE_INDEX == obj.value) {
|
// arr[k].IsBale = "0";
|
// }
|
// }
|
// }
|
// });
|
|
// //监听打带操作
|
// form.on('switch(IsBeltDemo)', function(obj){
|
// if (obj.elem.checked) {
|
// for (var k in arr) {
|
// if (arr[k].LAY_TABLE_INDEX == obj.value) {
|
// arr[k].IsBelt = "1";
|
// }
|
// }
|
|
// }else{
|
// for (var k in arr) {
|
// if (arr[k].LAY_TABLE_INDEX == obj.value) {
|
// arr[k].IsBelt = "0";
|
// }
|
// }
|
// }
|
// });
|
//初始渲染
|
refreshTable(null);
|
var $ = layui.$;
|
var active = {
|
add: function() {
|
// if ($("#WarehouseId").val()== "") {
|
// layer.msg("请选择仓库!", {
|
// icon: 2,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// },function() {});
|
// return;
|
// }
|
if ($("#Type").val()== "") {
|
layer.msg("请选择单据类型!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
},function() {});
|
return;
|
}
|
layer.open({
|
type: 2,
|
title: '选择物品信息',
|
content: 'ExportSelectSkuFrom.html?Type='+$("#Type").val(),
|
maxmin: true,
|
area: ['950px', '90%'],
|
fixed: false,
|
});
|
}
|
};
|
$('.layui-btn.layuiadmin-btn-list').on('click', function() {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
|
table.on('tool(LAY-app-content-list)', function(obj) {
|
var data = obj.data;
|
if (obj.event === 'del') {
|
var ii = -1;
|
for (var j in arr) {
|
if (obj.data.SkuNo == arr[j].SkuNo && arr[j].LotNo == obj.data.LotNo) {
|
ii = j;
|
break;
|
}
|
}
|
if (ii > -1) {
|
arr.splice(ii, 1);
|
obj.del();
|
}
|
} else if (obj.event === 'dataNumber') {
|
$(".layui-input.layui-table-edit").attr("type", "number");
|
}
|
});
|
|
form.verify({
|
emptyNo: function(value) {
|
if (value == '') {
|
return '';
|
} else {
|
var ver = /^[0-9]+$/;
|
if (!ver.test(value)) {
|
return '只能输入正整数';
|
}
|
}
|
}
|
});
|
var isrun = 0;
|
form.on('submit(form1)', function(data) {
|
if(isrun == 1){
|
return;
|
}
|
isrun = 1;
|
if (infoOptions.data == 0) {
|
layer.msg("请添加明细!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
|
});
|
isrun = 0;
|
return;
|
}
|
var DataList = [];
|
console.log(infoOptions.data);
|
for (var i in infoOptions.data) {
|
console.log(infoOptions.data[i].ExQty);
|
if (infoOptions.data[i].ExQty == "") {
|
layer.msg("请输入出库数量!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
|
if(infoOptions.data[i].ExQty.indexOf('.')>=0){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if(infoOptions.data[i].ExQty.indexOf('-')>=0){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if(infoOptions.data[i].ExQty.charAt(0)=='0'){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
|
if (infoOptions.data[i].ExQty <= 0) {
|
layer.msg("出库数量必须大于0!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if (infoOptions.data[i].ExQty > infoOptions.data[i].Qty) {
|
layer.msg("出库数量不能大于库存数量!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
var item = {
|
SkuNo: infoOptions.data[i].SkuNo,
|
LotNo: infoOptions.data[i].LotNo,
|
Qty: parseInt(infoOptions.data[i].ExQty),
|
IsBale:infoOptions.data[i].IsBale,
|
IsBelt:infoOptions.data[i].IsBelt,
|
};
|
DataList.push(item); //属性
|
}
|
|
var param = {
|
Type: data.field.Type,
|
CustomerNo: data.field.CustomerNo,
|
|
LogisticsId: parseInt(data.field.LogisticsId),
|
Detail: DataList
|
}
|
sendData(IP + "/BllSo/AddExportNotice", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
parent.location.reload();
|
parent.layer.close(layer.index);
|
});
|
isrun = 0;
|
} else if(res.code == 1) { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
}
|
});
|
return false;
|
});
|
|
|
//下拉单据类型选中后事件
|
// form.on('select(Type)', function(data) {
|
// // console.log(data.value);
|
// if (data.value == "0" || data.value == "1") { //销售出库
|
// $("#chengyunshang").removeClass("isNoShow");
|
// $("#chengyunshang").addClass("isShow");
|
// form.render('select');
|
// }else if(data.value == "2" ||data.value == "3"){//不合格出库
|
|
// $("#chengyunshang").removeClass("isShow");
|
// $("#chengyunshang").addClass("isNoShow");
|
// form.render('select');
|
// }
|
// });
|
//获取仓库下拉框信息
|
// function getWareHouseList(){
|
// sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
|
|
// if (res.code == 0) { //成功
|
// $("#WarehouseId").empty();
|
// // $("#WarehouseId").append('<option value =""></option>');
|
// for (var i = 0; i < res.data.length; i++) {
|
// $("#WarehouseId").append('<option value =' + res.data[i].WareHouseNo + '>' +
|
// res.data[i].WareHouseName + '</option>');
|
// }
|
// $("#WarehouseId option[value='W01']").attr("selected", "selected")
|
// form.render('select');
|
// } else { //不成功
|
// layer.msg(res.msg, {
|
// icon: 2,
|
// time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
// }, function() {});
|
// }
|
// });
|
// }
|
//获取客户下拉框信息
|
function getCustomerList() {
|
sendData(IP + "/Basis/GetCustomerSelect", {}, 'get', function(res) {
|
if (res.code == 0) { //成功
|
$("#CustomerNo").empty();
|
$("#CustomerNo").append('<option value =""></option>');
|
for (var i = 0; i < res.data.length; i++) {
|
$("#CustomerNo").append('<option value =' + res.data[i].CustomerNo + '>' +
|
res.data[i].CustomerName + '</option>');
|
}
|
form.render('select');
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
//获取物流承运商下拉框信息
|
function getLogisticsInfoList() {
|
sendData(IP + "/Basis/GetLogisticsInfoSelect", {}, 'get', function(res) {
|
if (res.code == 0) { //成功
|
$("#LogisticsId").empty();
|
$("#LogisticsId").append('<option value =""></option>');
|
for (var i = 0; i < res.data.length; i++) {
|
$("#LogisticsId").append('<option value =' + res.data[i].Id + '>' +
|
res.data[i].CarrierName + '</option>');
|
}
|
form.render('select');
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
})
|
</script>
|
</body>
|
</html>
|