<!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" style="width: 60px;">流水号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="Msg" name="Msg" placeholder="流水号" autocomplete="off"
|
class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">出库单号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="ExportBill" name="ExportBill" placeholder="出库单号" autocomplete="off"
|
class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">执行状态</label>
|
<div class="layui-input-inline">
|
<select name="ExportExecuteFlag" id="ExportExecuteFlag" lay-filter="ExportExecuteFlag"
|
lay-search>
|
<option value=""></option>
|
<option value="0">等待执行</option>
|
<option value="1">正在执行</option>
|
<option value="2">执行完毕</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">开始时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" name="StartTime" id="StartTime" class="layui-input"
|
placeholder="开始时间">
|
</div>
|
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">结束时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" name="EndTime" 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"
|
style="margin:0 auto;"></table>
|
|
<script type="text/html" id="table-content-list">
|
{{# if(d.ExportExecuteFlag=='0'){ }}
|
<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="cheXiao"><i class="layui-icon layui-icon-delete"></i>撤销</a>
|
{{# } }}
|
</script>
|
|
<script type="text/html" id="buttonTpl">
|
{{# if(d.ExportExecuteFlag=='0'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>
|
{{# } else if(d.ExportExecuteFlag=='1') { }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">正在执行</button>
|
{{# } else if(d.ExportExecuteFlag=='2') { }}
|
<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>
|
{{# } else if(d.ExportExecuteFlag=='4') { }}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-danger layui-btn-xs">已取消</button>
|
{{# } }}
|
</script>
|
|
<script type="text/html" id="outType">
|
<p>{{ d.OutType == 0? "整托":"半托" }}</p>
|
</script>
|
</div>
|
<div class="layui-tab-item">
|
<table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table>
|
|
<script type="text/html" id="state">
|
{{# if(d.Status=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">已拣货</button>
|
{{# } else { }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">待拣货</button>
|
{{# } }}
|
</script>
|
<script type="text/html" id="isMustExport">
|
{{# if(d.IsMustExport=='1'){ }}
|
<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">是</button>
|
{{# } else { }}
|
<button class="layui-btn layui-btn-radius layui-btn-xs">否</button>
|
{{# } }}
|
</script>
|
|
</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="outbound"
|
id="approvalBtn"> 出 库 </button>
|
</div>
|
</div>
|
</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', 'table', 'laypage', 'layer', 'laydate'], function () {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
laydate = layui.laydate;
|
|
laydate.render({
|
elem: '#StartTime'
|
, format: 'dd-MM-yyyy' //可任意组合
|
});
|
laydate.render({
|
elem: '#EndTime'
|
, format: 'dd-MM-yyyy' //可任意组合
|
});
|
|
refreshTable("");
|
refreshTable2("", "");
|
|
function refreshTable(msg, exportBill, exportExecuteFlag, startTime, endTime) {
|
var param = {
|
msg: msg,
|
ExportBill: exportBill,
|
ExportExecuteFlag: exportExecuteFlag,
|
StartTime: startTime == null? "":startTime.split("-").reverse().join("-"),
|
EndTime: endTime == null? "": endTime.split("-").reverse().join("-")
|
};
|
|
var url = IP + "/ExportOrder/GetExportOrderList";
|
|
table.render({
|
elem: '#LAY-app-content-list',
|
url: url,
|
method: 'POST',
|
height: 'full-168',
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done: function () {
|
$(function () {
|
$(".delClass").hide();
|
});
|
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 == "fcc0f3fa48cc41a08fa53c45b4264d9b") {
|
$(function () {
|
$(".delClass").show();
|
});
|
}
|
|
}
|
} else { //不成功
|
layer.msg('获取信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
//回调
|
});
|
}
|
});
|
|
},
|
cols: [
|
[{
|
field: 'StockCode',
|
title: 'StockCode',
|
type: 'checkbox',
|
width: 60,
|
// sort: true,
|
fixed: 'left'
|
}, {
|
// field: 'StockCode',
|
title: '序号',
|
type: 'numbers',
|
width: 60,
|
// sort: true,
|
fixed: 'left'
|
}, {
|
field: 'ExportOrderNo',
|
title: '出库流水号',
|
width: 180,
|
align: 'center',
|
fixed: 'left'
|
}, {
|
field: 'ExportBillCode',
|
title: '出库单号',
|
align: 'center',
|
fixed: 'left',
|
width: 180,
|
}, {
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
width: 170,
|
fixed: 'left'
|
}, {
|
field: 'BillTypeName',
|
title: '单据类型',
|
align: 'center',
|
width: 150,
|
}, {
|
field: 'ExportBatchNumber',
|
title: '批次',
|
align: 'center',
|
width: 110,
|
}, {
|
field: 'ExportExecuteFlag',
|
templet: '#buttonTpl',
|
align: 'center',
|
title: '执行状态',
|
width: 100
|
},
|
{
|
field: 'PickedNum',
|
title: '待检数量',
|
align: 'center',
|
width: 110,
|
}, {
|
field: 'WholeBoxNum',
|
title: '待检整箱数',
|
align: 'center',
|
width: 110,
|
}, {
|
field: 'ExportStockCodeId',
|
title: '托盘条码',
|
align: 'center',
|
width: 100,
|
}, {
|
field: 'ExportSlotCode',
|
title: '储位地址',
|
align: 'center',
|
width: 125,
|
}, {
|
field: 'OutType',
|
title: '出库类型',
|
align: 'center',
|
width: 110,
|
templet: '#outType'
|
}, {
|
field: 'CompleteDate',
|
title: '完成时间',
|
align: 'center',
|
width: 160,
|
templet: function (d) {
|
return formatDate(d.CompleteDate);
|
},
|
}, {
|
field: 'CreateTime',
|
align: 'center',
|
title: '添加时间',
|
width: 160,
|
templet: function (d) {
|
return formatDate(d.CreateTime);
|
},
|
fixed: 'right'
|
}, {
|
title: '操作',
|
fixed: 'right',
|
width: 100,
|
align: 'center',
|
toolbar: '#table-content-list'
|
}]
|
]
|
});
|
|
}
|
|
// 出库流水详情
|
function refreshTable2(msg, goodCode) {
|
var url2 = IP + "/ExportOrder/GetExportBoxInfoList"
|
var where2 = {
|
ExportOrderId: msg,
|
GoodCode: goodCode
|
};
|
|
// 流水详情
|
table.render({
|
elem: '#LAY-app-content-list2',
|
height: 'full-168',
|
id: 'LAY-app-content-list2',
|
url: url2,
|
method: 'post',
|
where: where2,
|
contentType: 'application/json',
|
page: true,
|
limit: pageCnt, //默认多少页
|
limits: pageLimits, //默认数组[10,20,30,40,50]
|
cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
even: true,
|
cols: [
|
[{
|
// field: 'StockCode',
|
title: '序号',
|
type: 'numbers',
|
width: 60,
|
// sort: true,
|
fixed: 'left'
|
}, {
|
field: 'BoxCode',
|
title: '箱码',
|
fixed: 'left',
|
align: 'center',
|
width: 180,
|
}, {
|
field: 'GoodsCode',
|
title: '物品编码',
|
align: 'center',
|
width: 150,
|
}, {
|
field: 'GoodsName',
|
title: '物品名称',
|
align: 'center',
|
}, {
|
field: 'LotNo',
|
title: '批次',
|
align: 'center',
|
width: 150,
|
}, {
|
field: 'Qty',
|
title: '数量',
|
align: 'center',
|
width: 100,
|
}, {
|
field: 'PickNum',
|
title: '待检数量',
|
align: 'center',
|
width: 88,
|
}, {
|
field: 'PickedNum',
|
title: '已检数量',
|
align: 'center',
|
width: 88,
|
}, {
|
field: 'ProductionDate',
|
title: '生产日期',
|
align: 'center',
|
width: 160,
|
templet: function (d) {
|
return formatDate(d.ProductionDate);
|
},
|
}, {
|
field: 'ValidateDay',
|
title: '保质期',
|
align: 'center',
|
width: 160,
|
templet: function (d) {
|
return formatDate(d.ValidateDay);
|
},
|
}, {
|
field: 'Status',
|
title: '状态',
|
align: 'center',
|
width: 90,
|
templet: '#state'
|
}, {
|
field: 'IsMustExport',
|
title: '是否必须出库',
|
align: 'center',
|
width: 120,
|
templet: '#isMustExport'
|
}
|
|
]
|
],
|
|
});
|
|
}
|
|
//监听搜索
|
form.on('submit(LAY-app-contlist-search)', function (data) {
|
var msg = data.field.Msg;
|
var exportBill = data.field.ExportBill;
|
var exportExecuteFlag = data.field.ExportExecuteFlag;
|
var startTime = data.field.StartTime
|
var endTime = data.field.EndTime
|
if ($(".layui-tab-title>li[class='layui-this']").html() == "总单") {
|
refreshTable(msg, exportBill, exportExecuteFlag, startTime, endTime);
|
}
|
// if($(".layui-tab-title>li[class='layui-this']").html() == "明细"){
|
// refreshTable2(msg,exportBill,exportExecuteFlag,startTime,endTime);
|
// }
|
|
});
|
var doing = true;//定义全局变量
|
active = {
|
outbound: function () {
|
var checkStatus = table.checkStatus('LAY-app-content-list'),
|
checkData = checkStatus.data; //得到选中的数据
|
if (checkData.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
for (var i = 0; i < checkData.length; i++) {
|
//属性执行状态
|
if (checkData[i].ExportExecuteFlag != 0) {
|
return layer.msg('请选择待执行的数据');
|
}
|
}
|
layer.confirm('确定出库吗?', function (index) {
|
if (doing) {
|
doing = false;
|
var arr = [];
|
for (var i = 0; i < checkData.length; i++) {
|
arr.push(checkData[i].Id); //属性
|
}
|
var param = {
|
Ids: arr
|
};
|
console.log(param);
|
sendData(IP + "/ExportOrder/IssueOutBound", param, 'post', function (res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
refreshTable($("#Msg").val(), $("#ExportBill").val(), $("#ExportExecuteFlag").val(), $("#StartTime").val(), $("#EndTime").val());
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 3000 //2秒关闭(如果不配置,默认是3秒)
|
},function(){doing = true;});
|
}
|
});
|
}
|
});
|
}
|
};
|
|
$('.layui-btn.layuiadmin-btn-list').on('click', function () {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
|
//触发行双击事件
|
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')
|
refreshTable2(obj.data.ExportOrderNo, obj.data.ExportGoodsCode);
|
});
|
|
//撤销出库流水
|
table.on('tool(LAY-app-content-list)', function (obj) {
|
var data = obj.data;
|
// console.log(obj.event);
|
if (obj.event === 'cheXiao') {
|
layer.confirm('确定撤销吗', { offset: ['20%', '35%'] }, function (index) {
|
if (doing) {
|
doing = false;
|
|
cusid = data.ExportOrderNo;
|
if (!$.cookie('userId')) {
|
layer.msg('登陆失效,请重新登陆', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
window.parent.location.href = "../Login.html";
|
});
|
}
|
|
var param = {
|
OrderNo: cusid,
|
UserId: $.cookie('userId')
|
};
|
console.log(cusid)
|
sendData(IP + "/ExportOrder/ExportUndo", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
doing = true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
},function(){doing = true;});
|
}
|
});
|
}
|
});
|
}
|
});
|
|
|
// 出库按钮是否有权限
|
$(function () {
|
$("#approvalBtn").hide();
|
});
|
|
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 == "a3aef79fefb14407b6a262d2c22f6944") {
|
$(function () {
|
$("#approvalBtn").show();
|
});
|
}
|
}
|
} else { //不成功
|
layer.msg('获取信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
//回调
|
});
|
}
|
});
|
|
|
});
|
</script>
|
</body>
|
|
</html>
|