WebTM/views/Éú²ú¹ÜÀí/Éú²ú¿ª¹¤µ¥/Sc_Add_MESBeginWorkBillList.html
@@ -199,10 +199,18 @@
                                                            </button>
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
                                                    <div class="layui-inline" style="display:none">
                                                        <label class="layui-form-label">源单行号:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="HMainSourceEntryID" lay-verify="HMainSourceEntryID" id="HMainSourceEntryID" autocomplete="off" disabled>
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">生产订单:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="HICMOBillNo" lay-verify="HICMOBillNo" id="HICMOBillNo" autocomplete="off">
                                                            <input id="HICMOInterID" name="HICMOInterID" type="hidden" />
                                                            <input id="HICMOEntryID" name="HICMOEntryID" type="hidden" />
                                                        </div>
                                                    </div>
                                                </div>
@@ -228,13 +236,16 @@
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">生产订单:</label>
                                                        <label class="layui-form-label">生产班次:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="HICMOBillNo" lay-verify="HICMOBillNo" id="HICMOBillNo" autocomplete="off">
                                                            <input id="HICMOInterID" name="HICMOInterID" type="hidden" />
                                                            <input id="HICMOEntryID" name="HICMOEntryID" type="hidden" />
                                                            <input type="text" name="HWorkShiftName" id="HWorkShiftName" class="layui-input" value="" style="float:left;width:150px;">
                                                            <input type="hidden" name="HWorkShiftID" id="HWorkShiftID" class="layui-input" value="" style="float:left;width:150px;">
                                                            <button type="button" lay-submit="" class="layui-btn" lay-filter="HWorkShiftList" id="HWorkShiftLists" style="width:40px;">
                                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                            </button>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="layui-tab-item">
@@ -336,7 +347,7 @@
    </div>
    <script>
        //获取参数
        var OptionData = [];
        var OptionData = [];
        var HBillType = "";  //单据类型
        var HSourceInterID = ""; //源单主内码
        var HSourceEntryID = "";  //源单子内码
@@ -368,7 +379,7 @@
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
             //#region å…¬ç”¨å˜é‡
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
@@ -377,6 +388,9 @@
                , laydate = layui.laydate
                , element = layui.element;
            //#endregion
            //定义变量 ç”¨äºŽèŽ·å–å½“å‰ç­æ¬¡
            var HCenterID = "";
            //初始化表单插件
            set_InitFrom();
@@ -387,18 +401,24 @@
                $("#HEmpName").val(sessionStorage["HEmpName"]); //根据登录用户带出操作员
                $("#HGroupID").val(sessionStorage["HGroupID"]); //根据登录用户带出班组ID
                $("#HGroupName").val(sessionStorage["HGroup"]); //根据登录用户带出班组
                HCenterID = sessionStorage["HWorkCenterID"]; //根据登录用户带出工作中心ID
                //初始化计划表
                get_InitGrid();
                set_AddFNew();
                //获取当前班次
                get_HWorkShift();
            }
            else if (OperationType == 2) {//有源单
                $("#HEmpID").val(sessionStorage["HEmpID"]); //根据登录用户带出操作员ID
                $("#HEmpName").val(sessionStorage["HEmpName"]); //根据登录用户带出操作员
                $("#HGroupID").val(sessionStorage["HGroupID"]); //根据登录用户带出班组ID
                $("#HGroupName").val(sessionStorage["HGroup"]); //根据登录用户带出班组
                HCenterID = sessionStorage["HWorkCenterID"]; //根据登录用户带出工作中心ID
                //初始化计划表
                get_InitGrid();
                set_AddNew();
                //获取当前班次
                get_HWorkShift();
            }
            else if (OperationType == 3) {//编辑
                //初始化计划表
@@ -408,7 +428,7 @@
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //初始化插件
            function set_InitFrom() {
                //日期时间选择器
@@ -447,8 +467,7 @@
            }
            //无源单新增
            function set_AddFNew()
            {
            function set_AddFNew() {
                //加源单类型区分(可以写不同的方法)
            }
@@ -485,7 +504,7 @@
                    {
                        type: "GET",
                        url: GetWEBURL() + "/Sc_MESBeginWorkBill/GetMESBeginWorkFrom", //方法所在页面和方法名
                        async: true,
                        async: false,
                        data: {
                            "HSourceInterID": HSourceInterID,
                            "HSourceEntryID": HSourceEntryID,
@@ -514,6 +533,7 @@
                                $("#HICMOInterID").val(LoadData[0].HICMOInterID); //生产订单ID
                                $("#HICMOEntryID").val(LoadData[0].HICMOEntryID); //生产订单子ID
                                $("#HICMOBillNo").val(LoadData[0].HICMOBillNo); //生产订单
                                HCenterID = LoadData[0].HCenterID == null ? sessionStorage["HWorkCenterID"] : LoadData[0].HCenterID;//工作中心id
                            }
                            else {
                                layer.alert(data.Message, { icon: 5 });
@@ -525,10 +545,9 @@
                        }
                    });
            }
            //编辑
            function set_EditFromGrid()
            {
            function set_EditFromGrid() {
                refSav = "Update";
                $('#HMaterCode').attr("disabled", true);
                $('#HMaterList').addClass("layui-btn-disabled").attr("disabled", true);
@@ -617,8 +636,7 @@
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
            }
            }
            //判断是否新增
            if (linterid == null || linterid == 0) {
@@ -639,7 +657,7 @@
                $("#HInterID").val(linterid);//修改时主表ID
            }
              //获取下拉选中值
            //获取下拉选中值
            form.on('select(SourceType)', function (data) {
                Sctag = data.value;
                form.render('select');
@@ -660,17 +678,13 @@
                }
            });
            //保存提交
            form.on('submit(Saver)', function (data) {
                //禁用保存按钮
                $('#Saver').addClass("layui-btn-disabled").attr("disabled", true);
                //判断系统参数是否勾选
                Xt_AllowLoadData(data);
            });
            //审核按钮提交
@@ -679,8 +693,7 @@
            });
            //审核提交
            function SaveVerify()
            {
            function SaveVerify(HName) {
                var InterID = $("#HInterID").val();
                if (!AllowLoadData())//数据验证
                {
@@ -690,13 +703,14 @@
                    type: "GET",
                    url: GetWEBURL() + "/Sc_MESBeginWorkBill/AuditProcessReportList", //方法所在页面和方法名
                    async: true,
                    data: { "HInterID": InterID, "IsAudit": 0, "CurUserName": sessionStorage["HUserName"] },
                    data: { "HInterID": InterID, "IsAudit": 0, "CurUserName": HName },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            layer.msg(data.Message, { time: 1 * 2000, icon: 1 }, function (index) {
                                //layer.close(layer.index);
                                //window.parent.location.reload();
                                $('#VerIfySaver').addClass("layui-btn-disabled").attr("disabled", true);//审核按钮禁用
                            });
                        }
                        else {
@@ -708,7 +722,7 @@
                    }
                })
            }
            //退出
            form.on('submit(Exit)', function (data) {
@@ -911,6 +925,44 @@
                });
            });
            //表头信息班次弹窗
            form.on('submit(HWorkShiftList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '班次列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../基础资料/生产基础资料/Gy_WorkShiftList.html?type=HWorkShifts&OperationType=2', '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('请选择数据');
                        }
                        $("#HWorkShiftName").val(checkStatus.data[0].班次名称);
                        $("#HWorkShiftID").val(checkStatus.data[0].HInterID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
@@ -960,7 +1012,7 @@
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            table.render(option);//将数据渲染到表格上
                        }
                        break;
                    //上一行
@@ -1199,167 +1251,198 @@
            }
            //#endregion
        function AllowLoadData() {  //非空验证
            var Result = true;
            if ($("#HBillNo").val() == '' || $("#HBillNo").val() == null) {
                layer.msg("单据号不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HDate").val() == '' || $("#HDate").val() == null) {
                layer.msg("单据日期不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HMaterID").val() == '' || $("#HMaterID").val() == null) {
                layer.msg("产品编码不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HBeginWorkTime").val() == '' || $("#HBeginWorkTime").val() == null) {
                layer.msg("开工时间不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HSourceID").val() == '' || $("#HSourceID").val() == null) {
                layer.msg("生产资源不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HEmpID").val() == '' || $("#HEmpID").val() == null) {
                layer.msg("操作员不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HGroupID").val() == '' || $("#HGroupID").val() == null) {
                layer.msg("班组不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HDeptID").val() == '' || $("#HDeptID").val() == null) {
                layer.msg("车间不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if (OperationType == "2") {
                if ($("#HICMOInterID").val() == '' || $("#HICMOInterID").val() == null) {
                    layer.msg("生产订单不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            function AllowLoadData() {  //非空验证
                var Result = true;
                if ($("#HBillNo").val() == '' || $("#HBillNo").val() == null) {
                    layer.msg("单据号不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
            }
            return Result;
        }
        //判断系统参数是否选中
        function Xt_AllowLoadData(data2) {
            $.ajax({
                type: "GET",
                url: GetWEBURL() + "/Sc_MESBeginWorkBill/Xt_AllowLoadData", //方法所在页面和方法名
                async: false,
                data: { "HKey": "Sc_MESBeginWorkBill_SwipeCardStart" },
                success: function (data) {
                    if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        if (data.Verify == "Y") //刷卡验证
                        {
                            layer.msg("需要进行刷卡验证!", { time: 1 * 1000, icon: 1 }, function (index) {
                                layer.open({
                                    type: 2,
                                    skin: 'layui-layer-rim', //加上边框
                                    title: 'IC刷卡',
                                    closeBtn: 1,
                                    shift: 2,
                                    area: ['50%', '80%'],
                                    maxmin: true,
                                    content: '../../生产管理/报工台工序/开工/Sc_SwipeCardStart.html?HSourceInterID=' + HSourceInterID,
                                    end: function () {
                                        if (OptionData.length > 0) {
                                            if (OptionData[0]["data"] == "1") {
                                                save(data2);
                                            } else if (OptionData[0]["data"] == "0") {
                                                layer.msg("因为技能不匹配,无法保存!")
                                            }
                                            OptionData = [];
                                        } else {
                                            $('#Saver').removeClass("layui-btn-disabled").attr("disabled", false);
                                        }
                                    }
                                });
                            });
                        }
                        else {
                            save(data2);
                        }
                    }
                    else {
                        layer.alert(data.Message, { icon: 5 })
                    }
                },
                error: function (err) {
                    layer.alert(err, { icon: 5 })
                if ($("#HDate").val() == '' || $("#HDate").val() == null) {
                    layer.msg("单据日期不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
            })
        }
        //保存
        function save(data) {
            var index = layer.load();
            //获取子表数据
            var num = [];
            for (var i = 0; i < table.cache["mainTable"].length; i++) {
                if (table.cache["mainTable"][i] != "") {
                    table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                    num.push(table.cache["mainTable"][i])
                if ($("#HMaterID").val() == '' || $("#HMaterID").val() == null) {
                    layer.msg("产品编码不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if ($("#HBeginWorkTime").val() == '' || $("#HBeginWorkTime").val() == null) {
                    layer.msg("开工时间不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if ($("#HSourceID").val() == '' || $("#HSourceID").val() == null) {
                    layer.msg("生产资源不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if ($("#HEmpID").val() == '' || $("#HEmpID").val() == null) {
                    layer.msg("操作员不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if ($("#HGroupID").val() == '' || $("#HGroupID").val() == null) {
                    layer.msg("班组不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if ($("#HDeptID").val() == '' || $("#HDeptID").val() == null) {
                    layer.msg("车间不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if (OperationType == "2") {
                    if ($("#HICMOInterID").val() == '' || $("#HICMOInterID").val() == null) {
                        layer.msg("生产订单不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                }
                return Result;
            }
            //子表数据序列化
            var sSubStr = JSON.stringify(num);
            var sMainStr = JSON.stringify(data.field);
            var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] + ';' + refSav;
            if (!AllowLoadData())//数据验证
            {
                return false;
            }
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom", //方法所在页面和方法名
                async: false,
                data: { "msg": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        $("#HInterID").val(data.HInterID);//获取提交成功返回的单据主ID
                        layer.msg(data.Message, { time: 1 * 2000, icon: 1 }, function (index) {
                            //layer.close(layer.index);
                            //window.parent.location.reload();
                            if (data.Verify == "Y") //自动审核
            //判断系统参数是否选中
            function Xt_AllowLoadData(data2) {
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Sc_MESBeginWorkBill/Xt_AllowLoadData", //方法所在页面和方法名
                    async: false,
                    data: { "HKey": "Sc_MESBeginWorkBill_SwipeCardStart" },
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            if (data.Verify == "Y") //刷卡验证
                            {
                                layer.close(index);
                                SaveVerify(); //审核
                                layer.msg("需要进行刷卡验证!", { time: 1 * 1000, icon: 1 }, function (index) {
                                    layer.open({
                                        type: 2,
                                        skin: 'layui-layer-rim', //加上边框
                                        title: 'IC刷卡',
                                        closeBtn: 1,
                                        shift: 2,
                                        area: ['50%', '80%'],
                                        maxmin: true,
                                        content: '../../生产管理/报工台工序/开工/Sc_SwipeCardStart.html?HSourceInterID=' + HSourceInterID + '&HBillType=KG&HBillNo=' + $("#HBillNo").val(),
                                        end: function () {
                                            if (OptionData.length > 0) {
                                                if (OptionData[0]["data"] == "1") {
                                                    data2.field["HMaker"] = OptionData[0]["HName"];
                                                    save(data2);
                                                } else if (OptionData[0]["data"] == "0") {
                                                    layer.msg("因为技能不匹配,无法保存!")
                                                }
                                                OptionData = [];
                                            } else {
                                                $('#Saver').removeClass("layui-btn-disabled").attr("disabled", false);
                                            }
                                        }
                                    });
                                });
                            }
                            else {
                                layer.close(index);
                                save(data2);
                            }
                        });
                        layer.close(index);
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 })
                        }
                    },
                    error: function (err) {
                        layer.alert(err, { icon: 5 })
                    }
                })
            }
                        //layer.confirm(data.Message, {
                        //    btn: ['确认']
                        //}, function (index) {
                        //        if (data.Verify == "Y") //自动审核
                        //        {
                        //            layer.close(index);
                        //            SaveVerify(); //审核
                        //        }
                        //        else {
                        //            layer.close(index);
                        //        }
                        //});
            //保存
            function save(data) {
                var index = layer.load();
                //获取子表数据
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                    else {
                        layer.alert(data.Message, { icon: 5 })
                }
                //更新审核人为刷卡人
                var HName = data.field["HMaker"];
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                var sMainStr = JSON.stringify(data.field);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] + ';' + refSav;
                if (!AllowLoadData())//数据验证
                {
                    return false;
                }
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom", //方法所在页面和方法名
                    async: false,
                    data: { "msg": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            $("#HInterID").val(data.HInterID);//获取提交成功返回的单据主ID
                            layer.msg(data.Message, { time: 1 * 2000, icon: 1 }, function (index) {
                                //layer.close(layer.index);
                                //window.parent.location.reload();
                                if (data.Verify == "Y") //自动审核
                                {
                                    layer.close(index);
                                    SaveVerify(HName); //审核
                                }
                                else {
                                    layer.close(index);
                                }
                            });
                            layer.close(index);
                            //layer.confirm(data.Message, {
                            //    btn: ['确认']
                            //}, function (index) {
                            //        if (data.Verify == "Y") //自动审核
                            //        {
                            //            layer.close(index);
                            //            SaveVerify(); //审核
                            //        }
                            //        else {
                            //            layer.close(index);
                            //        }
                            //});
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 })
                            layer.close(index);
                        }
                    },
                    error: function (err) {
                        layer.alert(err, { icon: 5 })
                        layer.close(index);
                    }
                },
                error: function (err) {
                    layer.alert(err, { icon: 5 })
                    layer.close(index);
                }
            })
        }
                })
            }
            //获取班次
            function get_HWorkShift() {
                var HDeptID = $("#HDeptID").val();
                $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_ShiftsController/Get_HWorkShift", //方法所在页面和方法名
                        data: {
                            "HDeptID": HDeptID,
                            "HCenterID": HCenterID
                        },
                        success: function (data) {
                            if (data.count == 1)// è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            {
                                var LoadData = data.data;
                                $("#HWorkShiftID").val(LoadData[0].HInterID); //当前工序ID
                                $("#HWorkShiftName").val(LoadData[0].班次); //当前工序
                            }
                            else {
                                layer.alert(data.Message, { icon: 5 });
                            }
                        },
                        error: function (err) {
                            layer.alert(err, { icon: 5 });
                        }
                    });
            }
            //以上为layui模块
        });
        function formatDate(date) {
@@ -1385,6 +1468,12 @@
            $("#HGroupID").val(obj[0].HItemID);
        }
        //生产班次
        function GetHWorkShiftsValue(obj) {
            $("#HWorkShiftID").val(obj[0].HInterID); //当前工序ID
            $("#HWorkShiftName").val(obj[0].班次名称); //当前工序
        }
        function GetSwipeCardStart(obj) {
            OptionData[0] = obj;
        }