<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InjectionPlan.aspx.cs" Inherits="MESWebSite.Manage.InjectionPlan" %>


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="/CSS/Basics.css" rel="stylesheet" />
    <link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
    <link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
    <link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
    <script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
    <script src="/Scripts/MyJs.js" type="text/javascript"></script>
    <style>
        #w td {
            padding: 5px 5px;
            text-align: left;
            vertical-align: middle;
        }

        #w .title {
            vertical-align: middle;
            text-align: right;
            width: 80px;
            height: 40px;
        }

        p {
            padding: 5px;
            font-size: small;
            font-family: 微软雅黑;
        }

        .datagrid {
            text-align: center;
        }
    </style>
    <title>注塑计划</title>
</head>
<body>
    <form id="form1" runat="server">
        <div class="top">
            <table style="width: 100%">
                <tr style="display: flex ;flex-direction: row; flex-wrap: wrap;">
                    <td><span class="title">注塑计划</span>
                    </td>
                    <td style="width: 100px;"></td>
                    <td style="width: 260px;">机台:
                        <select id="fl_id_s" class="easyui-combobox" style="width: 160px; height: 30px;"
                            data-options="valueField: 'StationID',textField: 'StationNo'">
                        </select></td>
                    <td style="width: 260px;">配置:
                        <input type="text" id="StockNo_s" style="width: 140px;" /></td>

                    <td style="width: 80px;"><a class="topsearchBtn">查询</a></td>

                    <td style="width: 80px">
                        <a class="topaddBtn">新增</a>
                    </td>
                    <td style="width: 80px">
                        <a class="toppenBtn">编辑</a>
                    </td>
                    <td style="width: 80px">
                        <a class="topdelBtn">删除</a>
                    </td>
                </tr>
            </table>
        </div>
        <table id="tb" title="注塑计划" style="width: 99%;">
        </table>
        <!-- 编辑窗口 -->
        <div id="w" style="padding: 10px; visibility: hidden" title="编辑">
            <table cellpadding="0" cellspacing="0">
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            机台:
                        </p>
                    </td>
                    <td colspan="2">
                        <select id="fl_id" class="easyui-combobox" style="width: 234px; height: 36px;"
                            data-options="valueField: 'StationID',textField: 'StationNo'">
                        </select><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
                    </td>
                </tr>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            配置:
                        </p>
                    </td>
                    <td colspan="2">
                        <select id="fl_id_p2" class="easyui-combobox" style="width: 234px; height: 36px;">
                        </select>
                        <%-- <select id="fl_id_p" class="easyui-combobox" style="width: 234px; height: 36px;"
                            data-options="valueField: 'c_id',textField: 'c_name'">
                        </select><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>--%>
                    </td>
                </tr>
                <%-- <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            零件号:
                        </p>
                    </td>
                    <td colspan="2">
                        <input id="PartNo" type="text" class="text" style="width: 230px; height: 30px;" disabled />
                    </td>
                </tr>--%>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            计划开始时间:
                        </p>
                    </td>
                    <td colspan="2">
                        <input id="BeginTime" type="text" style="width: 234px; height: 36px;" />
                    </td>
                </tr>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            计划数量:
                        </p>
                    </td>
                    <td colspan="2">
                        <input id="PlanCount" type="text" class="text" style="width: 230px; height: 30px;" />
                    </td>
                </tr>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            计划停机时间:
                        </p>
                    </td>
                    <td colspan="2">
                        <input id="EndTime" type="text" class="text" style="width: 230px; height: 30px;" disabled />
                    </td>
                </tr>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            实际周期:
                        </p>
                    </td>
                    <td colspan="2">
                        <input id="RealCycle" type="text" class="text" style="width: 230px; height: 30px;" />
                    </td>
                </tr>
                <tr>
                    <td class="title" style="width: 110px;">
                        <p>
                            产品性质:
                        </p>
                    </td>
                    <td colspan="2">
                        <select id="ProductNature" class="easyui-combobox" style="width: 100px; height: 30px;">
                            <option value='正常件'>正常件</option>
                            <option value='售后件'>售后件</option>
                        </select>
                    </td>
                </tr>
            </table>
        </div>
        <!-- 编辑窗口 - footer -->
        <div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
            <a class="saveBtn" id="saveBtn">保存</a>
        </div>

        <div hidden="hidden">
            <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
        </div>
        <input id="UserID" type="text" hidden="hidden" runat="server" />
        <input id="PartNo_h" type="text" hidden="hidden" runat="server" />
        <script>

            /****************       全局变量          ***************/
            var PrimaryID;               //要编辑的id
            var dg = $('#tb');      //表格
            var isEdit = false;     //是否为编辑状态

            /****************       DOM加载          ***************/
            $(function () {
                $.ajaxSetup({
                    cache: false //关闭AJAX缓存
                });

                $('#BeginTime').datetimebox({
                    required: true,
                    showSeconds: true
                });


                $("#PlanCount").blur(function () {

                    var StationID = $('#fl_id').combobox('getValue');
                    var PartNo = $('#fl_id_p2').combobox('getValues').join(",");
                    var BeginTime = $('#BeginTime').datetimebox('getValue');
                    var PlanCount = $('#PlanCount').val();

                    var model = {
                        StationID: StationID,
                        PartNo: PartNo,
                        BeginTime: BeginTime,
                        PlanCount: PlanCount,
                        method: 'GetEndTime'
                    };

                    $.ajax({
                        type: "POST",
                        async: false,
                        url: "/HttpHandlers/InjectionPlanHandler.ashx",
                        data: model,
                        success: function (data) {
                            if (data == null || data == "") {
                                alert("未维护标准周期");
                            } else {
                                if (BeginTime == data) {
                                    alert("开始时间等于结束时间,未维护标准周期");
                                    return
                                }
                                $('#EndTime').val(data);
                            }

                        },
                        error: function () {
                        }
                    });
                });

                $('#fl_id').combobox({
                    url: '/HttpHandlers/StationHandler.ashx?method=QueryForCombobox&StationNo=IM',
                    onLoadSuccess: function () {

                    },
                    onSelect: function (row) {

                        var model = {
                            StationID: row.StationID,
                            method: 'GetStartTime'
                        };


                        $.ajax({
                            type: "POST",
                            async: false,
                            url: "/HttpHandlers/InjectionPlanHandler.ashx",
                            data: model,
                            success: function (data) {
                                $('#BeginTime').datetimebox('setValue', data);
                            },
                            error: function () {
                            }
                        });

                        $('#fl_id_p2').combobox({
                            editable: false,// 不能直接输入到列表框
                            missingMesage: '请选择',
                            valueField: 'c_id',
                            textField: 'c_text',
                            multiple: true,// 设置下拉框的值可以多选
                            url: '/HttpHandlers/PlasticHandler.ashx?method=QueryForCombobox&StationID=' + row.StationID,
                            type: "post",
                            queryParams: {
                            },
                            onShowPanel: function () {
                                var v = $(this).combobox('panel')[0].childElementCount;
                                // 判断下拉框高度(如果下拉框的数值小于10个,那么下拉框高度自动显示,如果大于10个,下拉框高度最高200)
                                if (v <= 10) {
                                    $(this).combobox('panel')
                                        .height("auto");
                                } else {
                                    $(this).combobox('panel')
                                        .height(200);
                                }
                            },
                            onLoadSuccess: function (res) {
                                //// 下拉框默认选择第一项
                                //if (res) {
                                //    var val = $(this).combobox('getData');
                                //    $(this).combobox('select', val[0]['c_id']); //这个数据根据自己情况来设定
                                //}
                            },
                            onSelect: function (record) {

                                //$('#PartNo').val($('#PartNo').val()+","+record.c_text);
                            }
                        });

                        $('#fl_id_p2').combobox('enable');//解决修改界面选择机台后配置无法选择的BUG
                    }
                });


                //开始时间选择
                $('#BeginTime').datetimebox({
                    stopFirstChangeEvent: true,

                    onChange: function () {

                        var options = $(this).datetimebox('options');
                        if (options.stopFirstChangeEvent) {
                            options.stopFirstChangeEvent = false;
                            return;
                        }

                        var BeginTime = $('#BeginTime').datetimebox('getValue');
                        var PlanCount = $('#PlanCount').val();
                        var StationID = $('#fl_id').combobox('getValue');
                        var PartNo = $('#fl_id_p2').combobox('getValues').join(",");

                        //alert(BeginTime);
                        var model = {
                            StationID: StationID,
                            PartNo: PartNo,
                            BeginTime: BeginTime,
                            PlanCount: PlanCount,
                            method: 'GetEndTime'
                        };

                        $.ajax({
                            type: "POST",
                            async: false,
                            url: "/HttpHandlers/InjectionPlanHandler.ashx",
                            data: model,
                            success: function (data) {
                                //alert(data);
                                if (data == null || data == "") {
                                    //alert("未维护标准周期");
                                } else {
                                    //if (BeginTime == data) {
                                    //    alert("开始时间等于结束时间,未维护标准周期");
                                    //    return;
                                    //}
                                    var s = new Date(Date.parse(BeginTime.replace(/-/g, "/")));

                                    var e = new Date(Date.parse(data.replace(/-/g, "/")));
                                    if (s >= e) {
                                        $.messager.alert('提示', '开始时间不能大于结束时间=,请重新输入', 'warning');
                                        return;
                                    }
                                    $('#EndTime').val(data);
                                }

                            },
                            error: function () {
                            }
                        });
                    }
                });


                //下拉框加载
                reloadfl_ids();

                //新增按钮点击
                $('.topaddBtn').first().click(function () {
                    isEdit = false;

                    $('#w').window('open');

                    $('#RealCycle').attr("disabled", false)//将input元素设置为disabled
                    $('#fl_id').combobox('enable');
                    $('#fl_id_p2').combobox('enable');
                    $('#BeginTime').datetimebox('enable');
                    $('#ProductNature').combobox('enable');
                });


                //编辑按钮点击
                $('.toppenBtn').first().click(function () {
                    isEdit = true;
                    initEidtWidget();
                });

                //删除按钮
                $('.topdelBtn').first().click(function () {
                    $.messager.confirm('提示框', '你确定要删除吗?', function (r) {
                        if (r) {
                            deleteInfos();
                        }
                    });

                });

                //搜索按钮
                $('.topsearchBtn').first().click(function () {
                    SearchInfo();
                });

                //保存按钮
                $('#saveBtn').bind('click', function () {
                    SaveInfo(isEdit);
                });

                //编辑窗口加载
                $('#w').window({
                    modal: true,
                    closed: true,
                    minimizable: false,
                    maximizable: false,
                    collapsible: false,
                    width: 460,
                    height: 620,
                    footer: '#ft',
                    top: 20,
                    onBeforeClose: function () { clearw(); },
                    onBeforeOpen: function () {
                        $('#w').css('visibility', 'visible'); $('#ft').css('visibility', 'visible');

                    }

                });

                dg = $('#tb').datagrid({
                    fitColumns: true,
                    nowrap: false,
                    striped: true,
                    collapsible: false,
                    url: "/HttpHandlers/InjectionPlanHandler.ashx?method=QueryList",
                    //sortName: 'sortNumber',
                    //sortOrder: 'asc',
                    remoteSort: false,
                    columns: [[
                        { field: 'InjectionPlanID', title: 'InjectionPlanID', hidden: true },
                        { field: 'StationNo', title: '机台', sortable: 'true', width: 10 },
                        { field: 'BeginTime', title: '开始时间', sortable: 'true', width: 10 },
                        { field: 'PartNo', title: '零件号', sortable: 'true', width: 10 },
                        { field: 'ProductName', title: '名称', sortable: 'true', width: 10 },
                        { field: 'PlanCount', title: '计划数', sortable: 'true', width: 10 },
                        { field: 'EndTime', title: '结束时间', sortable: 'true', width: 10 },
                        { field: 'RealCycle', title: '实际周期', sortable: 'true', width: 10 },
                        { field: 'ProductNature', title: '产品性质', sortable: 'true', width: 10 }
                    ]],

                    pagination: true,//表示在datagrid设置分页              
                    rownumbers: true,
                    singleSelect: true
                });

                dg.datagrid('getPager').pagination({
                    pageSize: 10,
                    pageNumber: 1,
                    pageList: [10, 20, 30, 40, 50],
                    beforePageText: '第',//页数文本框前显示的汉字   
                    afterPageText: '页    共 {pages} 页',
                    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录',
                });
            });

            /****************       主要业务程序          ***************/
            //新增 / 编辑  
            function SaveInfo(isEdit) {

                var InjectionPlanID = isEdit == true ? PrimaryID : 0;
                var StationID = $('#fl_id').combobox('getValue');
                var ProductNature = $('#ProductNature').combobox('getValue');

                var StockNo = '';
                var BeginTime = $('#BeginTime').datetimebox('getValue');
                var EndTime = $('#EndTime').val();
                var PlanCount = $('#PlanCount').val();
                var RealCycle = $('#RealCycle').val();
                var PartNo = $('#fl_id_p2').combobox('getValues').join(",");

                var PlanDate = "";

                if (StationID == "") {
                    $.messager.alert('提示', '机号不能为空,请重新输入', 'warning');
                    return;
                }
                if (PartNo == "") {
                    $.messager.alert('提示', '配置不能为空,请重新输入', 'warning');
                    return;
                }

                //var re = /^\d+(?:\.\d{1,2})?$/;//小数最多2位
                //var re = /^[+-]?\d+(?:\.\d{1,2})?$/;//分正负小数最多2位
                var re = /^[0-9]+$/;
                if (!re.test(PlanCount)) {
                    $.messager.alert('提示', '计划数量:请输入正确的数值!', 'warning');
                    return;
                }

                if (BeginTime == "") {
                    $.messager.alert('提示', '开始时间不能为空,请重新输入', 'warning');
                    return;
                }

                if (EndTime == "") {
                    $.messager.alert('提示', '结束时间不能为空,请重新输入', 'warning');
                    return;
                }
                if (BeginTime == EndTime) {
                    $.messager.alert('提示', '开始时间不能等于结束时间,未维护标准周期,请重新输入', 'warning');
                    return;
                }

                var s = new Date(Date.parse(BeginTime.replace(/-/g, "/")));

                var e = new Date(Date.parse(EndTime.replace(/-/g, "/")));
                if (s >= e) {
                    $.messager.alert('提示', '开始时间不能大于结束时间=,请重新输入', 'warning');
                    return;
                }


                var model = {
                    InjectionPlanID: InjectionPlanID,
                    StationID: StationID,
                    StockNo: StockNo,
                    BeginTime: BeginTime,
                    EndTime: EndTime,
                    PlanCount: PlanCount,
                    PlanDate: PlanDate,
                    RealCycle: RealCycle,
                    PartNo: PartNo,
                    ProductNature: ProductNature,
                    method: 'SaveInfo'
                };
                SaveModel(model);
            }
            function SaveModel(model) {
                $.ajax({
                    type: "POST",
                    async: false,
                    url: "/HttpHandlers/InjectionPlanHandler.ashx",
                    data: model,
                    success: function (data) {
                        if (data == 'true') {
                            $.messager.alert('提示', '已保存', 'info');
                            dg.datagrid('reload');
                            $('#w').window('close');
                        }
                        else {
                            $.messager.alert('提示', '保存失败,请查看是否编号重复,或计划执行时间区间是否已经与正在执行的计划重叠', 'warning');
                        }

                    },
                    error: function () {
                    }
                });
            }
            //查询方法
            function SearchInfo() {

                var StationID = $('#fl_id_s').combobox('getValue');
                var StockNo = $('#StockNo_s').val();

                var queryParams = {
                    StationID: StationID,
                    StockNo: StockNo
                };

                dg.datagrid({
                    queryParams: queryParams
                });

                dg.datagrid('reload');

            }
            //编辑时加载窗体数据
            function initEidtWidget() {
                var selRows = dg.datagrid('getSelections');
                if (selRows.length > 1) {
                    $.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
                    return;
                } else if (selRows.length == 0) {
                    $.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
                    return;
                }

                //窗体数据初始化              
                var row = selRows[0];
                PrimaryID = row.InjectionPlanID;
                $('#fl_id').combobox('select', row.StationID);
                $('#ProductNature').combobox('select', row.ProductNature);
                $('#fl_id_p2').combobox('setValues', row.PartNo.split(','))
                $('#PlanCount').val(row.PlanCount);
                $('#EndTime').val(row.EndTime);
                $('#RealCycle').val(row.RealCycle);

                $('#RealCycle').attr("disabled", true)//将input元素设置为disabled
                $('#fl_id').combobox('disable');
                $('#fl_id_p2').combobox('disable');
                $('#BeginTime').datetimebox('disable');
                $('#ProductNature').combobox('disable');

                setTimeout(function () {
                    $('#BeginTime').datetimebox('setValue', row.BeginTime);
                }, 500);

                $('#w').window('open');

            }
            //删除方法
            function deleteInfos() {
                var selRows = dg.datagrid('getSelections');
                if (selRows.length > 1) {
                    $.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
                    return;
                } else if (selRows.length == 0) {
                    $.messager.alert('提示', '请选择一条记录进行删除', 'warning');
                    return;
                }
                var row = selRows[0];

                var model = {
                    InjectionPlanID: row.InjectionPlanID,
                    method: 'DelInfo'
                };

                $.ajax({
                    url: "/HttpHandlers/InjectionPlanHandler.ashx",
                    data: model,
                    async: false,
                    success: function (data) {
                        if (data == 'true') {
                            $.messager.alert('提示', '已删除', 'info');
                            dg.datagrid('reload');
                        }
                        else {
                            $.messager.alert('提示', '由于有关联数据,删除失败', 'warning');
                        }
                    },
                    error: function () {
                    }
                });
            }

            /****************       辅助业务程序          ***************/
            /**********************************************/
            /*****************   窗体程序 *******************/
            /**********************************************/
            //编辑窗口关闭清空数据
            function clearw() {

                $('#fl_id').combobox('clear');
                $('#ProductNature').combobox('clear');
                $('#BeginTime').datetimebox('setValue', '');//设值
                $('#fl_id_p').combobox('clear');

                $('#PlanCount').val('');
                $('#EndTime').val('');
                $('#RealCycle').val('');

            }

            function reloadfl_ids() {
                $('#fl_id_s').combobox('reload', '/HttpHandlers/StationHandler.ashx?method=QueryForCombobox&StationNo=IM');
            }

        </script>
    </form>
</body>
</html>