<!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">
|
<link rel="stylesheet" href="../../css/public.css" media="all">
|
<style>
|
.layui-table-tool-panel{
|
top: auto;
|
bottom: 29px;
|
}
|
.layui-table-tool{
|
padding-left: 5px;
|
}
|
/* 表格下拉小箭头隐藏 */
|
/* .layui-table-grid-down {
|
display: none;
|
}*/
|
</style>
|
|
<script>
|
// 这里是需要在页面渲染之前执行的代码
|
document.addEventListener("DOMContentLoaded", function() {
|
//获取table默认显示数
|
pageCntFirst();
|
//判断是否开启table列表列宽调整功能。
|
GetIsSetColW();
|
});
|
</script>
|
</head>
|
<body id="body">
|
<div class="layui-fluid" style="padding-bottom: 0;">
|
<div class="layui-card">
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top">
|
<div class="layui-form-item">
|
<!-- <div class="layui-inline">
|
<label class="layui-form-label">波次单号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="WaveNo" name="WaveNo" placeholder="波次单号"
|
autocomplete="off" class="layui-input">
|
</div>
|
</div> -->
|
<div class="layui-inline">
|
<label class="layui-form-label">出库单号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="No" name="No" 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="Type" id="Type" lay-filter="Type" 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> -->
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">执行状态</label>
|
<div class="layui-input-inline" >
|
<select name="Status" id="Status" lay-filter="Status" lay-search>
|
<option value=""></option>
|
<option value="0">等待执行</option>
|
<option value="1">部分分配</option>
|
<option value="2">已分配</option>
|
<option value="3">正在执行</option>
|
<option value="4">执行完毕</option>
|
<option value="5">订单关闭</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">批次号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="LotNo" name="LotNo" 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="LogisticsId" id="LogisticsId" 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="IsWave" id="IsWave" lay-search>
|
<option value=""></option>
|
<option value="0">否</option>
|
<option value="1">是</option>
|
</select>
|
</div>
|
</div> -->
|
<div class="layui-inline">
|
<label class="layui-form-label">是否发运</label>
|
<div class="layui-input-inline">
|
<select name="IsDespatch" id="IsDespatch" lay-search>
|
<option value=""></option>
|
<option value="0">否</option>
|
<option value="1">是</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;">
|
<label class="layui-form-label">出库口</label>
|
<div class="layui-input-inline">
|
<select name="PickingArea" id="PickingArea" lay-search>
|
<option value=""></option>
|
<option value="1">1</option>
|
<option value="2">2</option>
|
<option value="3">3</option>
|
<option value="4">4</option>
|
</select>
|
</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 class="layui-inline" id="divEditDemo" style="display: none; padding-top: 10px;">
|
<label class="layui-form-label">备注</label>
|
<div class="layui-input-inline" style="width: 300px;height: 100%;">
|
<textarea placeholder="请输入内容" id="NoticeDemo" name="NoticeDemo" class="layui-textarea"></textarea>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div id="center"></div>
|
<div class="layui-card-body">
|
<div class="position-relative"><!-- class="position-relative" --><!-- 自定义表头加上 -->
|
<table id="LAY-app-content-list" lay-filter="LAY-app-content-list" ></table>
|
<!-- #region 自定义表头 -->
|
<div class="headerSetIcon">
|
<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
|
<i class="layui-icon"></i>
|
</button>
|
</div>
|
<!-- #endregion -->
|
|
<!-- #region 自定义表头 -->
|
<script type="text/html" id="templetType">
|
{{# function GetBtn3(d){
|
switch (d.Type) {
|
case "0":
|
return "标准销售出库";
|
case "1":
|
return "非标准销售出库";
|
case "2":
|
return "标准调拨出库";
|
case "3":
|
return "非标准调拨出库";
|
default:
|
return "";
|
}
|
}
|
}}
|
{{ GetBtn3(d) }}
|
</script>
|
|
<script type="text/html" id="templetStatus">
|
{{# function GetBtn4(d){
|
switch (d.Status) {
|
case "0":
|
return `<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>`;
|
case "1":
|
return `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">部分分配</button>`;
|
case "2":
|
return `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">已分配</button>`;
|
case "3":
|
return `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">正在执行</button>`;
|
case "4":
|
return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`;
|
case "5":
|
return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">上传完毕</button>`;
|
default:
|
return "";
|
}
|
}
|
}}
|
{{ GetBtn4(d) }}
|
</script>
|
|
<script type="text/html" id="templetIsDespatch">
|
{{# function GetBtn5(d){
|
switch (d.IsDespatch) {
|
case "0":
|
return "否";
|
case "1":
|
return "是";
|
default:
|
return "";
|
}
|
}
|
}}
|
{{ GetBtn5(d) }}
|
</script>
|
|
<script type="text/html" id="templetCreateTime">
|
{{# function GetBtn6(d){
|
return formatDate(d.CreateTime);
|
}
|
}}
|
{{ GetBtn6(d) }}
|
</script>
|
|
<script type="text/html" id="templetUpdateTime">
|
{{# function GetBtn7(d){
|
return formatDate(d.UpdateTime);
|
}
|
}}
|
{{ GetBtn7(d) }}
|
</script>
|
<!-- #endregion -->
|
</div>
|
<div class="position-relative"><!-- class="position-relative" --><!-- 自定义表头加上 -->
|
<table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2" ></table>
|
<!-- #region 自定义表头 -->
|
<div class="headerSetIcon">
|
<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2">
|
<i class="layui-icon"></i>
|
</button>
|
</div>
|
<!-- #endregion -->
|
|
<!-- #region 自定义表头 -->
|
<script type="text/html" id="templetIsBale">
|
{{# function GetBtn8(d){
|
switch (d.IsBale) {
|
case "0":
|
return "不裹包";
|
case "1":
|
return "裹包";
|
default:
|
return "";
|
}
|
}
|
}}
|
{{ GetBtn8(d) }}
|
</script>
|
|
<script type="text/html" id="templetIsBelt">
|
{{# function GetBtn9(d){
|
switch (d.IsBelt) {
|
case "0":
|
return "不打带";
|
case "1":
|
return "打带";
|
default:
|
return "";
|
}
|
}
|
}}
|
{{ GetBtn9(d) }}
|
</script>
|
<!-- #endregion -->
|
</div>
|
|
<script type="text/html" id="table-content-list">
|
{{# function GetBtn1(d){
|
var html = '';
|
if(d.IsWave == '0'){
|
if(d.Status == '0' || d.Status == '1' ){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs zifenClass" lay-event="auto">
|
<i class="layui-icon layui-icon-ok"></i>自动分配
|
</a>`;
|
}
|
if(d.Status == '0' && d.Origin == 'WMS'){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs uptClass" lay-event="edit">
|
<i class="layui-icon layui-icon-edit"></i>编辑
|
</a>
|
<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="delete">
|
<i class="layui-icon layui-icon-delete"></i>删除
|
</a>`;
|
}
|
if(d.Status == '1' || d.Status == '2'){
|
html += `<a class="layui-btn layui-btn-danger layui-btn-xs qufenClass" lay-event="cancel">
|
<i class="layui-icon layui-icon-delete"></i>取消分配
|
</a>`;
|
}
|
if( d.Status == '2' || d.Status == '3'){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs outClass" lay-event="outKu">
|
<i class="layui-icon layui-icon-ok"></i>出库
|
</a>`;
|
}
|
}
|
if( d.Status == '4'){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs guanClass" lay-event="finish">
|
<i class="layui-icon layui-icon-ok"></i>关单
|
</a>`;
|
}
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs shangClass" lay-event="xml">
|
<i class="layui-icon layui-icon-ok"></i>XML
|
</a>`;
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Print">
|
<i class="layui-icon layui-icon-print"></i>打印</a>`;
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs editDemoClass" lay-event="editDemo">
|
<i class="layui-icon layui-icon-edit"></i>备注</a>`;
|
return html;
|
}
|
}}
|
{{ GetBtn1(d) }}
|
|
</script>
|
|
<script type="text/html" id="table-content-list2">
|
{{# function GetBtn2(d){
|
var html = '';
|
|
if((d.Status == "0" ||d.Status == "1") && d.Qty > d.AllotQty && d.IsWave == "0"){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs shoufenClass" lay-event="wan">
|
<i class="layui-icon layui-icon-ok"></i>手动分配
|
</a>`;
|
}
|
if(d.Status == "0" && d.Origin == "WMS" && d.IsWave == "0"){
|
html +=`<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="del">
|
<i class="layui-icon layui-icon-delete"></i>删除
|
</a>`;
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn2(d) }}
|
|
</script>
|
<script type="text/html" id="toolbarDemo">
|
|
<button class="layui-btn layuiadmin-btn-list layui-btn-sm addClass" lay-event="add">
|
<i class="layui-icon"></i>添加
|
</button>
|
<!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list addWaveClass" lay-event="addWave">
|
<i class="layui-icon"></i>生成波次单
|
</button> -->
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-hide layui-btn-danger" >
|
<i class="layui-icon"></i>隐藏按钮
|
</button>
|
</script>
|
|
</div>
|
</div>
|
</div>
|
|
<script src="../../layuiadmin/layui/layui.js"></script>
|
<script src="../../js/jquery-3.5.1.min.js"></script>
|
<script src="../../js/jquery.cookie.js"></script>
|
<script src="../../js/public.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;
|
var $ = layui.$;
|
var h1 = GetTableTopHeight();
|
var h2 = GetTableBottomHeight();
|
|
// laydate.render({
|
// elem: '#StartTime'
|
// , format: 'dd-MM-yyyy' //可任意组合
|
// });
|
// laydate.render({
|
// elem: '#EndTime'
|
// , format: 'dd-MM-yyyy' //可任意组合
|
// });
|
var isChongFu = true;
|
var xqid = "kong";
|
refreshTable();
|
// refreshTablemx(xqid);
|
//获取承运商物流
|
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() {});
|
}
|
});
|
//渲染出库总单
|
//#region 自定义表头
|
var TotalColsArr = [[
|
{field: '',title: '序号',type:'numbers',width: 50,align: 'center',fixed: 'left', "disabled": true},
|
{field: 'SONo',title: '出库单号',align: 'center',fixed: 'left',width: 165, "disabled": true},
|
{field: 'Type',title: '单据类型',align: 'center',templet:'#templetType'},
|
{field: 'Status',title: '执行状态', align: 'center',templet: '#templetStatus'},
|
{field: 'LogisticsName',title: '承运商',align: 'center'},
|
{field: 'CustomerName',title: '客户名称',align: 'center'},
|
{field: 'LotNo',title: '批次号',align: 'center'},
|
{field: 'LotNoText',title: '批次描述',align: 'center'},
|
{field: 'IsDespatch',title: '是否发运',align: 'center',templet: '#templetIsDespatch'},
|
{field: 'SupplierLot',title: '供货批次',align: 'center'},
|
{field: 'Origin',title: '来源',align: 'center'},
|
{field: 'Demo',title: '备注',align: 'center',width: 180},
|
{field: 'CreateUserName',title: '创建人',align: 'center'},
|
{field: 'CreateTime',title: '创建时间',align: 'center',templet: '#templetCreateTime'},
|
{field: 'UpdateUserName',title: '修改人',align: 'center'},
|
{field: 'UpdateTime',title: '修改时间',align: 'center',templet: '#templetUpdateTime'},
|
{field: 'caozuo',title: '操作',fixed: 'right',align: 'center',width: 200,toolbar: '#table-content-list', "disabled": true}
|
]];
|
var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
|
//#endregion
|
function refreshTable() {
|
//#region 原始非自定义列
|
// var param = {
|
// No: $("#No").val(),
|
// Type: $("#Type").val(),
|
// Status: $("#Status").val(),
|
// LotNo: $("#LotNo").val(),
|
// LogisticsId: parseInt($("#LogisticsId").val()),
|
// IsWave: $("#IsWave").val(),
|
// IsDespatch: $("#IsDespatch").val(),
|
// // WaveNo: $("#WaveNo").val(),
|
// };
|
|
// table.render({
|
// elem: '#LAY-app-content-list',
|
// url: IP+"/BllSo/GetExportNoticeList",
|
// method: 'POST',
|
// height: h1 ,//'full-'+hei1
|
// id: 'LAY-app-content-list',
|
// where: param,
|
// contentType: 'application/json',
|
// headers:{ToKen:$.cookie('token')},
|
// page: true,
|
// defaultToolbar: ['filter'], //'print', 'exports'
|
// even: true,
|
// limit: pageCnt,
|
// limits: pageLimits,
|
// cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
// even:true,
|
// done: function(res){
|
// initMenu();
|
// var soCode = "res.data[0].SONo";
|
// if (res.data.length != 0) {
|
// soCode = res.data[0].SONo;
|
// }
|
// refreshTablemx(soCode)
|
// },
|
// cols: [
|
// [ {
|
// title: '序号',
|
// type: 'numbers',
|
// width: 65,
|
// fixed: 'left',
|
// },{
|
// field: 'SONo',
|
// title: '出库单号',
|
// align: 'center',
|
// fixed: 'left',
|
// width: 165,
|
// },{
|
// field: 'Type',
|
// title: '单据类型',
|
// align: 'center',
|
// // width: 150,
|
// templet:function(d){
|
// switch (d.Type) {
|
// case "0":
|
// return "标准销售出库";
|
// case "1":
|
// return "非标准销售出库";
|
// case "2":
|
// return "标准调拨出库";
|
// case "3":
|
// return "非标准调拨出库";
|
// default:
|
// return "";
|
// }
|
// }
|
// },{
|
// field: 'Status',
|
// title: '执行状态',
|
// align: 'center',
|
// // width: 130,
|
// templet: function(d){
|
// switch (d.Status) {
|
// case "0":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>`;
|
// case "1":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">部分分配</button>`;
|
// case "2":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">已分配</button>`;
|
// case "3":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">正在执行</button>`;
|
// case "4":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`;
|
// case "5":
|
// return `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">上传完毕</button>`;
|
// default:
|
// return "";
|
// }
|
// }
|
// },{
|
// field: 'LogisticsName',
|
// title: '承运商',
|
// align: 'center',
|
// // minWidth: 150
|
// },{
|
// field: 'CustomerName',
|
// title: '客户名称',
|
// align: 'center',
|
// // minwidth: 130
|
// },{
|
// field: 'LotNo',
|
// title: '批次号',
|
// align: 'center',
|
// // width: 180,
|
// hide:true
|
// },{
|
// field: 'LotNoText',
|
// title: '批次描述',
|
// align: 'center',
|
// // width: 180,
|
// hide:true
|
// },
|
// // {
|
// // field: 'IsWave',
|
// // title: '生成波次',
|
// // align: 'center',
|
// // width: 95,
|
// // templet: function (d) {
|
// // switch (d.IsWave) {
|
// // case "0":
|
// // return "否";
|
// // case "1":
|
// // return "是";
|
// // default:
|
// // return "";
|
// // }
|
|
// // },
|
// // },
|
// // {
|
// // field: 'WaveNo',
|
// // title: '波次单号',
|
// // align: 'center',
|
// // width: 170
|
// // },
|
// {
|
// field: 'IsDespatch',
|
// title: '是否发运',
|
// align: 'center',
|
// // width: 95,
|
// templet: function (d) {
|
// switch (d.IsDespatch) {
|
// case "0":
|
// return "否";
|
// case "1":
|
// return "是";
|
// default:
|
// return "";
|
// }
|
|
// },
|
// },{
|
// field: 'SupplierLot',
|
// title: '供货批次',
|
// align: 'center',
|
// // width: 100,
|
// hide:true
|
// },{
|
// field: 'Origin',
|
// title: '来源',
|
// align: 'center',
|
// // width: 100
|
// },{
|
// field: 'CreateUserName',
|
// title: '创建人',
|
// align: 'center',
|
// // width: 120,
|
// },{
|
// field: 'CreateTime',
|
// title: '创建时间',
|
// align: 'center',
|
// // width: 160,
|
// templet: function(d) {
|
// return formatDate(d.CreateTime);
|
// },
|
// },{
|
// field: 'UpdateUserName',
|
// title: '修改人',
|
// align: 'center',
|
// // width: 120,
|
// hide:true
|
// },{
|
// field: 'UpdateTime',
|
// title: '修改时间',
|
// align: 'center',
|
// // width: 160,
|
// templet: function(d) {
|
// return formatDate(d.UpdateTime);
|
// },
|
// hide:true
|
// },{
|
// title: '操作',
|
// fixed: 'right',
|
// align: 'center',
|
// toolbar: '#table-content-list',
|
// // width: 240
|
// }]
|
// ]
|
// });
|
//#endregion
|
|
//#region 自定义表头
|
var colsJson
|
var param1={
|
Href:'BllSo/GetExportNoticeList'
|
};
|
sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
|
if (res.code == 0){
|
if(res.data=='' || res.data==undefined || res.data==null){
|
colsJson=TotalColsArr
|
}else{
|
colsJson= eval(res.data);
|
}
|
}else{
|
colsJson=TotalColsArr
|
}
|
var param = {
|
No: $("#No").val(),
|
Type: $("#Type").val(),
|
Status: $("#Status").val(),
|
LotNo: $("#LotNo").val(),
|
LogisticsId: parseInt($("#LogisticsId").val()),
|
IsWave: $("#IsWave").val(),
|
IsDespatch: $("#IsDespatch").val(),
|
// WaveNo: $("#WaveNo").val(),
|
};
|
table.render({
|
elem: '#LAY-app-content-list',
|
url: IP+"/BllSo/GetExportNoticeList",
|
method: 'POST',
|
height: h1 ,//'full-'+hei1
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
headers:{ToKen:$.cookie('token')},
|
page: true,
|
defaultToolbar: ['filter'], //'print', 'exports'
|
even: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
even:true,
|
done: function(res){
|
initMenu();
|
var soCode = "res.data[0].SONo";
|
if (res.data.length != 0) {
|
soCode = res.data[0].SONo;
|
}
|
refreshTablemx(soCode)
|
//自定义列宽
|
SetTableColW('LAY-app-content-list','BllSo/GetExportNoticeList',TotalColsSysArr);
|
},
|
cols: colsJson
|
});
|
});
|
//#endregion
|
}
|
//渲染出库单明细
|
//#region 自定义表头
|
var DetailColsArr = [[
|
{field: '',title: '序号',type:'numbers',width: 50,align: 'center',fixed: 'left', "disabled": true},
|
{field: 'SONo',title: '出库单号',align: 'center',fixed: 'left',width:165 },
|
{field: 'SkuNo',title: '物料编码',align: 'center', width: 130},
|
{field: 'SkuName',title: '物料名称',align: 'center', width: 152},
|
{field: 'Standard',title: '物料规格',align: 'center', width: 270},
|
{field: 'LotNo',title: '批次号',align: 'center',width: 150},
|
{field: 'Qty',title: '计划数量',align: 'center',width: 100},
|
{field: 'AllotQty',title: '分配数量',align: 'center',width: 100},
|
{field: 'FactQty',title: '下架数量',align: 'center', width: 100},
|
{field: 'CompleteQty',title: '拣货数量',align: 'center', width: 100},
|
{field: 'IsBale',title: '是否裹包',align: 'center',templet: '#templetIsBale',width: 90},
|
{field: 'IsBelt',title: '是否打带',align: 'center',templet: '#templetIsBelt',width: 90},
|
{field: 'LotText',title: '批次描述',align: 'center', width: 100},
|
{field: 'PackagName',title: '包装名称',align: 'center', width: 120},
|
{field: 'SupplierLot',title: '供货批次',align: 'center', width: 120},
|
{field: 'Price',title: '单价', align: 'center', width: 80},
|
{field: 'Money',title: '总金额', align: 'center', width: 90},
|
{field: 'caozuo',title: '操作',fixed: 'right',width: 100,align: 'left',toolbar: '#table-content-list2', "disabled": true}
|
]];
|
var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
|
//#endregion
|
function refreshTablemx(soNo) {
|
//#region 原始非自定义列
|
// var param = {
|
// SoNo: soNo,
|
// };
|
// table.render({
|
// elem: '#LAY-app-content-list2',
|
// url: IP + "/BllSo/GetExportNoticeDetailList",
|
// method: 'POST',
|
// height: h2,
|
// id: 'LAY-app-content-list2',
|
// where: param,
|
// contentType: 'application/json',
|
// headers:{ToKen:$.cookie('token')},
|
// toolbar:'#toolbarDemo',
|
// defaultToolbar: ['print'], //'print', 'exports'
|
// page: true,
|
// limit: pageCnt,
|
// limits: pageLimits,
|
// cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
// done: function(){
|
// initMenu();
|
// },
|
// cols: [
|
// [{
|
// title: '序号',
|
// type: 'numbers',
|
// width: 65,
|
// fixed: 'left',
|
// }, {
|
// field: 'SONo',
|
// title: '出库单号',
|
// align: 'center',
|
// fixed: 'left',
|
// width: 165
|
// }, {
|
// field: 'SkuNo',
|
// title: '物料编码',
|
// align: 'center',
|
// width: 130
|
// }, {
|
// field: 'SkuName',
|
// title: '物料名称',
|
// align: 'center',
|
// width: 152
|
// }, {
|
// field: 'Standard',
|
// title: '物料规格',
|
// align: 'center',
|
// width: 270
|
// }, {
|
// field: 'LotNo',
|
// title: '批次号',
|
// align: 'center',
|
// width: 150
|
// }, {
|
// field: 'Qty',
|
// title: '计划数量',
|
// align: 'center',
|
// width: 100
|
// }, {
|
// field: 'AllotQty',
|
// title: '分配数量',
|
// align: 'center',
|
// width: 100
|
// }, {
|
// field: 'FactQty',
|
// title: '下架数量',
|
// align: 'center',
|
// width: 100
|
// }, {
|
// field: 'CompleteQty',
|
// title: '拣货数量',
|
// align: 'center',
|
// width: 100
|
// }, {
|
// field: 'IsBale',
|
// title: '是否裹包',
|
// align: 'center',
|
// templet: function (d) {
|
// console.log(d);
|
// switch (d.IsBale) {
|
// case "0":
|
// return "不裹包";
|
// case "1":
|
// return "裹包";
|
// default:
|
// return "";
|
// }
|
|
// },
|
// width: 90,
|
// hide:true,
|
// }, {
|
// field: 'IsBelt',
|
// title: '是否打带',
|
// align: 'center',
|
// templet: function (d) {
|
// switch (d.IsBelt) {
|
// case "0":
|
// return "不打带";
|
// case "1":
|
// return "打带";
|
// default:
|
// return "";
|
// }
|
|
// },
|
// width: 90,
|
// hide:true,
|
// }, {
|
// field: 'LotText',
|
// title: '批次描述',
|
// align: 'center',
|
// width: 100
|
// }, {
|
// field: 'PackagName',
|
// title: '包装名称',
|
// align: 'center',
|
// width: 120
|
// }, {
|
// field: 'SupplierLot',
|
// title: '供货批次',
|
// align: 'center',
|
// width: 120
|
// },
|
// // {
|
// // field: 'IsWave',
|
// // title: '生成波次',
|
// // align: 'center',
|
// // width: 90,
|
// // templet: function (d) {
|
// // switch (d.IsWave) {
|
// // case "0":
|
// // return "否";
|
// // case "1":
|
// // return "是";
|
// // default:
|
// // return "";
|
// // }
|
|
// // },
|
// // hide:true,
|
// // },
|
// // {
|
// // field: 'WaveNo',
|
// // title: '波次单号',
|
// // align: 'center',
|
// // width: 170,
|
// // hide:true
|
// // },
|
// {
|
// field: 'Price',
|
// title: '单价',
|
// align: 'center',
|
// width: 80,
|
// hide:true
|
// }, {
|
// field: 'Money',
|
// title: '总金额',
|
// align: 'center',
|
// width: 90,
|
// hide:true
|
// }, {
|
// title: '操作',
|
// fixed: 'right',
|
// width: 180,
|
// align: 'center',
|
// toolbar: '#table-content-list2'
|
// }]
|
// ]
|
// });
|
//#endregion
|
|
//#region 自定义表头
|
var colsJson2
|
var param1={
|
Href:'BllSo/GetExportNoticeDetailList'
|
};
|
sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
|
if (res.code == 0){
|
if(res.data=='' || res.data==undefined || res.data==null){
|
colsJson2=DetailColsArr
|
}else{
|
colsJson2= eval(res.data);
|
}
|
}else{
|
colsJson2=DetailColsArr
|
}
|
var param = {
|
SoNo: soNo,
|
};
|
table.render({
|
elem: '#LAY-app-content-list2',
|
url: IP + "/BllSo/GetExportNoticeDetailList",
|
method: 'POST',
|
height: h2,
|
id: 'LAY-app-content-list2',
|
where: param,
|
contentType: 'application/json',
|
headers:{ToKen:$.cookie('token')},
|
toolbar:'#toolbarDemo',
|
defaultToolbar: ['print'], //'print', 'exports'
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done: function(){
|
initMenu();
|
//自定义列宽
|
SetTableColW('LAY-app-content-list2','BllSo/GetExportNoticeDetailList',DetailColsSysArr);
|
},
|
cols: colsJson2
|
});
|
});
|
//#endregion
|
}
|
//搜索
|
form.on('submit(LAY-app-contlist-search)', function(data) {
|
refreshTable();
|
// refreshTablemx(xqid);
|
});
|
//权限
|
function initMenu() {
|
$(function() {
|
$(".addClass").hide(); //添加出库单
|
$(".uptClass").hide(); //编辑出库单
|
$(".delClass").hide(); //删除出库单
|
$(".shangClass").hide(); //上传出库单
|
$(".guanClass").hide(); //关闭出库单
|
$(".shoufenClass").hide(); //手动分配
|
$(".zifenClass").hide(); //自动分配
|
$(".qufenClass").hide(); //取消分配
|
$(".outClass").hide(); //出库
|
$(".editDemoClass").hide();//备注
|
});
|
sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) {
|
if (res.code == 0) { //成功
|
for (var k = 0; k < res.data.length; k++) {
|
if(res.data[k].ParentNo == "2100")
|
{
|
if (res.data[k].MenuName == "添加出库单") {
|
$(function() {
|
$(".addClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "编辑出库单") {
|
$(function() {
|
$(".uptClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "删除出库单") {
|
$(function() {
|
$(".delClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "上传出库单") {
|
$(function() {
|
$(".shangClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "关闭出库单") {
|
$(function() {
|
$(".guanClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "手动分配") {
|
$(function() {
|
$(".shoufenClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "自动分配") {
|
$(function() {
|
$(".zifenClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "取消分配") {
|
$(function() {
|
$(".qufenClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "出库") {
|
$(function() {
|
$(".outClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "维护出库单备注") {
|
$(function() {
|
$(".editDemoClass").show();
|
});
|
}
|
}
|
}
|
} else { //不成功
|
layer.msg('获取权限信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
//触发行单击事件
|
table.on('row(LAY-app-content-list)', function(obj) {
|
refreshTablemx(obj.data.SONo);
|
xqid = "obj.data.SONo";
|
});
|
|
|
|
//--------------------------------------------------------------------------------------------
|
//头工具栏事件
|
table.on('toolbar(LAY-app-content-list2)', function(obj){
|
var checkStatus = table.checkStatus(obj.config.id);
|
if (obj.event == "add") {
|
console.log(123123);
|
layer.open({
|
type: 2,
|
title: '添加出库单',
|
content: 'ExportNoticeAddFrom.html',
|
maxmin: true,
|
area: ['1200px', '90%'],
|
});
|
}
|
});
|
//监听数据操作
|
table.on('tool(LAY-app-content-list)', function(obj) {
|
var data = obj.data;
|
console.log(data);
|
Id = data.Id;
|
SoNo = data.SONo;
|
if (obj.event === 'delete') {//删除
|
layer.confirm('确定删除此单据吗?', function(index) {
|
var param = {
|
Id: parseInt(Id),
|
};
|
sendData(IP + "/BllSo/DelExportNotice", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1000 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
});
|
} else if (obj.event === 'finish') {//关单
|
layer.confirm('确定完成此单据吗?', function(index) {
|
var param = {
|
Id: parseInt(Id),
|
};
|
sendData(IP + "/UpApi/FinishExportNotice", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1000 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
}
|
});
|
});
|
}else if(obj.event === 'auto'){
|
layer.confirm('确定要将选中的单据自动分配吗?', function() {
|
if (isChongFu== true) {
|
isChongFu = false;
|
var param = {
|
soNo: SoNo,
|
};
|
sendData(IP + "/BllSo/ExportAutoAllot", param, 'get', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg("操作成功!", {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
isChongFu= true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
isChongFu= true;
|
});
|
}
|
});
|
}else{
|
layer.msg("请勿重复点击", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
|
});
|
}else if(obj.event === 'cancel'){
|
layer.confirm('确定取消此单据已经分配的货物吗?', function(index) {
|
var param = {
|
soNo: SoNo
|
};
|
sendData(IP + "/BllSo/ExportCancelAllot", param, 'get', function(res) {
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1000 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
}
|
});
|
});
|
}else if(obj.event === 'edit'){//编辑
|
layer.open({
|
type: 2,
|
title: '编辑出库单',
|
content: 'ExportNoticeEditFrom.html?No='+SoNo+'&id='+Id,
|
maxmin: true,
|
area: ['1200px', '90%'],
|
});
|
}else if(obj.event === 'outKu'){
|
layer.open({
|
type: 1,
|
title: '确认出库口',
|
content: $('#divPickingArea'),
|
maxmin: true,
|
area: ['300px','265px'],
|
btn: ['确定', '取消'],
|
yes: function(index, layero) {
|
var pa = $('#PickingArea').val();
|
console.log(pa)
|
if (isChongFu== true) {
|
isChongFu= false;
|
if(pa == null)
|
{
|
layer.msg("请勿重复点击", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
var param = {
|
soNo: data.SONo,
|
outMode: pa,
|
};
|
console.log(param);
|
sendData(IP + "/DownApi/IssueOutHouse", param, 'get', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 3000 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
isChongFu= true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 3000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
isChongFu= true;
|
});
|
}
|
layer.close(index);
|
});
|
}else{
|
layer.msg("请勿重复点击", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
|
}
|
});
|
}else if(obj.event === 'xml'){//编辑
|
layer.confirm('确定要将选中的单据上传吗?', function() {
|
if (isChongFu== true) {
|
isChongFu = false;
|
var param = {
|
Id: Id,
|
};
|
sendData(IP + "/BllSo/AddExXmlStr", param, 'post', function(res) {
|
console.log(res);
|
if (res.code == 0) { //成功
|
createFile(res.data);
|
layer.msg("操作成功!", {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
isChongFu= true;
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
isChongFu= true;
|
});
|
}
|
});
|
}else{
|
layer.msg("请勿重复点击", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
|
});
|
}else if(obj.event === 'editDemo'){//编辑备注
|
$('#NoticeDemo').val(data.Demo);
|
layer.open({
|
type: 1,
|
title: '维护备注',
|
content: $('#divEditDemo'),
|
maxmin: false,
|
area: ['420px','260px'],
|
btn: ['确定', '取消'],
|
yes: function(index, layero) {
|
var demo = $('#NoticeDemo').val();
|
var param = {
|
id: data.Id,
|
demo: demo,
|
};
|
sendData(IP + "/BllSo/EditNoticeDemo", param, 'get', function(res) {
|
if (res.code == 0) { //成功
|
refreshTable();
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1500 //1秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 3000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
}
|
layer.close(index);
|
});
|
}
|
});
|
}
|
else if(obj.event === 'Print'){
|
console.log(data);
|
var param = {
|
limit: 1000,
|
page: 1,
|
SONo: data.SONo
|
};
|
sendData(IP + "/BllSo/GetExportNoticeDetailList", param, 'post', function (res) {
|
if (res.code == 0) { //成功
|
data.ExportNoticeDetail = res.data;
|
openPrintDialog(data, 'ExportNotice');
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { doing = true });
|
}
|
});
|
}
|
});
|
|
table.on('tool(LAY-app-content-list2)', function(obj) {
|
var data = obj.data;
|
var id = data.Id;
|
if(obj.event === 'wan'){
|
layer.open({
|
type: 2,
|
title: '手动挑选出库',
|
content: 'ExportHandOutList.html?Id='+id,
|
maxmin: true,
|
area: ['1300px', '700px'],
|
|
});
|
}else if(obj.event === 'del'){
|
layer.confirm('确定要将选中的出库单明细删除吗?', function() {
|
var param = {
|
Id: id,
|
};
|
sendData(IP + "/BllSo/DelExportNoticeDetail", param, 'post', function(res) {
|
if (res.code == 0) { //成功
|
layer.msg("操作成功!", {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
// refreshTablemx(xqid);
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
});
|
}
|
});
|
|
//编辑拣货区
|
function editPickArea(){
|
layer.open({
|
type: 1,
|
title: '编辑拣货区',
|
content: $('#divPickingArea'),
|
maxmin: true,
|
area: ['500px', '300px'],
|
btn: ['确定', '取消'],
|
yes: function(index, layero) {
|
var pa = $('#PickingArea').val();
|
if(pa.trim() != ''){
|
var param = {
|
id: ExportId,
|
pickingArea: pa,
|
userId:$.cookie('userId')
|
};
|
sendData(IP + "/Export/UpdatePickingArea", param, 'post', function(res) {
|
if (res.code == 1) { //成功
|
layer.msg("操作成功!", {
|
icon: 1,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
layer.close(index);
|
}
|
});
|
}
|
|
//生成文件
|
function createFile(val){
|
var content = val; // 文件内容
|
var blob = new Blob([content], {type: "text/plain;charset=utf-8"});
|
var fileName = "ExInfo.xml"; // 文件名
|
saveAs(blob, fileName);
|
}
|
//下载文件函数
|
function saveAs(blob, fileName) {
|
var downloadA = document.createElement("a");
|
downloadA.download = fileName;
|
downloadA.href = URL.createObjectURL(blob);
|
document.body.appendChild(downloadA);
|
downloadA.click();
|
document.body.removeChild(downloadA);
|
}
|
|
//#region 自定义表头
|
//自定义表头
|
active = {
|
customCols: function(){
|
layer.open({
|
type: 2,
|
title: '自定义列',
|
content: '../SystemSettings/HeaderSetting.html?Href=BllSo/GetExportNoticeList&ColsSysArr='+TotalColsSysArr,
|
maxmin: false,
|
resize: false,
|
area: ['970px', '650px']
|
});
|
},
|
customCols2: function(){
|
layer.open({
|
type: 2,
|
title: '自定义列',
|
content: '../SystemSettings/HeaderSetting.html?Href=BllSo/GetExportNoticeDetailList&ColsSysArr='+DetailColsSysArr,
|
maxmin: false,
|
resize: false,
|
area: ['970px', '650px']
|
});
|
}
|
|
};
|
$('.layui-btn').on('click', function() {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
//#endregion
|
|
});
|
</script>
|
</body>
|
</html>
|