1
duhe
2025-10-13 2009ecf034c96378fab922aeb37d873fd3c8ec37
WebTM/views/Éú²ú¹ÜÀí/±¦¹¤ÅŲú/JIT_DayPlanPlatForm.html
@@ -12,6 +12,27 @@
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <style>
        .loader {
            border: 8px solid #f3f3f3; /* Light grey */
            border-top: 8px solid #3498db; /* Blue */
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 2s linear infinite;
        }
        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
@@ -21,17 +42,22 @@
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div style="padding: 10px; ">
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="ExcelImport" id="ExcelImport">Excel导入</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLock" id="btnLock">锁定</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlock" id="btnUnlock">解锁</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnCompleteSetAnalysis" id="btnCompleteSetAnalysis">齐套分析</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnTLYS" id="btnTLYS">提料运算</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Excel_DayImport" id="Excel_DayImport">日计划滚动导入</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnICMOBill" id="btnICMOBill">生产订单选单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnAddICMO" id="btnAddICMO">添加订单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnReady" id="btnReady">准备</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnProPC" id="btnProPC">排产</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnRoutEdit" id="btnRoutEdit">工艺路线</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLockOrder" id="btnLockOrder">锁定工单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlockOrder" id="btnUnlockOrder">解锁工单</button>
                            <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLock" id="btnLock">锁定</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlock" id="btnUnlock">解锁</button>-->
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLockRequest" id="btnLock">锁定申请</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlockRequest" id="btnUnlock">解锁申请</button>
                            <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLockOrder" id="btnLockOrder">锁定工单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlockOrder" id="btnUnlockOrder">解锁工单</button>-->
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnCompleteSetAnalysis" id="btnCompleteSetAnalysis">齐套分析</button>
                            <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnTLYS" id="btnTLYS">提料运算</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btn_Calculate" id="btn_Calculate">欠料运算</button>-->
                            <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnRoutEdit" id="btnRoutEdit">工艺路线</button>-->
                        </div>
                        <div class="layui-collapse resizable-container">
                            <div class="layui-colla-item">
@@ -40,23 +66,6 @@
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">开工起始日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HPlanBeginDate" name="HPlanBeginDate" id="HPlanBeginDate" style="padding-left: 75px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">提料类型</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HTLType" id="HTLType" lay-verify="HTLType">
                                            <option value="缺料" selected="selected">缺料</option>
                                            <option value="生产用料清单">生产用料清单</option>
                                            <!--<option value="采购订单">采购订单</option> æš‚时没有-->
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">生产车间</label>
                                    <div class="layui-input-block" style="margin-left: 77px;">
@@ -67,24 +76,23 @@
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">生产订单组织</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HProdORGID" id="HProdORGID" lay-verify="HProdORGID">
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">开工截止日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="date" class="layui-input" lay-verify="HPlanEndDate" name="HPlanEndDate" id="HPlanEndDate" style="padding-left: 75px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">物料编码</label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="hidden" class="layui-input" lay-verify="HMaterID" name="HMaterID" id="HMaterID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="text" class="layui-input" lay-verify="HMaterNumber" name="HMaterNumber" id="HMaterNumber" value="" style="width: 60%;display: inline-block;">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMaterID" id="btnHMaterID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            <label class="layui-form-label">排产天数</label>
                                            <div class="layui-input-block">
                                                <select name="HArrangeProductDayQty" id="HArrangeProductDayQty" class="ForFilteringSchemes" lay-filter="HArrangeProductDayQty" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -93,18 +101,20 @@
                                                <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">生产订单号</label>
                                            <label class="layui-form-label" style="width: 85px;">锁定天数</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo">
                                                <input type="text" class="layui-input" name="HLockedDay" id="HLockedDay" value="3">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">物料名称</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName">
                                            <label class="layui-form-label" style="width: 85px;">提料类型</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                                <select name="HTLType" id="HTLType" lay-verify="HTLType">
                                                    <option value="缺料" selected="selected">缺料</option>
                                                    <option value="生产用料清单">生产用料清单</option>
                                                    <!--<option value="采购订单">采购订单</option> æš‚时没有-->
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -117,17 +127,23 @@
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:10px;margin-bottom:10px;">
                                    <!--<div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">锁定天数</label>
                                            <label class="layui-form-label" style="width: 85px;">开工起始日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HLockedDay" id="HLockedDay" value="3">
                                                <input type="date" class="layui-input" lay-verify="HPlanBeginDate" name="HPlanBeginDate" id="HPlanBeginDate" style="padding-left: 75px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">规格型号</label>
                                            <label class="layui-form-label" style="width: 85px;">开工截止日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaterModel" id="HMaterModel">
                                                <input type="date" class="layui-input" lay-verify="HPlanEndDate" name="HPlanEndDate" id="HPlanEndDate" style="padding-left: 75px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">排产日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="date" class="layui-input" lay-verify="HMastersDate" name="HMastersDate" id="HMastersDate" style="padding-left: 75px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -136,20 +152,34 @@
                                                <input type="text" class="layui-input" name="HSeOrderBillNo" id="HSeOrderBillNo">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">生产订单号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">生产订单组织</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                                <select name="HProdORGID" id="HProdORGID" lay-verify="HProdORGID">
                                                    <!--动态渲染组织-->
                                                </select>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">物料编码</label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="hidden" class="layui-input" lay-verify="hmaterid" name="hmaterid" id="hmaterid" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="text" class="layui-input" lay-verify="hmaternumber" name="hmaternumber" id="hmaternumber" value="" style="width: 60%;display: inline-block;">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnhmaterid" id="btnhmaterid" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">排产日期</label>
                                            <label class="layui-form-label" style="width: 85px;">物料名称</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="date" class="layui-input" lay-verify="HMastersDate" name="HMastersDate" id="HMastersDate" style="padding-left: 75px;">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">规格型号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaterModel" id="HMaterModel">
                                            </div>
                                        </div>
                                    </div>
@@ -207,7 +237,6 @@
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
                                        </div>
                                    </div>
                                    <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
@@ -234,7 +263,7 @@
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
                                        </div>
                                    </div>
                                    </div>-->
                                </div>
                            </div>
                        </div>
@@ -246,7 +275,7 @@
                            <ul class="layui-tab-title">
                                <li class="layui-this">生产订单</li>
                                <li>缺料分析</li>
                            </ul>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <div class="layui-inline">
@@ -261,12 +290,12 @@
                                            <input type="date" class="layui-input" id="HEndDate" style="width:120px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                    <!--<div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">车间</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HDeptName_ICMO" id="HDeptName_ICMO">
                                        </div>
                                    </div>
                                    </div>-->
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">物料名称</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
@@ -282,7 +311,7 @@
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch_ICMO" id="btnSearch_ICMO">查询</button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch_ICMO" id="btnReSearch_ICMO">重置</button>
                                    <!--待排订单-->
                                    <table class="layui-hide" id="mainTable_ICMO" lay-filter="mainTable_ICMO"></table>
                                    <table class="layui-hide" id="mainTable_ICMO" lay-filter="mainTable_ICMO"></table>
                                </div>
                                <div class="layui-tab-item">
                                    <table class="layui-hide" id="mainTable_Material" lay-filter="mainTable_Material"></table>
@@ -292,7 +321,7 @@
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="set_BatchFill"><i class="layui-icon layui-icon-file-b"></i>批量填充</button>
    <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_MoverUp"><i class="layui-icon layui-icon-delete"></i>上移</button>
@@ -361,14 +390,22 @@
        //不需要显示的字段 å¯æ‰©å±•
        var titleData = [];
        var titleData_ICMO = ["hmainid", "HEntryID", "HEmpID", "HPRDORGID", "hsubid", "HMaterID", "HUnitID", "HDeptID", "HEntryCusID", "HCenterID", "HSourceID"];
        var params = get_UrlVars();
        var HType = "";
        var HWorkShopID = 0;
        if (params[params[0]] != undefined) {
            HType = params[params[0]]; //从参数中获取
            HWorkShopID = params[params[1]]; //从参数中获取
            set_HWorkShop();
        }
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化排产时间
        setSelect_HArrangeProductDayQty();
        //初始化界面
        $(document).ready(function () {
            set_InitGrid();
        });
        set_ClearBill();
        //#endregion
@@ -517,7 +554,8 @@
                            data[0][Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd')] = "";
                            //跨年的话 ä¼šä»Žä¸€æœˆä¸€å·å¼€å§‹
                            if (MM == 12 && (HBEGINDATE + j) == 31) {
                            var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
                            if (MM == 12 && (HBEGINDATE + j) == HArrangeProductDayQty) {
                                yyyy += 1;
                                MM = 1;
                                SumMonth = new Date(yyyy, MM, 0).getDate();
@@ -543,7 +581,7 @@
                    break;
                //列设置
                case 'set_HideColumn':
                    get_HideColumn();
                    get_HideColumnNoPageForPlan(HModName,option, get_FastQuery);
                    break;
                //删除行
                case 'set_DeleteBill':
@@ -572,7 +610,7 @@
                //选操作工
                case 'set_Emp':
                    set_Emp(data);
                    break;
                    break;
                //查看工艺路线
                case 'set_Routing':
                    set_Routing();
@@ -627,6 +665,11 @@
            btnExcelImport();
        });
        //日计划滚动导入
        form.on('submit(Excel_DayImport)', function () {
            btnExcel_DayImport();
        });
        //保存
        form.on('submit(btnSave)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
@@ -644,7 +687,7 @@
                    }
                }
                if (HYxjQty > 0) {
                    layer.confirm('当前排产页面存在优先级为0的生产订单,是否继续进行排产?', {
                    layer.confirm('当前排产页面存在优先级为0的生产订单,是否继续进行保存?', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['确认', '取消']
@@ -693,44 +736,89 @@
        //齐套分析
        form.on('submit(btnCompleteSetAnalysis)', function (data) {
            get_btnCompleteSetAnalysis();
            if (set_ModCheck("Sc_WorkBillSortBill_qtfx") == true) {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnCompleteSetAnalysis();
                        layer.close(index);
                    }
                })
            }
        })
        //提料运算
        form.on('submit(btnTLYS)', function (data) {
            get_btnTLYS();
            if (set_ModCheck("Sc_WorkBillSortBill_tlys") == true) {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnTLYS();
                        layer.close(index);
                    }
                })
            }
        })
        //欠料运算
        form.on('submit(btn_Calculate)', function (data) {
            if (set_ModCheck("Sc_WorkBillSortBill_qlys") == true) {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        set_Calculate();
                        layer.close(index);
                    }
                })
            }
        });
        //生产订单选单
        form.on('submit(btnICMOBill)', function (data) {
            get_btnICMOBill();
        })
        //添加生产订单
        form.on('submit(btnAddICMO)', function (data) {
            get_btnAddICMO();
        })
        //准备
        form.on('submit(btnReady)', function (data) {
            get_btnReady();
            layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                btn: ['确定', '取消'] //按钮
                , btn1: function (index, layero) {
                    get_btnReady();
                    layer.close(index);
                }
            })
        })
        //排产
        form.on('submit(btnProPC)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
            } else {
                var index = layer.open({
                    type: 1, // page å±‚类型
                    area: ['20%', '20%'],
                    shade: 0.6, // é®ç½©é€æ˜Žåº¦
                    shadeClose: false, // ç‚¹å‡»é®ç½©åŒºåŸŸï¼Œä¸å…³é—­å¼¹å±‚
                    maxmin: false, // ä¸å…è®¸å…¨å±æœ€å°åŒ–
                    anim: 0, // 0-6 çš„动画形式,-1 ä¸å¼€å¯
                    content: '<div style="padding: 12px;">正在运算,请耐心等待!!!</div>'
                });
                setTimeout(function () {
                    get_btnProPC(HWorkShopID);
                    layer.close(index);
                }, 1000)
            }
            layer.confirm('你确定要执行排产吗?', {
                btn: ['确定', '取消'] //按钮
                , btn1: function (index1, layero) {
                    var HWorkShopID = $("#HWorkShopID").val();//生产车间
                    if (HWorkShopID == 0) {
                        return layer.msg("生产车间不能为空!");
                    } else {
                        var index = layer.open({
                            type: 1, // page å±‚类型
                            area: ['20%', '20%'],
                            shade: 0.6, // é®ç½©é€æ˜Žåº¦
                            shadeClose: false, // ç‚¹å‡»é®ç½©åŒºåŸŸï¼Œä¸å…³é—­å¼¹å±‚
                            maxmin: false, // ä¸å…è®¸å…¨å±æœ€å°åŒ–
                            anim: 0, // 0-6 çš„动画形式,-1 ä¸å¼€å¯
                            content: '<div style="padding: 12px;">正在运算,请耐心等待!!!<div class="loader" style="height:10px;width:10px;"></div></div>'
                        });
                        setTimeout(function () {
                            get_btnProPC(HWorkShopID);
                            layer.close(index);
                            layer.close(index1);
                        }, 1000)
                    }
                }
            })
        })
        //工艺路线编辑
@@ -767,38 +855,207 @@
        //锁定
        form.on('submit(btnLock)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
            } else {
                get_btnLock(HWorkShopID);
            if (set_ModCheck("Sc_WorkBillSortBill_Lock") == true) {
                var HWorkShopID = $("#HWorkShopID").val();//生产车间
                if (HWorkShopID == 0) {
                    return layer.msg("生产车间不能为空!");
                } else {
                    layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                        btn: ['确定', '取消'] //按钮
                        , btn1: function (index, layero) {
                            get_btnLock(HWorkShopID);
                            layer.close(index);
                        }
                    })
                }
            }
        })
        //解锁
        form.on('submit(btnUnlock)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (set_ModCheck("Sc_WorkBillSortBill_Lock") == true) {
                var HWorkShopID = $("#HWorkShopID").val();//生产车间
                if (HWorkShopID == 0) {
                    return layer.msg("生产车间不能为空!");
                } else {
                    layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                        btn: ['确定', '取消'] //按钮
                        , btn1: function (index, layero) {
                            get_btnUnlock(HWorkShopID);
                            layer.close(index);
                        }
                    })
                }
            }
        })
        //锁定申请
        form.on('submit(btnLockRequest)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();                      //生产车间内码
            var HWorkShopIDName = encodeURIComponent($("#HWorkShopIDName").val());              //生产车间
            var HLockedDay = $("#HLockedDay").val();                         //锁定天数
            var HEmpName = encodeURIComponent(sessionStorage["HUserName"]);                     //申请人
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
            } else {
                get_btnUnlock(HWorkShopID);
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnLockRequest(HWorkShopID, HWorkShopIDName, HLockedDay, HEmpName);
                        layer.close(index);
                    }
                })
            }
        })
        //解锁申请
        form.on('submit(btnUnlockRequest)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();                      //生产车间内码
            var HWorkShopIDName = encodeURIComponent($("#HWorkShopIDName").val());              //生产车间
            var HLockedDay = $("#HLockedDay").val();                         //锁定天数
            var HEmpName = encodeURIComponent(sessionStorage["HUserName"]);                     //申请人
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
            } else {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnUnlockRequest(HWorkShopID, HWorkShopIDName, HLockedDay, HEmpName);
                        layer.close(index);
                    }
                })
            }
        })
        //锁定工单
        form.on('submit(btnLockOrder)', function (data) {
            get_btnLockOrder();
            if (set_ModCheck("Sc_WorkBillSortBill_Lock") == true) {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnLockOrder();
                    }
                })
            }
        })
        //解锁工单
        form.on('submit(btnUnlockOrder)', function (data) {
            get_btnUnlockOrder();
            if (set_ModCheck("Sc_WorkBillSortBill_Lock") == true) {
                layer.confirm('你确定要执行操作吗,请先确保排产数据已保存?', {
                    btn: ['确定', '取消'] //按钮
                    , btn1: function (index, layero) {
                        get_btnUnlockOrder();
                        layer.close(index);
                    }
                })
            }
        })
        //#region ä¸‹æ‹‰åˆ—表监听-排产时间
        form.on('select(HArrangeProductDayQty)', function (data) {
            var ajaxLoad = layer.load();
            get_WriteConfigFile();
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (HWorkShopID == 0) {
                layer.close(ajaxLoad);
                return layer.msg("生产车间不能为空!");
            } else if (table.cache["mainTable"].length == 0) {
                layer.close(ajaxLoad);
                return layer.msg("无数据,无法保存!");
            } else {
                var HYxjQty = 0;
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        if (parseFloat(table.cache["mainTable"][i]["优先级"]) == 0) {
                            HYxjQty++
                        }
                    }
                }
                if (HYxjQty > 0) {
                    layer.confirm('当前排产页面存在优先级为0的生产订单,是否继续进行保存?', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['确认', '取消']
                    }, function (index, layero) {
                        //确认
                        set_AddNew();
                    }, function (index) {
                        //取消
                        layer.close(ajaxLoad);
                        return
                    });
                } else {
                    set_AddNew();
                }
            }
            //初始化表格
            set_InitGrid();
            get_FastQuery(1);
            //隐藏勾选字段
            get_Display2(sWhere_ICMO);
            layer.close(ajaxLoad);
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
        //权限判定
        function set_ModCheck(ModRightNameCheck) {
            var Permission = false;
            $.ajax({
                type: "GET",
                url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                async: false,
                data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                success: function (result) {
                    if (result.count == 1) {
                        Permission = true;
                    } else {
                        layer.alert("当前模块没有查询权限!", { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
            return Permission;
        }
        function set_HWorkShop() {
            var ajaxLoad = layer.load();
            //进入页面显示的缓存列表
            $.ajax({
                url: GetWEBURL() + '/Gy_Department/list',
                type: "GET",
                async: false,
                data: { "sWhere": "and HItemID = " + HWorkShopID, "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"] },
                success: function (data1) {
                    if (data1.count == 1) {
                        $("#HWorkShopID").val(HWorkShopID);
                        $("#HWorkShopIDName").val(data1.data[0].部门名称);
                        $("#btnHWorkShopID").addClass('layui-btn-disabled');
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
@@ -815,10 +1072,309 @@
            //初始化表格
            set_InitGrid();
            get_FastQuery(1);
            //隐藏勾选字段
            DisPlay_HideColumn();
            get_Display2(sWhere_ICMO);
            get_FastQuery_ICMO();
        }
        //#region åˆå§‹åŒ–下拉列表 æŽ’产时间
        function setSelect_HArrangeProductDayQty() {
            var date = new Date();
            var year = date.getFullYear();
            var month = date.getMonth() + 1;                                // æœˆä»½ä»Ž0开始计算,需要加1
            var lastDay = new Date(year, month, 0).getDate();               //当月最后一天
            var thisDay = new Date().getDay();                              //当天是本月第几天
            var valueList = [7, lastDay - thisDay+1,31,40,50];
            var titleList = ["7天", "本月","31天","40天","50天"];
            var HArrangeProductDayQty_ArrayList = '';
            for (var i = 0; i < valueList.length; i++) {
                HArrangeProductDayQty_ArrayList += '<option  style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
            }
            $("#HArrangeProductDayQty").empty();
            $("#HArrangeProductDayQty").append(HArrangeProductDayQty_ArrayList);
            form.render('select');
            $("#HArrangeProductDayQty").val("40");
        }
        //#endregion
        //#region è‡ªå®šä¹‰é€‰æ‹©æŽ’产天数-初始化获取列数据
        function setInit_columnsData() {
            var columns = [];
            var myDate = new Date();
            var oneday = 1000 * 60 * 60 * 24;
            columns.push({
                field: Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 0 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 0 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 1 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 1 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 2 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 2 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 3 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 3 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 4 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 4 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 5 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 5 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 6 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 6 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 7 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 7 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 8 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 8 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 9 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 9 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 10 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 10 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 11 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 11 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 12 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 12 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 13 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 13 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 14 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 14 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 15 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 15 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 16 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 16 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 17 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 17 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 18 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 18 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 19 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 19 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 20 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 20 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 21 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 21 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 22 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 22 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 23 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 23 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 24 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 24 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 25 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 25 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 26 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 26 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 27 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 27 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 28 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 28 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 29 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 29 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 30 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 30 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 31 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 31 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 31 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 31 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 31 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 32 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 32 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 32 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 32 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 32 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 33 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 33 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 33 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 33 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 33 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 34 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 34 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 34 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 34 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 34 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 35 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 35 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 35 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 35 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 35 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 36 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 36 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 36 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 36 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 36 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 37 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 37 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 37 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 37 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 37 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 38 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 38 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 38 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 38 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 38 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 39 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 39 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 39 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 39 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 39 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 40 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 40 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 40 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 40 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 40 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 41 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 41 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 41 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 41 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 41 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 42 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 42 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 42 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 42 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 42 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 43 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 43 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 43 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 43 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 43 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 44 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 44 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 44 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 44 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 44 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 45 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 45 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 45 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 45 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 45 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 46 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 46 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 46 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 46 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 46 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 47 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 47 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 47 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 47 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 47 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 48 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 48 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 48 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 48 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 48 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 49 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 49 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 49 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 49 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 49 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 50 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 50 * oneday, 'MM-dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 50 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 50 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 50 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            return columns;
        }
        //#endregion
        //#endregion
        //获取组织
@@ -849,205 +1405,55 @@
            var myDate = new Date();
            var oneday = 1000 * 60 * 60 * 24;
            columns.push({ type: 'checkbox', fixed: 'left', sort: true });
            columns.push({ type: 'numbers', field: '序号', title: '序号', sort: true });
            columns.push({ field: '单据号', title: '单据号', hide: true, sort: true });
            columns.push({ field: '销售订单号', title: '销售订单号', width: 150, sort: true });
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;', sort: true });
            columns.push({ field: '生产组织', title: '生产组织', width: 150, sort: true });
            columns.push({ field: '物料代码', title: '物料编码', width: 150, sort: true });
            columns.push({ field: '物料名称', title: '物料名称', width: 150, sort: true });
            columns.push({ field: '规格型号', title: '规格型号', width: 150, sort: true });
            columns.push({ field: '小时产能', title: '小时产能', width: 150, sort: true, edit: 'text' });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true });//0
            columns.push({ field: '计划数量', title: '生产订单数量', width: 150, sort: true });//0
            columns.push({ field: '日计划数量总量', title: '日计划数量总量', width: 150, sort: true });//0
            columns.push({ field: '今日之前日计划数量', title: '今日之前日计划数量', width: 150, sort: true });//0
            columns.push({ field: '计划开始日期', title: '预计开工日期', width: 150, templet: "<div>{{d.计划开始日期 ==null ?'':layui.util.toDateString(d.计划开始日期, 'yyyy-MM-dd')}}</div>", sort: true });
            columns.push({ field: '计划结束日期', title: '计划结束日期', width: 150, templet: "<div>{{d.计划结束日期 ==null ?'':layui.util.toDateString(d.计划结束日期, 'yyyy-MM-dd')}}</div>", event: "HPlanEndDate", sort: true });
            columns.push({ type: 'checkbox', fixed: 'left'});
            columns.push({ type: 'numbers', field: '序号', title: '序号'});
            columns.push({ field: '单据号', title: '单据号', hide: true});
            columns.push({ field: '销售订单号', title: '销售订单号', width: 150});
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;'});
            columns.push({ field: '生产组织', title: '生产组织', width: 150 });
            columns.push({ field: '物料代码', title: '物料编码', width: 150});
            columns.push({ field: '物料名称', title: '物料名称', width: 150});
            columns.push({ field: '规格型号', title: '规格型号', width: 150 });
            columns.push({ field: '小时产能', title: '小时产能', width: 150, edit: 'text' });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150 });//0
            columns.push({ field: '计划数量', title: '生产订单数量', width: 150 });//0
            columns.push({ field: '日计划数量总量', title: '日计划数量总量', width: 150 });//0
            columns.push({ field: '今日之前日计划数量', title: '今日之前日计划数量', width: 150 });//0
            columns.push({ field: '计划开始日期', title: '预计开工日期', width: 150, templet: "<div>{{d.计划开始日期 ==null ?'':layui.util.toDateString(d.计划开始日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '计划结束日期', title: '计划结束日期', width: 150, templet: "<div>{{d.计划结束日期 ==null ?'':layui.util.toDateString(d.计划结束日期, 'yyyy-MM-dd')}}</div>", event: "HPlanEndDate" });
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150 });
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text' });
            columns.push({ field: '昨日数量', title: '昨日数量' });
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text', sort: true });
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text' });
            columns.push({ field: '生产资源', title: '生产资源', width: 150, edit: 'text', event: "HSourceID" });
            columns.push({ field: '操作工', title: '操作工', width: 150, edit: 'text', event: "HEmpID" });
            columns.push({
                field: Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 0 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 0 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 0 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 1 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 1 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 1 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 2 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 2 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 2 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 3 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 3 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 3 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 4 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 4 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 4 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 5 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 5 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 5 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 6 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 6 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 6 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 7 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 7 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 7 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 8 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 8 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 8 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 9 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 9 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 9 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 10 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 10 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 10 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 11 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 11 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 11 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 12 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 12 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 12 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 13 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 13 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 13 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 14 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 14 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 14 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 15 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 15 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 15 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 16 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 16 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 16 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 17 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 17 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 17 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 18 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 18 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 18 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 19 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 19 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 19 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 20 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 20 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 20 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 21 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 21 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 21 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 22 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 22 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 22 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 23 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 23 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 23 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 24 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 24 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 24 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 25 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 25 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 25 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 26 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 26 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 26 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 27 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 27 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 27 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 28 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 28 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 28 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 29 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 29 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 29 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({
                field: Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd'), title: Format(myDate.getTime() + 30 * oneday, 'MM.dd'), edit: 'text', width: 70, templet: function (d) {
                    return DayColor(d[Format(myDate.getTime() + 30 * oneday, 'yyyy/MM/dd')], d[Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd')], d, Format(myDate.getTime() + 30 * oneday, 'yyyy-MM-dd'));
                }
            })//0
            columns.push({ field: '生产订单明细行号', title: '生产订单明细行号', width: 150, sort: true });
            var dateColumns = setInit_columnsData();
            var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
            for (var i = 0; i < HArrangeProductDayQty; i++) {
                columns.push(dateColumns[i]);//0
            }
            columns.push({ field: '生产订单明细行号', title: '生产订单明细行号', width: 150 });
            columns.push({ field: 'T31', title: 'T31', width: 70 });//0
            columns.push({ field: '订单类型', title: '订单类型', width: 150, sort: true });
            columns.push({ field: '生产订单单据类型', title: '源单订单单据类型', width: 150, sort: true });
            columns.push({ field: '业务状态', title: '业务状态', width: 150, sort: true });
            columns.push({ field: '产线入库数量', title: '产线入库数量', width: 150, sort: true });
            columns.push({ field: '未排数量', title: '可排数量', width: 150, sort: true });
            columns.push({ field: '订单等级', title: '订单等级', width: 150, sort: true });
            columns.push({ field: '订单交货期', title: '订单交货期', width: 150, templet: "<div>{{d.订单交货期 =='1900-01-01' ?'':layui.util.toDateString(d.订单交货期, 'yyyy-MM-dd')}}</div>", sort: true });
            columns.push({ field: '订单需求数量', title: '订单需求数量', width: 150, sort: true });
            columns.push({ field: '开工余量', title: '开工余量', width: 150, sort: true });
            columns.push({ field: '生产周期', title: '生产周期', width: 150, sort: true });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, templet: "<div>{{d.最迟开工日期 =='' ?'':layui.util.toDateString(d.最迟开工日期, 'yyyy-MM-dd')}}</div>", sort: true });
            columns.push({ field: '最迟完工日期', title: '最迟完工日期', width: 150, templet: "<div>{{d.最迟完工日期 =='' ?'':layui.util.toDateString(d.最迟完工日期, 'yyyy-MM-dd')}}</div>", sort: true });
            columns.push({ field: '订单类型', title: '订单类型', width: 150 });
            columns.push({ field: '生产订单单据类型', title: '源单订单单据类型', width: 150 });
            columns.push({ field: '业务状态', title: '业务状态', width: 150 });
            columns.push({ field: '产线入库数量', title: '产线入库数量', width: 150 });
            columns.push({ field: '未排数量', title: '可排数量', width: 150 });
            columns.push({ field: '订单等级', title: '订单等级', width: 150 });
            columns.push({ field: '订单交货期', title: '订单交货期', width: 150, templet: "<div>{{d.订单交货期 =='1900-01-01' ?'':layui.util.toDateString(d.订单交货期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '订单需求数量', title: '订单需求数量', width: 150 });
            columns.push({ field: '开工余量', title: '开工余量', width: 150 });
            columns.push({ field: '生产周期', title: '生产周期', width: 150 });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, templet: "<div>{{d.最迟开工日期 =='' ?'':layui.util.toDateString(d.最迟开工日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '最迟完工日期', title: '最迟完工日期', width: 150, templet: "<div>{{d.最迟完工日期 =='' ?'':layui.util.toDateString(d.最迟完工日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '生产车间', title: '生产车间', width: 150 });
            columns.push({ field: '源单主内码', title: '源单主内码', width: 150, sort: true });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150, sort: true });
            columns.push({ field: 'hmainid', title: '日计划工单主码', width: 150, sort: true });
            columns.push({ field: '电压/功率/底板', title: '电压/功率/底板', width: 150, sort: true });
            columns.push({ field: '计量单位', title: '计量单位', width: 150, sort: true });
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150 });//0
            columns.push({ field: '源单主内码', title: '源单主内码', width: 150 });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150 });
            columns.push({ field: 'hmainid', title: '日计划工单主码', width: 150 });
            columns.push({ field: '电压/功率/底板', title: '电压/功率/底板', width: 150 });
            columns.push({ field: '计量单位', title: '计量单位', width: 150 });
            columns.push({ field: '未入库数量', title: '未入库数量', width: 150 });//0
            columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', width: 150, hide: true });
            columns.push({ field: 'HGroupID', title: 'HGroupID', width: 150, hide: true });
@@ -1059,9 +1465,9 @@
            columns.push({ field: 'HUnitID', title: 'HUnitID', hide: true });
            columns.push({ field: 'HProdORGID', title: 'HProdORGID', hide: true });
            columns.push({ field: 'HEmpID', title: 'HEmpID', hide: true });
            columns.push({ field: '拆单汇报数量', title: '拆单汇报数量', width: 150, edit: 'text', sort: true });
            columns.push({ field: '锁定工单', title: '锁定工单', width: 150, sort: true, filter: true });//0
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            columns.push({ field: '拆单汇报数量', title: '拆单汇报数量', width: 150, edit: 'text' });
            columns.push({ field: '锁定工单', title: '锁定工单', width: 150, filter: true });//0
            //columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option_columns = columns;
            option = {
                elem: '#mainTable'
@@ -1071,6 +1477,45 @@
                , cellMinWidth: 90
                , cols: [columns]
                , limit: Number.MAX_VALUE//默认显示全部
                , even: true
                , rowDrag: {/*trigger: 'row',*/
                    done: function (obj) {
                        // å®Œæˆæ—¶ï¼ˆæ¾å¼€æ—¶ï¼‰è§¦å‘
                        // å¦‚果拖动前和拖动后无变化,则不会触发此方法
                        console.log(obj.row) // å½“前行数据
                        console.log(obj.cache) // æ”¹åŠ¨åŽå…¨è¡¨æ•°æ®
                        console.log(obj.oldIndex) // åŽŸæ¥çš„æ•°æ®ç´¢å¼•
                        console.log(obj.newIndex) // æ”¹åŠ¨åŽæ•°æ®ç´¢å¼•
                        console.log(table.cache["mainTable"]) // æ”¹åŠ¨åŽæ•°æ®ç´¢å¼•
                        var data = table.cache["mainTable"];
                        for (var i = 0; i < data.length; i++) {
                            data[i]["优先级"] = ((i + 1) * 5);
                        }
                        option.data = data;
                        table.reload('mainTable', {
                            data: option.data
                        });
                        //table.render(option);
                        //option.data = table.cache["mainTable"];
                    }
                }
                , sort: function (obj) { // æŽ’序事件
                    // èŽ·å–å½“å‰æŽ’åºçš„å­—æ®µå’ŒæŽ’åºç±»åž‹
                    var field = obj.field;
                    var type = obj.type;
                    data.sort(function (a, b) {
                        return type === 'asc' ? (a[field] - b[field]) : (b[field] - a[field]);
                    });
                    // é‡æ–°æ¸²æŸ“表格
                    table.reload('test', {
                        data: data
                    });
                }
                , done: function (res, page, count) {
                    soulTable.render(this);
                    $('.layui-table thead').on('click', 'th', function () {
@@ -1082,7 +1527,7 @@
                            , HBEGINDATE: field
                            , HENDDATE: field
                        }
                        get_Display_3(JSON.stringify(sWhere));
                        //get_Display_3(JSON.stringify(sWhere));
                    });
                    //res.data.forEach(function (item, index) {
                    //    if (data1.data.DataColor != undefined) {
@@ -1143,6 +1588,8 @@
                success: function (data1) {
                    if (data1.count == 1) {
                        option.data = data1.data;
                        //列设置
                        DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
                        ins = table.render(option);
                        var HinterID_S = [];
                        for (var i = 0; i < data1.data.length; i++) {
@@ -1179,7 +1626,8 @@
                data: { "sWhere": HinterID_S.toString(),"num":1 },
                success: function (data1) {
                    if (data1.count == 1) {
                        for (var i = 0; i < 31; i++) {
                        var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
                        for (var i = 0; i < HArrangeProductDayQty; i++) {
                            option.cols[0][22 + i]["edit"] = "text";
                            option.cols[0][22 + i]["style"] = "";
                            var TableDate = option.cols[0][22 + i].field;
@@ -1191,7 +1639,7 @@
                        if (data1.data[0]["DayNum"] > 0) {
                            //获取被锁定的列数
                            var tableNum = 0;
                            for (var i = 0; i < 31; i++) {
                            for (var i = 0; i < HArrangeProductDayQty; i++) {
                                if (option.cols[0][22 + i]["edit"] == "") {
                                    tableNum += 1;
                                } else {
@@ -1269,9 +1717,10 @@
                            }
                            //获取日期下标
                            var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
                            var _numData3 = [];
                            for (var i = 0; i < _numData2.length; i++) {
                                for (var j = 22; j < 53; j++) {
                                for (var j = 22; j < 22 + HArrangeProductDayQty; j++) {
                                    if (option.cols[0][j]["field"] == _numData2[i]) {
                                        _numData3[i] = j;
                                        break;
@@ -1354,6 +1803,22 @@
            })
        }
        //日计划滚动导入
        function btnExcel_DayImport() {
            layer.open({
                type: 2
                , skin: 'layui-layer-rim' //加上边框
                , area: ['100%', '100%']
                , title: '日计划滚动导入'
                , shift: 0//弹出动画
                , content: '../宝工排产/JIT_DayPlanPlatForm_DayImport.html?OperationType=1'
                , end: function () {
                    //刷新页面,
                    location.reload();
                }
            })
        }
        //物料列表
        function btnHMaterID() {
            layer.open({
@@ -1414,8 +1879,11 @@
            var data = localStorage.getItem("JIT_DayPlanPlatForm_HWorkShop");
            if (data != null) {
                var data2 = JSON.parse(data);
                $("#HWorkShopID").val(data2["HWorkShopID"]);
                $("#HWorkShopIDName").val(data2["HWorkShopIDName"]);
                if (HType == "") {
                    $("#HWorkShopID").val(data2["HWorkShopID"]);
                    $("#HWorkShopIDName").val(data2["HWorkShopIDName"]);
                }
                $("#HArrangeProductDayQty").val(data2["HArrangeProductDayQty"]);
                form.render('select');
            }
        }
@@ -1427,6 +1895,7 @@
            var data = {
                HWorkShopID:  $("#HWorkShopID").val()
                , HWorkShopIDName: $("#HWorkShopIDName").val()
                , HArrangeProductDayQty: $("#HArrangeProductDayQty").val()
            }
            //本地存储
            localStorage.setItem("JIT_DayPlanPlatForm_HWorkShop", JSON.stringify(data));
@@ -1447,96 +1916,98 @@
            if (number == 1) {
                HProdORGID = sessionStorage["OrganizationID"];//生产订单组织
            }
            var HPlanBeginDate = $("#HPlanBeginDate").val();//开工起始日期
            var HPlanEndDate = $("#HPlanEndDate").val();//开工截止日期
            var HMastersDate = $("#HMastersDate").val();//排产日期
            var HSeOrderBillNo = $("#HSeOrderBillNo").val();//销售订单号
            var HMaterID = $("#HMaterID").val();//物料编码id
            var HICMOBillNo = $("#HICMOBillNo").val();//生产订单号
            var ColName = $("#ColName").val();//复选框
            var Comparator = $("#Comparator").val()
            var ColContent = $("#ColContent").val();
            var ColName1 = $("#ColName1").val();//复选框
            var Comparator1 = $("#Comparator1").val()
            var ColContent1 = $("#ColContent1").val();
            var ColName2 = $("#ColName2").val();//复选框
            var Comparator2 = $("#Comparator2").val()
            var ColContent2 = $("#ColContent2").val();
            //var HPlanBeginDate = $("#HPlanBeginDate").val();//开工起始日期
            //var HPlanEndDate = $("#HPlanEndDate").val();//开工截止日期
            //var HMastersDate = $("#HMastersDate").val();//排产日期
            //var HSeOrderBillNo = $("#HSeOrderBillNo").val();//销售订单号
            //var HMaterID = $("#HMaterID").val();//物料编码id
            //var HICMOBillNo = $("#HICMOBillNo").val();//生产订单号
            //var ColName = $("#ColName").val();//复选框
            //var Comparator = $("#Comparator").val()
            //var ColContent = $("#ColContent").val();
            //var ColName1 = $("#ColName1").val();//复选框
            //var Comparator1 = $("#Comparator1").val()
            //var ColContent1 = $("#ColContent1").val();
            //var ColName2 = $("#ColName2").val();//复选框
            //var Comparator2 = $("#Comparator2").val()
            //var ColContent2 = $("#ColContent2").val();
            var sWheres = "";
            if (ColName != 0 && Comparator != 0) {
                var com = "";
                switch (Comparator) {
                    case "7":
                        com = "like''%" + ColContent + "%''";
                        break;
                    case "8":
                        com = "like''%" + ColContent + "''";
                        break;
                    case "9":
                        com = "like''" + ColContent + "%''";
                        break;
                    case "10":
                        com = "not like''%" + ColContent + "%''";
                        break;
                    default:
                        com = "" + Comparator + "''" + ColContent + "''";
                        break;
                }
                sWheres += " and [" + ColName + "] " + com;
            }
            //if (ColName != 0 && Comparator != 0) {
            //    var com = "";
            //    switch (Comparator) {
            //        case "7":
            //            com = "like''%" + ColContent + "%''";
            //            break;
            //        case "8":
            //            com = "like''%" + ColContent + "''";
            //            break;
            //        case "9":
            //            com = "like''" + ColContent + "%''";
            //            break;
            //        case "10":
            //            com = "not like''%" + ColContent + "%''";
            //            break;
            //        default:
            //            com = "" + Comparator + "''" + ColContent + "''";
            //            break;
            //    }
            //    sWheres += " and [" + ColName + "] " + com;
            //}
            if (ColName1 != 0 && Comparator1 != 0) {
                var com1 = "";
                switch (Comparator1) {
                    case "7":
                        com1 = "like'%" + ColContent1 + "%'";
                        break;
                    case "8":
                        com1 = "like'%" + ColContent1 + "'";
                        break;
                    case "9":
                        com1 = "like'" + ColContent1 + "%'";
                        break;
                    case "10":
                        com1 = "not like'%" + ColContent1 + "%'";
                        break;
                    default:
                        com1 = "" + Comparator1 + "'" + ColContent1 + "'";
                        break;
                }
                sWhere += " and " + ColName1 + " " + com1;
            }
            if (ColName2 != 0 && Comparator2 != 0) {
                var com2 = "";
                switch (Comparator2) {
                    case "7":
                        com2 = "like'%" + ColContent2 + "%'";
                        break;
                    case "8":
                        com2 = "like'%" + ColContent2 + "'";
                        break;
                    case "9":
                        com2 = "like'" + ColContent2 + "%'";
                        break;
                    case "10":
                        com2 = "not like'%" + ColContent2 + "%'";
                        break;
                    default:
                        com2 = "" + Comparator + "'" + ColContent + "'";
                        break;
                }
                sWhere += " and " + ColName2 + " " + com2;
            }
            //if (ColName1 != 0 && Comparator1 != 0) {
            //    var com1 = "";
            //    switch (Comparator1) {
            //        case "7":
            //            com1 = "like'%" + ColContent1 + "%'";
            //            break;
            //        case "8":
            //            com1 = "like'%" + ColContent1 + "'";
            //            break;
            //        case "9":
            //            com1 = "like'" + ColContent1 + "%'";
            //            break;
            //        case "10":
            //            com1 = "not like'%" + ColContent1 + "%'";
            //            break;
            //        default:
            //            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
            //            break;
            //    }
            //    sWhere += " and " + ColName1 + " " + com1;
            //}
            //if (ColName2 != 0 && Comparator2 != 0) {
            //    var com2 = "";
            //    switch (Comparator2) {
            //        case "7":
            //            com2 = "like'%" + ColContent2 + "%'";
            //            break;
            //        case "8":
            //            com2 = "like'%" + ColContent2 + "'";
            //            break;
            //        case "9":
            //            com2 = "like'" + ColContent2 + "%'";
            //            break;
            //        case "10":
            //            com2 = "not like'%" + ColContent2 + "%'";
            //            break;
            //        default:
            //            com2 = "" + Comparator + "'" + ColContent + "'";
            //            break;
            //    }
            //    sWhere += " and " + ColName2 + " " + com2;
            //}
            sWhere = {
                HPlanBeginDate: HPlanBeginDate
                HPlanBeginDate: '1900-01-01'                //HPlanBeginDate
                , HProdORGID: HProdORGID
                , HSeOrderBillNo: HSeOrderBillNo
                , HPlanEndDate: HPlanEndDate
                , HMaterID: HMaterID
                , HICMOBillNo: HICMOBillNo
                , HSeOrderBillNo: ''                        //HSeOrderBillNo
                , HPlanEndDate: '2500-01-01'                //HPlanEndDate
                , HMaterID: 0                               //HMaterID
                , HICMOBillNo: ''                           //HICMOBillNo
                , HWorkShopID: HWorkShopID
                , HMastersDate: HMastersDate
                , HMastersDate: ''                          //HMastersDate
                , sWheres: sWheres
            }
            get_Display(JSON.stringify(sWhere));
@@ -1548,7 +2019,7 @@
        function get_FastQuery_ICMO(number) {
            var HDate = $("#HBeginDate").val();//开始日期
            var HDate1 = $("#HEndDate").val();//结束日期
            var HDeptName_ICMO = $("#HDeptName_ICMO").val();//生产车间
            var HDeptName_ICMO = $("#HWorkShopIDName").val();//生产车间
            var HMaterName_ICMO = $("#HMaterName_ICMO").val();//物料名称
            var HICMOBillNo_ICMO = $("#HICMOBillNo_ICMO").val(); //生产订单
@@ -1559,7 +2030,7 @@
                sWhere_ICMO += " and CONVERT(varchar(100),日期, 23) <= '" + HDate1 + "'";
            }
            if (HDeptName_ICMO) {
                sWhere_ICMO += " and ç”Ÿäº§è½¦é—´ like '%" + HDeptName_ICMO + "%'";
                sWhere_ICMO += " and ç”Ÿäº§è½¦é—´ = '" + HDeptName_ICMO + "'";
            }
            if (HMaterName_ICMO) {
                sWhere_ICMO += " and concat(产品代码,产品名称,规格型号) like '%" + HMaterName_ICMO + "%'";
@@ -1567,7 +2038,7 @@
            if (HICMOBillNo_ICMO) {
                sWhere_ICMO += " and å•据号 like '%" + HICMOBillNo_ICMO + "%'";
            }
            sWhere_ICMO += " and çŠ¶æ€ like '%开工%'";
            get_Display2(sWhere_ICMO);
            sWhere_ICMO = ""//调用接口后清空sWhere缓存
        }
@@ -1626,7 +2097,7 @@
            //$("#HPlanBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//开工起始日期
            //$("#HPlanEndDate").val(Format(new Date(), "yyyy-MM-dd"));//开工截止日期
            $("#HDeptName_ICMO").val("");//生产车间
            //$("#HDeptName_ICMO").val("");//生产车间
            $("#HMaterName_ICMO").val("");//物料名称
            $("#HICMOBillNo_ICMO").val(""); //生产订单
@@ -1696,6 +2167,43 @@
                }
            });
        }
        //欠料运算
        function set_Calculate() {
            if ($("#HWorkShopID").val() == 0) {
                return layer.msg("生产车间不能为空!");
            }
            var ajaxLoad = layer.load();
            //欠料运算
            var sql = "exec h_p_JIT_MaterialLevelShorAnalysisReportList " + $("#HWorkShopID").val() + ",'" + sessionStorage["HMaker"] + "'," + sessionStorage["OrganizationID"];
            var startTime = new Date().getTime();
            $.ajax({
                url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                type: "GET",
                async: false,
                data: { "sWhere": sql },
                success: function (data1) {
                    // è®¡ç®—请求花费的时间
                    var endTime = new Date().getTime();
                    var executionTime = endTime - startTime; // æ¯«ç§’
                    var executionTimeInSeconds = (executionTime / 1000).toFixed(2); // è½¬æ¢ä¸ºç§’并保留两位小数
                    if (data1.count == 1) {
                        layer.msg(data1.data[0]["HRemark"]);
                        // åŒæ ·ä½¿ç”¨setTimeout延迟显示执行时间(在错误处理中也计算时间)
                        setTimeout(function () {
                            layer.msg("执行时间: " + executionTimeInSeconds + " ç§’");
                            layer.close(ajaxLoad);
                        }, 1000);
                        layer.close(ajaxLoad);
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                        layer.close(ajaxLoad);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                    layer.close(ajaxLoad);
                }
            });
        }
        //生产订单选单
        function get_btnICMOBill() {
@@ -1706,7 +2214,7 @@
                , area: ['90%', '90%']//大小
                , title: '生产订单列表'//标题
                , shift: 2//弹出动画
                , content: ['../../生产管理/生产任务单/Sc_ICMOBillList.html?HDeptID=' + HDeptID, 'yes']
                , content: ['../../生产管理/生产任务单/Sc_ICMOBillList.html?Type=2&HDeptID=' + HDeptID, 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1732,10 +2240,81 @@
            })
        }
        function get_btnAddICMO() {
            var HDeptID = $("#HWorkShopID").val() == "" ? 0 : $("#HWorkShopID").val();
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_ICMOBillListByDept',
                type: "GET",
                data: { "HDeptID": HDeptID },
                success: function (data1) {
                    if (data1.count == 1) {
                        var dataPush = [];
                        var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                        buttonArr = [];//清空数组
                        for (var i = 0; i < tableBak.length; i++) {
                            dataPush.push(tableBak[i]);  //将之前的数据存储
                        }
                        for (var i = 0; i < dataPush.length; i++) {
                            if (dataPush[i]["单据号"] == "") {
                                for (var j = 0; j < data1.data.length; j++) {
                                    if (data1.data[j]["源单主内码"] == dataPush[i]["源单主内码"] && data1.data[j]["源单子内码"] == dataPush[i]["源单子内码"]) {
                                        layer.close(ajaxLoad);
                                        return layer.alert("生产明细行重复,重复的生产订单号:" + dataPush[i]["生产订单号"] + ",明细行号:" + dataPush[i]["生产订单明细行号"], { icon: 5 });
                                    }
                                }
                            }
                        }
                        //存储数据
                        for (var i = 0; i < data1.data.length; i++) {
                            dataPush.push(data1.data[i]);
                        }
                        option.data = dataPush;
                        table.render(option);
                        //获取上方排产列表数据,用于对比下方生产订单列表,将下方生产订单列表相同的数据不显示
                        //var compareList = [];
                        //for (var i = 0; i < option.data.length; i++) {
                        //    var temp = option.data[i]["源单主内码"] + "|" + option.data[i]["源单子内码"];
                        //    compareList.push(temp);
                        //}
                        ////剔除上方排产列表中已经加入的生产订单
                        //var tables = [];
                        //for (var i = 0; i < option2.data.length; i++) {
                        //    var temp = option2.data[i]["hmainid"] + "|" + option2.data[i]["HEntryID"];
                        //    if ($.inArray(temp, compareList) == -1) {
                        //        tables.push(option2.data[i]);
                        //    }
                        //}
                        //option2.data = tables;
                        ////重新渲染子表2
                        //table.render(option2);
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //准备
        function get_btnReady() {
            var data = table.cache["mainTable"];
            var HICOMNum = [];
            var HTotalDataList = [[]];
            var index = 0;
            var countEveryGroup = 50;
            for (var i = 0; i < data.length; i++) {
                if (isNaN(data[i]["HICMOInterID"])) {
                    return layer.msg("请先进行保存!!")
@@ -1743,86 +2322,101 @@
                if (isNaN(data[i]["HSourceID"])) {
                    return layer.msg("选择生产资源!!")
                }
                HICOMNum.push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"] + ";" + data[i]["HSourceID"]);
                if ((index / countEveryGroup).toFixed(0)*1 == HTotalDataList.length) {
                    HTotalDataList.push([]);
                }
                HTotalDataList[(index / countEveryGroup).toFixed(0) * 1].push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"] + ";" + data[i]["HSourceID"]);
                index++;
            }
            $('#HProgressBar').html(`
    <div class="layui-progress" lay-filter="demo-filter-progress">
      <div class="layui-progress-bar" lay-percent="40%"></div>
    </div>
  `);
            // æ¸²æŸ“进度条组件
            element.render('progress', 'demo-filter-progress');
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/ReadyData',
                type: "GET",
                data: { "SWhere": HICOMNum.toString() },
                success: function (data1) {
                    if (data1.count == 1) {
                        for (var i = 0; i < data1.data.length; i++) {
                            for (var j = 0; j < option.data.length; j++) {
                                if (data1.data[i]["HICMOInterID"] == option.data[j]["HICMOInterID"] && data1.data[i]["HICMOEntryID"] == option.data[j]["HICMOEntryID"]) {
                                    option.data[j]["小时产能"] = data1.data[i]["小时产能"];
                                    option.data[j]["生产周期"] = data1.data[i]["生产周期"];
                                    option.data[j]["开工余量"] = data1.data[i]["开工余量"];
                                    option.data[j]["最迟开工日期"] = data1.data[i]["最迟开工日期"];
                                    option.data[j]["最迟完工日期"] = data1.data[i]["最迟完工日期"];
                                    option.data[j]["订单需求数量"] = data1.data[i]["订单需求数量"];
                                    option.data[j]["订单交货期"] = data1.data[i]["订单交货期"] < "2020-01-01 0:00:00" ? "1900-01-01" : data1.data[i]["订单交货期"];
                                    break;
                                }
                            }
                        }
            var msg = "";
            for (var t = 0; t < HTotalDataList.length; t++) {
                $('#HProgressBar').html('');
                var str = '<div class="layui-progress" lay-filter="demo-filter-progress"> <div class="layui-progress-bar" lay-percent="' + (t / HTotalDataList.length)*100 +  '%"></div></div>';
                $('#HProgressBar').html(str);
                // æ¸²æŸ“进度条组件
                element.render('progress', 'demo-filter-progress');
                        for (var i = 0; i < option.data.length - 1; i++) {
                            for (var j = 0; j < option.data.length - i - 1; j++) {
                                var tables = [];
                                //设置任务单优先排序,并设置优先(最迟完工日期+订单交货期)  å°è£…
                                if (option.data[j]["最迟完工日期"] > option.data[j + 1]["最迟完工日期"]) {
                                    tables.push(option.data[j + 1]);
                                    option.data[j + 1] = option.data[j];
                                    option.data[j] = tables[0];
                                } else if (option.data[j]["最迟完工日期"] == option.data[j + 1]["最迟完工日期"]) {
                                    if (option.data[j]["订单交货期"] > option.data[j + 1]["订单交货期"]) {
                                        tables.push(option.data[j + 1]);
                                        option.data[j + 1] = option.data[j];
                                        option.data[j] = tables[0];
                                    } else if (option.data[j]["订单交货期"] == option.data[j + 1]["订单交货期"]) {
                                        if (option.data[j]["订单需求数"] < option.data[j + 1]["订单需求数"]) {
                                            tables.push(option.data[j + 1]);
                                            option.data[j + 1] = option.data[j];
                                            option.data[j] = tables[0];
                                        }
                HICOMNum = HTotalDataList[t];
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/ReadyData',
                    async: false,
                    type: "GET",
                    data: { "SWhere": HICOMNum.toString() },
                    success: function (data1) {
                        if (data1.count == 1) {
                            for (var i = 0; i < data1.data.length; i++) {
                                for (var j = 0; j < option.data.length; j++) {
                                    if (data1.data[i]["HICMOInterID"] == option.data[j]["HICMOInterID"] && data1.data[i]["HICMOEntryID"] == option.data[j]["HICMOEntryID"]) {
                                        option.data[j]["小时产能"] = data1.data[i]["小时产能"];
                                        option.data[j]["生产周期"] = data1.data[i]["生产周期"];
                                        option.data[j]["开工余量"] = data1.data[i]["开工余量"];
                                        option.data[j]["最迟开工日期"] = data1.data[i]["最迟开工日期"];
                                        option.data[j]["最迟完工日期"] = data1.data[i]["最迟完工日期"];
                                        option.data[j]["订单需求数量"] = data1.data[i]["订单需求数量"];
                                        option.data[j]["订单交货期"] = data1.data[i]["订单交货期"] < "2020-01-01 0:00:00" ? "1900-01-01" : data1.data[i]["订单交货期"];
                                        break;
                                    }
                                }
                            }
                        }
                        $('#HProgressBar').html('')
                        table.render(option);
                        set_Priority();
                        data = table.cache["mainTable"];
                        for (var i = 0; i < data.length; i++) {
                            if (parseFloat(data[i]["小时产能"]) == 0 || parseFloat(data[i]["小时产能"]) == null || parseFloat(data[i]["小时产能"]) == undefined) {
                                return layer.alert("第" + (i + 1) + '行,小时产能未设置,请核对数据。' + '</br>' + '1.物料未添加工艺路线' + '</br>' + '2.工艺路线中未设置小时产能' + '</br>' + '3.生产资源未设置单班工时' + '</br>' + '4.生产资源中绑定工作中心与工艺路线中设置的工作中心不一致');
                            }
                        }
                            //for (var i = 0; i < option.data.length - 1; i++) {
                            //    for (var j = 0; j < option.data.length - i - 1; j++) {
                            //        var tables = [];
                            //        //设置任务单优先排序,并设置优先(最迟完工日期+订单交货期)  å°è£…
                            //        if (option.data[j]["最迟完工日期"] > option.data[j + 1]["最迟完工日期"]) {
                    } else {
                        //layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                            //            tables.push(option.data[j + 1]);
                            //            option.data[j + 1] = option.data[j];
                            //            option.data[j] = tables[0];
                            //        } else if (option.data[j]["最迟完工日期"] == option.data[j + 1]["最迟完工日期"]) {
                            //            if (option.data[j]["订单交货期"] > option.data[j + 1]["订单交货期"]) {
                            //                tables.push(option.data[j + 1]);
                            //                option.data[j + 1] = option.data[j];
                            //                option.data[j] = tables[0];
                            //            } else if (option.data[j]["订单交货期"] == option.data[j + 1]["订单交货期"]) {
                            //                if (option.data[j]["订单需求数"] < option.data[j + 1]["订单需求数"]) {
                            //                    tables.push(option.data[j + 1]);
                            //                    option.data[j + 1] = option.data[j];
                            //                    option.data[j] = tables[0];
                            //                }
                            //            }
                            //        }
                            //    }
                            //}
                        } else {
                            //layer.close(ajaxLoad);
                            //layer.alert(data1.code + data1.Message, { icon: 5 });
                            msg += data1.Message;
                        }
                    }, error: function (e) {
                        layer.alert("接口请求失败!", { icon: 5 });
                        return;
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                });
            }
            table.render(option);
            set_Priority();
            data = table.cache["mainTable"];
            for (var i = 0; i < data.length; i++) {
                if (parseFloat(data[i]["小时产能"]) == 0 || parseFloat(data[i]["小时产能"]) == null || parseFloat(data[i]["小时产能"]) == undefined) {
                    msg += "第" + (i + 1) + '行,小时产能未设置,请核对数据。' + '</br>' + '1.物料未添加工艺路线' + '</br>' + '2.工艺路线中未设置小时产能' + '</br>' + '3.生产资源未设置单班工时' + '</br>' + '4.生产资源中绑定工作中心与工艺路线中设置的工作中心不一致';
                }
            });
            }
            if (msg != "") {
                layer.alert(msg, { icon: 5 });
            }
            $('#HProgressBar').html('')
        }
        //工艺路线编辑
@@ -1903,6 +2497,11 @@
            var HJDLen = 0;
            var HReportQty = 0;
            if (set_ModCheck("Sc_WorkBillSortBill_Edit") == false) {
                return layer.msg("无排产权限!!!")
            }
            //如果锁定计划,则不需要再排程
            //查询本车间是否有锁定计划的数据
            var HinterID_S = [];
@@ -1950,8 +2549,9 @@
            get_HFData(0, 0);
            //初始化表格数据
            var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
            for (var i = 0; i < option.data.length; i++) {
                for (var j = (22 + HPlanDay); j < 53; j++) {
                for (var j = (22 + HPlanDay); j < (22 + HArrangeProductDayQty); j++) {
                    if (option.data[i][option.cols[0][j].field] != null) {
                        option.data[i][option.cols[0][j].field] = "";
                    }
@@ -2343,7 +2943,8 @@
            else {
                for (var i = 0; i < ds.length; i++) {
                    //找到对应的列
                    for (var j = 22; j < 53; j++) {
                    var HArrangeProductDayQty = $("#HArrangeProductDayQty").val() * 1;
                    for (var j = 22 + HPlanDay; j < 22 + HArrangeProductDayQty; j++) {
                        if (sLeftQty > 0) {
                            if (ds[i]["日期"] == grd.cols[0][j].field) {
                                //如果时间被 ä¸Šé“余量占用 åˆ™ è·³è¿‡
@@ -2645,51 +3246,64 @@
        //优先级
        function set_Priority() {
            var data = table.cache["mainTable"];
            for (var i = 0; i < data.length; i++) {
                data[i]["优先级"] = ((i + 1) * 5);
            }
            option.data = data;
            table.render(option);
            layer.confirm('你确定要执行优先级操作吗?', {
                btn: ['确定', '取消'] //按钮
                , btn1: function (index, layero) {
                    var data = table.cache["mainTable"];
                    for (var i = 0; i < data.length; i++) {
                        data[i]["优先级"] = ((i + 1) * 5);
                    }
                    option.data = data;
                    table.render(option);
                    layer.close(index);
                }
            })
        }
        //准备排序
        function set_ReadyAsc() {
            if (option.data.length != 0) {
                for (var i = 0; i < option.data.length - 1; i++) {
                    for (var j = 0; j < option.data.length - i - 1; j++) {
                        var tables = [];
                        //按照计划结束日期   ç”Ÿäº§è®¢å•号  ç”Ÿäº§è®¢å•明细行号的顺序去排
                        if (option.data[j]["计划结束日期"] > option.data[j + 1]["计划结束日期"]) {
                            tables.push(option.data[j + 1]);
                            option.data[j + 1] = option.data[j];
                            option.data[j] = tables[0];
                        } else if (option.data[j]["计划结束日期"] == option.data[j + 1]["计划结束日期"]) {
                            if (option.data[j]["生产订单号"] > option.data[j + 1]["生产订单号"]) {
                                tables.push(option.data[j + 1]);
                                option.data[j + 1] = option.data[j];
                                option.data[j] = tables[0];
                            } else if (option.data[j]["生产订单号"] == option.data[j + 1]["生产订单号"]) {
                                if (option.data[j]["生产订单明细行号"] > option.data[j + 1]["生产订单明细行号"]) {
            layer.confirm('你确定要执行排序操作吗?', {
                btn: ['确定', '取消'] //按钮
                , btn1: function (index, layero) {
                    if (option.data.length != 0) {
                        for (var i = 0; i < option.data.length - 1; i++) {
                            for (var j = 0; j < option.data.length - i - 1; j++) {
                                var tables = [];
                                //按照计划结束日期   ç”Ÿäº§è®¢å•号  ç”Ÿäº§è®¢å•明细行号的顺序去排
                                if (option.data[j]["计划结束日期"] > option.data[j + 1]["计划结束日期"]) {
                                    tables.push(option.data[j + 1]);
                                    option.data[j + 1] = option.data[j];
                                    option.data[j] = tables[0];
                                } else if (option.data[j]["计划结束日期"] == option.data[j + 1]["计划结束日期"]) {
                                    if (option.data[j]["生产订单号"] > option.data[j + 1]["生产订单号"]) {
                                        tables.push(option.data[j + 1]);
                                        option.data[j + 1] = option.data[j];
                                        option.data[j] = tables[0];
                                    } else if (option.data[j]["生产订单号"] == option.data[j + 1]["生产订单号"]) {
                                        if (option.data[j]["生产订单明细行号"] > option.data[j + 1]["生产订单明细行号"]) {
                                            tables.push(option.data[j + 1]);
                                            option.data[j + 1] = option.data[j];
                                            option.data[j] = tables[0];
                                        }
                                    }
                                }
                            }
                        }
                        table.render(option);
                    }
                    else {
                        return layer.msg("无数据!")
                    }
                    layer.close(index);
                }
                table.render(option);
            }
            else {
                return layer.msg("无数据!")
            }
            })
        }
        //选产线
@@ -2746,7 +3360,7 @@
                return layer.msg("请选择数据!")
            }
        }
        //选操作工
        function set_Emp(data) {
            if (data != 0) {
@@ -2852,7 +3466,7 @@
            var sSubStr = "["+JSON.stringify(num)+"]";
            var sMainSub = sSubStr + "&和" + sessionStorage["HUserName"];
            var index = layer.load();
            //var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBill_btnSave",
@@ -2861,16 +3475,16 @@
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        layer.msg("保存成功");
                        layer.close(index);
                        //layer.msg("保存成功");
                        //layer.close(index);
                    }
                    else {
                        layer.close(index);
                        //layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    //layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
@@ -3064,6 +3678,65 @@
            }
        }
        //锁定申请
        function get_btnLockRequest(HWorkShopID, HWorkShopIDName, HLockedDay, HEmpName) {
            var data = table.cache["mainTable"];
            if (data.length == 0) {
                return layer.msg("无数据,无法进行锁定!")
            } else {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '排产锁定申请单'//标题
                    , shift: 2//弹出动画
                    , content: ['../../生产管理/宝工排产/JIT_LockRequestBill.html?HOperationType=4&HLockDays=' + HLockedDay + '& HEmpName=' + HEmpName + '& HDeptID=' + HWorkShopID + '&HDeptName=' + HWorkShopIDName + "'", 'yes']
                    //, btn: ['确定', '取消']
                    //, btn1: function (index, layero) {//按钮【按钮一】的回调
                    //    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    //    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    //    if (checkStatus.data.length === 0) {
                    //        return layer.msg('请选择数据');
                    //    }
                    //    $("#HDeptName").val(checkStatus.data[0].部门名称);
                    //    $("#HDeptID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                })
            }
        }
        //解锁申请
        function get_btnUnlockRequest(HWorkShopID, HWorkShopIDName, HLockedDay, HEmpName) {
            var data = table.cache["mainTable"];
            if (data.length == 0) {
                return layer.msg("无数据,无法进行解锁!")
            } else {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '排产解锁申请单'//标题
                    , shift: 2//弹出动画
                    , content: ['../../生产管理/宝工排产/JIT_UnLockRequestBill.html?HOperationType=4&HEmpName=' + HEmpName + '& HDeptID=' + HWorkShopID + '&HDeptName=' + HWorkShopIDName + "'", 'yes']
                    //, btn: ['确定', '取消']
                    //, btn1: function (index, layero) {//按钮【按钮一】的回调
                    //    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    //    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    //    if (checkStatus.data.length === 0) {
                    //        return layer.msg('请选择数据');
                    //    }
                    //    $("#HDeptName").val(checkStatus.data[0].部门名称);
                    //    $("#HDeptID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                })
            }
        }
        //锁定工单
        function get_btnLockOrder() {
            var checkStatus = table.checkStatus('mainTable')
@@ -3232,6 +3905,7 @@
            var ajaxLoad = layer.load();
            if (checkStatus.data.length != 1) {
                layer.alert("请选择一条数据!");
                layer.close(ajaxLoad);
            } else {
                var TabData = checkStatus.data;
                var HMaterID = TabData[0].HMaterID;
@@ -3268,7 +3942,7 @@
                                    , content: '../../计划管理/工艺路线/Gy_RoutingBill.html?OperationType=3&linterid=' + HRoutingInterID + '&HSouceBillType=4610&IsHavingPermissions=' + data1.IsHavingPermissions
                                    , end: function () {
                                        //刷新页面,
                                        location.reload();
                                        //location.reload();
                                    }
                                })
                            }
@@ -3287,7 +3961,7 @@
                                        , content: '../../计划管理/工艺路线/Gy_RoutingBill.html?OperationType=1&linterid=' + HRoutingInterID + '&HSouceBillType=4610&HMaterID='+ HMaterID + '&HMaterNumber=' + HMaterNumber + '&HMaterName=' + HMaterName + '&HMaterModel=' + HMaterModel
                                        , end: function () {
                                            //刷新页面,
                                            location.reload();
                                            //location.reload();
                                        }
                                    })
                                });
@@ -3392,137 +4066,6 @@
            else {
                layer.msg('请选择数据!');
            }
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
            var contentUrl = "";
            for (var i = 1; i < option.cols[0].length; i++) {
                colName += option.cols[0][i]["field"] + ",";
            }
            var urlStr = window.document.location.pathname;//获取文件路径
            var urlLen = urlStr.split('/');
            for (var i = 0; i < urlLen.length - 4; i++) {
                contentUrl += "../";
            }
            colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
            contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName;
            layer.open({
                type: 2
                , skin: "layui-layer-rim" //加上边框
                , title: "隐藏列设置"  //标题
                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                , shift: 2 //弹出动画
                , area: ["50%", "90%"] //窗体大小
                , maxmin: true //设置最大最小按钮是否显示
                , content: [contentUrl, "yes"]
                , btn: ["确定", "取消"]
                , btn1: function (index, laero) {
                    //刷新表格数据
                    DisPlay_HideColumn();
                    //更新表格缓存的数据
                    layer.close(index);//关闭弹窗
                }
            })
        }
        //显示列数据
        function DisPlay_HideColumn() {
            $.ajax({
                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                type: "GET",
                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.data.length != 0) {
                        titleData = [];
                        var dataCol = [];//数据库查询出的列数据
                        var newCols = [[]];//对应数据库列顺序col
                        newCols[0].push(option.cols[0][0]);//放入第一个checkbox
                        dataCol = data1.data[0].HGridString.split(',');
                        //列设置列数与页面列数是否一致
                        if (dataCol.length == option.cols[0].length - 1) {
                            //遍历寻找列设置对应列按顺序插入
                            for (var j = 0; j < option.cols[0].length - 1; j++) {
                                for (var i = 0; i < option.cols[0].length - 1; i++) {
                                    var dataCols = dataCol[j].split('|');
                                    //选择与datacols相应列进行修改
                                    if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                                        //隐藏列
                                        if (dataCols[1] == 1) {
                                            option.cols[0][i + 1]["hide"] = true;
                                        }
                                        //设置列宽
                                        if (dataCols[3] > 0) {
                                            option.cols[0][i + 1]["width"] = dataCols[3];
                                        }
                                        //设置内容字体大小
                                        if (data1.data[0].HFontSize != 0) {
                                            option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                        } else {
                                            option.cols[0][i + 1]["style"] = "font-size:100%";
                                        }
                                        //显示列
                                        if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                            option.cols[0][i + 1]["hide"] = false;
                                        }
                                        //统计列
                                        if (dataCols[6] == 1) {
                                            option.cols[0][i + 1]["totalRow"] = true;
                                        }
                                        //字体所在位置(å·¦ å±…中 å³)
                                        switch (dataCols[2]) {
                                            case "L":
                                                option.cols[0][i + 1]["align"] = "left";
                                                break;
                                            case "M":
                                                option.cols[0][i + 1]["align"] = "center";
                                                break;
                                            case "R":
                                                option.cols[0][i + 1]["align"] = "right";
                                                break;
                                        }
                                        //设置表格title属性显示别名
                                        if (dataCols[4] != null && dataCols[4] != "") {
                                            option.cols[0][i + 1]["title"] = dataCols[4];
                                        }
                                        newCols[0].push(option.cols[0][i + 1]);
                                    }
                                }
                            }
                            //遍历循环后判断对应列数是否一致
                            if (dataCol.length == newCols[0].length - 1) {
                                option.cols = newCols;
                                //取消冻结列
                                for (var i = 1; i < option.cols[0].length - 1; i++) {
                                    if (option.cols[0][i]["fixed"] != null) {
                                        option.cols[0][i]["fixed"] = null;
                                    }
                                    else {
                                        break;
                                    }
                                }
                                //冻结列
                                if (data1.data[0].HFixCols != 0) {
                                    for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                        if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                            data1.data[0].HFixCols += 1;
                                        }
                                        option.cols[0][i + 1]["fixed"] = "left";
                                    }
                                }
                            }
                        }
                        table.render(option);
                    } else {
                        table.render(option);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            })
        }
        function get_HideColumn_ICMO() {