<!DOCTYPE html>
|
<html>
|
<head>
|
<meta http-equiv="Content-Type" content="text/html; 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, maximum-scale=1">
|
<!--引用layui样式文件-->
|
<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
|
<!--引用layui js文件-->
|
<script src="../../../layuiadmin/layui/layui.js"></script>
|
<script src="../../../layuiadmin/Scripts/json2.js"></script>
|
<script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
|
<script src="../../../layuiadmin/Scripts/webConfig.js"></script>
|
<!--自定义样式-->
|
<style>
|
.maintitle {
|
background-color: #1492ff;
|
color: #fff;
|
padding: 5px 10px;
|
border: none;
|
border-radius: 4px;
|
}
|
|
.title {
|
border-left: 4px solid #1492ff;
|
padding-left: 6px;
|
margin: 20px 10px 4px;
|
font-size: 16px;
|
color: #333;
|
}
|
|
.buttom_box_little {
|
width: 60px;
|
height: 36px;
|
color: #fff;
|
background-color: #1492ff;
|
border-radius: 4px;
|
border: none;
|
margin: 10px;
|
}
|
|
.layui-input {
|
width: 50%;
|
}
|
|
.layui-inline, img {
|
display: block;
|
vertical-align: middle
|
}
|
|
.layui-input, .layui-textarea {
|
display: inline-block;
|
width: 50%;
|
padding-left: 10px;
|
}
|
|
.laydate-time-list ol {
|
overflow-x: hidden !important;
|
overflow-y: auto !important;
|
}
|
|
.layui-form-label {
|
padding: 9px 5px;
|
width: 85px;
|
}
|
|
.layui-input-block {
|
margin-left: 85px;
|
min-height: 36px;
|
}
|
|
.editable-input {
|
border: 0px solid #ccc;
|
padding: 5px;
|
font-size: 14px;
|
width: 50px; /* 可根据需要调整宽度 */
|
box-sizing: border-box; /* 确保内边距和边框包含在宽度内 */
|
}
|
</style>
|
</head>
|
<body>
|
<div class="layui-fluid" style="padding: 0;">
|
<div class="layui-card" style="padding: 15px;background-color: #efefef;">
|
<div class="layui-card-body" style="padding: 1px;">
|
<form class="layui-form" action="" lay-filter="formData" id="formData" style="background-color:white;">
|
<div class="maintitle">到货确认</div>
|
<div class="layui-form-item" style="padding-top: 10px;">
|
<div class="layui-row">
|
<label class="layui-form-label" style="width: 85px;"><span style="color:red;">*</span>条码</label>
|
<div class="layui-input-block" style="margin-left: 100px;width:46%;">
|
<input type="text" name="HBarCode" id="HBarCode" placeholder="请键入后回车" autocomplete="off" class="layui-input"><!--lay-verify="required"-->
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="QueDin" name="QueDin" id="QueDin" style="width: 70px; background-color: #1492ff;color:white">确定</button>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-tab layui-tab-card" lay-filter="TabTest">
|
<ul class="layui-tab-title">
|
<li lay-id="1" style="padding:1px;" class="layui-this">表头信息</li>
|
<li lay-id="2" style="padding:1px;">明细信息</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<div class="layui-form-item" style="padding-top: 10px;">
|
<div class="layui-row">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 75px;">单据号:</label>
|
<div class="layui-input-block" style="margin-left: 85px;">
|
<input type="text" class="layui-input" name="HBillNo" id="HBillNo">
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="QueDin2">确定</button>
|
<input type="hidden" class="layui-input" name="HInterID" id="HInterID" style="width:100px">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 75px;padding: 9px 5px;">供应商:</label>
|
<div class="layui-input-block">
|
<input type="text" name="HSupName" id="HSupName" class="layui-input" disabled="disabled">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row">
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 75px;padding: 9px 5px;">部门:</label>
|
<div class="layui-input-block">
|
<input type="text" name="HDeptName" id="HDeptName" class="layui-input" disabled="disabled">
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-tab-item">
|
<table class="" id="mainTable" lay-filter="mainTable"></table>
|
<script type="text/html" id="xuhao">
|
{{d.LAY_TABLE_INDEX+1}}
|
</script>
|
<script type="text/html" id="barDemo">
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
</script>
|
</div>
|
</div>
|
</div>
|
|
<div class="layer-footer" style="text-align: center;">
|
<button type="button" lay-submit="" class="layui-btn buttom_box_little" lay-filter="btn_Check" id="btn_Check">审核</button>
|
<button type="button" lay-submit="" class="layui-btn buttom_box_little" lay-filter="btn_Cancel" id="btn_Cancel">退出</button>
|
</div>
|
</form>
|
</div>
|
</div>
|
</div>
|
|
<script>
|
layui.config({
|
base: '../../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'form', 'laydate', 'table', 'element'], function () {
|
var $ = layui.$
|
, admin = layui.admin
|
, layer = layui.layer
|
, table = layui.table
|
, form = layui.form
|
, laydate = layui.laydate
|
, element = layui.element;
|
var option = [];
|
//初始化表格
|
set_InitGrid();
|
|
//行内事件
|
table.on('tool(mainTable)', function (obj) {
|
set_GridDelete(obj); //行内删除
|
});
|
|
//进入页面默认光标在条形码上
|
$("#HBillNo").focus();
|
|
//条形码回车方法
|
$('#HBarCode').on('keydown', function (event) {
|
if (event.keyCode == 13) {
|
GetMeesageByBarCode();
|
}
|
});
|
//条形码确认
|
form.on('submit(QueDin)', function (data) {
|
GetMeesageByBarCode();
|
});
|
//扫描条形码方法
|
function GetMeesageByBarCode() {
|
|
layer.msg("无需扫描物料条码!")
|
|
//var HBarCode = $('#HBarCode').val();
|
//if (!HBarCode) {
|
// layer.msg("条形码不能为空!")
|
// return;
|
//}
|
//var HInterID = $('#HInterID').val();
|
//if (!HInterID) {
|
// layer.msg("请先输入收料通知单单据号!")
|
// return;
|
//}
|
//var index = layer.load();
|
//$.ajax({
|
// url: GetWEBURL() + "/POStockInBillList/Get_ReciveBillByBarcode",
|
// type: "GET",
|
// data: { "HBarCode": HBarCode, "HInterID": HInterID },
|
// success: function (result) {
|
// if (result.code == "1") {
|
// var sSubStr = table.cache['mainTable'];
|
// for (var i = 0; i < sSubStr.length; i++) {
|
// if (sSubStr[i].HMaterID == HBarCode.split("#")[0]) {
|
// sSubStr[i].HSQty += parseInt(HBarCode.split("#")[1]);
|
// table.render(option);
|
// break;
|
// }
|
// }
|
// layer.close(index);
|
// }
|
// else {
|
// layer.close(index);
|
// layer.msg(result.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
// }
|
// },
|
// error: function (err) {
|
// layer.close(index);
|
// layer.msg("接口请求失败!" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
// }
|
//});
|
$('#HBarCode').val("");
|
$("#HBarCode").focus();
|
}
|
form.on('submit(btn_Cancel)', function () {
|
parent.location.href = "../../../views/index.html"
|
})
|
//审核
|
form.on('submit(btn_Check)', function (data) {//审核
|
var sSubStr = table.cache['mainTable'];
|
var s = 0;
|
for (var i = 0; i < sSubStr.length; i++) {
|
if (parseInt(sSubStr[i].HSQty) > parseInt(sSubStr[i].HQty)) {
|
layer.msg("明细记录第" + (i + 1) + "行,扫码数量不能超出订单数量!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return;
|
}
|
if (parseInt(sSubStr[i].HSQty) > 0) {
|
s = 1;
|
}
|
}
|
if (s == 0) {
|
layer.msg("明细行数量不允许都为0,请输入数量后再审核!", { icon: 5, btn: ['确认'], time: 100000, offset: 'auto', skin: 'layui-layer-lan', title: "温馨提示" });
|
return;
|
}
|
|
var index = layer.load();
|
var HInterID = $('#HInterID').val();
|
var HBillNo = $('#HBillNo').val();
|
|
//拼接序列化的数据
|
var msg = JSON.stringify(sSubStr) + ';' + sessionStorage["HUserName"];
|
|
$.ajax({
|
url: GetWEBURL() + "/POStockInBillList/AuditPOInStockBillPost",
|
type: "Post",
|
data: { "msg": msg },
|
success: function (result) {
|
if (result.code == "1") {
|
layer.msg("审核成功", {
|
icon: 1, time: 1000000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示", btn: ['确认']
|
}, function () {
|
window.location.reload();
|
element.tabChange('TabTest', '1');
|
});
|
layer.close(index);
|
}
|
else {
|
layer.msg(result.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
layer.close(index);
|
}
|
},
|
error: function (err) {
|
layer.msg("接口请求失败!" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
layer.close(index);
|
}
|
});
|
});
|
|
//初始化表格
|
function set_InitGrid() {
|
//表头
|
columns = [
|
{ templet: '#xuhao', title: '序号', sort: true, width: 70, fixed: 'left' }
|
, {
|
field: 'HSQty', title: '数量', width: 80, templet: function (d) {
|
return '<input type="number" value="' + d.HSQty + '" autocomplete="off" class="editable-input" data-id="' + d.HEntryID + '" onfocus="this.select();">';
|
}
|
}
|
//, { field: 'HSQty', title: '数量', edit: 'text', width: 80 }
|
, { field: 'HQty', title: '订单数量', width: 90 }
|
, { field: 'HMaterID', title: 'HMaterID', hide: true }
|
, { field: 'HMaterNum', title: '物料代码', width: 150 }
|
, { field: 'HMaterName', title: '物料名称', width: 150 }
|
, { field: 'HModel', title: '规格型号', width: 200 }
|
, { field: 'HInterID', title: '主内码', sort: true, width: 200, hide: true }
|
, { field: 'HEntryID', title: '子内码', sort: true, width: 200, hide: true }
|
];
|
option = {
|
id: 'mainTable'
|
, elem: '#mainTable'
|
, page: true
|
, cellMinWidth: 120
|
, height: 500
|
, cols: [columns]
|
, done: function (res, curr, count) {
|
}
|
};
|
//option.data = [{ "数量": 0, "物料代码": 0, "物料名称": "", "规格型号": "" }];
|
table.render(option);
|
}
|
// 表格行内事件删除
|
function set_GridDelete(obj) {
|
var data = obj.data;
|
var index = layer.load();
|
var rowIndex = $(obj.tr).attr("data-index");
|
if (obj.event === 'del') {
|
layer.confirm('真的删除行么', function (index) {
|
console.log("索引为:" + rowIndex);
|
if (rowIndex === '0') {
|
layer.msg('首行无法删除!!!');
|
} else {
|
//obj.del();
|
layer.close(index);
|
var oldData = table.cache["mainTable"];
|
oldData.splice(obj.tr.data('index'), 1);
|
table.reload('mainTable', { data: oldData });
|
layer.close(index);
|
}
|
});
|
}
|
}
|
//源单回车方法
|
$('#HBillNo').on('keydown', function (event) {
|
if (event.keyCode == 13) {
|
GetMeesageBySourceBillNo();
|
}
|
});
|
//源单确认
|
form.on('submit(QueDin2)', function (data) {
|
GetMeesageBySourceBillNo();
|
});
|
//扫源单
|
function GetMeesageBySourceBillNo(obj) { //返回工作中心
|
var HBarCode = $('#HBillNo').val();//条形码(流转卡号)(数据库中为单据号)
|
if (!HBarCode) {
|
layer.msg("单据号不能为空!")
|
return;
|
}
|
var index = layer.load();
|
$.ajax({
|
url: GetWEBURL() + "/POStockInBillList/Get_ReciveBill",
|
type: "GET",
|
data: { "HBillno": HBarCode },
|
success: function (result) {
|
if (result.code == "1") {
|
var data = result.data[0];
|
$("#HSupName").val(data.HSupName);
|
$("#HDeptName").val(data.HDeptName);
|
$("#HBillNo").val(data.HBillNo);
|
$("#HInterID").val(data.HInterID);
|
option.data = result.data;
|
table.render(option);
|
layer.close(index);
|
element.tabChange('TabTest', '2');
|
}
|
else {
|
layer.close(index);
|
layer.msg(result.Message, {
|
icon: 5, time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示", btn: ['确认']
|
}, function () {
|
element.tabChange('TabTest', '1');
|
$("#HBillNo").select();
|
$("#HBillNo").focus();
|
});
|
}
|
},
|
error: function (err) {
|
layer.close(index);
|
layer.msg("接口请求失败!" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
});
|
}
|
|
//#region 监听输入框的blur事件
|
|
$(document).on('blur', '.editable-input', function () {
|
var $input = $(this);
|
var value = $input.val().trim(); // 去除输入值两边的空格
|
var id = $input.data('id');
|
|
// 遍历table.cache来获取对应的行数据,并更新它
|
var tableData = table.cache['mainTable']; // 获取表格缓存的数据
|
var rowData = tableData.find(function (item) { return item.HEntryID == id; }); // 找到对应的行数据
|
if (rowData) {
|
rowData.HSQty = value || 0; // 更新行数据中的HSQty字段,当value为null、undefined、空字符串''、0、NaN、false时,都会认为value是'假y'的,从而返回0
|
|
// 如果输入值为空字符串,则将其设置为0
|
if (value === '') {
|
$input.val(0);
|
}
|
}
|
});
|
//#endregion
|
|
//以上为layui模块
|
});
|
</script>
|
</body>
|
</html>
|