<!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">
|
</head>
|
<body>
|
|
<div class="layui-form" 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" disabled 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>
|
<option value="4">质检出库</option>
|
<option value="5">取样出库</option>
|
<option value="8">包材出库</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 isNoShow" 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;
|
var soNo = getQueryString("No");
|
var id = getQueryString("id");
|
console.log(soNo);
|
console.log(id);
|
getWareHouseList();
|
getCustomerList();
|
getLogisticsInfoList();
|
getData();
|
var arr = [];
|
window.success = function(data) {
|
refreshTable(data);
|
};
|
|
function refreshTable(data) {
|
//table.clear();
|
|
for (var i in data) {
|
var isHave = false;
|
if (data[i].IsBale== undefined) {
|
data[i].IsBale="0"
|
}
|
if (data[i].IsBelt== undefined) {
|
data[i].IsBelt="0"
|
}
|
if (data[i].ExQty== undefined) {
|
data[i].ExQty=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]); //属性
|
}
|
console.log(arr);
|
$.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',
|
|
}, {
|
field: 'Standard',
|
title: '物品规格',
|
align: 'center',
|
minWidth:100,
|
}, {
|
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";
|
}
|
}
|
}
|
});
|
|
//添加明细
|
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?houseId=' + $("#WarehouseId").val()+'&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) {
|
var exQty = infoOptions.data[i].ExQty+"";
|
console.log(exQty);
|
if (exQty== "" ) {
|
layer.msg("请输入出库数量!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
|
if(exQty.indexOf('.')>=0){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if(exQty.indexOf('-')>=0){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if(exQty.charAt(0)=='0'){
|
layer.msg("出库数量必须是大于0的整数", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
|
if (exQty <= 0) {
|
layer.msg("出库数量必须大于0!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
isrun = 0;
|
return;
|
}
|
if (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(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,
|
Id:parseInt(id),
|
}
|
|
sendData(IP + "/BllSo/EditExportNotice", 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;
|
});
|
|
|
function getData(){
|
|
console.log(soNo);
|
var param = {
|
soNo: soNo
|
};
|
sendData(IP + "/BllSo/GetEditExportNotice", param, 'get', function(res) {
|
if(res.code == 0){
|
console.log(res.data);
|
$("#ExportWarehouseId").val(res.data.ExportWarehouseId);
|
$("#Type").val(res.data.Type);
|
$("#CustomerNo").val(res.data.CustomerNo);
|
$("#LogisticsId").val(res.data.LogisticsId);
|
form.render('select');
|
refreshTable(res.data.Detail);
|
}
|
else{
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
|
|
// //下拉单据类型选中后事件
|
// 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>');
|
}
|
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() {});
|
}
|
});
|
}
|
|
|
|
//获取浏览器参数
|
function getQueryString(name) {
|
var query = window.location.search.substring(1);
|
var vars = query.split("&");
|
for (var i=0;i<vars.length;i++) {
|
var pair = vars[i].split("=");
|
if(pair[0] == name){
|
return pair[1];
|
}
|
}
|
return(false);
|
// var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
// var r = window.location.search.substr(1).match(reg);
|
// if (r != null) return unescape(r[2]);
|
// return null;
|
}
|
})
|
</script>
|
</body>
|
</html>
|