<!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 type="text/css">
|
.layui-table-view .layui-table[lay-size=sm] .layui-table-cell {
|
height: auto;
|
line-height: 23px;
|
}
|
.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();
|
console.log(pageCnt)
|
//判断是否开启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">
|
<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>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">物料编码</label>
|
<div class="layui-input-inline">
|
<input type="text" id="SkuNo" name="SkuNo" 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="SkuName" name="SkuName" 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="CustomerName" name="CustomerName" 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" autocomplete="off" name="StartTime" id="StartTime" class="layui-input"
|
placeholder="开始日期">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">结束日期</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 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 -->
|
|
<script type="text/html" id="toolbarDemo1">
|
{{# function GetBtn1(d){
|
var html = '';
|
switch (d.Status) {
|
case "0" :
|
|
break;
|
case "1" :
|
break;
|
case "2" :
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs clossClass" lay-event="closs"> <i class="layui-icon layui-icon-ok"></i>关单</a>`;
|
break;
|
default :
|
break;
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn1(d) }}
|
</script>
|
|
<!-- #region 自定义表头 -->
|
<script type="text/html" id="buttonTpl">
|
{{# function GetBtn3(d){
|
var html = ``;
|
if(d.Status=='0'){
|
html = `<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>`;
|
} else if(d.Status=='1') {
|
html = `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">正在执行</button>`;
|
} else if(d.Status=='2') {
|
html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`;
|
} else if(d.Status=='3') {
|
html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">订单关闭</button>`;
|
} else {
|
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn3(d) }}
|
</script>
|
|
<script type="text/html" id="templetCompleteTime">
|
{{# function GetBtn5(d){
|
return formatDate2(d.CompleteTime);
|
}
|
}}
|
{{ 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 -->
|
|
<script type="text/html" id="toolbarDemoList">
|
{{# function GetBtn2(d){
|
console.log(d);
|
var html = ``;
|
if(d.Status == "0" || d.Status == "1"){
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs createClass" lay-event="createOrd"> <i class="layui-icon layui-icon-ok"></i>生成入库单</a>`;
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn2(d) }}
|
</script>
|
|
<!-- #region 自定义表头-->
|
<script type="text/html" id="templetCompleteTime2">
|
{{# function GetBtn8(d){
|
return formatDate(d.CompleteTime);
|
}
|
}}
|
{{ GetBtn8(d) }}
|
</script>
|
|
<script type="text/html" id="templetCreateTime2">
|
{{# function GetBtn9(d){
|
return formatDate(d.CreateTime);
|
}
|
}}
|
{{ GetBtn9(d) }}
|
</script>
|
|
<script type="text/html" id="templetUpdateTime3">
|
{{# function GetBtn10(d){
|
return formatDate(d.UpdateTime);
|
}
|
}}
|
{{ GetBtn10(d) }}
|
</script>
|
|
<!-- #endregion -->
|
|
</div>
|
</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>
|
var uid = $.cookie('userId');
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'table', 'laypage', 'layer', 'laydate'], function () {
|
|
var doing = true;
|
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
|
laydate = layui.laydate;
|
|
laydate.render({
|
elem: '#StartTime'
|
, format: 'yyyy-MM-dd', //可任意组合
|
});
|
laydate.render({
|
elem: '#EndTime'
|
, format: 'yyyy-MM-dd' //可任意组合
|
});
|
|
var h1 = GetTableTopHeight();
|
var h2 = GetTableBottomHeight();
|
|
|
refreshTable();
|
refreshTablemx(0);
|
//渲染总单
|
//#region 自定义表头
|
var TotalColsArr = [[
|
{field: '',title: '序号',type:'numbers',width: 50,align: 'center',fixed: 'left', "disabled": true},
|
{field: 'OrderCode',title: '采购单号',align: 'center'},
|
{field: 'Status',title: '执行状态',align: 'center',templet: '#buttonTpl'},
|
{field: 'CompleteTime',title: '完成时间',align: 'center',templet: '#templetCompleteTime'},
|
{field: 'CreateUserName',title: '创建人',align: 'center',width: 110},
|
{field: 'CreateTime',title: '创建时间',align: 'center',templet: '#templetCreateTime'},
|
{field: 'UpdateUserName',title: '修改人',align: 'center',width: 110},
|
{field: 'UpdateTime',title: '修改时间',align: 'center',templet: '#templetUpdateTime'},
|
{field: 'caozuo',title: '操作',fixed: 'right',width: 280,align: 'center',toolbar: '#toolbarDemo1', "disabled": true}
|
]];
|
var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
|
//#endregion
|
function refreshTable() {
|
|
//#region 自定义表头
|
var colsJson
|
var param1={
|
Href:'BllAsn/GetProcurePlanNoticeList'
|
};
|
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 = {
|
ASNNo: $("#ASNNo").val(),
|
Type: $("#Type").val(),
|
Status: $("#Status").val(),
|
CustomerName: $("#CustomerName").val(),
|
LotNo: $("#LotNo").val(),
|
SkuNo: $("#SkuNo").val(),
|
SkuName: $("#SkuName").val(),
|
StartTime:$("#StartTime").val(),
|
EndTime: $("#EndTime").val()
|
};
|
table.render({
|
elem: '#LAY-app-content-list',
|
url: IP + "/BllAsn/GetProcurePlanNoticeList",
|
method: 'POST',
|
height: h1,
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
headers:{ToKen:$.cookie('token')},
|
page: true,
|
even: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done: function(res) {
|
setRight();
|
//自定义列宽
|
SetTableColW('LAY-app-content-list','BllAsn/GetProcurePlanNoticeList',TotalColsSysArr);
|
},
|
cols: colsJson
|
});
|
});
|
//#endregion
|
}
|
|
// 入库单table单机事件
|
table.on('row(LAY-app-content-list)', function(obj) {
|
refreshTablemx(obj.data.Id);
|
});
|
//渲染明细
|
//#region 自定义表头
|
var DetailColsArr = [[
|
{field: '',title: '序号',type:'numbers',width: 50,align: 'center',fixed: 'left', "disabled": true},
|
{field: 'OrderDetailCode',title: '采购单行号',align: 'center',width: 100},
|
{field: 'CustomerName',title: '供应商名称',align: 'center'},
|
{field: 'SkuNo',title: '物料编码',align: 'center',width: 100},
|
{field: 'SkuName',title: '物料名称',align: 'center',width: 200},
|
{field: 'Standard',title: '物料规格',align: 'center',width: 130},
|
{field: 'Qty',title: '数量',align: 'center',width: 70},
|
{field: 'CompleteQty',title: '完成数量',align: 'center',width: 90},
|
{field: 'CompleteTime',title: '完成时间',align: 'center', width: 160,templet: '#templetCompleteTime2'},
|
{field: 'UnitName',title: '计量单位',align: 'center',width: 90},
|
{field: 'Price',title: '单价',align: 'center',width: 65},
|
{field: 'Money',title: '金额',align: 'center',width: 65},
|
{field: 'PackagName',title: '包装名称',align: 'center',width: 110,},
|
{field: 'CreateUserName',title: '创建人',align: 'center',width: 100},
|
{field: 'CreateTime',title: '创建时间',align: 'center',width: 160,templet: '#templetCreateTime2'},
|
{field: 'UpdateUserName',title: '修改人',align: 'center',width: 150,},
|
{field: 'UpdateTime',title: '修改时间',align: 'center',width: 150,templet: '#templetUpdateTime3'},
|
{field: 'caozuo',title: '操作',fixed: 'right',align: 'center',toolbar: '#toolbarDemoList', "disabled": true}
|
]];
|
var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
|
//#endregion
|
function refreshTablemx(parentId) {
|
|
//#region 自定义表头
|
var colsJson2
|
var param1={
|
Href:'BllAsn/GetProcurePlanNoticeDetailList'
|
};
|
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 = {
|
ParentId:parentId
|
};
|
table.render({
|
elem: '#LAY-app-content-list2',
|
url: IP + "/BllAsn/GetProcurePlanNoticeDetailList",
|
method: 'POST',
|
height: h2,
|
id: 'LAY-app-content-list2',
|
where: param,
|
contentType: 'application/json',
|
//toolbar:'#toolbarDemo',
|
defaultToolbar: [], //'filter','print', 'exports'
|
headers:{ToKen:$.cookie('token')},
|
page: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done: function() {
|
setRight()
|
//自定义列宽
|
SetTableColW('LAY-app-content-list2','BllAsn/GetProcurePlanNoticeDetailList',DetailColsSysArr);
|
},
|
cols: colsJson2
|
});
|
});
|
//#endregion
|
}
|
|
function setRight()
|
{
|
$(function() {
|
$(".clossClass").hide();//关单
|
$(".createClass").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].MenuName == "生成入库单") {
|
$(function() {
|
$(".createClass").show();
|
});
|
}
|
if (res.data[k].MenuName == "关闭采购单") {
|
$(function() {
|
$(".clossClass").show();
|
});
|
}
|
}
|
} else { //不成功
|
layer.msg('获取权限信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
|
// 页面监控,点击查询加载入库总单
|
form.on('submit(LAY-app-contlist-search)', function (data) {
|
refreshTable();
|
refreshTablemx();
|
});
|
|
|
var ImportId = 0;
|
table.on('tool(LAY-app-content-list)', function (obj) {
|
var data = obj.data;
|
switch(obj.event)
|
{
|
case "closs" :
|
// 代码区域
|
layer.confirm('确定关闭此单据吗?', function(index) {
|
// 代码区域
|
var param = {
|
Id:data.Id,
|
};
|
sendData(IP + "/BllAsn/CloseProcurePlan", param, 'post', function (res) {
|
if (res.code == 0) { //成功
|
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 });
|
}
|
});
|
});
|
|
break;
|
default:break;
|
}
|
});
|
//明细表操作栏事件
|
table.on('tool(LAY-app-content-list2)', function (obj) {
|
var data = obj.data;
|
var id = data.Id;
|
switch(obj.event)
|
{
|
case "createOrd" :
|
// 代码区域
|
layer.confirm('确定生成入库单据吗?', function(index) {
|
// 代码区域
|
var param = {
|
Id:data.Id,
|
};
|
sendData(IP + "/BllAsn/CreateAsnByProcurePlan", param, 'post', function (res) {
|
if (res.code == 0) { //成功
|
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 });
|
}
|
});
|
});
|
|
break;
|
default:break;
|
}
|
});
|
|
//#region 自定义表头
|
//自定义表头
|
active = {
|
customCols: function(){
|
layer.open({
|
type: 2,
|
title: '自定义列',
|
content: '../SystemSettings/HeaderSetting.html?Href=BllAsn/GetProcurePlanNoticeList&ColsSysArr='+TotalColsSysArr,
|
maxmin: false,
|
resize: false,
|
area: ['970px', '650px']
|
});
|
},
|
customCols2: function(){
|
layer.open({
|
type: 2,
|
title: '自定义列',
|
content: '../SystemSettings/HeaderSetting.html?Href=BllAsn/GetProcurePlanNoticeDetailList&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>
|