<!DOCTYPE html>
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
<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">
|
<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
|
</head>
|
|
<body>
|
<div class="layui-fluid" style="padding:0">
|
<div class="layui-card">
|
<div class="layui-card-body" style="padding: 5px; height:800px;">
|
<form class="layui-form" action="" lay-filter="component-form-group">
|
<div style="background-color:#0085E8;">
|
<span style="color: white;"><i class="layui-icon layui-icon-form"></i>找货单</span>
|
</div>
|
<div class="layui-form-item" style="padding:15px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">源单号</label>
|
</div>
|
<div class="layui-col-xs8">
|
<input type="text" name="HSourceBillNo" id="HSourceBillNo" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">实物条码</label>
|
</div>
|
<div class="layui-col-xs8">
|
<input type="text" name="HBarCode" id="HBarCode" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">单据号</label>
|
</div>
|
<div class="layui-col-xs8">
|
<input type="text" name="HBillNo" id="HBillNo" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HInterID" id="HInterID" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-tab layui-col-xs12" lay-filter="tab-LookingForBill">
|
<ul class="layui-tab-title" lay-filter="tab-all">
|
<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:0px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">仓库</label>
|
</div>
|
<div class="layui-col-xs6">
|
<input type="text" name="HWHName" id="HWHName" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HWHID" id="HWHID" value="0" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<button type="button" id="HWHID-BT" lay-submit="" class="layui-btn" lay-filter="HWHID-BT">...</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item" style="padding:0px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">仓位</label>
|
</div>
|
<div class="layui-col-xs6">
|
<input type="text" name="HSPName" id="HSPName" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HSPID" id="HSPID" value="0" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<button type="button" id="HSpID-BT" lay-submit="" class="layui-btn" lay-filter="HSpID-BT">...</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item" style="padding:0px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">班组</label>
|
</div>
|
<div class="layui-col-xs6">
|
<input type="text" name="HGroup" id="HGroup" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HGroupID" id="HGroupID" value="0" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="ProductionTeam-BT">...</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item" style="padding:0px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">生产资源</label>
|
</div>
|
<div class="layui-col-xs6">
|
<input type="text" name="HSource" id="HSource" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HSourceID" id="HSourceID" value="0" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-col-xs3">
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="ProductionResources-BT">...</button>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item" style="padding:0px;margin:0px">
|
<div class="layui-row">
|
<div class="layui-col-xs3">
|
<label class="layui-form-label" style="width:90px;padding-left:0px;">制单人</label>
|
</div>
|
<div class="layui-col-xs6">
|
<input type="text" name="HMaker" id="HMaker" autocomplete="off" class="layui-input">
|
<input type="hidden" name="HMakerID" id="HMakerID" value="0" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
</div>
|
<!--明细信息-->
|
<div class="layui-tab-item">
|
<table class="layui-hide" id="bzd-table" lay-filter="bzd-table"></table>
|
</div>
|
</div>
|
</div>
|
<div class="layer-footer" style="z-index: 10; position: fixed; text-align: center; bottom: 0; width:100%; height:50px">
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="Saver">提交</button>
|
<button type="button" lay-submit="" class="layui-btn" lay-filter="Cancel">退出</button>
|
</div>
|
</form>
|
</div>
|
</div>
|
</div>
|
<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>
|
<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
|
, element = layui.element;
|
|
//初始基本信息赋值
|
$("#HWHID").val(sessionStorage["HWHID"]);
|
$("#HWHName").val(sessionStorage["HWHName"]);
|
$("#HSPID").val(sessionStorage["HSPID"]);
|
$("#HSPName").val(sessionStorage["HSPName"]);
|
$("#HGroupID").val(sessionStorage["HGroupID"]);
|
$("#HGroup").val(sessionStorage["HGroup"]);
|
$("#HSourceID").val(sessionStorage["HSourceID"]);
|
$("#HSource").val(sessionStorage["HSource"]);
|
$("#HMakerID").val(sessionStorage["Czybm"]);
|
$("#HMaker").val(sessionStorage["HUserName"]);
|
|
//主表列表
|
var option = {
|
elem: '#bzd-table'
|
//, toolbar: '#toolbarDemo'
|
, page: true
|
//, height: 256
|
, cellMinWidth: 90
|
, cols: [[
|
{ type: 'numbers', title: '序号' }
|
, { field: '是否扫码', title: '是否扫码' }
|
, { field: 'HInterID', title: 'HInterID', hide: true }
|
, { field: '单据号', title: '单据号', width: 110 }
|
, { field: '批号', title: '批号', width: 180 }
|
, { field: '仓库ID', title: '仓库ID', hide: true }
|
, { field: '仓库', title: '仓库' }
|
, { field: '仓位ID', title: '仓位ID', hide: true }
|
, { field: '仓位', title: '仓位' }
|
, { field: '班组ID', title: '班组ID', hide: true }
|
, { field: '班组', title: '班组' }
|
, { field: '生产资源ID', title: '生产资源ID', hide: true }
|
, { field: '生产资源', title: '生产资源', width: 115 }
|
, { field: '数量', title: '数量' }
|
, { field: '物料ID', title: '物料ID', hide: true }
|
, { field: '物料名称', title: '物料名称', width: 120 }
|
, { field: '物料编码', title: '物料编码' }
|
, { field: '规格型号', title: '规格型号' }
|
, { field: '即时库存', title: '即时库存' }
|
, { field: '在库状态', title: '在库状态' }
|
, { field: '条码编号', title: '条码编号', hide: true }
|
]]
|
, text: {
|
none: '暂无相关数据,请先扫描源单号!' //默认:无数据。注:该属性为 layui 2.2.5 开始新增
|
}
|
};
|
|
//初始加载表格
|
option.data = [];
|
table.render(option);
|
|
//进入页面默认光标在源单号上
|
$("#HSourceBillNo").focus();
|
|
//扫源单(包装单条码)
|
$('#HBarCode_Pack').on('keydown', function (event) {
|
var HBarCode_Pack = $('#HBarCode_Pack').val()
|
if (event.keyCode == 13) {
|
var index = layer.load();
|
$.ajax({
|
url: GetWEBURL() + "/UpEntrustOut/getPackUnionBillList",
|
type: "GET",
|
data: { "HBarCode_Pack": HBarCode_Pack },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
var data = result.data;
|
option.data = data;
|
table.render(option);
|
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: "温馨提示" });
|
}
|
});
|
}
|
});
|
|
//扫源单(销售订单)
|
$('#HSourceBillNo').on('keydown', function (event) {
|
var HSourceBillNo = $('#HSourceBillNo').val()
|
if (event.keyCode == 13) {
|
var index = layer.load();
|
$.ajax({
|
url: GetWEBURL() + "/UpEntrustOut/getSellOrderList",
|
type: "GET",
|
data: { "HSourceBillNo": HSourceBillNo },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
var data = result.data;
|
option.data = data;
|
table.render(option);
|
layer.close(index);
|
var rowFlage = "";
|
for (var i = 0; i < data.length; i++) {
|
if (!data[i].条码编号) {
|
rowFlage += i+1 + ",";
|
}
|
}
|
if (rowFlage) {
|
layer.msg("第" + rowFlage +"行数据无条码,请先生成条码!", { icon: 5, btn: ['我已知晓'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
$("#HSourceBillNo").attr("readonly", "readonly");//源单号只读
|
$("#HSourceBillNo").css("background-color", "#efefef4d");
|
element.tabChange('tab-LookingForBill', '2'); //跳转页签
|
}
|
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').on('keydown', function (event) {
|
var HBarCode = $('#HBarCode').val()
|
if (event.keyCode == 13) {
|
var index = layer.load();
|
var sSubStr = table.cache['bzd-table'];
|
var rowCount = 0;
|
for (var i = 0; i < sSubStr.length; i++) {
|
if (sSubStr[i].条码编号 == HBarCode) {
|
rowCount += 1;
|
if (sSubStr[i].是否扫码 == "是") {
|
layer.close(index);
|
$('#HBarCode').val("");
|
layer.msg("该实物已扫码,请勿重复扫码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
} else {
|
sSubStr[i].是否扫码 = "是";
|
option.data = table.cache["bzd-table"];
|
table.render(option);
|
layer.close(index);
|
$('#HBarCode').val("");
|
layer.msg("扫码成功!", { icon: 1, time: 1000 });
|
}
|
}
|
}
|
if (rowCount == 0) {
|
layer.close(index);
|
layer.msg("无效条码!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
|
|
}
|
});
|
|
//选择仓库
|
form.on('submit(HWHID-BT)', function () {//选择仓库
|
layer.open({
|
type: 2
|
, area: ['80%', '80%']
|
, title: '仓库列表'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: true //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../../views/Baseset/基础资料/Gy_WarehouseList.html?Type=HWHID', 'yes']
|
, resize: false
|
, cancel: function () {
|
}
|
})
|
});
|
|
//选择仓位
|
form.on('submit(HSpID-BT)', function () {//选择仓位
|
layer.open({
|
type: 2
|
, area: ['80%', '80%']
|
, title: '仓位列表'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: true //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../../views/Baseset/基础资料/Gy_StockPlaceList.html?HWhID=' + sessionStorage["HWHID"] + '&Type=HSpID', 'yes']
|
, resize: false
|
, cancel: function () {
|
}
|
})
|
});
|
|
|
//选择班组
|
form.on('submit(ProductionTeam-BT)', function () {//选择班组
|
layer.open({
|
type: 2
|
, area: ['80%', '80%']
|
, title: '班组列表'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: true //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../../views/Baseset/基础资料/Gy_GetProductionTeamList.html', 'yes']
|
, resize: false
|
, cancel: function (index, layero) {
|
}
|
})
|
});
|
|
//选择生产资源弹窗
|
form.on('submit(ProductionResources-BT)', function () {//生产资源
|
layer.open({
|
type: 2
|
, area: ['80%', '80%']
|
, title: '生产资源'
|
, shade: 0.6 //遮罩透明度
|
//, maxmin: true //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../../views/Baseset/基础资料/Gy_GetProductionResourcesList.html', 'yes']
|
, resize: false
|
, cancel: function (index, layero) {
|
}
|
})
|
});
|
|
|
//退出按钮
|
form.on('submit(Cancel)', function () {
|
parent.location.href = "../../../views/index.html"
|
//window.close();//关闭当前页
|
})
|
|
//提交
|
form.on('submit(Saver)', function (data) {//提交
|
//debugger;
|
var sMainStr = JSON.stringify(data.field);
|
var sSubStr = table.cache['wl-table'];
|
var sSourceType = '-1'
|
if (AllowLoadData(sSubStr, 'Saver') != false)//非空验证
|
{
|
layer.load(3);
|
$.ajax(
|
{
|
type: "POST",
|
url: GetWEBURL() + "/MoveStockBill/set_SaveMoveStockBill_Json", //方法所在页面和方法名
|
async: true,
|
data: { "oMain": sMainStr },
|
dataType: "json",
|
success: function (data) {
|
if (data.count == 1) { // 说明验证成功了
|
layer.confirm("生成调拨单" + data.Message + $("#HBillNo").val(), {
|
icon: 1, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['新增'],
|
btn2: function () {
|
//parent.layui.admin.events.closeThisTabs();关闭页签
|
//window.close();//关闭页面,浏览器有效,PDA无效
|
parent.location.href = "../../../views/index.html"
|
}//关闭
|
}, function () { window.location.reload(); });//新增
|
}
|
else {
|
layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
},
|
error: function (err) {
|
layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
});
|
return false;
|
}
|
});
|
//监听提交
|
form.verify({
|
numberOrEmpty: function (value, item) {
|
// if (value != '') {
|
if (!/^\d+$/.test(value)) {
|
return '不能为空或数字或者0';
|
}
|
//}
|
}
|
});
|
|
|
$('#HStockPlaceName').on('keydown', function (event) { //扫仓位
|
var HBarCode = $('#HStockPlaceName').val()
|
if (event.keyCode == 13) {
|
//判断文本框是否有数据 new
|
$.ajax({
|
url: GetWEBURL() + "/Web/GetSpName_Json",
|
type: "GET",
|
data: { "HBarCode": HBarCode },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
$("#HStockPlaceName").val(result.data[0].HName);
|
$("#HStockPlaceID").val(result.data[0].HItemID);
|
$("#HWHID").val(result.data[0].HWHID);
|
$("#HWHNAME").val(result.data[0].HWhName);
|
element.tabChange('tab-POStockInBill', '2');
|
}
|
else {
|
layer.msg(result.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
layer.closeAll("loading");
|
}
|
});
|
}
|
});
|
|
$('#HOutStockPlaceName').on('keydown', function (event) { //扫仓位
|
var HBarCode = $('#HOutStockPlaceName').val()
|
if (event.keyCode == 13) {
|
//判断文本框是否有数据 new
|
$.ajax({
|
url: GetWEBURL() + "/Web/GetSpName_Json",
|
type: "GET",
|
data: { "HBarCode": HBarCode },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
$("#HOutStockPlaceName").val(result.data[0].HName);
|
$("#HSCWHID").val(result.data[0].SCWhID);
|
$("#HSCWHNAME").val(result.data[0].HSCWHNAME);
|
element.tabChange('tab-POStockInBill', '2');
|
}
|
else {
|
layer.msg(result.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
}
|
layer.closeAll("loading");
|
}
|
});
|
}
|
});
|
|
});
|
|
//返回仓库
|
function GetHWHValue(obj) //返回仓库
|
{
|
if (obj.length == 0) {
|
layer.msg("请先选择仓库", { index: 0 });
|
} else {
|
$("#HWHName").val(obj[0].HName);
|
$("#HWHID").val(obj[0].HItemID);
|
}
|
}
|
|
//返回仓位
|
function GetHSpValue(obj) { //返回仓位
|
if (obj.length == 0) {
|
layer.msg("请先选择仓位", { index: 0 });
|
} else {
|
$("#HSPName").val(obj[0].HName);
|
$("#HSPID").val(obj[0].HItemID);
|
}
|
}
|
|
//返回班组
|
function GetProductionTeamValue(obj) { //返回班组
|
if (obj.length==0) {
|
layer.msg("请先选择班组", { index: 0 });
|
} else {
|
$("#HGroupName").val(obj[0].班组);
|
$("#HGroupID").val(obj[0].HItemID);
|
layer.closeAll();
|
}
|
}
|
|
//返回生产资源
|
function GetProductionResourcesValue(obj) { //返回生产资源
|
if (obj.length == 0) {
|
layer.msg("请先选择生产资源", { index: 0 });
|
} else {
|
$("#HSource").val(obj[0].生产资源);
|
$("#HSourceID").val(obj[0].HItemID);
|
layer.closeAll();
|
}
|
}
|
|
function AllowLoadData(sSubStr,bnt) { //非空验证
|
//if ($("#HSourceBillNo").val() == '') {
|
// layer.msg("请先扫源单!", { icon: 5 });
|
// return false;
|
//}
|
if($("#HDeptName").val()=='')
|
{
|
layer.msg("部门没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HSecManager").val() == '') {
|
layer.msg("验收人没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HKeeper").val() == '') {
|
layer.msg("保管人没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HWHNAME").val() == '') {
|
layer.msg("调入仓库没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HWHID").val() == $("#HSCWHID").val() && $("#HStockPlaceID").val() == $("#HOutStockPlaceID").val()) {
|
layer.msg("调入仓库、仓位不能和调出仓库、仓位都相同!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HBillNo").val() == '') {
|
layer.msg("错误的单据号!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if ($("#HInterID").val() == '') {
|
layer.msg("错误的内码!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if (typeof (sSubStr) == "undefined")
|
{
|
layer.msg("没有物料明细记录!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
if (bnt == 'Saver') {
|
if (!typeof (sSubStr) == "undefined") {
|
for (var i = 0; i <= sSubStr.length - 1; i++) { //判断扫码数量不能大于应收数量
|
if (parseFloat(sSubStr[i].HQtyMust) > 0) {
|
if (parseFloat(sSubStr[i].HQty) > parseFloat(sSubStr[i].HQtyMust)) {
|
layer.msg("数量不能大于应收数量!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
|
return false;
|
}
|
}
|
}
|
}
|
}
|
else {
|
return true;
|
}
|
}
|
</script>
|
|
</body>
|
</html>
|