bklLiudl
2024-10-19 603ec6242dd3a46bda3ea54082e06240b21c673e
问题修改
11个文件已修改
2257 ■■■■ 已修改文件
HTML/views/ASNSetting/ArrivalNoticeDetail.html 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/SelMaterials.html 493 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/BaseSetting/Materials.html 1080 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/StatisticalReport/InventoryStatistics.html 522 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/DataDto/StockDetailDto.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/DataServer/StockServer.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IDataServer/IStockServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/StatisticalController.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/ArrivalNoticeDetail.html
@@ -175,13 +175,16 @@
                { field: 'Standard', title: '规格', width: 160, align: 'center' },
                { field: 'LotText', title: '批次描述', align: 'center', edit: 'text', width: 160 },
                { field: 'PackagNo', title: '包装名称', width: 160, templet: "#table-content-Packlist" },
                { field: 'Price', title: '单价', align: 'center', width: 80 },
                { field: 'Money', title: '金额', align: 'center', width: 100 },
                { field: 'UDF1', title: '自定义列1', align: 'center', edit: 'text', width: 140 },
                { field: 'UDF2', title: '自定义列2', align: 'center', edit: 'text', width: 140 },
                { field: 'UDF3', title: '自定义列3', align: 'center', edit: 'text', width: 140 },
                { field: 'UDF4', title: '自定义列4', align: 'center', edit: 'text', width: 140 },
                { field: 'UDF5', title: '自定义列5', align: 'center', width: 140, templet: '#templetUDF5' },
                { field: 'Lot1', title: '生产日期', align: 'center', edit: 'text', width: 140 },
                { field: 'Lot2', title: '过期日期', align: 'center', edit: 'text', width: 140 },
                // { field: 'Price', title: '单价', align: 'center', width: 80 },
                // { field: 'Money', title: '金额', align: 'center', width: 100 },
                // { field: 'UDF1', title: '自定义列1', align: 'center', edit: 'text', width: 140 },
                // { field: 'UDF2', title: '自定义列2', align: 'center', edit: 'text', width: 140 },
                // { field: 'UDF3', title: '自定义列3', align: 'center', edit: 'text', width: 140 },
                // { field: 'UDF4', title: '自定义列4', align: 'center', edit: 'text', width: 140 },
                // { field: 'UDF5', title: '自定义列5', align: 'center', width: 140, templet: '#templetUDF5' },
                { field: 'caozuo', title: '操作', fixed: 'right', width: 170, align: 'center', templet: '#table-content-list', "disabled": true }
            ]];
            var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
@@ -519,29 +522,6 @@
                }
            })
            // var IsBaleValue = "";
            // form.on('switch(IsBaleDemo)', function (obj) {
            //     layer.tips(this.value + ' ' + this.name + ':' + obj.elem.checked, obj.othis);
            //     if (obj.elem.checked) {
            //         IsBaleValue = "1";
            //     } else {
            //         IsBaleValue = "0";
            //     }
            // });
            // table.on('row(LAY-app-content-list)', function (obj) {
            //     if (IsBaleValue != "") {
            //         for (var j in arr) {
            //             if (obj.data.SkuNo == arr[j].SkuNo) {
            //                 arr[j].IsBale = IsBaleValue;
            //                 IsBaleValue = ""
            //                 break;
            //             }
            //         }
            //     }
            // })
            // 删除入库单明细
            table.on('tool(LAY-app-content-list)', function (obj) {
                if (obj.event == 'del') {
@@ -842,6 +822,8 @@
                        IsBale: arr[i].IsBale,
                        IsBelt: arr[i].IsBelt,
                        SupplierLot: arr[i].SupplierLot,
                        Lot1: arr[i].Lot1,
                        Lot2: arr[i].Lot2,
                        UDF1: arr[i].UDF1,
                        UDF2: arr[i].UDF2,
                        UDF3: arr[i].UDF3,
HTML/views/ASNSetting/SelMaterials.html
@@ -1,280 +1,265 @@
<!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">
    </head>
    <body>
        <div class="layui-fluid">
            <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="Msg" name="Msg" 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" disabled="disabled"
                                    lay-search>
                                    <option value="0">成品入库</option>
                                    <option value="1">采购入库</option>
                                    <option value="2">中间品入库</option>
                                    <option value="3">退货入库</option>
                                    <option value="4">车间余料退回入库</option>
                                    <option value="5">其它入库</option>
                                    <option value="6">代储入库</option>
                                    <option value="7">寄存入库</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>
                            <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="setParent">确定</button>
<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">
</head>
<body>
    <div class="layui-fluid">
        <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="Msg" name="Msg" placeholder="编码/名称/规格" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                </div>
                <div class="layui-card-body">
                    <table id="goods-list" lay-filter="goods-list"></table>
                    <div class="layui-inline">
                        <label class="layui-form-label">单据类型</label>
                        <div class="layui-input-inline">
                            <select name="Type" id="Type" lay-filter="Type" disabled="disabled" lay-search>
                                <option value="0">成品入库</option>
                                <option value="1">采购入库</option>
                                <option value="2">中间品入库</option>
                                <option value="3">退货入库</option>
                                <option value="4">车间余料退回入库</option>
                                <option value="5">其它入库</option>
                                <option value="6">代储入库</option>
                                <option value="7">寄存入库</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>
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="setParent">确定</button>
                    </div>
                </div>
            </div>
            <div class="layui-card-body">
                <table id="goods-list" lay-filter="goods-list"></table>
            </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'], function() {
                var table = layui.table,
                    form = layui.form,
                    laypage = layui.laypage,
                    index1 = parent.layer.getFrameIndex(window.name),
                    layer = layui.layer;
    <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'], function () {
            var table = layui.table,
                form = layui.form,
                laypage = layui.laypage,
                index1 = parent.layer.getFrameIndex(window.name),
                layer = layui.layer;
                // 获取上游页面的传值
                getQueryString('type');
            // 获取上游页面的传值
            getQueryString('type');
                function getQueryString(name) {
                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                    var r = window.location.search.substr(1).match(reg);
                    if (r != null)
                    {
                        // $("#Type").empty();
                        // if (unescape(r[2]) == 0)
                        // {
                        //     $("#Type").append('<option value ="0" Selected >标准物料</option>');
                        //     $("#Type").append('<option value ="1">非标物料</option>');
                        // }
                        // if (unescape(r[2]) == 1)
                        // {
                        //     $("#Type").append('<option value ="0">标准物料</option>');
                        //     $("#Type").append('<option value ="1" Selected >非标物料</option>');
                        // }
            function getQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                        $("#Type").val(unescape(r[2])); // "optionValue"为需要被选中的选项的value属性值
                        form.render('select');
                    }
                if (r != null) {
                    // $("#Type").empty();
                    // if (unescape(r[2]) == 0)
                    // {
                    //     $("#Type").append('<option value ="0" Selected >标准物料</option>');
                    //     $("#Type").append('<option value ="1">非标物料</option>');
                    // }
                    // if (unescape(r[2]) == 1)
                    // {
                    //     $("#Type").append('<option value ="0">标准物料</option>');
                    //     $("#Type").append('<option value ="1" Selected >非标物料</option>');
                    // }
                    //return null;
                    $("#Type").val(unescape(r[2])); // "optionValue"为需要被选中的选项的value属性值
                    form.render('select');
                }
                //return null;
            }
                refreshTable();
                var active = {
                  setParent: function(){
                    var checkStatus = table.checkStatus('goods-list');
                    var id = '#LAY-app-content-list',goods = $('#goods-list');
                    if(checkStatus.data.length == 0)
                    {
                      parent.layer.msg('请选择待入库的物料!');
                      return true;
            refreshTable();
            var active = {
                setParent: function () {
                    var checkStatus = table.checkStatus('goods-list');
                    var id = '#LAY-app-content-list', goods = $('#goods-list');
                    if (checkStatus.data.length == 0) {
                        parent.layer.msg('请选择待入库的物料!');
                        return true;
                    }
                    window.parent.success(checkStatus.data);
                    parent.layer.close(index1);
                  }
                };
                $('.layui-inline .layui-btn').on('click', function(){
                  var othis = $(this)
                  ,type = othis.data('type');
                  active[type] && active[type].call(this);
                });
                var tableIns;
                function refreshTable() {
                    var param = {
                        SkuNo:  $("#Msg").val(),
                        Type: $("#Type").val()
                    };
                    sendData(IP + "/BllAsn/GetMaterialsList", param, 'post', function(res) {
                        if (res.code == 0) { //成功
                            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() {});
                        }
                    });
                    parent.layer.close(index1);
                }
                // 表单需要的变量
                var infoOptions = {
                    elem: '#goods-list',
                    height: 'full-100',
                    id: 'goods-list',
                    page: true,
                    limit: pageCnt,
                    limits: pageLimits,
                    cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                    cols: [
                        [{
                            field: 'SkuId',
                            title: 'Id',
                            type: 'checkbox',
                            width: 100,
                            sort: true,
                            fixed: 'left'
                        }, {
                            field: 'SkuNo',
                            title: '物料编码',
                            width: 100,
                            fixed: 'left'
                        }, {
                            field: 'SkuName',
                            title: '物料名称',
                            width: 180,
                        },{
                            field: 'Standard',
                            title: '规格',
                            align: 'center',
                            width: 180
                        }, {
                            field: 'Type',
                            title: '类型',
                            width: 100,
                            templet: function (d) {
                                    switch (d.Type) {
                                        case "0" : return "原料";
                                        case "1" : return "包材";
                                        case "2" : return "成品";
                                        case "3" : return "耗材";
                                        case "4" : return "半成品";
                                        default : return "";
                                    }
                                }
                        }, {
                            field: 'IsControlled',
                            title: '是否标准',
                            // JC08 title: '是否受控',
                            width: 100,
                            // JC09
                            templet: function (d) {
                                    switch (d.IsControlled) {
                                        case "0" : return "标准";
                                        case "1" : return "非标";
                                        default : return "";
                                    }
                                },
                            // JC08
                            // templet: function (d) {
                            //         switch (d.IsBale) {
                            //             case "0" : return "受控";
                            //             case "1" : return "非受控";
                            //             default : return "";
                            //         }
                            //     }
                        },{
                            field: 'IsInspect',
                            title: '是否免检',
                            width: 100,
                            templet: function (d) {
                                    switch (d.IsInspect) {
                                        case "0" : return "否";
                                        case "1" : return "是";
                                        default : return "";
                                    }
                                },
                        },{
                            field: 'Origin',
                            title: '来源',
                            width: 120
                        },{
                            field: 'UnitName',
                            title: '计量单位',
                            width: 100,
                        }, {
                            field: 'PackagName',
                            title: '包装名称',
                            width: 120
                        }, {
                            field: 'Environment',
                            title: '存储环境',
                            width: 120,
                            templet: function (d) {
                                    switch (d.Environment) {
                                        case "0" : return "常温";
                                        case "1" : return "低温";
                                        case "3" : return "干燥通风";
                                        default : return "";
                                    }
                                },
                        }, {
                            field: 'Weight',
                            title: '理论重量',
                            width: 100
                        },{
                            field: 'Price',
                            title: '理论单价',
                            width: 100
                        }, {
                            field: 'Warranty',
                            title: '保质期(天)',
                            width: 100
                        },{
                            field: 'GoodsRemark',
                            title: '备注',
                            width: 160
                        }
                        ]
                    ],
            };
            $('.layui-inline .layui-btn').on('click', function () {
                var othis = $(this)
                    , type = othis.data('type');
                active[type] && active[type].call(this);
            });
            var tableIns;
            function refreshTable() {
                var param = {
                    SkuNo: $("#Msg").val(),
                    Type: $("#Type").val()
                };
                //监听搜索
                form.on('submit(LAY-app-contlist-search)', function(data) {
                    refreshTable();
                sendData(IP + "/BllAsn/GetMaterialsList", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        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 () { });
                    }
                });
            }
            // 表单需要的变量
            var infoOptions = {
                elem: '#goods-list',
                height: 'full-100',
                id: 'goods-list',
                page: true,
                limit: pageCnt,
                limits: pageLimits,
                cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                cols: [
                    [{
                        field: 'SkuId',
                        title: 'Id',
                        type: 'checkbox',
                        width: 100,
                        sort: true,
                        fixed: 'left'
                    }, {
                        field: 'SkuNo',
                        title: '物料编码',
                        width: 100,
                        fixed: 'left'
                    }, {
                        field: 'SkuName',
                        title: '物料名称',
                        width: 180,
                    }, {
                        field: 'Standard',
                        title: '规格',
                        align: 'center',
                        width: 180
                    }, {
                        field: 'Type',
                        title: '类型',
                        width: 100,
                        templet: function (d) {
                            switch (d.Type) {
                                case "0": return "原料";
                                case "1": return "包材";
                                case "2": return "成品";
                                case "3": return "耗材";
                                case "4": return "半成品";
                                default: return "";
                            }
                        }
                    },
                    {
                        field: 'IsControlled',
                        title: '是否标准',
                        // JC08 title: '是否受控',
                        width: 100,
                        // JC09
                        templet: function (d) {
                            switch (d.IsControlled) {
                                case "0": return "标准";
                                case "1": return "非标";
                                default: return "";
                            }
                        },
                    }, {
                        field: 'IsInspect',
                        title: '是否免检',
                        width: 100,
                        templet: function (d) {
                            switch (d.IsInspect) {
                                case "0": return "否";
                                case "1": return "是";
                                default: return "";
                            }
                        },
                    }, {
                        field: 'Origin',
                        title: '来源',
                        width: 120
                    }, {
                        field: 'UnitName',
                        title: '计量单位',
                        width: 100,
                    }, {
                        field: 'PackagName',
                        title: '包装名称',
                        width: 120
                    }, {
                        field: 'Environment',
                        title: '存储环境',
                        width: 120,
                        templet: function (d) {
                            switch (d.Environment) {
                                case "0": return "常温";
                                case "1": return "低温";
                                case "3": return "干燥通风";
                                default: return "";
                            }
                        },
                    }, {
                        field: 'GoodsRemark',
                        title: '备注',
                        width: 160
                    }
                    ]
                ],
            };
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function (data) {
                refreshTable();
            });
        </script>
    </body>
</html>
        });
    </script>
</body>
</html>
HTML/views/BaseSetting/Materials.html
@@ -1,133 +1,141 @@
<!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">
        <script>
            // 这里是需要在页面渲染之前执行的代码
            document.addEventListener("DOMContentLoaded", function() {
                //获取table默认显示数
                pageCntFirst();
            });
          </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" style="border-bottom:1px solid #CCC" id="top">
                    <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="SkuNo" name="SkuNo" 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="SkuName" name="SkuName" placeholder="请输入物料名称" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <!-- 审核状态 -->
                            <div class="layui-inline">
                                <label class="layui-form-label" style="width: 60px;">审核状态</label>
                                <div class="layui-input-inline">
                                    <select name="AuditStatusNo" id="AuditStatusNo" lay-verify="">
                                        <option value=""></option>
                                        <option value="0">待审核</option>
                                        <option value="9">已通过</option>
                                    </select>
                                </div>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <!-- 类型 -->
                            <label class="layui-form-label" style="width: 60px;">类型</label>
                                <div class="layui-input-inline">
                                <select name="Type" id="Type" lay-verify="" lay-verify="" 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>
                                </select>
                            </div>
                        </div>
                        <!-- 是否受控 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">是否受控</label>
                            <div class="layui-input-inline">
                                <select name="IsControlled" id="IsControlled" lay-verify="" lay-verify="" 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" style="width: 60px;">是否免检</label>
                            <div class="layui-input-inline">
                                <select name="IsInspect" id="IsInspect" lay-verify="" lay-verify="" 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" style="width: 60px;">存储环境</label>
                            <div class="layui-input-inline">
                                <select name="Environment" id="Environment" lay-verify="" lay-verify="" lay-search>
                                    <option value=""></option>
                                    <option value="0">常温</option>
                                    <option value="1">低温</option>
                                    <!-- <option value="3">干燥通风</option> -->
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <!-- 物料类别 -->
                            <div class="layui-inline">
                                <label class="layui-form-label" style="width: 60px;">物料类别</label>
                                <div class="layui-input-inline">
                                    <select name="CategoryNo" id="CategoryNo" lay-verify="">
                                        <option value=""></option>
                                    </select>
                                </div>
                            </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">
                            <button class="layui-btn layui-btn-sm layuiadmin-btn-list approvalBtn" style="margin-right: 10px;" data-type="add" id="approvalBtn">
                                <i class="layui-icon layuiadmin-button-btn">&#xe654;</i>添加
                            </button>
<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">
    <script>
        // 这里是需要在页面渲染之前执行的代码
        document.addEventListener("DOMContentLoaded", function () {
            //获取table默认显示数
            pageCntFirst();
        });
    </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" style="border-bottom:1px solid #CCC"
                id="top">
                <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="SkuNo" name="SkuNo" 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="SkuName" name="SkuName" placeholder="请输入物料名称" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <!-- 审核状态 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">审核状态</label>
                            <div class="layui-input-inline">
                                <select name="AuditStatusNo" id="AuditStatusNo" lay-verify="">
                                    <option value=""></option>
                                    <option value="0">待审核</option>
                                    <option value="9">已通过</option>
                                </select>
                            </div>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <!-- 类型 -->
                        <label class="layui-form-label" style="width: 60px;">类型</label>
                        <div class="layui-input-inline">
                            <select name="Type" id="Type" lay-verify="" lay-verify="" 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>
                            </select>
                        </div>
                    </div>
                    <!-- 是否受控 -->
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 60px;">是否受控</label>
                        <div class="layui-input-inline">
                            <select name="IsControlled" id="IsControlled" lay-verify="" lay-verify="" 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" style="width: 60px;">是否免检</label>
                        <div class="layui-input-inline">
                            <select name="IsInspect" id="IsInspect" lay-verify="" lay-verify="" 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" style="width: 60px;">存储环境</label>
                        <div class="layui-input-inline">
                            <select name="Environment" id="Environment" lay-verify="" lay-verify="" lay-search>
                                <option value=""></option>
                                <option value="0">常温</option>
                                <option value="1">低温</option>
                                <!-- <option value="3">干燥通风</option> -->
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <!-- 物料类别 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">区域类别</label>
                            <div class="layui-input-inline">
                                <select name="CategoryNo" id="CategoryNo" lay-verify="">
                                    <option value=""></option>
                                </select>
                            </div>
                        </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">
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list approvalBtn"
                            style="margin-right: 10px;" data-type="add" id="approvalBtn">
                            <i class="layui-icon layuiadmin-button-btn">&#xe654;</i>添加
                        </button>
                    </div>
                </div>
            </div>
                <div id="center"></div>
            <div id="center"></div>
                <div class="layui-card-body">
                    <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
                    <!-- 审核状态 -->
                    <script type="text/html" id="buttonAuditStatusNo">
            <div class="layui-card-body">
                <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
                <!-- 审核状态 -->
                <script type="text/html" id="buttonAuditStatusNo">
                        {{# if(d.AuditStatusNo=='0'){ }}
                            <button class="layui-btn layui-btn-radius layui-btn-xs" style="background-color:RED;">待审核</button>
                        {{# } else if(d.AuditStatusNo=='9') { }}
@@ -136,8 +144,8 @@
                            <button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs" style="background-color: blue;">其它</button>
                        {{# } }}
                    </script>
                    <!-- 类型 -->
                    <script type="text/html" id="buttonType">
                <!-- 类型 -->
                <script type="text/html" id="buttonType">
                        {{# if(d.Type=='0'){ }}
                            <p>原料</p>
                        {{# } else if(d.Type=='1') { }}
@@ -151,17 +159,17 @@
                        {{# } }}
                    </script>
                    <!-- 是否受控 -->
                    <script type="text/html" id="buttonIsControlled">
                <!-- 是否受控 -->
                <script type="text/html" id="buttonIsControlled">
                        {{# if(d.IsControlled=='0'){ }}
                            <p>受控</p>
                        {{# } else if(d.IsControlled=='1') { }}
                            <p>非受控</p>
                        {{# }  }}
                    </script>
                    <!-- 是否免检 -->
                    <script type="text/html" id="buttonIsInspect">
                <!-- 是否免检 -->
                <script type="text/html" id="buttonIsInspect">
                        {{# if(d.IsInspect=='0'){ }}
                            <p>否</p>
                        {{# } else if(d.IsInspect=='1') { }}
@@ -169,8 +177,8 @@
                        {{# }  }}
                    </script>
                    <!-- 存储环境 -->
                    <script type="text/html" id="buttonEnvironment">
                <!-- 存储环境 -->
                <script type="text/html" id="buttonEnvironment">
                        {{# if(d.Environment=='0'){ }}
                            <p>常温</p>
                        {{# } else if(d.Environment=='1') { }}
@@ -180,7 +188,7 @@
                        {{# }  }}
                    </script>
                    <script type="text/html" id="table-content-list">
                <script type="text/html" id="table-content-list">
                        <a class="layui-btn layui-btn-normal layui-btn-xs approvalBtnupt" lay-event="edit">
                            <i class="layui-icon layui-icon-edit"></i>编辑
                        </a>
@@ -188,463 +196,449 @@
                            <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>
            layui.config({
                base: '../../layuiadmin/' //静态资源所在路径
            }).extend({
                index: 'lib/index' //主入口模块
            }).use(['index', 'table', 'laypage', 'layer'], function() {
                var table = layui.table,
                    form = layui.form,
                    laypage = layui.laypage,
                    layer = layui.layer;
    </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'], function () {
            var table = layui.table,
                form = layui.form,
                laypage = layui.laypage,
                layer = layui.layer;
                var h1 = GetTableHeight();
                refreshTable("","","","","","","","");
                var tableIns;
                //获取类别信息
                sendData(IP + "/sys/GetMaterialCategories1",{},'get',function(res){
                    console.log(res)
                    if (res.code == 1) //成功
                    {
                        Categoryhtml = '<option value =""></option>';
                        for (var i = 0; i < res.data.length; i++) {
                            Categoryhtml = Categoryhtml + '<option value =' + res.data[i].CategoryNo + '>' + res.data[i].CategoryName + '</option>'
                        }
                        $("#CategoryNo").append(Categoryhtml);
                        form.render('select');
            var h1 = GetTableHeight();
            refreshTable("", "", "", "", "", "", "", "");
            var tableIns;
            //获取类别信息
            sendData(IP + "/sys/GetMaterialCategories1", {}, 'get', function (res) {
                console.log(res)
                if (res.code == 1) //成功
                {
                    Categoryhtml = '<option value =""></option>';
                    for (var i = 0; i < res.data.length; i++) {
                        Categoryhtml = Categoryhtml + '<option value =' + res.data[i].CategoryNo + '>' + res.data[i].CategoryName + '</option>'
                    }
                })
                function refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment,CategoryNo) {
                    var param = {
                        SkuNo: SkuNo,
                        SkuName: SkuName,
                        AuditStatusNo: AuditStatusNo,
                        Type: Type,
                        IsControlled: IsControlled,
                        IsInspect: IsInspect,
                        Environment: Environment,
                        CategoryNo:CategoryNo
                    };
                    var url  = "/Basis/GetMateList?SkuNo="+SkuNo+"&&SkuName="+SkuName+"&&AuditStatusNo="+AuditStatusNo+"&&Type="+Type+"&&IsControlled="+IsControlled+"&&IsInspect="+IsInspect+"&&Environment="+Environment+"&CategoryNo="+CategoryNo;
                    sendData(IP + url, {}, 'get', function(res) {
                        if (res.code == 0) //成功
                        {
                            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() {});
                        }
                    });
                    $("#CategoryNo").append(Categoryhtml);
                    form.render('select');
                }
                sendData(IP + "/basis/GetRoleRightList", {}, "get", function (res) {
                    $(function() {
                        $("#approvalBtn").hide();
                    });
                    $(function() {
                        $(".approvalBtndel").hide();
                    });
                    $(function() {
                        $(".approvalBtnupt").hide();
                    });
            })
            function refreshTable(SkuNo, SkuName, AuditStatusNo, Type, IsControlled, IsInspect, Environment, CategoryNo) {
                var param = {
                    SkuNo: SkuNo,
                    SkuName: SkuName,
                    AuditStatusNo: AuditStatusNo,
                    Type: Type,
                    IsControlled: IsControlled,
                    IsInspect: IsInspect,
                    Environment: Environment,
                    CategoryNo: CategoryNo
                };
                var url = "/Basis/GetMateList?SkuNo=" + SkuNo + "&&SkuName=" + SkuName + "&&AuditStatusNo=" + AuditStatusNo + "&&Type=" + Type + "&&IsControlled=" + IsControlled + "&&IsInspect=" + IsInspect + "&&Environment=" + Environment + "&CategoryNo=" + CategoryNo;
                sendData(IP + url, {}, 'get', function (res) {
                    if (res.code == 0) //成功
                    {
                        for (var k = 0; k < res.data.length; k++) {
                            if (res.data[k].MenuName == "添加物料")
                            {
                                $(function() {
                                    $("#approvalBtn").show();
                                });
                            }
                            if (res.data[k].MenuName == "删除物料")
                            {
                                $(function() {
                                    $(".approvalBtndel").show();
                                });
                            }
                            if (res.data[k].MenuName == "编辑物料")
                            {
                                $(function() {
                                    $(".approvalBtnupt").show();
                                });
                            }
                        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 () {
                                //回调
                            }
                        );
                        layer.msg('获取物料列表信息失败!', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
                var infoOptions = {
                    elem: "#LAY-app-content-list",
                    height: h1,
                    id: "LAY-app-content-list",
                    page: true,
                    limit: pageCnt,
                    limits: pageLimits,
                    even: true,
                    cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                    cols:
            }
            sendData(IP + "/basis/GetRoleRightList", {}, "get", function (res) {
                $(function () {
                    $("#approvalBtn").hide();
                });
                $(function () {
                    $(".approvalBtndel").hide();
                });
                $(function () {
                    $(".approvalBtnupt").hide();
                });
                if (res.code == 0) //成功
                {
                    for (var k = 0; k < res.data.length; k++) {
                        if (res.data[k].MenuName == "添加物料") {
                            $(function () {
                                $("#approvalBtn").show();
                            });
                        }
                        if (res.data[k].MenuName == "删除物料") {
                            $(function () {
                                $(".approvalBtndel").show();
                            });
                        }
                        if (res.data[k].MenuName == "编辑物料") {
                            $(function () {
                                $(".approvalBtnupt").show();
                            });
                        }
                    }
                }
                else //不成功
                {
                    layer.msg(
                        "获取信息失败",
                        {
                            icon: 2,
                            time: 2000, //2秒关闭(如果不配置,默认是3秒)
                        },
                        function () {
                            //回调
                        }
                    );
                }
            });
            var infoOptions = {
                elem: "#LAY-app-content-list",
                height: h1,
                id: "LAY-app-content-list",
                page: true,
                limit: pageCnt,
                limits: pageLimits,
                even: true,
                cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                cols:
                    [[
                        {
                            title: '序号',type: 'numbers',fixed: 'left',width:65
                            title: '序号', type: 'numbers', fixed: 'left', width: 65
                        },
                        {
                            field: 'SkuNo',title: '物料编码',align: 'center',fixed: 'left',width: 100
                        },
                        {
                            field: 'SkuName',title: '物料名称',align: 'center',width: 150
                        },
                        {
                            field: 'Standard',title: '物料规格',align: 'center',width: 130
                        },
                        {
                            field: 'AuditStatusNo',title: '审核状态',align: 'center',templet: '#buttonAuditStatusNo',width: 100
                            field: 'SkuNo', title: '物料编码', align: 'center', fixed: 'left', width: 100
                        },
                        {
                            field: 'Type',title: '类型',align: 'center',templet: '#buttonType',width: 100
                            field: 'SkuName', title: '物料名称', align: 'center', width: 150
                        },
                        {
                            field: 'IsControlled',templet: '#buttonIsControlled',title: '是否受控',align: 'center',width: 100
                        },
                        {
                            field: 'IsInspect',title: '是否免检',align: 'center',templet: '#buttonIsInspect',width: 100
                        },
                        {
                            field: 'Origin',title: '来源',align: 'center',width: 200
                        },
                        {
                            field: 'UnitName',title: '单位',align: 'center',width: 100
                            field: 'Standard', title: '物料规格', align: 'center', width: 130
                        },
                        {
                            field: 'PackagName',title: '包装',align: 'center',width: 100
                            field: 'AuditStatusNo', title: '审核状态', align: 'center', templet: '#buttonAuditStatusNo', width: 100
                        },
                        {
                            field: 'Environment',title: '存储环境',align: 'center',templet: '#buttonEnvironment',width: 120
                            field: 'Type', title: '类型', align: 'center', templet: '#buttonType', width: 100
                        },
                        {
                            field: 'CategoryName',title: '物料类别',align: 'center',width: 120
                            field: 'IsControlled', templet: '#buttonIsControlled', title: '是否受控', align: 'center', width: 100
                        },
                        {
                            field: 'Weight',title: '理论重量',align: 'center',width: 135
                        },
                        {
                            field: 'Warranty',title: '保质期(天)',align: 'center',width: 140
                            field: 'IsInspect', title: '是否免检', align: 'center', templet: '#buttonIsInspect', width: 100
                        },
                        {
                            field: 'Price',title: '理论单价',align: 'center',width: 150
                            field: 'Origin', title: '来源', align: 'center', width: 200
                        },
                        {
                            field: 'AdventTime',title: '临期(天)',align: 'center',width: 140
                            field: 'UnitName', title: '单位', align: 'center', width: 100
                        },
                        {
                            field: 'LowInventory',title: '低库存',align: 'center',width: 150
                            field: 'PackagName', title: '包装', align: 'center', width: 100
                        },
                        {
                            field: 'Demo',title: '备注',align: 'center',width: 200
                            field: 'Environment', title: '存储环境', align: 'center', templet: '#buttonEnvironment', width: 120
                        },
                        {
                            field: 'CreateUserName',title: '创建人',align: 'center',width: 130
                            field: 'CategoryName', title: '物料类别', align: 'center', width: 120
                        },
                        {
                            field: 'CreateTime',title: '创建日期',align: 'center',width: 170,
                            field: 'Weight', title: '理论重量', align: 'center', width: 135
                        },
                        {
                            field: 'Warranty', title: '保质期(天)', align: 'center', width: 140
                        },
                        {
                            field: 'Price', title: '理论单价', align: 'center', width: 150
                        },
                        {
                            field: 'AdventTime', title: '临期(天)', align: 'center', width: 140
                        },
                        {
                            field: 'LowInventory', title: '低库存', align: 'center', width: 150
                        },
                        {
                            field: 'Demo', title: '备注', align: 'center', width: 200
                        },
                        {
                            field: 'CreateUserName', title: '创建人', align: 'center', width: 130
                        },
                        {
                            field: 'CreateTime', title: '创建日期', align: 'center', width: 170,
                            templet: function (d) {
                                return formatDate(d.CreateTime);
                            }
                        },
                        {
                            title: '操作',fixed: 'right',align: 'center',toolbar: '#table-content-list',width: 170
                            title: '操作', fixed: 'right', align: 'center', toolbar: '#table-content-list', width: 170
                        }
                    ]],
            };
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function (data) {
                var SkuNo = data.field.SkuNo;
                var SkuName = data.field.SkuName;
                var AuditStatusNo = data.field.AuditStatusNo;
                var Type = data.field.Type;
                var IsControlled = data.field.IsControlled;
                var IsInspect = data.field.IsInspect;
                var Environment = data.field.Environment;
                var CategoryNo = data.field.CategoryNo;
                refreshTable(SkuNo, SkuName, AuditStatusNo, Type, IsControlled, IsInspect, Environment, CategoryNo);
            });
            var doing = true;
            var $ = layui.$,
                active = {
                    //新增
                    add: function () {
                        layer.open({
                            type: 2,
                            title: '添加物料信息',
                            content: 'MaterialsForm.html',
                            maxmin: true,
                            area: ['640px', '680px'],
                            btn: ['确定', '取消'],
                            yes: function (index, layero) {
                                var iframeWindow = window['layui-layer-iframe' + index],
                                    submitID = 'layuiadmin-app-form-submit',
                                    submit = layero.find('iframe').contents().find('#' + submitID);
                                //监听提交
                                iframeWindow.layui.form.on('submit(' + submitID + ')', function (
                                    data) {
                                    var field = data.field; //获取提交的字段
                                    //提交 Ajax 成功后,静态更新表格中的数据
                                    var param = {
                                        SkuNo: field.SkuNo,
                                        SkuName: field.SkuName,
                                        Standard: field.Standard,
                                        //AuditStatusNo: field.AuditStatusNo,
                                        Type: field.Type,
                                        IsControlled: field.IsControlled,
                                        IsInspect: field.IsInspect,
                                        Origin: field.Origin,
                                        CategoryNo: field.CategoryNo,
                                        UnitNo: field.UnitNo,
                                        PackagNo: field.PackagNo,
                                        Environment: field.Environment,
                                        Weight: Number(field.Weight),
                                        Warranty: Number(field.Warranty),
                                        Price: Number(field.Price),
                                        AdventTime: Number(field.AdventTime), //临期
                                        LowInventory: Number(field.LowInventory), //低库存
                                        Demo: field.Demo
                                    };
                                    if (doing) {
                                        doing = false;
                                        sendData(IP + "/Basis/AddMate", param, 'post', function (res) {
                                            console.log(res);
                                            if (res.code == 0) { //成功
                                                layer.msg(res.msg, {
                                                    icon: 1,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function () {
                                                    layer.close(index); //关闭弹层
                                                    refreshTable
                                                        (
                                                            $("#SkuNo").val(),
                                                            $("#SkuName").val(),
                                                            $("#AuditStatusNo").val(),
                                                            $("#Type").val(),
                                                            $("#IsControlled").val(),
                                                            $("#IsInspect").val(),
                                                            $("#Environment").val(),
                                                            $("#CategoryNo").val()
                                                        );
                                                    doing = true;
                                                });
                                            }
                                            else if (res.code == 2) {
                                                layer.msg("物料编码或名称重复,添加失败!", {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function () { doing = true; });
                                            }
                                            else //不成功
                                            {
                                                layer.msg(res.msg, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function () { doing = true; });
                                            }
                                        });
                                    }
                                    else {
                                        console.log(123);
                                    }
                                });
                                submit.trigger('click');
                            }
                        });
                    }
                };
                //监听搜索
                form.on('submit(LAY-app-contlist-search)', function(data) {
                    var SkuNo = data.field.SkuNo;
                    var SkuName = data.field.SkuName;
                    var AuditStatusNo = data.field.AuditStatusNo;
                    var Type = data.field.Type;
                    var IsControlled = data.field.IsControlled;
                    var IsInspect = data.field.IsInspect;
                    var Environment = data.field.Environment;
                    var CategoryNo = data.field.CategoryNo;
                    refreshTable(SkuNo,SkuName,AuditStatusNo,Type,IsControlled,IsInspect,Environment,CategoryNo);
                });
                var doing = true;
                var $ = layui.$,
                    active = {
                        //新增
                        add: function() {
                            layer.open({
                                type: 2,
                                title: '添加物料信息',
                                content: 'MaterialsForm.html',
                                maxmin: true,
                                area: ['640px', '680px'],
                                btn: ['确定', '取消'],
                                yes: function(index, layero) {
                                    var iframeWindow = window['layui-layer-iframe' + index],
                                        submitID = 'layuiadmin-app-form-submit',
                                        submit = layero.find('iframe').contents().find('#' + submitID);
                                    //监听提交
                                    iframeWindow.layui.form.on('submit(' + submitID + ')', function(
                                        data) {
                                        var field = data.field; //获取提交的字段
                                        //提交 Ajax 成功后,静态更新表格中的数据
                                        var param = {
                                            SkuNo: field.SkuNo,
                                            SkuName: field.SkuName,
                                            Standard: field.Standard,
                                            //AuditStatusNo: field.AuditStatusNo,
                                            Type: field.Type,
                                            IsControlled: field.IsControlled,
                                            IsInspect: field.IsInspect,
                                            Origin: field.Origin,
                                            CategoryNo: field.CategoryNo,
                                            UnitNo: field.UnitNo,
                                            PackagNo: field.PackagNo,
                                            Environment: field.Environment,
                                            Weight: Number(field.Weight),
                                            Warranty: Number(field.Warranty),
                                            Price: Number(field.Price),
                                            AdventTime: Number(field.AdventTime), //临期
                                            LowInventory: Number(field.LowInventory), //低库存
                                            Demo: field.Demo
                                        };
                                        if(doing)
                                        {
                                            doing = false;
                                            sendData(IP + "/Basis/AddMate", param, 'post',function(res) {
                                                console.log(res);
                                                if (res.code == 0) { //成功
                                                    layer.msg(res.msg, {
                                                        icon: 1,
                                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                    }, function() {
                                                        layer.close(index); //关闭弹层
                                                        refreshTable
                                                        (
                                                            $("#SkuNo").val(),
                                                            $("#SkuName").val(),
                                                            $("#AuditStatusNo").val(),
                                                            $("#Type").val(),
                                                            $("#IsControlled").val(),
                                                            $("#IsInspect").val(),
                                                            $("#Environment").val(),
                                                            $("#CategoryNo").val()
                                                        );
                                                        doing = true;
                                                    });
                                                }
                                                else if (res.code == 2) {
                                                    layer.msg("物料编码或名称重复,添加失败!", {
                                                        icon: 2,
                                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                    }, function() {doing = true;});
                                                }
                                                else //不成功
                                                {
                                                    layer.msg(res.msg, {
                                                        icon: 2,
                                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                    }, function() {doing = true;});
                                                }
                                            });
                                        }
                                        else{
                                            console.log(123);
                                        }
                                    });
                                    submit.trigger('click');
                                }
                            });
                        }
                    };
                $('.layui-btn.layuiadmin-btn-list').on('click', function() {
                    var type = $(this).data('type');
                    active[type] ? active[type].call(this) : '';
                });
            $('.layui-btn.layuiadmin-btn-list').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
                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 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 uid = $.cookie('userId');
                table.on('tool(LAY-app-content-list)', function(obj) {
                    var data = obj.data;
                    //删除
                    if (obj.event === 'del')
                    {
                        layer.confirm('确定删除选中的物料?', function(index) {
                            cusid = data.Id;
                            var arr = [];
                            arr.push(cusid); //属性
                            var param = {
                                Ids: arr
                            };
                            if(doing)
                            {
                                doing = false;
                                sendData(IP + "/Basis/DelMate?Id="+data.Id+"", {} , 'get', function(res) {
                                    console.log(res);
                                    if (res.code == 0) { //成功
                                        layer.msg(res.msg, {
                                            icon: 1,
                                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                        }, function() {
                                            refreshTable
                                            (
                                                $("#SkuNo").val(),
                                                $("#SkuName").val(),
                                                $("#AuditStatusNo").val(),
                                                $("#Type").val(),
                                                $("#IsControlled").val(),
                                                $("#IsInspect").val(),
                                                $("#Environment").val(),
                                                $("#CategoryNo").val()
                                            );
                                            //table.reload('LAY-app-content-list'); //数据刷新
                                            doing = true;
                                        });
                                    }
                                    else //不成功
                                    {
                                        layer.msg(res.msg, {
                                            icon: 2,
                                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                        }, function() {doing = true;});
                                    }
                                });
                            }
                            else
                            {
                                console.log(123);
                            }
                        });
                    }
                    //编辑
                    else if (obj.event === 'edit')
                    {
                        cusId = data.Id;
                        layer.open({
                            type: 2,
                            title: '编辑物料信息',
                            content: 'MaterialsForm.html?id=' + cusId,
                            maxmin: true,
                            area: ['630px', '670px'],
                            btn: ['确定', '取消'],
                            yes: function(index, layero) {
                                var iframeWindow = window['layui-layer-iframe' + index],
                                    submitID = 'layuiadmin-app-form-edit',
                                    submit = layero.find('iframe').contents().find('#' + submitID);
                                //监听提交
                                iframeWindow.layui.form.on('submit(' + submitID + ')', function(data) {
                                    var field = data.field; //获取提交的字段
                                    //提交 Ajax 成功后,静态更新表格中的数据
                                    var param = {
                                        Id: cusId,
                                        SkuNo: field.SkuNo,
                                        SkuName: field.SkuName,
                                        Standard: field.Standard,
                                        AuditStatusNo: field.AuditStatusNo,
                                        Type: field.Type,
                                        IsControlled: field.IsControlled,
                                        IsInspect: field.IsInspect,
                                        Origin: field.Origin,
                                        CategoryNo: field.CategoryNo,
                                        UnitNo: field.UnitNo,
                                        PackagNo: field.PackagNo,
                                        Environment: field.Environment,
                                        Weight: Number(field.Weight),
                                        Warranty: Number(field.Warranty),
                                        Price: Number(field.Price),
                                        AdventTime: Number(field.AdventTime), //临期
                                        LowInventory: Number(field.LowInventory), //低库存
                                        Demo: field.Demo
                                    };
                                    if(doing)
                                    {
                                        doing = false;
                                        sendData(IP + "/Basis/ExitMate", param, 'post',
                                        function(res) {
            }
            var uid = $.cookie('userId');
            table.on('tool(LAY-app-content-list)', function (obj) {
                var data = obj.data;
                //删除
                if (obj.event === 'del') {
                    layer.confirm('确定删除选中的物料?', function (index) {
                        cusid = data.Id;
                        var arr = [];
                        arr.push(cusid); //属性
                        var param = {
                            Ids: arr
                        };
                        if (doing) {
                            doing = false;
                            sendData(IP + "/Basis/DelMate?Id=" + data.Id + "", {}, 'get', function (res) {
                                console.log(res);
                                if (res.code == 0) { //成功
                                    layer.msg(res.msg, {
                                        icon: 1,
                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    }, function () {
                                        refreshTable
                                            (
                                                $("#SkuNo").val(),
                                                $("#SkuName").val(),
                                                $("#AuditStatusNo").val(),
                                                $("#Type").val(),
                                                $("#IsControlled").val(),
                                                $("#IsInspect").val(),
                                                $("#Environment").val(),
                                                $("#CategoryNo").val()
                                            );
                                        //table.reload('LAY-app-content-list'); //数据刷新
                                        doing = true;
                                    });
                                }
                                else //不成功
                                {
                                    layer.msg(res.msg, {
                                        icon: 2,
                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    }, function () { doing = true; });
                                }
                            });
                        }
                        else {
                            console.log(123);
                        }
                    });
                }
                //编辑
                else if (obj.event === 'edit') {
                    cusId = data.Id;
                    layer.open({
                        type: 2,
                        title: '编辑物料信息',
                        content: 'MaterialsForm.html?id=' + cusId,
                        maxmin: true,
                        area: ['630px', '670px'],
                        btn: ['确定', '取消'],
                        yes: function (index, layero) {
                            var iframeWindow = window['layui-layer-iframe' + index],
                                submitID = 'layuiadmin-app-form-edit',
                                submit = layero.find('iframe').contents().find('#' + submitID);
                            //监听提交
                            iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                                var field = data.field; //获取提交的字段
                                //提交 Ajax 成功后,静态更新表格中的数据
                                var param = {
                                    Id: cusId,
                                    SkuNo: field.SkuNo,
                                    SkuName: field.SkuName,
                                    Standard: field.Standard,
                                    AuditStatusNo: field.AuditStatusNo,
                                    Type: field.Type,
                                    IsControlled: field.IsControlled,
                                    IsInspect: field.IsInspect,
                                    Origin: field.Origin,
                                    CategoryNo: field.CategoryNo,
                                    UnitNo: field.UnitNo,
                                    PackagNo: field.PackagNo,
                                    Environment: field.Environment,
                                    Weight: Number(field.Weight),
                                    Warranty: Number(field.Warranty),
                                    Price: Number(field.Price),
                                    AdventTime: Number(field.AdventTime), //临期
                                    LowInventory: Number(field.LowInventory), //低库存
                                    Demo: field.Demo
                                };
                                if (doing) {
                                    doing = false;
                                    sendData(IP + "/Basis/ExitMate", param, 'post',
                                        function (res) {
                                            if (res.code == 0) //成功
                                            {
                                                layer.msg("修改成功", {
                                                    icon: 1,
                                                    time: 1000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {
                                                }, function () {
                                                    layer.close(index); //关闭弹层
                                                    refreshTable
                                                        (
                                                            $("#SkuNo").val(),
                                                            $("#SkuName").val(),
                                                            $("#AuditStatusNo").val(),
                                                            $("#Type").val(),
                                                            $("#IsControlled").val(),
                                                            $("#IsInspect").val(),
                                                            $("#Environment").val(),
                                                            $("#CategoryNo").val(),
                                                        );
                                                        (
                                                            $("#SkuNo").val(),
                                                            $("#SkuName").val(),
                                                            $("#AuditStatusNo").val(),
                                                            $("#Type").val(),
                                                            $("#IsControlled").val(),
                                                            $("#IsInspect").val(),
                                                            $("#Environment").val(),
                                                            $("#CategoryNo").val(),
                                                        );
                                                    doing = true;
                                                });
                                            }
@@ -653,21 +647,21 @@
                                                layer.msg(res.msg, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {doing = true;});
                                                }, function () { doing = true; });
                                            }
                                        });
                                    }
                                    else
                                    {
                                        console.log(123);
                                    }
                                });
                                submit.trigger('click');
                            }
                        });
                    }
                });
                                }
                                else {
                                    console.log(123);
                                }
                            });
                            submit.trigger('click');
                        }
                    });
                }
            });
        </script>
    </body>
</html>
        });
    </script>
</body>
</html>
HTML/views/StatisticalReport/InventoryStatistics.html
@@ -19,13 +19,13 @@
    </style>
    <script>
        // 这里是需要在页面渲染之前执行的代码
        document.addEventListener("DOMContentLoaded", function() {
        document.addEventListener("DOMContentLoaded", function () {
            //获取table默认显示数
            pageCntFirst();
            //判断是否开启table列表列宽调整功能。
            GetIsSetColW();
        });
      </script>
    </script>
</head>
@@ -51,6 +51,30 @@
                        </div>
                    </div>
                    <div class="layui-inline mingxi">
                        <label class="layui-form-label" style="width: 60px;">进厂编号</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <input type="text" id="LotNo" name="LotNo" 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="Type" id="Type" lay-verify="" lay-verify="" 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>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline mingxi">
                        <label class="layui-form-label" style="width: 60px;">货主编码</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <input type="text" id="OwnerNo" name="OwnerNo" placeholder="货主编码" autocomplete="off"
@@ -64,11 +88,20 @@
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline mingxi">
                        <label class="layui-form-label" style="width: 60px;">进厂编号</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <input type="text" id="LotNo" name="LotNo" placeholder="进厂编号" autocomplete="off"
                                class="layui-input">
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 60px;">所属仓库</label>
                        <div class="layui-input-inline">
                            <select name="WareHouseNo" id="WareHouseNo" lay-filter="getWareHouseNo" lay-search>
                                <option value=""></option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 60px;">所属区域</label>
                        <div class="layui-input-inline">
                            <select name="AreaNo" id="AreaNo" lay-filter="getAreaNo" lay-search>
                                <option value=""></option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline mingxi">
@@ -85,7 +118,18 @@
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline zhijian">
                        <label class="layui-form-label" style="width: 60px;">质检状态</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <select name="InspectStatus" id="InspectStatus" lay-filter="InspectStatus" 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" style="width: 60px;">库存状态</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
@@ -100,54 +144,16 @@
                            </select>
                        </div>
                    </div>
                    <!-- <div class="layui-inline " style="display: none;">
                            <label class="layui-form-label" style="width: 60px;">抽检托</label>
                            <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                                <select name="IsSamolingTray" id="IsSamolingTray" lay-filter="IsSamolingTray"
                                    lay-search>
                                    <option value=""></option>
                                    <option value="0">否</option>
                                    <option value="1">是</option>
                                </select>
                            </div>
                        </div> -->
                    <div class="layui-inline zhijian">
                        <label class="layui-form-label" style="width: 60px;">质检状态</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <select name="InspectStatus" id="InspectStatus" lay-filter="InspectStatus" 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 zhijian">
                            <label class="layui-form-label" style="width: 60px;">开始时间</label>
                            <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                                <input type="text" autocomplete="off" id="StartTime" class="layui-input"
                                    placeholder="开始时间">
                            </div>
                        </div>
                        <div class="layui-inline zhijian">
                            <label class="layui-form-label" style="width: 60px;">结束时间</label>
                            <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                                <input type="text" autocomplete="off" id="EndTime" class="layui-input"
                                    placeholder="结束时间">
                            </div>
                        </div> -->
                    <div class="layui-inline sousuo">
                        <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>
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="daochu">
                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>导出
                            <i class="layui-icon layui-icon-edit layuiadmin-button-btn"></i>导出
                        </button>
                    </div>
                </div>
            </div>
@@ -180,13 +186,14 @@
                                    <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">
                                        <button class="layui-btn layui-btn-primary layui-btn-sm"
                                            data-type="customCols2">
                                            <i class="layui-icon">&#xe610;</i>
                                        </button>
                                    </div>
                                    <!-- #endregion -->
                                    <!-- #region 自定义表头 -->
                                    <!-- #region 自定义表头 -->
                                    <script type="text/html" id="templetCompleteTime">
                                        {{# function GetBtn(d){
                                                return formatDate(d.CompleteTime);
@@ -235,6 +242,20 @@
                      {{#  } else { }}
                        <button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">异常</button>
                      {{#  } }}
                    </script>
                <script type="text/html" id="SkuType">
                        {{# if(d.Type=='0'){ }}
                            <p>原料</p>
                        {{# } else if(d.Type=='1') { }}
                            <p>包材</p>
                        {{# } else if(d.Type=='2') { }}
                            <p>成品</p>
                        {{# } else if(d.Type=='3') { }}
                            <p>耗材</p>
                        {{# } else if(d.Type=='4') { }}
                            <p>中间品</p>
                        {{# } }}
                    </script>
            </div>
        </div>
@@ -296,93 +317,43 @@
            var $ = layui.$;
            var yemianid = 0;
            refreshTable("", "","","","");
            refreshTable("", "", "", "", "");
            // 表单需要的变量
            var infoOptions;
            //#region 原始非自定义列
            //infoOptions = {
            //    elem: '#LAY-app-content-list',
            //    height: 'full-206',
            //    id: 'LAY-app-content-list',
            //    totalRow: true
            //    page: true,
            //    limit: pageCnt,
            //    limits: pageLimits,
            //    even: true,
            //    cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
            //    cols:
            //        [[
            //            {
            //                title: '序号',
            //                type: 'numbers',
            //                fixed: 'left'
            //            },
            //            {
            //                field: 'SkuNo',
            //                title: '物料编码',
            //                align: 'center',
            //                totalRowText: "合计:",
            //            }, {
            //                field: 'SkuName',
            //                title: '物料名称',
            //                align: 'center',
            //            }, {
            //                field: 'Standard',
            //                title: '物料规格',
            //                align: 'center',
            //            }, {
            //                field: 'Qty',
            //                title: '库存数量',
            //                align: 'center',
            //                totalRow: true,
            //            }, {
            //                field: 'LockQty',
            //                title: '锁定数量',
            //                align: 'center',
            //                totalRow: true,
            //            }, {
            //                field: 'FrozenQty',
            //                title: '冻结数量',
            //                align: 'center',
            //                totalRow: true,
            //            }
            //        ]]
            //};
            //#endregion
            //#region 自定义表头
            var TotalColsArr = [[
                        {field: '',title: '序号',type:'numbers',align: 'center',fixed: 'left', "disabled": true},
                        {field: 'SkuNo',title: '物料编码',align: 'center',totalRowText: "合计:", "disabled": true},
                        {field: 'SkuName',title: '物料名称',align: 'center', "disabled": true},
                        {field: 'Standard',title: '物料规格',align: 'center', "disabled": true},
                        {field: 'LotNo',title: '进厂编号',align: 'center', "disabled": true},
                        {field: 'LotText',title: '批次描述',align: 'center'},
                        {field: 'OwnerNo',title: '货主编码',align: 'center'},
                        {field: 'OwnerName',title: '货主名称',align: 'center'},
                        {field: 'Qty',title: '库存数量',align: 'center',totalRow: true},
                        {field: 'LockQty',title: '锁定数量',align: 'center',totalRow: true},
                        {field: 'FrozenQty',title: '冻结数量',align: 'center',totalRow: true}
                    ]];
            var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
                { field: '', title: '序号', type: 'numbers', align: 'center', fixed: 'left', "disabled": true },
                { field: 'SkuNo', title: '物料编码', align: 'center', totalRowText: "合计:", "disabled": true },
                { field: 'SkuName', title: '物料名称', align: 'center', "disabled": true },
                { field: 'Standard', title: '物料规格', align: 'center', "disabled": true },
                { field: 'LotNo', title: '进厂编号', align: 'center', "disabled": true },
                { field: 'LotText', title: '批次描述', align: 'center' },
                { field: 'OwnerNo', title: '货主编码', align: 'center' },
                { field: 'OwnerName', title: '货主名称', align: 'center' },
                { field: 'Qty', title: '库存数量', align: 'center', totalRow: true },
                { field: 'LockQty', title: '锁定数量', align: 'center', totalRow: true },
                { field: 'FrozenQty', title: '冻结数量', align: 'center', totalRow: true }
            ]];
            var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
            //#endregion
            //获取总量信息
            function refreshTable(SkuNo,SkuName,OwnerNo,OwnerName,LotNo) {
            function refreshTable(SkuNo, SkuName, OwnerNo, OwnerName, LotNo) {
                //#region 自定义表头
                var colsJson
                var param1={
                    Href:'Statistical/GetInventoryList'
                var param1 = {
                    Href: 'Statistical/GetInventoryList'
                };
                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);
                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
                    } else {
                        colsJson = TotalColsArr
                    }
                    infoOptions = {
                        elem: '#LAY-app-content-list',
@@ -394,18 +365,18 @@
                        limits: pageLimits,
                        even: true,
                        cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                        done: function(){
                        done: function () {
                            //自定义列宽
                            SetTableColW('LAY-app-content-list','Statistical/GetInventoryList',TotalColsSysArr);
                        },
                        cols:colsJson
                            SetTableColW('LAY-app-content-list', 'Statistical/GetInventoryList', TotalColsSysArr);
                        },
                        cols: colsJson
                    };
                    var param = {
                        SkuNo:SkuNo, //物料号
                        SkuName:SkuName, //物料名称
                        OwnerNo:OwnerNo, //货主编码
                        OwnerName:OwnerName, //货主名称
                        LotNo:LotNo, //进厂编号
                        SkuNo: SkuNo, //物料号
                        SkuName: SkuName, //物料名称
                        OwnerNo: OwnerNo, //货主编码
                        OwnerName: OwnerName, //货主名称
                        LotNo: LotNo, //进厂编号
                    };
                    sendData(IP + "/Statistical/GetInventoryList", param, 'get', function (res) {
                        console.log(res)
@@ -428,136 +399,51 @@
                    });
                });
                //#endregion
            }
            }
            // 表单需要的变量
            var infoOptions2;
            //#region 原始非自定义列
            //infoOptions2 = {
            //    elem: '#LAY-app-content-list2',
            //    height: 'full-206',
            //    id: 'LAY-app-content-list2',
            //    page: true,
            //    limit: pageCnt,
            //    limits: pageLimits,
            //    even: true,
            //    cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
            //    cols:
            //        [[
            //            {
            //                field: 'PalletNo',
            //                title: '托盘号',
            //                align: 'center',
            //                width: 110,
            //            }, {
            //                field: 'LocatNo',
            //                title: '储位地址',
            //                align: 'center',
            //                width: 100,
            //            }, {
            //                field: 'RoadwayName',
            //                title: '所属巷道',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'WareHouseName',
            //                title: '所属仓库',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'SkuNo',
            //                title: '物料编码',
            //                width: 100,
            //                align: 'center',
            //            }, {
            //                field: 'SkuName',
            //                title: '物料名称',
            //                align: 'center',
            //            }, {
            //                field: 'Standard',
            //                title: '物料规格',
            //                width: 130,
            //                align: 'center',
            //            }, {
            //                field: 'LotNo',
            //                title: '进厂编号',
            //                align: 'center',
            //            }, {
            //                field: 'Qty',
            //                title: '库存数量',
            //                width: 110,
            //                align: 'center',
            //            }, {
            //                field: 'LockQty',
            //                title: '锁定数量',
            //                width: 110,
            //                align: 'center',
            //            },
            //            {
            //                field: 'Status',
            //                templet: '#buttonTpl',
            //                title: '库存状态',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'InspectStatus',
            //                templet: '#buttonTp2',
            //                title: '质检状态',
            //                width: 90,
            //                align: 'center',
            //            },
            //            {
            //                field: 'CompleteTime',
            //                title: '入库时间',
            //                align: 'center',
            //                width: 150,
            //                templet: function (d) {
            //                    return formatDate(d.CompleteTime);
            //                },
            //            },
            //        ]]
            //};
            //#endregion
            //获取明细信息
            //#region 自定义表头
            var DetailColsArr = [[
                        {field: 'PalletNo',title: '托盘号',align: 'center',width: 110,},
                        {field: 'LocatNo',title: '储位地址',align: 'center',width: 100,},
                        {field: 'WareHouseName',title: '所属仓库',width: 90,align: 'center'},
                        {field: 'RoadwayName',title: '所属巷道',width: 90,align: 'center'},
                        {field: 'AreaName',title: '所属区域',width: 90,align: 'center'},
                        {field: 'SkuNo',title: '物料编码',width: 100,align: 'center'},
                        {field: 'SkuName',title: '物料名称',align: 'center'},
                        {field: 'Standard',title: '物料规格',width: 130,align: 'center'},
                        {field: 'LotNo',title: '进厂编号',align: 'center'},
                        {field: 'OwnerNo',title: '货主编码',align: 'center'},
                        {field: 'OwnerName',title: '货主名称',align: 'center'},
                        {field: 'SupplierNo',title: '生产商编码',align: 'center'},
                        {field: 'SupplierName',title: '生产商名称',align: 'center'},
                        {field: 'Qty',title: '库存数量',width: 110,align: 'center'},
                        {field: 'LockQty',title: '锁定数量',width: 110,align: 'center'},
                        {field: 'Status',templet: '#buttonTpl',title: '库存状态',width: 90,align: 'center'},
                        {field: 'InspectStatus',templet: '#buttonTp2',title: '质检状态',width: 90,align: 'center'},
                        {field: 'CompleteTime',title: '入库时间',align: 'center',width: 150,templet: '#templetCompleteTime'},
                    ]];
            var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
                { field: 'PalletNo', title: '托盘号', align: 'center', width: 110, },
                { field: 'LocatNo', title: '储位地址', align: 'center', width: 100, },
                { field: 'WareHouseName', title: '所属仓库', width: 90, align: 'center' },
                { field: 'RoadwayName', title: '所属巷道', width: 90, align: 'center' },
                { field: 'AreaName', title: '所属区域', width: 90, align: 'center' },
                { field: 'SkuNo', title: '物料编码', width: 100, align: 'center' },
                { field: 'SkuName', title: '物料名称', align: 'center' },
                { field: 'Standard', title: '物料规格', width: 130, align: 'center' },
                { field: 'Type', title: '物料类型', width: 130, align: 'center', templet: '#SkuType' },
                { field: 'LotNo', title: '进厂编号', align: 'center' },
                { field: 'OwnerNo', title: '货主编码', align: 'center' },
                { field: 'OwnerName', title: '货主名称', align: 'center' },
                { field: 'SupplierNo', title: '生产商编码', align: 'center' },
                { field: 'SupplierName', title: '生产商名称', align: 'center' },
                { field: 'Qty', title: '库存数量', width: 110, align: 'center' },
                { field: 'LockQty', title: '锁定数量', width: 110, align: 'center' },
                { field: 'Status', templet: '#buttonTpl', title: '库存状态', width: 90, align: 'center' },
                { field: 'InspectStatus', templet: '#buttonTp2', title: '质检状态', width: 90, align: 'center' },
                { field: 'CompleteTime', title: '入库时间', align: 'center', width: 150, templet: '#templetCompleteTime' },
            ]];
            var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
            //#endregion
            function refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus) {
            function refreshTable2(SkuNo, SkuName, OwnerNo, OwnerName, LotNo, LocatNo, PalletNo, Status, InspectStatus, HouseNo, AreaNo, Type) {
                //#region 自定义表头
                var colsJson2
                var param1={
                    Href:'Statistical/GetInventoryList1'
                var param1 = {
                    Href: 'Statistical/GetInventoryList1'
                };
                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);
                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
                    } else {
                        colsJson2 = DetailColsArr
                    }
                    infoOptions2 = {
                        elem: '#LAY-app-content-list2',
@@ -568,22 +454,25 @@
                        limits: pageLimits,
                        even: true,
                        cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                        done: function(){
                        done: function () {
                            //自定义列宽
                            SetTableColW('LAY-app-content-list2','Statistical/GetInventoryList1',DetailColsSysArr);
                        },
                        cols:colsJson2
                            SetTableColW('LAY-app-content-list2', 'Statistical/GetInventoryList1', DetailColsSysArr);
                        },
                        cols: colsJson2
                    };
                    var param = {
                        SkuNo:SkuNo, //物料号
                        SkuName:SkuName, //物料名称
                        OwnerNo:OwnerNo, //货主编码
                        OwnerName:OwnerName, //货主名称
                        LotNo:LotNo, //进厂编号
                        LocatNo:LocatNo,//储位地址
                        PalletNo:PalletNo, //托盘号
                        Status:Status,//库存状态
                        InspectStatus:InspectStatus //质检状态
                        SkuNo: SkuNo, //物料号
                        SkuName: SkuName, //物料名称
                        OwnerNo: OwnerNo, //货主编码
                        OwnerName: OwnerName, //货主名称
                        LotNo: LotNo, //进厂编号
                        LocatNo: LocatNo,//储位地址
                        PalletNo: PalletNo, //托盘号
                        Status: Status,//库存状态
                        InspectStatus: InspectStatus, //质检状态
                        HouseNo: HouseNo,
                        AreaNo: AreaNo,            // 所属区域
                        Type: Type,
                    };
                    sendData(IP + "/Statistical/GetInventoryList1", param, 'get', function (res) {
                        if (res.code == 0) //成功
@@ -608,12 +497,10 @@
                });
                //#endregion                
            }
            //var url = IP + "/Statistical/GetInventoryList1";
            //接受全局变量
            let quanSkuNo = '';
            let quanLotNo='';
            let quanLotNo = '';
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function (data) {
                var SkuNo = $("#SkuNo").val();
@@ -625,14 +512,19 @@
                var OwnerName = $("#OwnerName").val();
                var Status = $("#Status").val();
                var InspectStatus = $("#InspectStatus").val();
                var HouseNo = $("#WareHouseNo").val();                            // 所属仓库
                var AreaNo = $("#AreaNo").val();                            // 所属区域
                var Type = $("#Type").val();                                    // 物料类型
                if (yemianid == 0) {
                    console.log("总单");
                    refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
                    refreshTable(SkuNo, SkuName, OwnerNo, OwnerName, LotNo);
                } else if (yemianid == 1) {
                    quanSkuNo = '';
                    quanLotNo='';
                    quanLotNo = '';
                    console.log("明细");
                    refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus);
                    console.log(HouseNo);
                    refreshTable2(SkuNo, SkuName, OwnerNo, OwnerName, LotNo, LocatNo, PalletNo, Status, InspectStatus, HouseNo, AreaNo, Type);
                }
            });
@@ -644,8 +536,8 @@
                $('.layui-tab-content .layui-tab-item').eq(1).attr('class', 'layui-tab-item layui-show')
                console.log(obj);
                quanSkuNo = obj.data.SkuNo;
                quanLotNo=obj.data.lotNo;
                refreshTable2(obj.data.SkuNo,"","","",obj.data.LotNo);
                quanLotNo = obj.data.lotNo;
                refreshTable2(obj.data.SkuNo, "", "", "", obj.data.LotNo);
                yemianid = 1;
            });
@@ -660,14 +552,17 @@
                var OwnerName = $("#OwnerName").val();
                var Status = $("#Status").val();
                var InspectStatus = $("#InspectStatus").val();
                var HouseNo = $("#WareHouseNo").val();                            // 所属仓库
                var AreaNo = $("#AreaNo").val();                            // 所属区域
                var Type = $("#Type").val();                                    // 物料类型
                console.log(data.index);
                yemianid = data.index
                if (yemianid == 0) {
                    console.log("总单");
                    refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
                    refreshTable(SkuNo, SkuName, OwnerNo, OwnerName, LotNo);
                } else if (yemianid == 1) {
                    console.log("明细");
                    refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus);
                    refreshTable2(SkuNo, SkuName, OwnerNo, OwnerName, LotNo, LocatNo, PalletNo, Status, InspectStatus, HouseNo, AreaNo, Type);
                }
            });
@@ -740,24 +635,23 @@
            });
            //#region 自定义表头
            //自定义表头
            //#region 自定义表头
            active = {
                customCols: function(){
                customCols: function () {
                    layer.open({
                        type: 2,
                        title: '自定义列',
                        content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList&ColsSysArr='+TotalColsSysArr,
                        content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList&ColsSysArr=' + TotalColsSysArr,
                        maxmin: false,
                        resize: false,
                        area: ['970px', '650px']
                    });
                },
                customCols2: function(){
                customCols2: function () {
                    layer.open({
                        type: 2,
                        title: '自定义列',
                        content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList1&ColsSysArr='+DetailColsSysArr,
                        content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList1&ColsSysArr=' + DetailColsSysArr,
                        maxmin: false,
                        resize: false,
                        area: ['970px', '650px']
@@ -765,12 +659,76 @@
                }
            };
            $('.layui-btn').on('click', function() {
            $('.layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
            //#endregion
            // 初始绑定所属仓库
            sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function (res) {
                if (res.code == 0) { //成功
                    for (var i = 0; i < res.data.length; i++) {
                        $("#WareHouseNo").append('<option value =' + res.data[i].WareHouseNo + '>' + res.data[i].WareHouseNo + '-' +
                            res.data[i].WareHouseName + '</option>');
                    }
                    form.render('select');
                } else { //不成功
                    layer.msg(res.msg, {
                        icon: 2,
                        time: 2000
                    }, function () { });
                }
            });
            getAR("");
            form.on('select(getWareHouseNo)', function (data) {
                console.log(data);
                getAR(data.value);
            });
            function getAR(val) {
                //获取 巷道下拉框
                sendData(IP + "/Sys/GetStorageRoadwayByHouseNo?wareHouseNo=" + val, {}, 'get', function (res) {
                    $("#RoadwayNo").empty();
                    $("#RoadwayNo").append('<option value =""></option>');
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            $("#RoadwayNo").append('<option value =' + res.data[i].RoadwayNo + '>' + res.data[i].RoadwayNo + '-' +
                                res.data[i].RoadwayName + '</option>');
                        }
                        form.render('select');
                    } else { //不成功
                        layer.msg('获取巷道信息失败', {
                            icon: 2,
                            time: 2000
                        }, function () {
                            form.render('select');
                        });
                    }
                });
                //获取 区域下拉框
                sendData(IP + "/Sys/GetStorageAreaByHouseNo?wareHouseNo=" + val, {}, 'get', function (res) {
                    $("#AreaNo").empty();
                    $("#AreaNo").append('<option value =""></option>');
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            $("#AreaNo").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaNo + '-' +
                                res.data[i].AreaName + '</option>');
                        }
                        form.render('select');
                    } else {
                        layer.msg('获取区域信息失败', {
                            icon: 2,
                            time: 2000
                        }, function () {
                            form.render('select');
                        });
                    }
                });
            };
        });
    </script>
</body>
Wms/Model/ModelDto/DataDto/StockDetailDto.cs
@@ -204,5 +204,9 @@
        /// 储位深度
        /// </summary>
        public int Dept { get; set; }
        /// <summary>
        /// 物料类型
        /// </summary>
        public string Type { get; set; }
    }
}
Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs
@@ -122,6 +122,15 @@
        public int? CreateUser { get; set; }
        /// <summary>
        /// 批次属性1-生产日期
        /// </summary>
        public string Lot1 { get; set; }
        /// <summary>
        /// 批次属性2-过期日期
        /// </summary>
        public string Lot2 { get; set; }
        /// <summary>
        /// 自定义列1
        /// </summary>
        public string UDF1 { get; set; }
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -344,6 +344,19 @@
                        strMessage = "-1:原厂批号不可为空;";
                        continue;
                    }
                    if (model.Type == "2")   // 2:中间品入库
                    {
                        if (string.IsNullOrWhiteSpace(detailModel.Lot1))
                        {
                            throw new Exception("生产日期不可为空!");
                        }
                        if (string.IsNullOrWhiteSpace(detailModel.Lot2))
                        {
                            throw new Exception("过期日期不可为空!");
                        }
                    }
                    // 判断是否已存在当前明细
                    string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
                    sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
@@ -360,10 +373,11 @@
                    // 计算出总金额
                    detailModel.Money = detailModel.Price * detailModel.Qty;
                    sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
                    sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                    sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,Lot1,Lot2,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                    sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
                    sqlDetailStr += $"'{detailModel.LotNo}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
                    sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                    sqlDetailStr += $"'{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.Lot1}','{detailModel.Lot2}', ";
                    sqlDetailStr += $"'{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                    if (model.Type == "0")//成品入库单下发WCS信息
                    {
@@ -518,6 +532,19 @@
                        strMessage = "-1:批次号不可为空;";
                        continue;
                    }
                    if (model.Type == "2")   // 2:中间品入库
                    {
                        if (string.IsNullOrWhiteSpace(detailModel.Lot1))
                        {
                            throw new Exception("生产日期不可为空!");
                        }
                        if (string.IsNullOrWhiteSpace(detailModel.Lot2))
                        {
                            throw new Exception("过期日期不可为空!");
                        }
                    }
                    // 判断是否已存在当前明细
                    string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
                    sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
@@ -537,10 +564,12 @@
                        // 计算出总金额
                        detailModel.Money = detailModel.Price * detailModel.Qty;
                        sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
                        sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                        sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,Lot1,Lot2,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                        sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
                        sqlDetailStr += $"'{detailModel.LotNo}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
                        sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                        sqlDetailStr += $"'{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.Lot1}','{detailModel.Lot2}', ";
                        sqlDetailStr += $"'{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                    }
                    else
                    {
@@ -553,6 +582,8 @@
                                         && it.SupplierLot == detailModel.SupplierLot
                                         && it.IsBale == detailModel.IsBale
                                         && it.IsBelt == detailModel.IsBelt
                                         && it.Lot1 == detailModel.Lot1                                 // 生产日期
                                         && it.Lot2 == detailModel.Lot2                                 // 过期日期
                                         && it.UDF1 == detailModel.UDF1
                                         && it.UDF2 == detailModel.UDF2
                                         && it.UDF3 == detailModel.UDF3
@@ -568,6 +599,7 @@
                        sqlDetailStr += $"Qty = '{detailModel.Qty}',LotNo = '{detailModel.LotNo}',Money='{detailModel.Money}', ";
                        sqlDetailStr += $"LotText = '{detailModel.LotText}',SupplierLot = '{detailModel.SupplierLot}', ";
                        sqlDetailStr += $"IsBale = '{detailModel.IsBale}',IsBelt = '{detailModel.IsBelt}', ";
                        sqlDetailStr += $" Lot1= '{detailModel.Lot1}',Lot2 = '{detailModel.Lot2}', ";
                        sqlDetailStr += $"UDF1 = '{detailModel.UDF1}',UDF2 = '{detailModel.UDF2}',UDF3 = '{detailModel.UDF3}',UDF4 = '{detailModel.UDF4}',UDF5 = '{detailModel.UDF5}',";
                        sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                        sqlDetailStr += $"WHERE Id = {detailModel.Id};";
Wms/WMS.BLL/DataServer/StockServer.cs
@@ -7,6 +7,7 @@
using System.Text;
using Model.ModelDto;
using Model.ModelDto.DataDto;
using Model.ModelDto.SysDto;
using Model.ModelVm.DataVm;
using SqlSugar;
using WMS.DAL;
@@ -129,16 +130,22 @@
        /// <param name="palletNo">托盘条码</param>
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <param name="houseNo">所属仓库</param>
        /// <param name="areaNo">所属区域</param>
        /// <param name="type">物料类型</param>
        /// <param name="ownerNo">货主编号</param>
        /// <param name="ownerName">货主名称</param>
        /// <returns></returns>
        public List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, 
            string status, string inspectStatus, string ownerNo, string ownerName)
            string status, string inspectStatus, string ownerNo, string ownerName, string houseNo, string areaNo, string type)
        {
            string str = "select detail.*,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
            string str = "select detail.*,sku.Type,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
                "roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName,area.AreaNo + '-' + area.AreaName as AreaName  " +
                "from DataStockDetail detail " +
                "left join SysStorageRoadway roadway on detail.RoadwayNo = roadway.RoadwayNo " +
                "left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo " +
                "left join SysStorageArea area on detail.AreaNo = area.AreaNo " +
                "left join SysMaterials as sku on detail.skuNo = sku.skuNo " +
                "Where detail.IsDel = @isdel";
            //判断物料编码是否为空
            if (!string.IsNullOrEmpty(skuNo))
@@ -184,21 +191,37 @@
            if (!string.IsNullOrEmpty(ownerName))
            {
                str += " and detail.OwnerName like @ownerName";
            }
            if (!string.IsNullOrEmpty(houseNo))
            {
                str += " and house.WareHouseNo = @wareHouseNo";
            }
            if (!string.IsNullOrEmpty(areaNo))
            {
                str += " and area.AreaNo = @areaNo";
            }
            if (!string.IsNullOrEmpty(type))
            {
                str += " and sku.Type = @type";
            }
            //排序
            str += " order by detail.SkuNo,detail.PalletNo,detail.LotNo";
            List<StockDetailDto> stockDetailsList = Db.Ado.SqlQuery<StockDetailDto>(str, new
            {
                isdel = "0", //是否删除
                skuno = "%" + skuNo + "%", //物料编码
                skuname = "%" + skuName + "%", //物料名称
                lotno = "%" + lotNo + "%", //批次
                locatno = "%" + locatNo + "%", //储位地址
                palletno = "%" + palletNo + "%", //托盘条码
                status = status, //库存状态
                inspectstatus = inspectStatus, //质检状态
                ownerNo = "%" + ownerNo + "%", //货主编码
                ownerName = "%" + ownerName + "%" //货主名称
                isdel = "0",                                //是否删除
                skuno = "%" + skuNo + "%",                  //物料编码
                skuname = "%" + skuName + "%",              //物料名称
                lotno = "%" + lotNo + "%",                  //批次
                locatno = "%" + locatNo + "%",              //储位地址
                palletno = "%" + palletNo + "%",            //托盘条码
                status = status,                            //库存状态
                inspectstatus = inspectStatus,              //质检状态
                ownerNo = "%" + ownerNo + "%",              //货主编码
                ownerName = "%" + ownerName + "%",          //货主名称
                wareHouseNo = houseNo,
                areaNo = areaNo,                         //所属区域
                type = type
            });
            return stockDetailsList;
        }
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs
@@ -129,6 +129,14 @@
        public DateTime? CompleteTime { get; set; }
        public string OrderDetailCode { get; set; }
        /// <summary>
        /// 批次属性1-生产日期
        /// </summary>
        public string Lot1 { get; set; }
        /// <summary>
        /// 批次属性2-过期日期
        /// </summary>
        public string Lot2 { get; set; }
        /// <summary>
        /// 自定义列1
Wms/WMS.IBLL/IDataServer/IStockServer.cs
@@ -30,7 +30,8 @@
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName);
        List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo,
            string status, string inspectStatus, string ownerNo, string ownerName, string houseNo, string areaNo, string type);
        #endregion
        
Wms/Wms/Controllers/StatisticalController.cs
@@ -65,11 +65,16 @@
        /// <param name="palletNo">托盘条码</param>
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <param name="HouseNo">所属仓库</param>
        /// <param name="RoadwayNo">所属区域</param>
        /// <param name="Type">物料类型</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName)
        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo,
            string status, string inspectStatus, string ownerNo, string ownerName,string HouseNo,string AreaNo, string Type)
        {
            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, ownerNo, ownerName);
            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo,
                status, inspectStatus, ownerNo, ownerName, HouseNo, AreaNo, Type);
            return Ok(new
            {
                data = stockDetailsList,