<!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, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
<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-bottom: 0;">
|
<div class="layui-card">
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">移库单号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="MoveNo" name="MoveNo" onkeyup="this.value=this.value.replace(/[, ]/g,'')" placeholder="移库单号"
|
autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">执行状态</label>
|
<div class="layui-input-inline" >
|
<select name="MoveStauts" id="MoveStauts" onkeyup="this.value=this.value.replace(/[, ]/g,'')" lay-filter="MoveStauts"
|
lay-search>
|
<option value=""></option>
|
</select>
|
</div>
|
</div>
|
|
<div class="layui-inline">
|
<label class="layui-form-label">开始时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" id="StartTime" class="layui-input"
|
placeholder="">
|
</div>
|
<label class="layui-form-label">结束时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" id="EndTime" class="layui-input"
|
placeholder="">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
|
lay-filter="LAY-app-contlist-search">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
|
</button>
|
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-card-body">
|
<div style="position: relative;">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<ul class="layui-tab-title">
|
<li class="layui-this">总单</li>
|
<li>明细</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
|
</div>
|
<div class="layui-tab-item">
|
<table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table>
|
</div>
|
</div>
|
</div>
|
<div style="padding-bottom: 6px; position: absolute; top: 0; right: 16px;">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="add" id="approvalBtn"><i class="layui-icon"></i>添加</button>
|
<!-- <button class="layui-btn layuiadmin-btn-list" data-type="edit1" id="approvalBtndel">联机移库</button>
|
<button class="layui-btn layuiadmin-btn-list" data-type="edit2" id="approvalBtnwan">脱机移库</button> -->
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-hide layui-btn-danger" data-type="hide"><i class="layui-icon"></i>隐藏按钮</button>
|
</div>
|
</div>
|
|
<!-- <div style="padding-bottom: 6px;">
|
<button class="layui-btn layuiadmin-btn-list" data-type="add" id="approvalBtn">添加移库单</button>
|
<button class="layui-btn layuiadmin-btn-list" data-type="edit1" id="approvalBtndel">联机移库</button>
|
<button class="layui-btn layuiadmin-btn-list" data-type="edit2" id="approvalBtnwan">脱机移库</button>
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-hide layui-btn-danger" data-type="hide"
|
><i class="layui-icon"></i>隐藏按钮</button>
|
</div> -->
|
<!-- <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> -->
|
<script type="text/html" id="buttonTpl">
|
{{# if(d.TypeName=='等待执行'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>
|
{{# } else if(d.TypeName=='正在执行') { }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">正在执行</button>
|
{{# } else{ }}
|
<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>
|
{{# } }}
|
</script>
|
<script type="text/html" id="table-content-list">
|
<a class="approvalBtn1 layui-btn layui-btn-normal layui-btn-xs" style="display: none;" lay-event="edit" id="approvalBtn1"><i
|
class="layui-icon layui-icon-edit"></i>编辑</a>
|
<a class="approvalBtndel layui-btn layui-btn-normal layui-btn-xs" style="display: none;" lay-event="move" id="approvalBtndel" ><i class="layui-icon layui-icon-ok"></i>移库</a>
|
<a class="approvalBtnwan layui-btn layui-btn-danger layui-btn-xs" style="display: none;" id="approvalBtnwan" 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>
|
|
var uid = $.cookie('userId');
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'table', 'laypage', 'layer','laydate'], function() {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
laydate = layui.laydate;
|
var xqid = "";
|
laydate.render({
|
elem: '#StartTime'
|
,format: 'dd-MM-yyyy' //可任意组合
|
});
|
laydate.render({
|
elem: '#EndTime'
|
,format: 'dd-MM-yyyy' //可任意组合
|
});
|
refreshTable("","","","");
|
var tableIns;
|
|
function refreshTable(MoveNo,MoveStauts,StartTime,EndTime) {
|
var StartTimedata="";
|
var EndTimedata="";
|
if(StartTime!=null && StartTime!=undefined && StartTime!=""){
|
StartTimedata=StartTime.substring(6,10)+"-"+StartTime.substring(3,5)+"-"+StartTime.substring(0,2);
|
}
|
if(EndTime!=null && EndTime!=undefined && EndTime !=""){
|
EndTimedata = EndTime.substring(6,10)+"-"+EndTime.substring(3,5)+"-"+EndTime.substring(0,2);
|
}
|
|
var param = {
|
MoveNo:MoveNo,
|
MoveStauts:MoveStauts,
|
StartTime:StartTimedata,
|
EndTime:EndTimedata
|
};
|
sendData(IP + "/MoveOrder/GetMoveBillList", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
var list = res.data;
|
$.extend(infoOptions, {
|
data: list
|
});
|
infoOptions.page = {
|
curr: 1
|
}
|
tableIns = table.render(infoOptions);
|
|
} else { //不成功
|
layer.msg('获取入库单信息失败!', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
|
}
|
// table.reload()
|
// 表单需要的变量
|
var infoOptions = {
|
elem: '#LAY-app-content-list',
|
height: 'full-168',
|
id: 'LAY-app-content-list',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done:function(){
|
var param = {
|
Id: $.cookie('userId')
|
}
|
sendData(IP + "/Menu/GetPermission", param, 'post', function(res) {
|
if (res.code == 1) { //成功
|
|
for (var k = 0; k < res.data.length; k++) {
|
if (res.data[k].ModuleId == "a1f951106f704db5b33baf40a22ed141") {
|
console.log(1);
|
$(function() {
|
|
$(".approvalBtn1").show();
|
|
});
|
}
|
if (res.data[k].ModuleId == "991ed94938e64a6399807d78c3677217") {
|
|
$(function() {
|
$(".approvalBtndel").show();
|
|
});
|
}
|
if (res.data[k].ModuleId == "48d777077d66489abf134ccec3b469d3") {
|
$(function() {
|
$(".approvalBtnwan").show();
|
});
|
}
|
// else{
|
// $("#approvalBtn").css({"display": "none"});
|
// }
|
}
|
} else { //不成功
|
layer.msg('获取信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
//回调
|
});
|
}
|
});
|
},
|
cols: [
|
[ {
|
field: 'id',
|
title: '序号',
|
type: 'numbers',
|
width: 60,
|
|
},{
|
field: 'MoveNo',
|
title: '移库单号',
|
align: 'center',
|
//fixed: 'left',
|
|
}, {
|
field: 'TypeName',
|
//templet: '#buttonTpl',
|
title: '执行状态',
|
//fixed: 'right',
|
align: 'center',
|
templet: '#buttonTpl',
|
}, {
|
field: 'UserName',
|
title: '创建人',
|
align: 'center',
|
|
}, {
|
field: 'CreateTime',
|
title: '创建时间',
|
align: 'center',
|
templet: function(d) {
|
return formatDate(d.CreateTime);
|
}
|
}, {
|
field: 'UpdateUserName',
|
title: '修改人',
|
align: 'center',
|
|
}, {
|
field: 'UpdateTime',
|
title: '修改时间',
|
align: 'center',
|
templet: function(d) {
|
return formatDate(d.UpdateTime);
|
}
|
}
|
, {
|
title: '操作',
|
fixed: 'right',
|
width: 220,
|
align: 'center',
|
toolbar: '#table-content-list'
|
}]
|
],
|
|
};
|
var doing = true;
|
var $ = layui.$,
|
active = {
|
add: function() {
|
layer.open({
|
type: 2,
|
title: '添加移库单',
|
content: 'MoveBillListForm.html',
|
maxmin: true,
|
area: ['1020px', '90%']
|
});
|
},
|
edit1:function(){
|
var checkStatus = table.checkStatus('LAY-app-content-list'),
|
checkData = checkStatus.data; //得到选中的数据
|
if (checkData.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
if (checkData.length > 1) {
|
return layer.msg('只能选择一个移库单!');
|
}
|
layer.confirm('确定下发移库任务吗?', function(index) {
|
if (doing) {
|
doing = false;
|
|
console.log(checkData);
|
var param = {
|
MoveNo: checkData[0].MoveNo,
|
CreateUser:$.cookie('userId')
|
};
|
sendData(IP + "/MoveOrder/AutoMove", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable("","","","");
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {doing = true;});
|
}
|
});
|
}
|
});
|
},
|
edit2:function(){
|
var checkStatus = table.checkStatus('LAY-app-content-list'),
|
checkData = checkStatus.data; //得到选中的数据
|
if (checkData.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
if (checkData.length > 1) {
|
return layer.msg('只能选择一个移库单!');
|
}
|
layer.confirm('确定将移出储位的库存信息转移到移入货位吗?', function(index) {
|
if (doing) {
|
doing = false;
|
|
console.log(checkData);
|
var param = {
|
MoveNo: checkData[0].MoveNo,
|
CreateUser:$.cookie('userId')
|
};
|
sendData(IP + "/MoveOrder/MoveOffLine", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable("","","","");
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {doing = true;});
|
}
|
});
|
}
|
});
|
}
|
};
|
$('.layui-btn.layuiadmin-btn-list').on('click', function() {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
$(function() {
|
$("#approvalBtn").hide();
|
|
});
|
|
$(function() {
|
$("#approvalBtndel").hide();
|
});
|
$(function() {
|
$("#approvalBtnwan").hide();
|
});
|
|
//setTimeout(function(){
|
|
var element = layui.element;
|
var houseId = 0;
|
var param = {
|
Id: $.cookie('userId')
|
}
|
var xml = '';
|
function getchiled(data, mainId) {
|
if (data) {
|
var list = data.filter(item => item.ParentId == mainId);
|
if (list) {
|
for (var i = 0; i < list.length; i++) {
|
var id = list[i].Id;
|
//查询有无子菜单
|
var count = data.filter(item => item.ParentId == id).length;
|
if (count > 0) {
|
xml = xml +
|
'<dd>' +
|
'<a href="javascript:;">' + list[i].Name + '</a>' +
|
'<dl class="layui-nav-child">';
|
getchiled(data, id);
|
xml = xml +
|
'</dl></dd>';
|
|
} else {
|
xml = xml +
|
'<dd>' +
|
'<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' +
|
'</dd>';
|
|
}
|
}
|
|
}
|
|
}
|
}
|
|
var menuList;
|
sendData(IP + "/Menu/GetPermission", param, 'post', function(res) {
|
if (res.code == 1) { //成功
|
var list = res.data.filter(item => item.Layer == 0);
|
if (list) {
|
for (var i = 0; i < list.length; i++) {
|
xml = xml +
|
'<li class="layui-nav-item">' +
|
'<a href="javascript:;" lay-tips=' + list[i].Icon + ' lay-direction="2">' +
|
// '<i class="layui-icon ' + list[i].Icon + '"></i>' +
|
'<span class="iconfont ' + list[i].Icon + '"></span>' +
|
'<cite>' + list[i].Name + '</cite>' +
|
'</a>';
|
var id = list[i].Id;
|
//查询有无子菜单
|
var count = res.data.filter(item => item.ParentId == id).length;
|
if (count > 0) {
|
xml = xml +
|
'<dl class="layui-nav-child">';
|
getchiled(res.data, id);
|
xml = xml +
|
'</dl>';
|
}
|
xml = xml +
|
'</li>'
|
}
|
}
|
$("#LAY-system-side-menu").append(xml);
|
element.render("#leftmenu");
|
console.log(res.data)
|
for (var k = 0; k < res.data.length; k++) {
|
if (res.data[k].ModuleId == "a1f951106f704db5b33baf40a22ed141") {
|
console.log(1);
|
$(function() {
|
$("#approvalBtn").show();
|
|
|
});
|
}
|
|
|
}
|
} else { //不成功
|
layer.msg('获取信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
//回调
|
});
|
}
|
});
|
|
// },2000)
|
|
|
|
table.on('tool(LAY-app-content-list)', function(obj) {
|
var data = obj.data;
|
if(obj.event === 'edit'){
|
if(data.TypeName!="等待执行"){
|
layer.msg("单据已经下发任务或完成,不可编辑!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
return;
|
}
|
layer.open({
|
type: 2,
|
title: '添加移库单',
|
content: 'MoveBillListForm.html?moveno='+data.MoveNo,
|
maxmin: true,
|
area: ['1020px', '90%']
|
});
|
}
|
if(obj.event === 'move'){
|
if(data.TypeName!="等待执行"){
|
layer.msg("单据已经下发任务或完成,不可移库!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
return;
|
}
|
layer.confirm('确定下发移库任务吗?', function(index) {
|
if (doing) {
|
doing = false;
|
|
var param = {
|
MoveNo: data.MoveNo,
|
CreateUser:$.cookie('userId')
|
};
|
sendData(IP + "/MoveOrder/AutoMove", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable("","","","");
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {doing = true;});
|
}
|
});
|
}
|
});
|
|
}
|
|
|
if (obj.event === 'del') {
|
|
if(data.TypeName=="等待执行"){
|
layer.confirm('确定删除此单据吗?', function(index) {
|
if (doing) {
|
doing = false;
|
|
var param = {
|
MoveNo: data.MoveNo,
|
CreateUser:$.cookie('userId')
|
};
|
sendData(IP + "/MoveOrder/CancelWmsMoveNotify", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1000 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable("","","","");
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {doing = true;});
|
}
|
});
|
}
|
});
|
}else{
|
layer.msg("单据已经下发任务或完成,不可删除!", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
}
|
});
|
|
function refreshTablemx(MoveNo) {
|
var param = {
|
MoveBillCode: MoveNo,
|
// ImportBillCode:$("#ImportBillCode").val(),
|
// ImportExecuteFlag:$("#ImportExecuteFlag").val(),
|
// StartTime: $("#StartTime").val(),
|
// EndTime: $("#EndTime").val()
|
};
|
sendData(IP + "/MoveNotify/GetStockSlotListBySlotId", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 1) { //成功
|
var list = res.data;
|
$.extend(infoOptions2, {
|
data: list
|
});
|
infoOptions.page = {
|
curr: 1
|
}
|
tableIns = table.render(infoOptions2);
|
} else { //不成功
|
layer.msg('获取入库单信息失败!', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
|
};
|
var infoOptions2 = {
|
elem: '#LAY-app-content-list2',
|
height: 'full-168',
|
id: 'LAY-app-content-list2',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
cols:[
|
[
|
{
|
field: 'StockStockCode',
|
title: '托盘条码',
|
align: 'center',
|
|
},{
|
field: 'StockSlotCode',
|
title: '移出货位',
|
align: 'center',
|
|
},{
|
field: 'MoveInSlotCode',
|
title: '移入货位',
|
align: 'center',
|
|
|
//fixed: 'right'
|
},
|
{
|
field: 'GoodsCode',
|
title: '物品编码',
|
align: 'center',
|
}, {
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
|
|
},
|
// , {
|
// field: 'GoodsStandard',
|
// title: '物品规格',
|
// align: 'center',
|
|
// }, {
|
// field: 'StockLotNo',
|
// title: '物品批次',
|
// align: 'center',
|
|
// }, {
|
// field: 'StockQuantity',
|
// title: '库存数量',
|
// align: 'center',
|
|
// }, {
|
// field: 'UnitName',
|
// title: '物品单位',
|
// align: 'center',
|
|
// }
|
{
|
field: 'StockDate',
|
title: '入库时间',
|
|
align: 'center',
|
templet: function(d) {
|
return formatDate(d.StockDate);
|
}
|
},
|
{
|
field: 'TypeName',
|
title: '执行状态',
|
align: 'center',
|
templet: '#buttonTpl',
|
width: 170
|
},
|
// {
|
// field: 'StockProductionDate',
|
// title: '生产日期',
|
// align: 'center',
|
// width: 120,
|
// templet: function(d) {
|
// return formatDate(d.StockProductionDate);
|
// }
|
// },
|
|
|
]
|
],
|
};
|
|
|
form.on('submit(LAY-app-contlist-search)', function(data) {
|
if ($(".layui-tab-title>li[class='layui-this']").html() == "总单") {
|
var MoveNo = data.field.MoveNo;
|
var MoveStauts = data.field.MoveStauts;
|
|
var StartTime = $('#StartTime').val();
|
var EndTime = $('#EndTime').val();
|
|
refreshTable(MoveNo,MoveStauts,StartTime,EndTime);
|
}
|
if ($(".layui-tab-title>li[class='layui-this']").html() == "明细") {
|
refreshTablemx(xqid);
|
}
|
});
|
sendData(IP + "/MoveOrder/GetStates", {}, 'post', function(res) {
|
var html = '';
|
console.log(res);
|
if (res.code == 1) { //成功
|
var list = res.data;
|
for (var i = 0; i < list.length; i++) {
|
html += '<option value = "' + list[i].Code + '">' + list[i].TypeName + '</option>';
|
}
|
$("#MoveStauts").append(html);
|
form.render('select');
|
} else { //不成功
|
layer.msg('获取状态信息失败!', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
|
//触发行双击事件
|
table.on('rowDouble(LAY-app-content-list)', function(obj) {
|
$(".layui-tab-title>li").attr("class", "");
|
$('.layui-tab-title>li').eq(1).attr('class', 'layui-this');
|
$('.layui-tab-content .layui-tab-item').attr('class', 'layui-tab-item')
|
$('.layui-tab-content .layui-tab-item').eq(1).attr('class', 'layui-tab-item layui-show')
|
refreshTablemx(obj.data.MoveNo);
|
xqid = obj.data.MoveNo;
|
});
|
|
});
|
|
|
|
</script>
|
|
</body>
|
</html>
|