提料运算单独加个菜单栏;列设置,标题筛选(提料计划报表,);排产添加锁定工单功能;批改上班工时;
3个文件已添加
5个文件已修改
1530 ■■■■■ 已修改文件
WebTM/views/生产管理/提料计划/JIT_PickUpCalculate.html 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划报表/ReportMOMaterReadysBillList.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划报表/ReportPODemandPlanBillList_S.html 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/JIT_DayPlanPlatForm.html 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/JIT_DayPlanPlatForm_TK.html 135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/Sc_BulkEditWorkTime.html 416 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/Sc_ShopCalendar.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/计划管理/工艺路线/Gy_BulkEditWorkQty.html 531 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/Éú²ú¹ÜÀí/ÌáÁϼƻ®/JIT_PickUpCalculate.html
New file
@@ -0,0 +1,166 @@
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>提料运算</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style type="text/css">
        input.layui-input.layui-unselect {
            padding-right: 0;
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <h1 style="text-align: center; padding: 30px 0;"><b>提料运算</b></h1>
                            <div class="layui-colla-item" style="padding-top:20px;">
                                <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>
                                <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>
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn_Calculate" id="btn_Calculate" style="padding:0 30px;margin-left:50px;">开始提料运算</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn_Cancel" id="btn_Cancel" style="padding:0 20px">退出</button>
                            </div>
                            <div class="layui-colla-item" style="height:600px;margin-top:20px;">
                                <font size="5" color="blue" id="HRemark"></font>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            var HModName = "JIT_PickUpCalculate";
            var HMaker = sessionStorage["HUserName"]
            var HStockOrgID = sessionStorage["OrganizationID"]  //组织ID
            //#endregion
            //判断是否登录 æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#region åˆå§‹åŒ–界面
            set_ClearBill();
            function set_ClearBill() {
                Organ();
            }
            //#endregion
            //#region å¼€å§‹ææ–™è¿ç®—
            form.on('submit(btn_Calculate)', function (data) {
                set_Calculate(data);
            });
            function set_Calculate(data) {
                var sWhere = {
                    HProdORGID: $("#HProdORGID").val()
                    , HWorkShopID: 0
                }
                var HTLType = $("#HTLType").val();
                sWhere = JSON.stringify(sWhere);
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_TLYS',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["Czybm"], "HTLType": HTLType },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg(data1.Message);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region èŽ·å–ç»„ç»‡
            function Organ() {
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HProdORGID").append(Organization);
                            $("#HProdORGID").val(sessionStorage["OrganizationID"])
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region é€€å‡º
            form.on('submit(btn_Cancel)', function () {
                layer.confirm('您确定要退出吗?', { icon: 3, title: '提示' }, function (index) {
                    Pub_Close(2);
                });
            })
            //#endregion
        });
        //以上为layui模块
        //此处方法涉及到被外部页面parent.方法名调用的必须放在Layui方法外部
    </script>
</body>
</html>
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportMOMaterReadysBillList.html
@@ -433,7 +433,7 @@
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                //, toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
@@ -1046,7 +1046,7 @@
                }
            })
        }
            //#endregion
        //#endregion
        //#endregion
        //以上是layui模块
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportPODemandPlanBillList_S.html
@@ -5,13 +5,14 @@
    <title>提料计划报表</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <!--<script src="../../../layuiadmin/soulTable.slim.js"></script>--><!--标题筛选不能引用此js文件-->
</head>
<body>
    <div class="layui-fluid">
@@ -49,6 +50,7 @@
                                <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>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">导出</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="bthHideColumn" id="bthHideColumn">列设置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
@@ -189,6 +191,7 @@
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        soulTable: '../ext/soulTable',
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable','flow'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
@@ -207,6 +210,7 @@
        var sWhere = " where 1=1 ";
        var option = [];
        var ins;                        //用于导出excel
        var HModName = "ReportPODemandPlanBillList_S";
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -248,6 +252,12 @@
        });
        //#endregion       
        //#region åˆ—设置按钮
        form.on('submit(bthHideColumn)', function (data) {
            get_HideColumn();
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
@@ -272,19 +282,19 @@
            var columns = [];
            columns.push({ type: 'checkbox', fixed: 'left', sort: true});
            columns.push({ field: '组织', title: '采购组织', sort: true});
            columns.push({ field: 'FMATERIALNAME', title: '物料名称', sort: true});
            columns.push({ field: 'FSPECIFICATION', title: '物料规格', sort: true});
            columns.push({ field: 'FNAME', title: '供应商', sort: true });
            columns.push({ field: 'FSUMQTY', title: '合计', sort: true, hide: true });
            columns.push({ field: 'HPOOrderBillNo', title: '采购订单号', sort: true, hide: true });
            columns.push({ field: 'HSeOrderBillNo', title: '需求单号', sort: true, hide: true });
            columns.push({ field: '组织', title: '采购组织', sort: true, filter: true });
            columns.push({ field: 'FMATERIALNAME', title: '物料名称', sort: true, filter: true });
            columns.push({ field: 'FSPECIFICATION', title: '物料规格', sort: true, filter: true });
            columns.push({ field: 'FNAME', title: '供应商', sort: true, filter: true  });
            columns.push({ field: 'FSUMQTY', title: '合计', sort: true, hide: true, filter: true  });
            columns.push({ field: 'HPOOrderBillNo', title: '采购订单号', sort: true, hide: true, filter: true  });
            columns.push({ field: 'HSeOrderBillNo', title: '需求单号', sort: true, hide: true, filter: true  });
            //columns.push({ field: 'HPOOrderBillRemark', title: '摘要' });
            //columns.push({ field: 'HPOOrderBillNote', title: '备注' });
            //columns.push({ field: '采购员', title: '采购员' });
            columns.push({ field: 'FNUMBER', title: '物料编码', sort: true});
            columns.push({ field: '计量单位名称', title: '计量单位', sort: true});
            columns.push({ field: 'TQSUM', title: '提料拖期数量', sort: true, totalRow: true});
            columns.push({ field: 'FNUMBER', title: '物料编码', sort: true, filter: true });
            columns.push({ field: '计量单位名称', title: '计量单位', sort: true, filter: true });
            columns.push({ field: 'TQSUM', title: '提料拖期数量', sort: true, totalRow: true, filter: true });
            //获取两个月期之间的相差
            var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//开始时间
            var time2 = Date.parse(new Date($("#HENDDATE").val()));//结束时间
@@ -300,7 +310,7 @@
            var k = 0;//收集循环次数
            for (var j = 0; j <= (Days - k); j++) {
                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70, totalRow: true})
                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70, totalRow: true, filter: true })
                //跨年的话 ä¼šä»Žä¸€æœˆä¸€å·å¼€å§‹
                if (MM == 12 && (HBEGINDATE + j) == 31) {
                    yyyy += 1;
@@ -317,7 +327,7 @@
                    j = 0;
                }
            }
            columns.push({ field: '', title: '提料计划合计' });
            columns.push({ field: '', title: '提料计划合计', filter: true  });
            option = {
                elem: '#mainTable'
@@ -371,6 +381,10 @@
                        option.data = result.data;
                        table.render(option);
                        //刷新表格数据
                        DisPlay_HideColumn();
                        layer.close(ajaxLoad);
                        //layer.alert("查询成功", { icon: 1 });
                    } else {
@@ -751,6 +765,139 @@
            form.render('select');
        }
        //#region éšè—åˆ—设置
        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);//关闭弹窗
                }
            })
        }
        //#endregion
        //#region æ˜¾ç¤ºåˆ—数据
        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 });
                }
            })
        }
        //#endregion
        //#endregion
        //以上是layui模块
    });
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -30,6 +30,8 @@
                            <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>
                        </div>
                        <div class="layui-collapse resizable-container">
                            <div class="layui-colla-item">
@@ -784,6 +786,16 @@
            }
        })
        //锁定工单
        form.on('submit(btnLockOrder)', function (data) {
            get_btnLockOrder();
        })
        //解锁工单
        form.on('submit(btnUnlockOrder)', function (data) {
            get_btnUnlockOrder();
        })
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
@@ -1048,6 +1060,7 @@
            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' });
            option_columns = columns;
            option = {
@@ -1917,7 +1930,7 @@
            });
            //根据车间删除没有锁定的数据
            var sql = "delete from Sc_WorkBillSortBillSub  where  HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20)  and HInterID in(select  HInterID  from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + ")";
            var sql = "delete from Sc_WorkBillSortBillSub where HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20) and HInterID in(select  HInterID from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + " and HLockOrder != 1 )";
            $.ajax({
                url: GetWEBURL() + '/Gy_SOPBillList/UpDelSQL',
                type: "GET",
@@ -3051,6 +3064,80 @@
            }
        }
        //锁定工单
        function get_btnLockOrder() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (data.length > 0) {
                var HInterIDArr = [];
                for (var i = 0; i < data.length; i++) {
                    HInterIDArr.push(data[i].hmainid);
                }
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHLockedOrder',
                    type: "GET",
                    data: { "HInterIDs": HInterIDArr.toString() },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg("工单已锁定");
                            get_FastQuery(2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            } else {
                layer.msg('请选择你要锁定的工单!');
            }
        }
        //解锁工单
        function get_btnUnlockOrder() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (data.length > 0) {
                var HInterIDArr = [];
                for (var i = 0; i < data.length; i++) {
                    HInterIDArr.push(data[i].hmainid);
                }
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHUnlockOrder',
                    type: "GET",
                    data: { "HInterIDs": HInterIDArr.toString() },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg("工单已解锁");
                            get_FastQuery(2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            } else {
                layer.msg('请选择你要解锁的工单!');
            }
        }
        //查询未排产的生产订单
        function get_Display2(sWhere_ICMO) {
            var ajaxLoad = layer.load();
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm_TK.html
@@ -32,6 +32,8 @@
                            <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="btnAddICMO" id="btnAddICMO">添加订单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnProZZPC" id="btnProZZPC">组装排产</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>
                        </div>
                        <div class="layui-collapse resizable-container">
                            <div class="layui-colla-item">
@@ -69,6 +71,9 @@
                                </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-progress layui-progress-big" lay-showpercent="true" lay-filter="demo">
                                    <div class="layui-progress-bar layui-bg-primary" lay-percent="0%"></div>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-inline">
@@ -756,6 +761,8 @@
        //组装排产
        form.on('submit(btnProZZPC)', function (data) {
            element.progress('demo', 0 + '%')
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
@@ -828,6 +835,16 @@
                get_btnUnlock(HWorkShopID);
            }
        })
        //锁定工单
        form.on('submit(btnLockOrder)', function (data) {
            get_btnLockOrder();
        })
        //解锁工单
        form.on('submit(btnUnlockOrder)', function (data) {
            get_btnUnlockOrder();
        })
        //#endregion
@@ -887,12 +904,12 @@
            columns.push({ field: '单据号', title: '单据号', hide: true, sort: true, filter: true});
            columns.push({ field: '销售订单号', title: '销售订单号', width: 150, sort: true, filter: true });
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;', sort: true, filter: true });
            columns.push({ field: '锁定工单', title: '锁定工单', width: 150, sort: true, filter: true });//0
            columns.push({ field: '生产组织', title: '生产组织', width: 150, sort: true, filter: true });
            columns.push({ field: '物料代码', title: '物料编码', width: 150, sort: true, filter: true });
            columns.push({ field: '物料名称', title: '物料名称', width: 150, sort: true, filter: true });
            columns.push({ field: '规格型号', title: '规格型号', width: 150, sort: true, filter: true });
            columns.push({ field: '小时产能', title: '小时产能', width: 150, sort: true, edit: 'text', filter: true });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true, filter: true });//0
            columns.push({ field: '计划数量', title: '生产订单数量', width: 150, sort: true, filter: true });//0
            columns.push({ field: '日计划数量总量', title: '日计划数量总量', width: 150, sort: true, filter: true});//0
            columns.push({ field: '今日之前日计划数量', title: '今日之前日计划数量', width: 150, sort: true, filter: true });//0
@@ -1092,7 +1109,8 @@
            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, edit: 'text', sort: true });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true, filter: true });//0
            columns.push({ field: '操作工', title: '操作工', width: 150, edit: 'text', event: "HEmpID" });
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option_columns = columns;
@@ -1668,7 +1686,7 @@
            $("#ColName2").val("0");
            $("#Comparator2").val("0");
            form.render('select');
            sWhere = "";
            sWhere = "";
        }
        //重置
@@ -2048,7 +2066,7 @@
            });
            //根据车间删除没有锁定的数据
            var sql = "delete from Sc_WorkBillSortBillSub  where  HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20)  and HInterID in(select  HInterID  from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + ")";
            var sql = "delete from Sc_WorkBillSortBillSub where HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20) and HInterID in(select  HInterID from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + " and HLockOrder != 1 )";
            $.ajax({
                url: GetWEBURL() + '/Gy_SOPBillList/UpDelSQL',
                type: "GET",
@@ -2343,8 +2361,7 @@
        }
        //组装排产
        function get_btnProZZPC(HWorkShopID) {
        function get_btnProZZPC(HWorkShopID) {
            var JDTLen = 0;
            var lMainID = 0;
            var sICMOBillNo = "";
@@ -2372,7 +2389,7 @@
            var HDelData = 0;
            JDTLen = (100 / option.data.length).toFixed(2);
            var HJDLen = 0;
            var HReportQty = 0;
            var HReportQty = 0;
            //如果锁定计划,则不需要再排程
            //查询本车间是否有锁定计划的数据
@@ -2401,7 +2418,7 @@
            });
            //根据车间删除没有锁定的数据
            var sql = "delete from Sc_WorkBillSortBillSub  where  HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20)  and HInterID in(select  HInterID  from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + ")";
            var sql = "delete from Sc_WorkBillSortBillSub where HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20) and HInterID in(select  HInterID from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + " and HLockOrder != 1 )";
            $.ajax({
                url: GetWEBURL() + '/Gy_SOPBillList/UpDelSQL',
                type: "GET",
@@ -2440,18 +2457,25 @@
            window.HIsPriority = false;//是否优先排产
            var HDataLen = option.data.length;//总排产订单长度
            //按任务单优先级 å¾ªçޝ
            for (var i = 0; i < HDataLen; i++) {
            var HProgress = parseInt(100 / HDataLen);
            //按任务单优先级 å¾ªçޝ
            for (var i = 0; i < HDataLen; i++) {
                var timer = setInterval(function () {
                    if ((i + 1) * HProgress > 100) {
                        clearInterval(timer);
                    }
                    element.progress('demo', Math.round(Math.random() * 100) + '%')
                },  500);
                //element.progress('demo', (i + 1) * HProgress + '%')
                //判断数组长度是否发生变化,是则重置数组长度
                if (HDataLen != option.data.length) {
                    HDataLen = option.data.length;
                    if (i == option.data.length) {
                        i = option.data.length - 1;
                    }                   
                }
                console.log("1.开始排产第" + (i + 1) + "行订单:" + option.data[i].生产订单号 + ",当前排产日期:" + HPCDate + ",最早开工日期:" + option.data[i].最早开工日期);
                }
                //console.log("1.开始排产第" + (i + 1) + "行订单:" + option.data[i].生产订单号 + ",当前排产日期:" + HPCDate + ",最早开工日期:" + option.data[i].最早开工日期);
                //排产最后一笔订单(若本次为最后一笔订单排产,但当前排产日期还不满足最早开工日期,则当前日期进行累加,直到满足最早开工日期为止)
                if (HArrIndex_PC.length == option.data.length - 1 && HArrIndex.length > 0 && Format(option.data[HArrIndex[0]].最早开工日期, 'yyyy/MM/dd') > HPCDate) {
@@ -2512,8 +2536,7 @@
                }
                //记录已经排产的订单下标
                HArrIndex_PC.push(i);
                console.log("2.开始排产第" + (i + 1) + "行订单:" + option.data[i].生产订单号 + ",当前排产日期:" + HPCDate + ",最早开工日期:" + option.data[i].最早开工日期);
                //console.log("2.开始排产第" + (i + 1) + "行订单:" + option.data[i].生产订单号 + ",当前排产日期:" + HPCDate + ",最早开工日期:" + option.data[i].最早开工日期);
                //如果本次最后一笔订单排产,但还存在因最早开工日期不满足的而排产不了的订单则加长循环长度
                if (i == HDataLen - 1 && HArrIndex.length > 0) {
@@ -2555,7 +2578,6 @@
                else {
                    sLeftProdTimes = iLeftQty / sWorkQty;
                }                
                //若本任务单已有安排资源(上次排程或者手工排程) åˆ™ä¸å†å¯»æ‰¾èµ„源,直接排程
                if (option.data[i]["HSourceID"] != 0 && option.data[i]["生产资源"] != "") {
                    //获取该生产资源的剩余工时进行排程。
@@ -2600,7 +2622,6 @@
                        }
                    });
                }
                if (ds == null || ds.length == 0) //没有可以排的资源
                {
                    get_HFData(1, i);
@@ -2648,11 +2669,13 @@
                                });
                                if (dsSub == null || dsSub.length == 0) {
                                    console.log("i值1:::" + (i + 1));
                                    get_HFData(1, i);
                                    continue;//如果没有剩余则 æ‰§è¡Œä¸‹ä¸€ä¸ªç”Ÿäº§è®¢å•
                                }
                                if (dsSub != null)//不加班排程
                                {
                                    console.log("i值2:::" + (i + 1));
                                    iRow = i + 1;
                                    //将数据排到网格中
                                    SetInfoToGrid(option, dsSub, null, (iRow - 1), iLeftQty, sWorkQty, false, HPlanDay);
@@ -2667,7 +2690,7 @@
                            get_HFData(1, i);
                        }
                    }              
                }
                }
            }
            table.render(option);
            get_FastQuery(2);
@@ -2932,6 +2955,7 @@
                }
            }
            console.log("i值3:::" + (iRow + 1));
        }
        //查询生产订单
@@ -3370,6 +3394,7 @@
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
            console.log("i值4:::");
        }
        //行内快捷键
@@ -3559,6 +3584,80 @@
                });
            }
        }
        //锁定工单
        function get_btnLockOrder() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (data.length > 0) {
                var HInterIDArr = [];
                for (var i = 0; i < data.length; i++) {
                    HInterIDArr.push(data[i].hmainid);
                }
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHLockedOrder',
                    type: "GET",
                    data: { "HInterIDs": HInterIDArr.toString() },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg("工单已锁定");
                            get_FastQuery(2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            } else {
                layer.msg('请选择你要锁定的工单!');
            }
        }
        //解锁工单
        function get_btnUnlockOrder() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (data.length > 0) {
                var HInterIDArr = [];
                for (var i = 0; i < data.length; i++) {
                    HInterIDArr.push(data[i].hmainid);
                }
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHUnlockOrder',
                    type: "GET",
                    data: { "HInterIDs": HInterIDArr.toString() },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg("工单已解锁");
                            get_FastQuery(2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            } else {
                layer.msg('请选择你要解锁的工单!');
            }
        }
        //查询未排产的生产订单
        function get_Display2(sWhere_ICMO) {
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/Sc_BulkEditWorkTime.html
New file
@@ -0,0 +1,416 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>批改上班工时</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 10px;">
                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="Exit" id="Exit">退出</button>
                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">确认修改</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <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="HSourceNumber1" lay-verify="HSourceNumber1" id="HSourceNumber1" style="width: 60%;display: inline-block;">
                                                <input type="hidden" class="layui-input" name="HSourceID1" lay-verify="HSourceID1" id="HSourceID1" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHSource1" id="btnHSource1" style="padding: 0 10px;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>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HSourceNumber2" lay-verify="HSourceNumber2" id="HSourceNumber2" style="width: 60%;display: inline-block;">
                                                <input type="hidden" class="layui-input" name="HSourceID2" lay-verify="HSourceID2" id="HSourceID2" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHSource2" id="btnHSource2" style="padding: 0 10px;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>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="width:183px;padding-left: 70px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline" style="margin-left:45px;">
                                            <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="HEndDate" name="HEndDate" id="HEndDate" style="width:183px;padding-left: 70px;">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HWorkTime" lay-verify="HWorkTime" id="HWorkTime">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    //#region æ–‡æœ¬æ¡†è¾“入搜索相关数据-变量
    var childPage = null;                       //获取子窗口对象,用于操作子窗口的变量和方法
    var currRowIndex = 0;                       //用于定位子窗口当前选中的行
    var childData = null;                       //用于获取子窗口返回的数据
    //#endregion
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element;
        //查询条件
        var sWhere = "";
        var option = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //保存提交
        form.on('submit(btnSave)', function (data) {//提交
            set_AddNew(data);
        });
        //退出
        form.on('submit(Exit)', function () {
            Pub_Close(1);
        })
        //选择生产资源1按钮
        form.on('submit(btnHSource1)', function () {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '生产资源'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/生产基础资料/Gy_Source.html', '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('请选择数据');
                    }
                    //获取数据
                    $("#HSourceID1").val(checkStatus.data[0].HItemID);//物料id
                    $("#HSourceNumber1").val(checkStatus.data[0].生产资源代码);//物料名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //选择生产资源2按钮
        form.on('submit(btnHSource2)', function () {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '生产资源'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/生产基础资料/Gy_Source.html', '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('请选择数据');
                    }
                    //获取数据
                    $("#HSourceID2").val(checkStatus.data[0].HItemID);//物料id
                    $("#HSourceNumber2").val(checkStatus.data[0].生产资源代码);//物料名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //#endregion
        //#region æ–‡æœ¬æ¡†ç›‘听
        $(document).ready(function () {
            //#region æ ¹æ®ç”Ÿäº§èµ„源代码获取生产资源基础资料筛选弹窗
            //根据元素ID对元素进行监听=============================================================================
            $("#HSourceNumber1").on('keydown', function (data) {
                //================================================================================================
                var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                    if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                        var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                        var innerHeight = window.innerHeight;
                        var top = offset.top + 0.05 * innerHeight;
                        var left = offset.left;
                        if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                            top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                        }
                        layer.open({
                            type: 2                                                                                     //弹窗类型
                            , skin: 'layui-layer-rim'                                                                   //加上边框
                            , area: ['35%', '50%']                                                                      //大小
                            , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                            , offset: [top, left]
                            , title: false                                                                              //不显示标题栏
                            //, title: '项目费用列表'                                                                     //标题
                            , shift: 2                                                                                  //弹出动画
                            , closeBtn: 0                                                                               //禁用关闭按钮
                            , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                            , success: function (layero, index) {
                                setTimeout(function () {
                                    //修改,根据文本框数据,编写查询语句================================================================================================
                                    var value = $("#HSourceNumber1").val().replace(/'/g, "");                                  //获取文本框最新值
                                    currRowIndex = 0;
                                    var tableView = "h_v_Gy_SourceList";
                                    var childSWhere = "select top(10) HItemID,生产资源代码,生产资源名称 from " + tableView + " where 1=1 and (生产资源代码 like '%" + value + "%') order by ç”Ÿäº§èµ„源代码 desc";
                                    childPage.getData(childSWhere, tableView);
                                    //===================================================================================================================================
                                }, 200);
                            }
                            , end: function () {
                                childPage = null;
                                currRowIndex = 0;
                                if (childData != null) {
                                    //根据弹窗返回数据设置文本框数据=================================================================================================
                                    //获取数据
                                    $("#HSourceID1").val(childData.HItemID);//生产资源id
                                    $("#HSourceNumber1").val(childData.生产资源代码);//生产资源名称
                                    //===============================================================================================================================
                                    childData = null;
                                }
                            }
                        });
                    } else {
                        setTimeout(function () {
                            //修改,根据文本框数据,编写查询语句================================================================================================
                            var value = $("#HSourceNumber1").val().replace(/'/g, "");                                  //获取文本框最新值
                            currRowIndex = 0;
                            var tableView = "h_v_Gy_SourceList";
                            var childSWhere = "select top(10) HItemID,生产资源代码,生产资源名称 from " + tableView + " where 1=1 and (生产资源代码 like '%" + value + "%') order by ç”Ÿäº§èµ„源代码 desc";
                            childPage.getData(childSWhere, tableView);
                            //=================================================================================================================================
                        }, 200);
                    }
                } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                    if (event.key == "ArrowUp") {
                        currRowIndex--;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "ArrowDown") {
                        currRowIndex++;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "Enter") {
                        //手动失焦
                        var element = document.getElementById("HSourceNumber1");
                        element.blur();
                        childPage.getSelectedData(currRowIndex);
                        if (childData != null) {
                            //根据弹窗返回数据设置文本框数据=================================================================================================
                            //获取数据
                            $("#HSourceID1").val(childData.HItemID);//生产资源id
                            $("#HSourceNumber1").val(childData.生产资源代码);//生产资源名称
                            //===============================================================================================================================
                            childData = null;
                        }
                        childPage = null;
                        currRowIndex = 0;
                        childData = null;
                    }
                }
            });
            //#endregion
            //#region æ ¹æ®ç”Ÿäº§èµ„源代码获取生产资源基础资料筛选弹窗
            //根据元素ID对元素进行监听=============================================================================
            $("#HSourceNumber2").on('keydown', function (data) {
                //================================================================================================
                var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                    if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                        var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                        var innerHeight = window.innerHeight;
                        var top = offset.top + 0.05 * innerHeight;
                        var left = offset.left;
                        if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                            top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                        }
                        layer.open({
                            type: 2                                                                                     //弹窗类型
                            , skin: 'layui-layer-rim'                                                                   //加上边框
                            , area: ['35%', '50%']                                                                      //大小
                            , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                            , offset: [top, left]
                            , title: false                                                                              //不显示标题栏
                            //, title: '项目费用列表'                                                                     //标题
                            , shift: 2                                                                                  //弹出动画
                            , closeBtn: 0                                                                               //禁用关闭按钮
                            , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                            , success: function (layero, index) {
                                setTimeout(function () {
                                    //修改,根据文本框数据,编写查询语句================================================================================================
                                    var value = $("#HSourceNumber2").val().replace(/'/g, "");                                  //获取文本框最新值
                                    currRowIndex = 0;
                                    var tableView = "h_v_Gy_SourceList";
                                    var childSWhere = "select top(10) HItemID,生产资源代码,生产资源名称 from " + tableView + " where 1=1 and (生产资源代码 like '%" + value + "%') order by ç”Ÿäº§èµ„源代码 desc";
                                    childPage.getData(childSWhere, tableView);
                                    //===================================================================================================================================
                                }, 200);
                            }
                            , end: function () {
                                childPage = null;
                                currRowIndex = 0;
                                if (childData != null) {
                                    //根据弹窗返回数据设置文本框数据=================================================================================================
                                    //获取数据
                                    $("#HSourceID2").val(childData.HItemID);//生产资源id
                                    $("#HSourceNumber2").val(childData.生产资源代码);//生产资源名称
                                    //===============================================================================================================================
                                    childData = null;
                                }
                            }
                        });
                    } else {
                        setTimeout(function () {
                            //修改,根据文本框数据,编写查询语句================================================================================================
                            var value = $("#HSourceNumber2").val().replace(/'/g, "");                                  //获取文本框最新值
                            currRowIndex = 0;
                            var tableView = "h_v_Gy_SourceList";
                            var childSWhere = "select top(10) HItemID,生产资源代码,生产资源名称 from " + tableView + " where 1=1 and (生产资源代码 like '%" + value + "%') order by ç”Ÿäº§èµ„源代码 desc";
                            childPage.getData(childSWhere, tableView);
                            //=================================================================================================================================
                        }, 200);
                    }
                } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                    if (event.key == "ArrowUp") {
                        currRowIndex--;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "ArrowDown") {
                        currRowIndex++;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "Enter") {
                        //手动失焦
                        var element = document.getElementById("HSourceNumber2");
                        element.blur();
                        childPage.getSelectedData(currRowIndex);
                        if (childData != null) {
                            //根据弹窗返回数据设置文本框数据=================================================================================================
                            //获取数据
                            $("#HSourceID2").val(childData.HItemID);//生产资源id
                            $("#HSourceNumber2").val(childData.生产资源代码);//生产资源名称
                            //===============================================================================================================================
                            childData = null;
                        }
                        childPage = null;
                        currRowIndex = 0;
                        childData = null;
                    }
                }
            });
            //#endregion
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        //初始化界面
        function set_ClearBill() {
            //初始化日期
            $("#HBeginDate").val(Format(new Date(new Date()), "yyyy-MM-dd"));//提料日期
            $("#HEndDate").val(Format(new Date($("#HBeginDate").val()).setDate(new Date($("#HBeginDate").val()).getDate() + 30), "yyyy-MM-dd"));//至
        }
        //保存HMaker
        function set_AddNew(data) {
            var HSourceNumber1 = $("#HSourceNumber1").val();
            var HSourceNumber2 = $("#HSourceNumber2").val();
            var HBeginDate = $("#HBeginDate").val();
            var HEndDate = $("#HEndDate").val();
            var HWorkTime = $("#HWorkTime").val();
            $.ajax({
                url: GetWEBURL() + '/Gy_PlanShifts/BulkWorkTime',
                type: "GET",
                data: { "HSourceNumber1": HSourceNumber1, "HSourceNumber2": HSourceNumber2, "HBeginDate": HBeginDate, "HEndDate": HEndDate, "HWorkTime": HWorkTime },
                success: function (data1) {
                    if (data1.count == 1) {
                        layer.msg(data1.Message);
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
    });
</script>
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/Sc_ShopCalendar.html
@@ -56,6 +56,7 @@
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn_BulkEditWorkTime" id="btn_BulkEditWorkTime" style="padding:0 5px">批改上班工时</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn_Exit" id="btn_Exit" style="padding:0 5px">退出</button>
                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>-->
                            </div>
@@ -248,6 +249,21 @@
                    Pub_Close(2); 
                }               
            });
            //批量修改上班工时
            form.on('submit(btn_BulkEditWorkTime)', function (data) {
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "批改上班工时"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "80%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['./Sc_BulkEditWorkTime.html', "yes"]
                })
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
WebTM/views/¼Æ»®¹ÜÀí/¹¤ÒÕ·Ïß/Gy_BulkEditWorkQty.html
New file
@@ -0,0 +1,531 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>批改小时产能</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 10px;">
                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="Exit" id="Exit">退出</button>
                        <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">确认修改</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <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="HMaterNumber1" lay-verify="HMaterNumber1" id="HMaterNumber1" style="width: 60%;display: inline-block;">
                                                <input type="hidden" class="layui-input" name="HMaterID1" lay-verify="HMaterID1" id="HMaterID1" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMater1" id="btnHMater1" style="padding: 0 10px;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>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaterNumber2" lay-verify="HMaterNumber2" id="HMaterNumber2" style="width: 60%;display: inline-block;">
                                                <input type="hidden" class="layui-input" name="HMaterID2" lay-verify="HMaterID2" id="HMaterID2" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMater2" id="btnHMater2" style="padding: 0 10px;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>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HProcName" lay-verify="HProcName" id="HProcName" style="width: 60%;display: inline-block;">
                                                <input type="hidden" class="layui-input" name="HProcID" lay-verify="HProcID" id="HProcID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHProc" id="btnHProc" style="padding: 0 10px;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HWorkQty" lay-verify="HWorkQty" id="HWorkQty">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    //#region æ–‡æœ¬æ¡†è¾“入搜索相关数据-变量
    var childPage = null;                       //获取子窗口对象,用于操作子窗口的变量和方法
    var currRowIndex = 0;                       //用于定位子窗口当前选中的行
    var childData = null;                       //用于获取子窗口返回的数据
    //#endregion
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element;
        //查询条件
        var sWhere = "";
        var option = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //保存提交
        form.on('submit(btnSave)', function (data) {//提交
            set_AddNew(data);
        });
        //退出
        form.on('submit(Exit)', function () {
            Pub_Close(1);
        })
        //选择物料1按钮
        form.on('submit(btnHMater1)', function () {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '物料'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_Material.html', '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('请选择数据');
                    }
                    //获取数据
                    $("#HMaterID1").val(checkStatus.data[0].HItemID);//物料id
                    $("#HMaterNumber1").val(checkStatus.data[0].物料代码);//物料名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //选择物料2按钮
        form.on('submit(btnHMater2)', function () {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '物料'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_Material.html', '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('请选择数据');
                    }
                    //获取数据
                    $("#HMaterID2").val(checkStatus.data[0].HItemID);//物料id
                    $("#HMaterNumber2").val(checkStatus.data[0].物料代码);//物料名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //选择工序按钮
        form.on('submit(btnHProc)', function () {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '工序'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/生产基础资料/Gy_Process.html', '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('请选择数据');
                    }
                    //获取数据
                    $("#HProcID").val(checkStatus.data[0].HItemID);//物料id
                    $("#HProcName").val(checkStatus.data[0].工序名称);//工序名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //#endregion
        //#region æ–‡æœ¬æ¡†ç›‘听
        $(document).ready(function () {
            //#region æ ¹æ®ç‰©æ–™ä»£ç èŽ·å–ç‰©æ–™åŸºç¡€èµ„æ–™ç­›é€‰å¼¹çª—
            //根据元素ID对元素进行监听=============================================================================
            $("#HMaterNumber1").on('keydown', function (data) {
                //================================================================================================
                var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                    if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                        var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                        var innerHeight = window.innerHeight;
                        var top = offset.top + 0.05 * innerHeight;
                        var left = offset.left;
                        if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                            top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                        }
                        layer.open({
                            type: 2                                                                                     //弹窗类型
                            , skin: 'layui-layer-rim'                                                                   //加上边框
                            , area: ['35%', '50%']                                                                      //大小
                            , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                            , offset: [top, left]
                            , title: false                                                                              //不显示标题栏
                            //, title: '项目费用列表'                                                                     //标题
                            , shift: 2                                                                                  //弹出动画
                            , closeBtn: 0                                                                               //禁用关闭按钮
                            , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                            , success: function (layero, index) {
                                setTimeout(function () {
                                    //修改,根据文本框数据,编写查询语句================================================================================================
                                    var value = $("#HMaterNumber1").val().replace(/'/g, "");                                  //获取文本框最新值
                                    currRowIndex = 0;
                                    var tableView = "h_v_Gy_MaterialList";
                                    var childSWhere = "select top(10) HItemID,物料代码,物料名称 from " + tableView + " where 1=1 and (物料代码 like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                                    childPage.getData(childSWhere, tableView);
                                    //===================================================================================================================================
                                }, 200);
                            }
                            , end: function () {
                                childPage = null;
                                currRowIndex = 0;
                                if (childData != null) {
                                    //根据弹窗返回数据设置文本框数据=================================================================================================
                                    //获取数据
                                    $("#HMaterID1").val(childData.HItemID);//物料id
                                    $("#HMaterNumber1").val(childData.物料代码);//物料名称
                                    //===============================================================================================================================
                                    childData = null;
                                }
                            }
                        });
                    } else {
                        setTimeout(function () {
                            //修改,根据文本框数据,编写查询语句================================================================================================
                            var value = $("#HMaterNumber1").val().replace(/'/g, "");                                  //获取文本框最新值
                            currRowIndex = 0;
                            var tableView = "h_v_Gy_MaterialList";
                            var childSWhere = "select top(10) HItemID,物料代码,物料名称 from " + tableView + " where 1=1 and (物料代码 like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                            childPage.getData(childSWhere, tableView);
                            //=================================================================================================================================
                        }, 200);
                    }
                } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                    if (event.key == "ArrowUp") {
                        currRowIndex--;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "ArrowDown") {
                        currRowIndex++;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "Enter") {
                        //手动失焦
                        var element = document.getElementById("HMaterNumber");
                        element.blur();
                        childPage.getSelectedData(currRowIndex);
                        if (childData != null) {
                            //根据弹窗返回数据设置文本框数据=================================================================================================
                            //获取数据
                            $("#HMaterID1").val(childData.HItemID);//物料id
                            $("#HMaterNumber1").val(childData.物料代码);//物料名称
                            //===============================================================================================================================
                            childData = null;
                        }
                        childPage = null;
                        currRowIndex = 0;
                        childData = null;
                    }
                }
            });
            //#endregion
            //#region æ ¹æ®ç‰©æ–™ä»£ç èŽ·å–ç‰©æ–™åŸºç¡€èµ„æ–™ç­›é€‰å¼¹çª—
            //根据元素ID对元素进行监听=============================================================================
            $("#HMaterNumber2").on('keydown', function (data) {
                //================================================================================================
                var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                    if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                        var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                        var innerHeight = window.innerHeight;
                        var top = offset.top + 0.05 * innerHeight;
                        var left = offset.left;
                        if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                            top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                        }
                        layer.open({
                            type: 2                                                                                     //弹窗类型
                            , skin: 'layui-layer-rim'                                                                   //加上边框
                            , area: ['35%', '50%']                                                                      //大小
                            , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                            , offset: [top, left]
                            , title: false                                                                              //不显示标题栏
                            //, title: '项目费用列表'                                                                     //标题
                            , shift: 2                                                                                  //弹出动画
                            , closeBtn: 0                                                                               //禁用关闭按钮
                            , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                            , success: function (layero, index) {
                                setTimeout(function () {
                                    //修改,根据文本框数据,编写查询语句================================================================================================
                                    var value = $("#HMaterNumber2").val().replace(/'/g, "");                                  //获取文本框最新值
                                    currRowIndex = 0;
                                    var tableView = "h_v_Gy_MaterialList";
                                    var childSWhere = "select top(10) HItemID,物料代码,物料名称 from " + tableView + " where 1=1 and (物料代码 like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                                    childPage.getData(childSWhere, tableView);
                                    //===================================================================================================================================
                                }, 200);
                            }
                            , end: function () {
                                childPage = null;
                                currRowIndex = 0;
                                if (childData != null) {
                                    //根据弹窗返回数据设置文本框数据=================================================================================================
                                    //获取数据
                                    $("#HMaterID2").val(childData.HItemID);//物料id
                                    $("#HMaterNumber2").val(childData.物料代码);//物料名称
                                    //===============================================================================================================================
                                    childData = null;
                                }
                            }
                        });
                    } else {
                        setTimeout(function () {
                            //修改,根据文本框数据,编写查询语句================================================================================================
                            var value = $("#HMaterNumber2").val().replace(/'/g, "");                                  //获取文本框最新值
                            currRowIndex = 0;
                            var tableView = "h_v_Gy_MaterialList";
                            var childSWhere = "select top(10) HItemID,物料代码,物料名称 from " + tableView + " where 1=1 and (物料代码 like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                            childPage.getData(childSWhere, tableView);
                            //=================================================================================================================================
                        }, 200);
                    }
                } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                    if (event.key == "ArrowUp") {
                        currRowIndex--;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "ArrowDown") {
                        currRowIndex++;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "Enter") {
                        //手动失焦
                        var element = document.getElementById("HMaterNumber2");
                        element.blur();
                        childPage.getSelectedData(currRowIndex);
                        if (childData != null) {
                            //根据弹窗返回数据设置文本框数据=================================================================================================
                            //获取数据
                            $("#HMaterID2").val(childData.HItemID);//物料id
                            $("#HMaterNumber2").val(childData.物料代码);//物料名称
                            //===============================================================================================================================
                            childData = null;
                        }
                        childPage = null;
                        currRowIndex = 0;
                        childData = null;
                    }
                }
            });
            //#endregion
            //#region æ ¹æ®å·¥åºèŽ·å–ç‰©æ–™åŸºç¡€èµ„æ–™ç­›é€‰å¼¹çª—
            //根据元素ID对元素进行监听=============================================================================
            $("#HProcName").on('keydown', function (data) {
                //================================================================================================
                var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                    if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                        var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                        var innerHeight = window.innerHeight;
                        var top = offset.top + 0.05 * innerHeight;
                        var left = offset.left;
                        if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                            top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                        }
                        layer.open({
                            type: 2                                                                                     //弹窗类型
                            , skin: 'layui-layer-rim'                                                                   //加上边框
                            , area: ['35%', '50%']                                                                      //大小
                            , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                            , offset: [top, left]
                            , title: false                                                                              //不显示标题栏
                            //, title: '项目费用列表'                                                                     //标题
                            , shift: 2                                                                                  //弹出动画
                            , closeBtn: 0                                                                               //禁用关闭按钮
                            , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                            , success: function (layero, index) {
                                setTimeout(function () {
                                    //修改,根据文本框数据,编写查询语句================================================================================================
                                    var value = $("#HProcName").val().replace(/'/g, "");                                  //获取文本框最新值
                                    currRowIndex = 0;
                                    var tableView = "h_v_Gy_ProcessList";
                                    var childSWhere = "select top(10) HItemID,工序代码,工序名称 from " + tableView + " where 1=1 and (工序代码 like '%" + value + "%' or å·¥åºåç§° like '%" + value + "%') order by å·¥åºä»£ç  desc";
                                    childPage.getData(childSWhere, tableView);
                                    //===================================================================================================================================
                                }, 200);
                            }
                            , end: function () {
                                childPage = null;
                                currRowIndex = 0;
                                if (childData != null) {
                                    //根据弹窗返回数据设置文本框数据=================================================================================================
                                    //获取数据
                                    $("#HProcID").val(childData.HItemID);//物料id
                                    $("#HProcName").val(childData.工序名称);//物料名称
                                    //===============================================================================================================================
                                    childData = null;
                                }
                            }
                        });
                    } else {
                        setTimeout(function () {
                            //修改,根据文本框数据,编写查询语句================================================================================================
                            var value = $("#HProcName").val().replace(/'/g, "");                                  //获取文本框最新值
                            currRowIndex = 0;
                            var tableView = "h_v_Gy_ProcessList";
                            var childSWhere = "select top(10) HItemID,工序代码,工序名称 from " + tableView + " where 1=1 and (工序代码 like '%" + value + "%' or å·¥åºåç§° like '%" + value + "%') order by å·¥åºä»£ç  desc";
                            childPage.getData(childSWhere, tableView);
                            //=================================================================================================================================
                        }, 200);
                    }
                } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                    if (event.key == "ArrowUp") {
                        currRowIndex--;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "ArrowDown") {
                        currRowIndex++;
                        childPage.setSelectedRow(currRowIndex);
                    } else if (event.key == "Enter") {
                        //手动失焦
                        var element = document.getElementById("HProcName");
                        element.blur();
                        childPage.getSelectedData(currRowIndex);
                        if (childData != null) {
                            //根据弹窗返回数据设置文本框数据=================================================================================================
                            //获取数据
                            $("#HProcID").val(childData.HItemID);//物料id
                            $("#HProcName").val(childData.工序名称);//物料名称
                            //===============================================================================================================================
                            childData = null;
                        }
                        childPage = null;
                        currRowIndex = 0;
                        childData = null;
                    }
                }
            });
            //#endregion
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        //初始化界面
        function set_ClearBill() {
        }
        //保存HMaker
        function set_AddNew(data) {
            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);//禁用保存按钮
            var HMaterNumber1 = $("#HMaterNumber1").val();
            var HMaterNumber2 = $("#HMaterNumber2").val();
            var HProcID = $("#HProcID").val();
            var HWorkQty = $("#HWorkQty").val();
            $.ajax({
                url: GetWEBURL() + '/Gy_RoutingBill/BulkWorkQty',
                type: "GET",
                data: { "HMaterNumber1": HMaterNumber1, "HMaterNumber2": HMaterNumber2, "HProcID": HProcID, "HWorkQty": HWorkQty },
                success: function (data1) {
                    if (data1.count == 1) {
                        layer.msg(data1.Message);
                    } else {
                        $('#btnSave').removeClass("layui-btn-disabled").attr("disabled", false);//启用保存按钮
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    $('#btnSave').removeClass("layui-btn-disabled").attr("disabled", false);//启用保存按钮
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
    });
</script>