bklLiudl
2024-08-23 7fc23d00b91d52c4c0b84fc4a4c2211607ca634d
修改系统问题
10个文件已修改
1812 ■■■■ 已修改文件
HTML/views/WareHouseSetting/Locate.html 1194 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/WareHouseSetting/LocateAddFrom.html 536 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelVm/SysVm/LocateVm.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/StorageAreaServer.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/StorageLocatServer.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/ISysServer/IStorageLocatServer.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IDAL/ISysInterface/IStorageLocatRepository.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/SysController.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/WareHouseSetting/Locate.html
@@ -1,646 +1,648 @@
<!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">
                                <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">
                            <label class="layui-form-label" style="width: 60px;">所属巷道</label>
                            <div class="layui-input-inline">
                                <select name="RoadwayNo" id="RoadwayNo" lay-filter="getRoadwayNo" 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="Status" id="Status" 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>
                                    <option value="5">移出中</option>
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">储位标志</label>
                            <div class="layui-input-inline">
                                <select name="Flag" id="Flag" lay-search>
                                    <option value=""></option>
                                    <option value="0">正常</option>
                                    <option value="1">屏蔽</option>
                                    <option value="2">损坏</option>
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline" >
                            <label class="layui-form-label" style="width: 60px;">储位编码</label>
                            <div class="layui-input-inline">
                                <input type="text" id="LocatNo" name="LocatNo"  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="number" id="Row" onkeyup="this.value=this.value.replace(/[, ]/g,'')"  name="Row" 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="number" id="Column" onkeyup="this.value=this.value.replace(/[, ]/g,'')"  name="Column" 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="number" id="Layer" onkeyup="this.value=this.value.replace(/[, ]/g,'')"  name="Layer" placeholder="层···"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div>
<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 () {
                        <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 style="margin-right: 10px;" class="layui-btn layui-btn-normal layui-btn-sm layuiadmin-btn-list editClass"
                                data-type="editList" id="approvalBtn">
                                <i class="layui-icon layui-icon-edit layuiadmin-button-btn"> </i>批量编辑
                            </button>
                        </div>
                        <div class="layui-inline">
                            <button style="margin-right: 5px;" class="layui-btn layui-btn-sm layuiadmin-btn-list addClass" data-type="addList"  lay-event="add" >
                                <i class="layui-icon"></i>添加
                            </button>
            //获取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">
                            <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">
                        <label class="layui-form-label" style="width: 60px;">所属巷道</label>
                        <div class="layui-input-inline">
                            <select name="RoadwayNo" id="RoadwayNo" lay-filter="getRoadwayNo" 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="Status" id="Status" 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>
                                <option value="5">移出中</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 60px;">储位标志</label>
                        <div class="layui-input-inline">
                            <select name="Flag" id="Flag" lay-search>
                                <option value=""></option>
                                <option value="0">正常</option>
                                <option value="1">屏蔽</option>
                                <option value="2">损坏</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 60px;">储位编码</label>
                        <div class="layui-input-inline">
                            <input type="text" id="LocatNo" name="LocatNo" 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="number" id="Row" onkeyup="this.value=this.value.replace(/[, ]/g,'')" name="Row"
                                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="number" id="Column" onkeyup="this.value=this.value.replace(/[, ]/g,'')"
                                name="Column" 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="number" id="Layer" onkeyup="this.value=this.value.replace(/[, ]/g,'')"
                                name="Layer" placeholder="层···" autocomplete="off" class="layui-input">
                        </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 style="margin-right: 10px;"
                            class="layui-btn layui-btn-normal layui-btn-sm layuiadmin-btn-list editClass"
                            data-type="editList" id="approvalBtn">
                            <i class="layui-icon layui-icon-edit layuiadmin-button-btn"> </i>批量编辑
                        </button>
                    </div>
                    <div class="layui-inline">
                        <button style="margin-right: 5px;" class="layui-btn layui-btn-sm layuiadmin-btn-list addClass"
                            data-type="addList" lay-event="add">
                            <i class="layui-icon"></i>添加
                        </button>
                    </div>
                </div>
                <div id="center"></div>
                <div class="layui-card-body">
                    <table id="LAY-app-content-list" lay-filter="LAY-app-content-list" style="width: 100%;"></table>
                    <script type="text/html" id="table-content-list">
            </div>
            <div id="center"></div>
            <div class="layui-card-body">
                <table id="LAY-app-content-list" lay-filter="LAY-app-content-list" style="width: 100%;"></table>
                <script type="text/html" id="table-content-list">
                        <a class="editBtn layui-btn layui-btn-normal layui-btn-xs editClass" lay-event="edit">
                            <i class="layui-icon layui-icon-edit"></i>编辑</a>
                    </script>
                </div>
            </div>
        </div>
        <script src="../../layuiadmin/layui/layui.js"></script>
        <script src="../../js/public.js"></script>
        <script src="../../js/jquery-3.5.1.min.js"></script>
        <script src="../../js/jquery.cookie.js"></script>
        <script>
            var uid = $.cookie('token');
            if (uid == null) {
                alert('登录失效,请重新登录后操作');
                window.parent.location.href = '../Login.html'
            }
            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,
                    $ = layui.$;
                    var houseid = 0;
                    var h1 = GetTableHeight();
                // 表单需要的变量
                var doing = true;
                active = {
                    editList: function () {
                        var checkStatus = table.checkStatus('LAY-app-content-list'),
    </div>
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../js/public.js"></script>
    <script src="../../js/jquery-3.5.1.min.js"></script>
    <script src="../../js/jquery.cookie.js"></script>
    <script>
        var uid = $.cookie('token');
        if (uid == null) {
            alert('登录失效,请重新登录后操作');
            window.parent.location.href = '../Login.html'
        }
        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,
                $ = layui.$;
            var houseid = 0;
            var h1 = GetTableHeight();
            // 表单需要的变量
            var doing = true;
            active = {
                editList: function () {
                    var checkStatus = table.checkStatus('LAY-app-content-list'),
                        checkData = checkStatus.data; //得到选中的数据
                        if (checkData.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        else if(checkData.length > 1)
                        {
                            var li = 0;
                            var ping = 0;
                            var WareNo = "W01";
                            checkData.forEach(item => {
                                if (item.WareHouseName == "力诺立体库")
                                {
                                    li += 1;
                                    WareNo = "W01";
                                    if (ping > 0)
                                    {
                                        return;
                                    }
                    if (checkData.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    else if (checkData.length > 1) {
                        var li = 0;
                        var ping = 0;
                        var WareNo = "W01";
                        checkData.forEach(item => {
                            if (item.WareHouseName == "力诺立体库") {
                                li += 1;
                                WareNo = "W01";
                                if (ping > 0) {
                                    return;
                                }
                                if (item.WareHouseName == "力诺平库")
                                {
                                    ping += 1;
                                    WareNo = "W02";
                                    if (li > 0)
                                    {
                                        return;
                                    }
                            }
                            if (item.WareHouseName == "力诺平库") {
                                ping += 1;
                                WareNo = "W02";
                                if (li > 0) {
                                    return;
                                }
                            });
                            if (li != 0 && ping != 0)
                            {
                                return layer.msg('请勿选择多种仓库!');
                            }
                        });
                        if (li != 0 && ping != 0) {
                            return layer.msg('请勿选择多种仓库!');
                        }
                        layer.open({
                            type: 2,
                            title: '编辑储位状态集合',
                            content: 'LocateFrom.html?WareHouseNo='+WareNo,
                            maxmin: true,
                            area: ['560px', '510px'],
                            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; //获取提交的字段
                                    console.log(field);
                                    var msg = [];
                                    for (var i = 0; i < checkData.length; i++) {
                                        // msg.push(checkData[i].Id);
                                        msg.push(checkData[i].Id)
                                    }
                                    console.log(msg);
                                    //提交 Ajax 成功后,静态更新表格中的数据
                                    var param = {
                                        Id: msg,
                                        Status:field.Status,
                                        Flag:field.Flag,
                                        Temperature:field.Temp
                                    };
                                    if (doing) {
                                        doing = false;
                                        sendData(IP + "/Sys/EditStorageLocatList", param, 'post', function (res) {
                                            console.log(res);
                                            if (res.code == 0) { //成功
                                                layer.msg(res.msg, {
                                                    icon: 1,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function () {
                                                    tableIns.reload({
                                                        page: {
                                                            curr: 1
                                                        }
                                                    });
                                                    layer.close(index); //关闭弹层
                                                    doing = true;
                                                });
                                            } else if(res.code == 1){
                                                layer.msg(res.msg, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {doing = true;});
                                            } else { //不成功
                                                layer.msg(res.statusText, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {doing = true;});
                                            }
                                        });
                                    }
                    }
                                    //$.ajax({});
                                });
                                submit.trigger('click');
                            }
                        });
                    },
                    addList: function () {
                        layer.open({
                            type: 2,
                            title: '添加储位信息',
                            content: 'LocateAddFrom.html',
                            maxmin: true,
                            area: ['560px', '510px'],
                            btn: ['确定', '取消'],
                            yes: function (index1, layero) {
                                var iframeWindow = window['layui-layer-iframe' + index1],
                                    submitID = 'layuiadmin-app-form-submit',
                                    submit = layero.find('iframe').contents().find('#' + submitID);
                                //监听提交
                                iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                                    var field = data.field; //获取提交的字段
                                    console.log(field);
                                    // var msg = [];
                                    // for (var i = 0; i < checkData.length; i++) {
                                    //     // msg.push(checkData[i].Id);
                                    //     msg.push(checkData[i].Id)
                                    // }
                                    // console.log(msg);
                                    //提交 Ajax 成功后,静态更新表格中的数据
                                    var param = {
                                        // Id: msg,
                                        Index:Number(field.IndexRow),
                                        HouseNo:field.HouseNo,
                                        RoadwayNo:field.RoadwayNo,
                                        AreaNo:field.AreaNo,
                                        Row:Number(field.Row),
                                        Col:Number(field.Col),
                                        Layer:Number(field.Layer),
                                        Depth:field.Depth,
                                    };
                                    console.log(param)
                                    if (doing) {
                                        doing = false;
                                        sendData(IP + "/Sys/AddStorageLocat", param, 'post', function (res) {
                                            console.log(res);
                                            if (res.code == 200) { //成功
                                                layer.msg(res.msg, {
                                                    icon: 1,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function () {
                                                    tableIns.reload({
                                                        page: {
                                                            curr: 1
                                                        }
                                                    });
                                                    layer.close(index1); //关闭弹层
                                                    doing = true;
                                                });
                                            } else if(res.code == 1){
                                                layer.msg(res.msg, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {doing = true;});
                                            } else { //不成功
                                                layer.msg(res.statusText, {
                                                    icon: 2,
                                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                                }, function() {doing = true;});
                                            }
                                        });
                                    }
                                    //$.ajax({});
                                });
                                submit.trigger('click');
                            }
                        });
                    },
                };
                $('.layui-btn.layuiadmin-btn-list').on('click', function () {
                    var type = $(this).data('type');
                    active[type] ? active[type].call(this) : '';
                });
                var where = {
                    HouseNo: $("#WareHouseNo").val(),
                    RoadwayNo: $("#RoadwayNo").val(),
                    AreaNo: $("#AreaNo").val(),
                    Status: $("#Status").val(),
                    Flag: $("#Flag").val(),
                    Locat: $("#LocatNo").val(),
                    Row: parseInt($("#Row").val()),
                    Col: parseInt($("#Column").val()),
                    Layer: parseInt($("#Layer").val()),
                };
                console.log(where);
                var tableIns = table.render({
                    elem: '#LAY-app-content-list',
                    height: h1,
                    id: 'LAY-app-content-list',
                    url: IP + "/Sys/GetStorageLocatList",
                    method: 'post',
                    where: where,
                    contentType: 'application/json',
                    headers:{ToKen:$.cookie('token')},
                    page: true,
                    even: true,
                    limit: pageCnt, //默认多少页
                    limits: pageLimits, //默认数组[10,20,30,40,50]
                    cellMinWidth: 70,
                    done: function() {
                        $(function() {
                            $(".editClass").hide();
                            $(".addClass").hide();
                        });
                        sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) {
                            if (res.code == 0) { //成功
                                for (var k = 0; k < res.data.length; k++) {
                                    if (res.data[k].MenuName == "编辑储位") {
                                        $(function() {
                                            $(".editClass").show();
                                        });
                                    }
                                    if (res.data[k].MenuName == "添加储位") {
                                        $(function() {
                                            $(".addClass").show();
                                        });
                                    }
                    layer.open({
                        type: 2,
                        title: '编辑储位状态集合',
                        content: 'LocateFrom.html?WareHouseNo=' + WareNo,
                        maxmin: true,
                        area: ['560px', '510px'],
                        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; //获取提交的字段
                                console.log(field);
                                var msg = [];
                                for (var i = 0; i < checkData.length; i++) {
                                    // msg.push(checkData[i].Id);
                                    msg.push(checkData[i].Id)
                                }
                            } else { //不成功
                                layer.msg('获取权限信息失败', {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function() {});
                            }
                        });
                    },
                    cols: [
                    [   {
                            title: '序号',
                            type: 'checkbox',
                            width: 65,
                            fixed: 'left'
                        },{
                            title: '序号',
                            type: 'numbers',
                            width: 65,
                            fixed: 'left'
                        }, {
                            field: 'WareHouseName',
                            title: '所属仓库',
                            align: 'center',
                            width: 140,
                            fixed: 'left',
                            templet: function(d) {
                                console.log(msg);
                                return d.WareHouseNo + '-' + d.WareHouseName;
                            }
                        }, {
                            field: 'RoadwayNo',
                            title: '所属巷道',
                            align: 'center',
                            width: 130,
                            templet: function(d) {
                                return d.RoadwayNo + '-' + d.RoadwayName;
                            }
                        }, {
                            field: 'AreaName',
                            title: '所属区域',
                            align: 'center',
                            width: 130,
                            templet: function(d) {
                                return d.AreaNo + '-' + d.AreaName;
                            }
                        }, {
                            field: 'LocatNo',
                            title: '储位编码',
                            align: 'center',
                        }, {
                            field: 'StatusName',
                            title: '储位状态',
                            align: 'center',
                            width: 140,
                        }, {
                            field: 'FlagName',
                            title: '储位标识',
                            align: 'center',
                            width: 90,
                        }, {
                            field: 'Row',
                            title: '排',
                            align: 'center',
                            width: 70,
                        }, {
                            field: 'Column',
                            title: '列',
                            align: 'center',
                            width: 70,
                        }, {
                            field: 'Layer',
                            title: '层',
                            align: 'center',
                            width: 70,
                        }, {
                            field: 'Depth',
                            title: '深度',
                            align: 'center',
                            width: 70,
                        }, {
                            field: 'Height',
                            title: '高度',
                            align: 'center',
                            width: 90,
                        }, {
                            field: 'Weight',
                            title: '重量',
                            align: 'center',
                            width: 90,
                        }, {
                            field: 'TempName',
                            title: '存储坏境',
                            align: 'center',
                            width: 110,
                        }, {
                            title: '操作',
                            fixed: 'right',
                            width: 120,
                            align: 'center',
                            toolbar: '#table-content-list'
                        }
                        ]
                    ],
                })
                //监听搜索
                form.on('submit(LAY-app-contlist-search)', function(data) {
                    tableIns.reload({
                        where: { //设定异步数据接口的额外参数,任意设
                            HouseNo: $("#WareHouseNo").val(),
                            RoadwayNo: $("#RoadwayNo").val(),
                            AreaNo: $("#AreaNo").val(),
                            Status: $("#Status").val(),
                            Flag: $("#Flag").val(),
                            Locat: $("#LocatNo").val(),
                            Row: parseInt($("#Row").val()),
                            Col: parseInt($("#Column").val()),
                            Layer: parseInt($("#Layer").val()),
                        },
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                    });
                });
                table.on('tool(LAY-app-content-list)', function(obj) {
                    var data = obj.data;
                    var id = 0;
                    if (obj.event === 'edit') {
                        id = data.Id;
                        layer.open({
                            type: 2,
                            title: '储位信息管理',
                            content: 'LocateFrom.html?id=' + id,
                            maxmin: true,
                            area: ['560px', '510px'],
                            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; //获取提交的字段
                                    console.log(data)
                                    //提交 Ajax 成功后,静态更新表格中的数据
                                    var param = {
                                        Id: id,
                                        Status:field.Status,
                                        Flag:field.Flag,
                                        Temperature:field.Temp
                                    };
                                    sendData(IP + "/Sys/EditStorageLocat", param, 'post', function(res) {
                                //提交 Ajax 成功后,静态更新表格中的数据
                                var param = {
                                    Id: msg,
                                    Status: field.Status,
                                    Flag: field.Flag,
                                    Temperature: field.Temp,
                                    AreaNo: field.AreaNo
                                };
                                if (doing) {
                                    doing = false;
                                    sendData(IP + "/Sys/EditStorageLocatList", param, 'post', function (res) {
                                        console.log(res);
                                        if (res.code == 0) { //成功
                                            layer.msg("修改成功", {
                                            layer.msg(res.msg, {
                                                icon: 1,
                                                time: 1000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function() {
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function () {
                                                tableIns.reload({
                                                    page: {
                                                        curr: 1
                                                    }
                                                });
                                                layer.close(index); //关闭弹层
                                                doing = true;
                                            });
                                        } else if(res.code == 1){
                                        } else if (res.code == 1) {
                                            layer.msg(res.msg, {
                                                icon: 2,
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function() {});
                                            }, function () { doing = true; });
                                        } else { //不成功
                                            layer.msg(res.statusText, {
                                                icon: 2,
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function() {});
                                            }, function () { doing = true; });
                                        }
                                    });
                                });
                                submit.trigger('click');
                                    });
                                }
                                //$.ajax({});
                            });
                            submit.trigger('click');
                        }
                    });
                },
                addList: function () {
                    layer.open({
                        type: 2,
                        title: '添加储位信息',
                        content: 'LocateAddFrom.html',
                        maxmin: true,
                        area: ['560px', '510px'],
                        btn: ['确定', '取消'],
                        yes: function (index1, layero) {
                            var iframeWindow = window['layui-layer-iframe' + index1],
                                submitID = 'layuiadmin-app-form-submit',
                                submit = layero.find('iframe').contents().find('#' + submitID);
                            //监听提交
                            iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                                var field = data.field; //获取提交的字段
                                console.log(field);
                                // var msg = [];
                                // for (var i = 0; i < checkData.length; i++) {
                                //     // msg.push(checkData[i].Id);
                                //     msg.push(checkData[i].Id)
                                // }
                                // console.log(msg);
                                //提交 Ajax 成功后,静态更新表格中的数据
                                var param = {
                                    // Id: msg,
                                    Index: Number(field.IndexRow),
                                    HouseNo: field.HouseNo,
                                    RoadwayNo: field.RoadwayNo,
                                    AreaNo: field.AreaNo,
                                    Row: Number(field.Row),
                                    Col: Number(field.Col),
                                    Layer: Number(field.Layer),
                                    Depth: field.Depth,
                                };
                                console.log(param)
                                if (doing) {
                                    doing = false;
                                    sendData(IP + "/Sys/AddStorageLocat", param, 'post', function (res) {
                                        console.log(res);
                                        if (res.code == 200) { //成功
                                            layer.msg(res.msg, {
                                                icon: 1,
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function () {
                                                tableIns.reload({
                                                    page: {
                                                        curr: 1
                                                    }
                                                });
                                                layer.close(index1); //关闭弹层
                                                doing = true;
                                            });
                                        } else if (res.code == 1) {
                                            layer.msg(res.msg, {
                                                icon: 2,
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function () { doing = true; });
                                        } else { //不成功
                                            layer.msg(res.statusText, {
                                                icon: 2,
                                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                            }, function () { doing = true; });
                                        }
                                    });
                                }
                                //$.ajax({});
                            });
                            submit.trigger('click');
                        }
                    });
                },
            };
            $('.layui-btn.layuiadmin-btn-list').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
            var where = {
                HouseNo: $("#WareHouseNo").val(),
                RoadwayNo: $("#RoadwayNo").val(),
                AreaNo: $("#AreaNo").val(),
                Status: $("#Status").val(),
                Flag: $("#Flag").val(),
                Locat: $("#LocatNo").val(),
                Row: parseInt($("#Row").val()),
                Col: parseInt($("#Column").val()),
                Layer: parseInt($("#Layer").val()),
            };
            console.log(where);
            var tableIns = table.render({
                elem: '#LAY-app-content-list',
                height: h1,
                id: 'LAY-app-content-list',
                url: IP + "/Sys/GetStorageLocatList",
                method: 'post',
                where: where,
                contentType: 'application/json',
                headers: { ToKen: $.cookie('token') },
                page: true,
                even: true,
                limit: pageCnt, //默认多少页
                limits: pageLimits, //默认数组[10,20,30,40,50]
                cellMinWidth: 70,
                done: function () {
                    $(function () {
                        $(".editClass").hide();
                        $(".addClass").hide();
                    });
                    sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
                        if (res.code == 0) { //成功
                            for (var k = 0; k < res.data.length; k++) {
                                if (res.data[k].MenuName == "编辑储位") {
                                    $(function () {
                                        $(".editClass").show();
                                    });
                                }
                                if (res.data[k].MenuName == "添加储位") {
                                    $(function () {
                                        $(".addClass").show();
                                    });
                                }
                            }
                        });
                        } else { //不成功
                            layer.msg('获取权限信息失败', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () { });
                        }
                    });
                },
                cols: [
                    [{
                        title: '序号',
                        type: 'checkbox',
                        width: 65,
                        fixed: 'left'
                    }, {
                        title: '序号',
                        type: 'numbers',
                        width: 65,
                        fixed: 'left'
                    }, {
                        field: 'WareHouseName',
                        title: '所属仓库',
                        align: 'center',
                        width: 140,
                        fixed: 'left',
                        templet: function (d) {
                            return d.WareHouseNo + '-' + d.WareHouseName;
                        }
                    }, {
                        field: 'RoadwayNo',
                        title: '所属巷道',
                        align: 'center',
                        width: 130,
                        templet: function (d) {
                            return d.RoadwayNo + '-' + d.RoadwayName;
                        }
                    }, {
                        field: 'AreaName',
                        title: '所属区域',
                        align: 'center',
                        width: 130,
                        templet: function (d) {
                            return d.AreaNo + '-' + d.AreaName;
                        }
                    }, {
                        field: 'LocatNo',
                        title: '储位编码',
                        align: 'center',
                    }, {
                        field: 'StatusName',
                        title: '储位状态',
                        align: 'center',
                        width: 140,
                    }, {
                        field: 'FlagName',
                        title: '储位标识',
                        align: 'center',
                        width: 90,
                    }, {
                        field: 'Row',
                        title: '排',
                        align: 'center',
                        width: 70,
                    }, {
                        field: 'Column',
                        title: '列',
                        align: 'center',
                        width: 70,
                    }, {
                        field: 'Layer',
                        title: '层',
                        align: 'center',
                        width: 70,
                    }, {
                        field: 'Depth',
                        title: '深度',
                        align: 'center',
                        width: 70,
                    }, {
                        field: 'Height',
                        title: '高度',
                        align: 'center',
                        width: 90,
                    }, {
                        field: 'Weight',
                        title: '重量',
                        align: 'center',
                        width: 90,
                    }, {
                        field: 'TempName',
                        title: '存储坏境',
                        align: 'center',
                        width: 110,
                    }, {
                        title: '操作',
                        fixed: 'right',
                        width: 120,
                        align: 'center',
                        toolbar: '#table-content-list'
                    }
                });
                //获取仓库下拉框信息
                sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
                    if (res.code == 0) { //成功
                    ]
                ],
            })
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function (data) {
                tableIns.reload({
                    where: { //设定异步数据接口的额外参数,任意设
                        HouseNo: $("#WareHouseNo").val(),
                        RoadwayNo: $("#RoadwayNo").val(),
                        AreaNo: $("#AreaNo").val(),
                        Status: $("#Status").val(),
                        Flag: $("#Flag").val(),
                        Locat: $("#LocatNo").val(),
                        Row: parseInt($("#Row").val()),
                        Col: parseInt($("#Column").val()),
                        Layer: parseInt($("#Layer").val()),
                    },
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                });
            });
            table.on('tool(LAY-app-content-list)', function (obj) {
                var data = obj.data;
                var id = 0;
                if (obj.event === 'edit') {
                    id = data.Id;
                    layer.open({
                        type: 2,
                        title: '储位信息管理',
                        content: 'LocateFrom.html?id=' + id,
                        maxmin: true,
                        area: ['560px', '510px'],
                        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; //获取提交的字段
                                console.log(data)
                                //提交 Ajax 成功后,静态更新表格中的数据
                                var param = {
                                    Id: id,
                                    Status: field.Status,
                                    Flag: field.Flag,
                                    Temperature: field.Temp,
                                    AreaNo: field.AreaNo
                                };
                                sendData(IP + "/Sys/EditStorageLocat", param, 'post', function (res) {
                                    console.log(res);
                                    if (res.code == 0) { //成功
                                        layer.msg("修改成功", {
                                            icon: 1,
                                            time: 1000 //2秒关闭(如果不配置,默认是3秒)
                                        }, function () {
                                            tableIns.reload({
                                                page: {
                                                    curr: 1
                                                }
                                            });
                                            layer.close(index); //关闭弹层
                                        });
                                    } else if (res.code == 1) {
                                        layer.msg(res.msg, {
                                            icon: 2,
                                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                        }, function () { });
                                    } else { //不成功
                                        layer.msg(res.statusText, {
                                            icon: 2,
                                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                        }, function () { });
                                    }
                                });
                            });
                            submit.trigger('click');
                        }
                    });
                }
            });
            //获取仓库下拉框信息
            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 //2秒关闭(如果不配置,默认是3秒)
                    }, 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(res.msg, {
                        layer.msg('获取巷道信息失败', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function() {});
                        }, function () {
                            //回调
                            form.render('select');
                        });
                    }
                });
                getAR("");
                form.on('select(getWareHouseNo)', function(data) {
                    console.log(data);
                    getAR(data.value);
                //获取 区域下拉框
                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 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            //回调
                            form.render('select');
                        });
                    }
                });
                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 //2秒关闭(如果不配置,默认是3秒)
                            }, 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 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {
                                //回调
                                form.render('select');
                            });
                        }
                    });
                };
            });
        </script>
    </body>
</html>
            };
        });
    </script>
</body>
</html>
HTML/views/WareHouseSetting/LocateAddFrom.html
@@ -1,308 +1,254 @@
<!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-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list"
            style="padding: 20px 30px 0 0;">
            <div class="layui-form-item">
                <label class="layui-form-label">当前排</label>
                <div class="layui-input-inline">
                    <input type="number" id="IndexRow" name="IndexRow" placeholder="当前排···" autocomplete="off"
                        class="layui-input" >
                </div>
            </div>
<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>
            <div class="layui-form-item">
                <label class="layui-form-label">所属仓库</label>
                <div class="layui-input-inline">
                    <select name="HouseNo" id="HouseNo" lay-verify="" lay-search >
                        <option value=""></option>
                    </select>
                </div>
            </div>
<body>
    <div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list"
        style="padding: 20px 30px 0 0;">
            <div class="layui-form-item">
                <label class="layui-form-label">所属巷道</label>
                <div class="layui-input-inline">
                    <select name="RoadwayNo" id="RoadwayNo" lay-filter="getRoadwayNo" lay-search >
                        <option value=""></option>
                    </select>
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">所属区域</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-form-item">
                <label class="layui-form-label">排总数</label>
                <div class="layui-input-inline">
                    <input type="number" id="Row" name="Row" placeholder="排···" autocomplete="off"
                        class="layui-input" >
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">列总数</label>
                <div class="layui-input-inline">
                    <input type="number" id="Col" name="Col" placeholder="列···" autocomplete="off"
                        class="layui-input" >
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">层总数</label>
                <div class="layui-input-inline">
                    <input type="number" id="Layer" name="Layer" placeholder="层···" autocomplete="off"
                        class="layui-input" >
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">深度</label>
                <div class="layui-input-inline">
                    <input type="number" id="Depth" name="Depth" placeholder="深度···" autocomplete="off"
                        class="layui-input" >
                </div>
            </div>
            <!--  -->
            <div class="layui-form-item layui-hide">
                <input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit"
                    value="确认添加">
                <input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit"
                    value="确认编辑">
        <div class="layui-form-item">
            <label class="layui-form-label">当前排</label>
            <div class="layui-input-inline">
                <input type="number" id="IndexRow" name="IndexRow" placeholder="当前排···" autocomplete="off"
                    class="layui-input">
            </div>
        </div>
        <script src="../../layuiadmin/layui/layui.js"></script>
        <script src="../../js/public.js"></script>
        <script src="../../js/jquery-3.5.1.min.js"></script>
        <script src="../../js/jquery.cookie.js"></script>
        <script>
            var uid = $.cookie('userId');
            if(uid==null){
                alert('请登录后操作');
                window.parent.location.href='../Login.html'
            }
            layui.config({
                base: '../../layuiadmin/' //静态资源所在路径
            }).extend({
                index: 'lib/index' //主入口模块
            }).use(['index', 'form', 'layer'], function() {
                var $ = layui.$,
                    form = layui.form,
                    layer = layui.layer;
                // if(getQueryString('id') != null)
        <div class="layui-form-item">
            <label class="layui-form-label">所属仓库</label>
            <div class="layui-input-inline">
                <select name="HouseNo" id="HouseNo" lay-verify="" lay-search>
                    <option value=""></option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">所属巷道</label>
            <div class="layui-input-inline">
                <select name="RoadwayNo" id="RoadwayNo" lay-filter="getRoadwayNo" lay-search>
                    <option value=""></option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">所属区域</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-form-item">
            <label class="layui-form-label">排总数</label>
            <div class="layui-input-inline">
                <input type="number" id="Row" name="Row" placeholder="排···" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">列总数</label>
            <div class="layui-input-inline">
                <input type="number" id="Col" name="Col" placeholder="列···" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">层总数</label>
            <div class="layui-input-inline">
                <input type="number" id="Layer" name="Layer" placeholder="层···" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">深度</label>
            <div class="layui-input-inline">
                <input type="number" id="Depth" name="Depth" placeholder="深度···" autocomplete="off" class="layui-input">
            </div>
        </div>
        <!--  -->
        <div class="layui-form-item layui-hide">
            <input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit"
                value="确认添加">
            <input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit"
                value="确认编辑">
        </div>
    </div>
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../js/public.js"></script>
    <script src="../../js/jquery-3.5.1.min.js"></script>
    <script src="../../js/jquery.cookie.js"></script>
    <script>
        var uid = $.cookie('userId');
        if (uid == null) {
            alert('请登录后操作');
            window.parent.location.href = '../Login.html'
        }
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'layer'], function () {
            var $ = layui.$,
                form = layui.form,
                layer = layui.layer;
            //获取仓库下拉框信息
            sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function (res) {
                console.log(2)
                if (res.code == 0) { //成功
                    for (var i = 0; i < res.data.length; i++) {
                        $("#HouseNo").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 //2秒关闭(如果不配置,默认是3秒)
                    }, function () { });
                }
            });
            //获取 巷道下拉框
            synData(IP + "/Sys/GetStorageRoadwayByHouseNo", {}, '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 //2秒关闭(如果不配置,默认是3秒)
                    }, function () {
                        //回调
                        form.render('select');
                    });
                }
            });
            //获取 区域下拉框
            synData(IP + "/Sys/GetStorageAreaByHouseNo", {}, '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 //2秒关闭(如果不配置,默认是3秒)
                    }, function () {
                        //回调
                        form.render('select');
                    });
                }
            });
            // }
            //获取区域
            function GetArea() {
                var a = $("#HouseNo").val();
                // if (wareHouse != null)
                // {
                //     sendData(IP + "/Sys/GetStorageLocat", param, 'post', function(res) {
                //         if (res.code == 0) {
                //             // $("input[name=Id]").val(res.data.Id);
                //             GetHouse(res.data.HouseNo)
                //             GetArea(res.data.AreaNo,res.data.HouseNo)
                //             GetRoadway(res.data.RoadwayNo)
                //             GetTemp(res.data.Temperature);
                //             $("input[name=Row]").val(res.data.Row);
                //             $("input[name=Col]").val(res.data.Col);
                //             $("input[name=Layer]").val(res.data.Layer);
                //             $("input[name=Depth]").val(res.data.Depth);
                //             $("input[name=LocatNo]").val(res.data.LocatNo);
                //             $("input[name=Height]").val(res.data.Height);
                //             $("input[name=Weight]").val(res.data.Weight);
                //             $("select[name='Status']").val(res.data.Status);
                //             $("select[name='Flag']").val(res.data.Flag);
                //             form.render();
                //         } else {
                //             Layer.msg(res.msg, {
                //                 icon: 2,
                //                 time: 2000
                //             }, function() {});
                //         }
                //     });
                // }else{
                // }
                // GetHouse()
                // GetArea()
                // GetRoadway()
                // GetTemp();
                //获取仓库
                // function GetHouse(){
                    // sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
                    //     if (res.code == 0) { //成功
                    //         $("#RoadwayNo").empty();
                    //         for (var i = 0; i < res.data.length; i++) {
                    //             $("#HouseNo").append('<option value =' + res.data[i].HouseNo + '>' + res.data[i].HouseNo + '-' +
                    //                 res.data[i].WareHouseName + '</option>');
                    //         }
                    //         // $("select[name='HouseNo']").val(val);
                    //         form.render('select');
                    //     } else { //不成功
                    //         Layer.msg(res.msg, {
                    //             icon: 2,
                    //             time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    //         }, function() {});
                    //     }
                    // });
                //获取仓库下拉框信息
                sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
                    console.log(2)
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            $("#HouseNo").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 //2秒关闭(如果不配置,默认是3秒)
                        }, function() {});
                    }
                });
                    //获取 巷道下拉框
                    synData(IP + "/Sys/GetStorageRoadwayByHouseNo", {}, '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 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {
                                //回调
                                form.render('select');
                            });
                        }
                    });
                    //获取 区域下拉框
                    synData(IP + "/Sys/GetStorageAreaByHouseNo", {}, 'get', function(res) {
                //     a = wareHouse;
                // }
                sendData(IP + "/Sys/GetStorageAreaByHouseNo?HouseNo=" + a, {}, 'get', function (res) {
                    console.log(res)
                    if (res.code == 0) { //成功
                        $("#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 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {
                                //回调
                                form.render('select');
                            });
                        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>');
                        }
                    });
                // }
                //获取区域
                function GetArea(){
                    var a = $("#HouseNo").val();
                    // if (wareHouse != null)
                    // {
                    //     a = wareHouse;
                    // }
                    sendData(IP + "/Sys/GetStorageAreaByHouseNo?HouseNo="+a, {}, 'get', function(res) {
                        console.log(res)
                        if (res.code == 0) { //成功
                            $("#AreaNo").empty();
                            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>');
                            }
                            // $("select[name='AreaNo']").val(val);
                        // $("select[name='AreaNo']").val(val);
                        form.render('select');
                    } else { //不成功
                        Layer.msg('获取区域信息失败', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            //回调
                            form.render('select');
                        } else { //不成功
                            Layer.msg('获取区域信息失败', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {
                                //回调
                                form.render('select');
                            });
                        }
                    });
                }
                //获取巷道
                function GetRoadway(val){
                    sendData(IP + "/Sys/GetStorageRoadwayByHouseNo", {}, 'get', function(res) {
                        if (res.code == 0) { //成功
                            $("#RoadwayNo").empty();
                            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>');
                            }
                            $("select[name='RoadwayNo']").val(val);
                            form.render('select');
                        } else { //不成功
                            Layer.msg('获取巷道信息失败', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {
                                //回调
                                form.render('select');
                            });
                        }
                    });
                }
                //获取存储环境
                function GetTemp(temp){
                    sendData(IP + "/Sys/GetDictionaryByParentNo?parentNo="+"Temperature", {}, 'get', function(res) {
                        if (res.code == 0) { //成功
                            for (var i = 0; i < res.data.length; i++) {
                                $("#Temp").append('<option value =' + res.data[i].Id + '>' +
                                    res.data[i].DictName + '</option>');
                            }
                            $("select[name='Temp']").val(temp);
                            form.render('select');
                        } else { //不成功
                            Layer.msg(res.msg, {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function() {});
                        }
                    });
                }
                //获取浏览器参数
                function getQueryString(name) {
                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                    var r = window.location.search.substr(1).match(reg);
                    if (r != null) return unescape(r[2]);
                    return null;
                }
                        });
                    }
                });
            }
            //获取巷道
            function GetRoadway(val) {
                sendData(IP + "/Sys/GetStorageRoadwayByHouseNo", {}, 'get', function (res) {
            })
        </script>
    </body>
</html>
                    if (res.code == 0) { //成功
                        $("#RoadwayNo").empty();
                        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>');
                        }
                        $("select[name='RoadwayNo']").val(val);
                        form.render('select');
                    } else { //不成功
                        Layer.msg('获取巷道信息失败', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            //回调
                            form.render('select');
                        });
                    }
                });
            }
            //获取存储环境
            function GetTemp(temp) {
                sendData(IP + "/Sys/GetDictionaryByParentNo?parentNo=" + "Temperature", {}, 'get', function (res) {
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            $("#Temp").append('<option value =' + res.data[i].Id + '>' +
                                res.data[i].DictName + '</option>');
                        }
                        $("select[name='Temp']").val(temp);
                        form.render('select');
                    } else { //不成功
                        Layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            }
            //获取浏览器参数
            function getQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]);
                return null;
            }
        })
    </script>
</body>
</html>
Wms/Model/ModelVm/SysVm/LocateVm.cs
@@ -44,6 +44,11 @@
        /// </summary>
        [MaxLength(3)]
        public string Temperature { get; set; }
        /// <summary>
        /// 区域编号
        /// </summary>
        public string AreaNo { get; set; }
    }
    /// <summary>
    /// 修改储位model
@@ -69,7 +74,13 @@
        /// </summary>
        [MaxLength(3)]
        public string Temperature { get; set; }
        /// <summary>
        /// 区域编号
        /// </summary>
        public string AreaNo { get; set; }
    }
    /// <summary>
    /// 查询储位model
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -1720,18 +1720,18 @@
                var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
                if (sku == null)
                {
                    throw new Exception("物料信息中未查询到入库单明细包含的物料信息,不可入库");
                    throw new Exception("物料编码不存在,不可入库");
                }
                //判断物料是否含有类别信息
                if (string.IsNullOrWhiteSpace(sku.CategoryNo))
                {
                    throw new Exception($"物料:{sku.SkuNo}未查询到类别信息");
                    throw new Exception($"物料:{sku.SkuNo}未设置类别,不可入库");
                }
                var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo);
                if (skuCategory == null)
                {
                    throw new Exception($"未在类别信息中查询到物料:{sku.SkuNo}包含的类别");
                    throw new Exception($"{sku.SkuNo}物料类别不存在,不可入库");
                }
                var areaStr = skuCategory.AreaNo.Split(",");
Wms/WMS.BLL/SysServer/StorageAreaServer.cs
@@ -148,16 +148,15 @@
            try
            {
                string str = "";
                //判断所属仓库是否为立体库
                if (model.WareHouseNo != "W01")
                //判断所属仓库是否为null
                if (string.IsNullOrWhiteSpace(model.WareHouseNo))
                {
                    str = "-1:所属仓库不为立体库,请重新选择!";
                    str = "-1:所属仓库不可为空!";
                    return str;
                }
                //获取立体库最大编码
                //var area = Db.Queryable<SysStorageArea>().Max(a => a.Id)(a => a.IsDel == "0" && a.WareHouseNo == "W01");
                var area = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0" && a.WareHouseNo == "W01").OrderByDescending(a=>a.CreateTime).First();
                //验证是否存在立体库第一条区域信息
                var area = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0").OrderByDescending(a=>a.CreateTime).First();
                //验证是否存在区域信息
                if (area == null)
                {
                    model.AreaNo = "A01";
Wms/WMS.BLL/SysServer/StorageLocatServer.cs
@@ -119,12 +119,25 @@
            }
        }
        public List<SysStorageLocat> GetStorageLocat()
        {
            try
            {
                var data = LocatRst.GetAll().ToList();
                return data;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public bool EditStorageLocat(EditLocateVm model, string url, int userId)
        {
            try
            {
                var bl = LocatRst.EditStorageLocat(model.Id, model.Status, model.Flag, model.Temperature, url, userId);
                var bl = LocatRst.EditStorageLocat(model.Id,model.AreaNo, model.Status, model.Flag, model.Temperature, url, userId);
                return bl;
            }
@@ -272,7 +285,7 @@
        {
            try
            {
                var bl = LocatRst.EditStorageLocatList(model.Id, model.Status, model.Flag, model.Temperature, url, userId);
                var bl = LocatRst.EditStorageLocatList(model.Id, model.AreaNo, model.Status, model.Flag, model.Temperature, url, userId);
                return bl;
            }
Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs
@@ -27,12 +27,13 @@
        /// 编辑储位信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="areaNo">所属区域</param>
        /// <param name="status">状态</param>
        /// <param name="flag">标识</param>
        /// <param name="temperature">存储环境</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        public bool EditStorageLocat(int id, string status, string flag, string temperature,string url, int userId)
        public bool EditStorageLocat(int id, string areaNo,string status, string flag, string temperature,string url, int userId)
        {
            try
            {
@@ -54,6 +55,7 @@
                        locate2.Flag = "1";
                        locate2.UpdateUser = userId;
                        locate2.UpdateTime = DateTime.Now;
                        locate2.AreaNo = areaNo;
                        var m = Edit(locate2);
                        WcsLocat locatEntry = new WcsLocat();
@@ -79,6 +81,7 @@
                locate.Status = status;
                locate.Flag = flag;
                locate.Temperature = temperature;
                locate.AreaNo = areaNo;
                locate.UpdateUser = userId;
                locate.UpdateTime = DateTime.Now;
                var i = Edit(locate);
@@ -125,11 +128,12 @@
        /// 编辑储位信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="areaNo">所属区域</param>
        /// <param name="status">状态</param>
        /// <param name="flag">标识</param> 
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        public bool EditStorageLocatList(List<int> id, string status, string flag,string temperature,string url ,int userId)
        public bool EditStorageLocatList(List<int> id,string areaNo, string status, string flag,string temperature,string url ,int userId)
        {
            try
            {
@@ -154,6 +158,7 @@
                            locate2.Flag = "1";
                            locate2.UpdateUser = userId;
                            locate2.UpdateTime = DateTime.Now;
                            locate2.AreaNo = areaNo;
                            var m = Edit(locate2);
                            WcsLocat locatEntry = new WcsLocat();
@@ -183,6 +188,7 @@
                    }                    
                    locate.UpdateUser = userId;
                    locate.UpdateTime = DateTime.Now;
                    locate.AreaNo = areaNo;
                    i = Edit(locate);
                    WcsLocat locatEntry2 = new WcsLocat();
Wms/WMS.IBLL/ISysServer/IStorageLocatServer.cs
@@ -34,6 +34,14 @@
        /// <param name="id"></param>
        /// <returns></returns>
        SysStorageLocat GetStorageLocat(int id);
        /// <summary>
        /// 查询多条储位信息
        /// </summary>
        /// <returns></returns>
        List<SysStorageLocat> GetStorageLocat();
        /// <summary>
        /// 编辑储位信息
        /// </summary>
Wms/WMS.IDAL/ISysInterface/IStorageLocatRepository.cs
@@ -19,7 +19,7 @@
        /// <param name="temperature">存储环境</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool EditStorageLocat(int id, string status, string flag, string temperature,string url, int userId);
        bool EditStorageLocat(int id,string areaNo, string status, string flag, string temperature,string url, int userId);
        /// <summary>
        /// 编辑储位信息集合
        /// </summary>
@@ -28,7 +28,7 @@
        /// <param name="flag">标识</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool EditStorageLocatList(List<int> id, string status, string flag, string temperature, string url,int userId);
        bool EditStorageLocatList(List<int> id, string areaNo, string status, string flag, string temperature, string url,int userId);
         
Wms/Wms/Controllers/SysController.cs
@@ -1234,18 +1234,23 @@
                    var bolls = _locatSvc.EditStorageLocatList(model, _config.WcsHost + _config.EditLocateUrl, 1);//int.Parse(userId)
                    if (bolls)
                    {
                        SysStorageLocat storage = _locatSvc.GetStorageLocat(model.Id[0]);
                        string msg = "储位状态 储位号:" + storage.RoadwayNo;
                        SysStorageLocat storage;
                        //string msg = "储位状态 储位号:" + storage.RoadwayNo;
                        if (model.Id.Count > 1)
                        {
                            var list = _locatSvc.GetStorageLocat();
                            foreach (var item in model.Id)
                            {
                                storage = _locatSvc.GetStorageLocat(item);
                                _operation.InsertOperation("仓库设置", "储位管理", storage.LocatNo, "批量编辑", "批量修改储位信息 储位号:" + storage.LocatNo, Convert.ToInt32(userId));
                                storage = list.FirstOrDefault(m=>m.Id == item);
                                if (storage != null)
                                {
                                    _operation.InsertOperation("仓库设置", "储位管理", storage.LocatNo, "批量编辑", "批量修改储位信息 储位号:" + storage.LocatNo, Convert.ToInt32(userId));
                                }
                            }
                        }
                        else
                        {
                            storage = _locatSvc.GetStorageLocat(model.Id[0]);
                            _operation.InsertOperation("仓库设置", "储位管理", storage.LocatNo, "修改", "修改储位信息 储位号:" + storage.LocatNo, Convert.ToInt32(userId));
                        }