AcsTaskAssign.js 7.69 KB
layui.config({
    base: "/js/"
}).use(['form', 'element', 'layer', 'jquery', 'table', 'hhweb', 'utils'], function () {
    var form = layui.form,
        layer = layui.layer,
        element = layui.element,
        $ = layui.jquery;

    $(document).ready(function () {
        bindTaskType();
    })

    var TaskType, StartStation, EndStation;

    // 加载任务类型
    function bindTaskType() {
        $.ajax({
            url: "/agv/AcsTaskAssign/GetTaskType",
            dataType: 'json',
            type: 'post',
            success: function (data) {
                var html = '';
                html += '<div style="background-color:white;">';
                for (var i = 0; i < data.data.length; i++) {
                    html += '<button type="button" class="layui-btn layui-btn-radius TaskType" data-code = "' + data.data[i].Code + '">' + data.data[i].Name + '</button>';
                }
                html += '</div>';
                html += '<div style="height:10px;"></div>';
                $("#TaskType").html(html);

                $(".TaskType").on('click', function () {
                    TaskType = $(this);

                    $("#StartStation").html('');
                    $("#EndStation").html('');
                    bindStartStation($(this).data('code'));

                    $(".layui-btn.TaskType.layui-btn-normal").toggleClass("layui-btn-normal");
                    $(this).toggleClass("layui-btn-normal");
                });
            }
        });
    };

    // 加载起始站台
    function bindStartStation(tasktype) {
        $.ajax({
            url: "/agv/AcsTaskAssign/GetStartStation",
            dataType: 'json',
            type: 'post',
            data: { tasktype: tasktype },
            success: function (data) {
                var html = '';
                var lastzone = "";
                for (var i = 0; i < data.data.length; i++) {
                    //if (lastzone == "") {
                    //    html += '<div style="background-color:white;">';
                    //    html += '<button type="button" class="layui-btn layui-btn-radius StartStation" data-zone="' + data.data[i].Zonename + '" data-code = "">暂不指定</button>';
                    //}
                    //else if (data.data[i].Zonename != lastzone) {
                    //    html += '</div>';
                    //    html += '<div style="background-color:white;">';
                    //    html += '<button type="button" class="layui-btn layui-btn-radius StartStation" data-zone="' + data.data[i].Zonename + '" data-code = "">暂不指定</button>';
                    //}
                    html += '<button type="button" class="layui-btn layui-btn-radius StartStation" data-zone="' + data.data[i].Zonename + '" data-code = "' + data.data[i].Code + '">' + data.data[i].Name + '</button>';
                    lastzone = data.data[i].Zonename;
                }
                html += '</div>';

                $("#StartStation").html(html);

                $(".StartStation").on('click', function () {
                    StartStation = $(this);

                    $("#EndStation").html('');
                    bindEndStation($(this).data('zone'));

                    $(".layui-btn.StartStation.layui-btn-normal").toggleClass("layui-btn-normal");
                    $(this).toggleClass("layui-btn-normal");
                });
            }
        });
    };

    // 加载目标站台
    function bindEndStation(startzone) {
        $.ajax({
            url: "/agv/AcsTaskAssign/GetEndStation",
            dataType: 'json',
            type: 'post',
            data: { startzone: startzone },
            success: function (data) {
                var html = '';
                var lastzone = "";
                for (var i = 0; i < data.data.length; i++) {
                    //if (lastzone == "") {
                    //    html += '<div style="background-color:white;">';
                    //    html += '<button type="button" class="layui-btn layui-btn-radius EndStation" data-zone="' + data.data[i].Zonename + '" data-code = "">暂不指定</button>';
                    //}
                    //else if (data.data[i].Zonename != lastzone) {
                    //    html += '</div>';
                    //    html += '<div style="background-color:white;">';
                    //    html += '<button type="button" class="layui-btn layui-btn-radius EndStation" data-zone="' + data.data[i].Zonename + '" data-code = "">暂不指定</button>';
                    //}
                    html += '<button type="button" class="layui-btn layui-btn-radius EndStation" data-zone="' + data.data[i].Zonename + '" data-code = "' + data.data[i].Code + '">' + data.data[i].Name + '</button>';
                    lastzone = data.data[i].Zonename;
                }
                html += '</div>';

                $("#EndStation").html(html);

                $(".EndStation").on('click', function () {
                    EndStation = $(this);

                    $(".layui-btn.EndStation.layui-btn-normal").toggleClass("layui-btn-normal");
                    $(this).toggleClass("layui-btn-normal");

                    TaskAssign();
                });
            }
        });
    };

    function TaskAssign() {
        if (TaskType == undefined || StartStation == undefined || EndStation == undefined) {
            return;
        }

        var orderNo = $("#OrderNo").val();
        var taskType = $(TaskType).data('code');
        var startSt = $(StartStation).data('code');
        var endSt = $(EndStation).data('code');

        //if (orderNo == "") {
        //    layer.alert("请填写工作令!", { icon: 5, shadeClose: true, title: "错误信息" });
        //    return;
        //}
 
        //if (taskType == "LKOut" || taskType == "MNLMOut") {
        //    if (endSt == "") {
        //        layer.alert("请选择目的地!", { icon: 5, shadeClose: true, title: "错误信息" });
        //        return;
        //    }
        //}

        //if (taskType == "GuanHanReturn" || taskType == "DianYuanReturn") {
        //    if (startSt == "") {
        //        layer.alert("请选择出发地!", { icon: 5, shadeClose: true, title: "错误信息" });
        //        return;
        //    }
        //}

        if (startSt == "") {
            layer.alert("请选择出发地!", { icon: 5, shadeClose: true, title: "错误信息" });
            return;
        }

        if (endSt == "") {
            layer.alert("请选择目的地!", { icon: 5, shadeClose: true, title: "错误信息" });
            return;
        }

        var taskmsg = '确定创建此任务?【' + $(StartStation).html() + '】到 【' + $(EndStation).html() + '】';
        layer.confirm(taskmsg, {
            title: 'AGV配送',
            icon: 3,
            btn: ['确定', '取消'],
        }, function (index, layero) {
            //确定
                $.ajax({
                    url: "/agv/AcsTaskAssign/TaskAssign",
                    dataType: 'json',
                    data: {
                        OrderNo: orderNo,
                        TaskType: taskType,
                        StartSt: startSt,
                        EndSt: endSt,
                    },
                    type: 'post',
                    success: function (data) {
                        if (data.Status) {
                            layer.msg("创建成功");
                        }
                        else {
                            layer.alert(data.Message, { icon: 5, shadeClose: true, title: "错误信息" });
                        }
                    }
                });

            layer.close(index);
        }, function (index) {
            //取消
            layer.close(index);
        });
    }
});