yxj
2024-10-10 8fc3522a72ffb05e8edd4e186f3ab41d64359516
WebTM/views/Éú²ú¹ÜÀí/±¨¹¤Ì¨¹¤Ðò/¿ª¹¤/Sc_Add_MESBeginStepWorkBillList.html
@@ -16,6 +16,7 @@
    <script src="../../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../../layuiadmin/PageTitle.js"></script>
    <style type="text/css">
        .layui-form-label {
            width: 85px;
@@ -86,23 +87,23 @@
                    <form id="form0" class="layui-form" lay-filter="component-form-group" action="">
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" id="NewAdd" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="NewAdd">新增</button>
                                <button type="button" id="Saver" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                                <button type="button" id="VerIfySaver" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="VerIfySaver">审核</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="a_href" id="a_href">导出</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <h1 style="text-align:center;"><b>生产开工单</b></h1>
                                <h1 style="text-align:center;"><b>开工单</b></h1>
                                <div class="layui-tab-content">
                                    <div class="layui-tab layui-tab-card">
                                        <ul class="layui-tab-title">
                                            <li class="layui-this">基本信息</li>
                                            <li>制单信息</li>
                                        </ul>
                                        <div class="layui-tab-content" style="height: 700px;">
                                        <div class="layui-tab-content" style="height: 400px;">
                                            <div class="layui-tab-item layui-show">
                                                <div class="layui-form-item">
                                                    <div class="layui-inline">
@@ -110,7 +111,7 @@
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" disabled autocomplete="off">
                                                            <input id="HInterID" name="HInterID" type="hidden" />
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
@@ -155,7 +156,7 @@
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">开工时间:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="HBeginDate" id="HBeginDate" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd">
                                                            <input class="layui-input" name="HBeginWorkTime" id="HBeginWorkTime" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd">
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
@@ -203,7 +204,7 @@
                                                    <div class="layui-inline">
                                                        <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>
                                                            <input class="layui-input" name="HMainSourceEntryID" lay-verify="HMainSourceEntryID" id="HMainSourceEntryID" autocomplete="off">
                                                        </div>
                                                    </div>
                                                </div>
@@ -234,6 +235,28 @@
                                                            <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>
                                                <div class="layui-form-item">
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">销售订单号:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="F_YQN_XSDD" lay-verify="F_YQN_XSDD" id="F_YQN_XSDD" disabled autocomplete="off">
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">销售物料名称:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="F_zzzz_Text4" lay-verify="F_zzzz_Text4" id="F_zzzz_Text4" disabled autocomplete="off">
                                                        </div>
                                                    </div>
                                                    <div class="layui-inline">
                                                        <label class="layui-form-label">销售数量:</label>
                                                        <div class="layui-input-inline">
                                                            <input class="layui-input" name="FQTY" lay-verify="FQTY" id="FQTY" disabled autocomplete="off">
                                                        </div>
                                                    </div>
                                                </div>
@@ -311,13 +334,37 @@
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-tab" lay-filter="tab-POStockInBill">
                                    <ul class="layui-tab-title" lay-filter="tab-all">
                                        <li lay-id="1" style="padding:1px;" class="layui-this">计划单</li>
                                    </ul>
                                    <div class="layui-tab-content">
                                        <!--子表-->
                                        <div class="layui-tab-item layui-show">
                                            <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                            <script type="text/html" id="toolbarDemo">
                                                <div class="layui-btn-container">
                                                    <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                                    <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                                </div>
                                            </script>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <!--删除-->
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //获取参数
        var HBillType = "";  //单据类型
@@ -334,16 +381,21 @@
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSBillType = params[params[2]];//源单类型
            var HBillType = params[params[3]];
            var HSourceInterID = params[params[4]];
            var HSourceEntryID = params[params[5]];
            var HSourceBillNo = params[params[6]];
            var HSourceBillType = params[params[7]];
        }
        var edit = function (data) {
            HBillType = data[0].HBillType;
            HSourceInterID = data[0].HSourceInterID;
            HSourceEntryID = data[0].HSourceEntryID;
            HSourceBillNo = data[0].HSourceBillNo;
            HSourceBillType = data[0].HSourceBillType;
        //var edit = function (data) {
        //    HBillType = data[0].HBillType;
        //    HSourceInterID = data[0].HSourceInterID;
        //    HSourceEntryID = data[0].HSourceEntryID;
        //    HSourceBillNo = data[0].HSourceBillNo;
        //    HSourceBillType = data[0].HSourceBillType;
        }
        //}
        layui.config({
@@ -351,7 +403,7 @@
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
             //#region å…¬ç”¨å˜é‡
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
@@ -363,16 +415,30 @@
            //初始化表单插件
            set_InitFrom();
            //全局变量
            window.OptionData = [];
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3787";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //判断操作类型
            if (OperationType == 1) {//无源单
                //初始化计划表
                get_InitGrid();
                set_AddFNew();
            }
            else if (OperationType == 2) {//有源单
                //初始化计划表
                get_InitGrid();
                set_AddNew();
            }
            else if (OperationType == 3) {//编辑
                //初始化计划表
                get_InitGrid();
                set_EditFromGrid();
            }
            else {
@@ -383,7 +449,7 @@
            function set_InitFrom() {
                //日期时间选择器
                laydate.render({
                    elem: '#HBeginDate'
                    elem: '#HBeginWorkTime'
                    , type: 'datetime'
                });
                laydate.render({
@@ -417,10 +483,87 @@
            }
            //无源单新增
            function set_AddFNew()
            {
            function set_AddFNew() {
                refSav = "Add";
                //加源单类型区分(可以写不同的方法)
                $("#HMainSourceEntryID").focus();
                //初始基本信息赋值
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));      //单据日期
                $("#HBeginWorkTime").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"))  //开工日期
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));  //制单日期
                $("#HMaker").val(sessionStorage["HUserName"]);     //制单人
                $('#HMaterCode').attr("disabled", false);
                $('#HMaterCode').attr("readonly", true);
                $('#HMaterList').addClass("layui-btn-disabled").attr("disabled", false);
                $('#HMaterName').attr("readonly", true);
                $('#HMaterSpec').attr("readonly", true);
                $('#HSourceName').attr("disabled", false);
                $('#HSourceName').attr("readonly", true);
                $('#HSourceList').addClass("layui-btn-disabled").attr("disabled", true);
                $('#HEmpName').attr("disabled", false);
                $('#HEmpName').attr("readonly", true);
                $('#HEmpList').addClass("layui-btn-disabled").attr("disabled", true);
                $("#HMainSourceInterID").val("");
                $("#HMainSourceEntryID").val("");
                $("#HMainSourceBillNo").val("");
                $('#HMainSourceBillNo').attr("readonly", true);
                $("#HMainSourceBillType").val("");
                $('#HMainSourceBillNo').attr("disabled", false);
                $('#XDHList').addClass("layui-btn-disabled").attr("disabled", true);
                //扫二维码方法
                $('#HMainSourceEntryID').on('keydown', function (event) {   //扫源码
                    var HBarCode = $('#HMainSourceEntryID').val();
                    if (event.keyCode == 13) {
                        //判断文本框是否有数据    new
                        if (HBarCode == "") {
                            layer.alert("源单行号为空!", { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                            return;
                        }
                        //
                        $.ajax({
                            url: GetWEBURL() + "Sc_MESBeginStepWorkBill/GetMESBeginStepWorkBillByEWM",
                            type: "GET",
                            data: {
                                "sBillBarCode": HBarCode
                            },
                            success: function (result) {
                                var data = result.data.h_v_IF_ICMOBillList[0];
                                if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    form.val("component-form-group", {
                                        "HMaterID": data.HMaterID
                                        , "HMaterCode": data.产品代码
                                        , "HMaterName": data.产品名称
                                        , "HMaterSpec": data.规格型号
                                        , "HSourceID": data.HSourceID
                                        , "HSourceName": data.生产资源
                                        , "HEmpID": data.HEmpID
                                        , "HEmpName": data.业务员
                                        , "HDeptID": data.HDeptID
                                        , "HDeptName": data.生产车间
                                        , "HMainSourceInterID": data.hmainid
                                        , "HMainSourceBillNo": data.单据号
                                        , "HMainSourceBillType": "3710"
                                        , "HICMOInterID": "0"
                                        , "HICMOEntryID": "0"
                                        , "HICMOBillNo": "0"
                                        , "F_YQN_XSDD": data.销售订单编号
                                        , "F_zzzz_Text4": data.销售物料名称
                                        , "FQTY": data.销售数量
                                    });
                                    $("#HMainSourceBillNo").css("box-shadow", "none");
                                    $("#HProcID").val(0);
                                    $("#HProcName").val(0);
                                } else {
                                    layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                                }
                            }, error: function () {
                                layer.alert("扫源码方法发生错误!", { icon: 5 });
                            }
                        });
                    }
                });
            }
            //有源单新增
@@ -428,7 +571,7 @@
                refSav = "Add";
                //初始基本信息赋值
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));      //单据日期
                $("#HBeginDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"))  //开工日期
                $("#HBeginWorkTime").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"))  //开工日期
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));  //制单日期
                $("#HMaker").val(sessionStorage["HUserName"]);     //制单人
@@ -438,7 +581,7 @@
                $('#HMaterList').addClass("layui-btn-disabled").attr("disabled", true);
                $('#HMaterName').attr("disabled", true);
                $('#HMaterSpec').attr("disabled", true);
                $('#HBeginDate').attr("disabled", true);
                $('#HBeginWorkTime').attr("disabled", true);
                $('#HSourceName').attr("disabled", true);
                $('#HSourceList').addClass("layui-btn-disabled").attr("disabled", true);
                $('#HMainSourceBillNo').attr("disabled", true);
@@ -493,16 +636,15 @@
                        }
                    });
            }
            //编辑
            function set_EditFromGrid()
            {
            function set_EditFromGrid() {
                refSav = "Update";
                $('#HMaterCode').attr("disabled", true);
                $('#HMaterList').addClass("layui-btn-disabled").attr("disabled", true);
                $('#HMaterName').attr("disabled", true);
                $('#HMaterSpec').attr("disabled", true);
                $('#HBeginDate').attr("disabled", true);
                $('#HBeginWorkTime').attr("disabled", true);
                $('#HSourceName').attr("disabled", true);
                $('#HSourceList').addClass("layui-btn-disabled").attr("disabled", true);
                $('#HMainSourceBillNo').attr("disabled", true);
@@ -520,9 +662,9 @@
                        "HID": linterid
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data.h_v_Sc_MESBeginWorkBillList_NEW[0];
                            var data = result.data.h_v_Sc_MESBeginWorkBillList_Edit[0];
                            var tableSub = result.data.h_v_Sc_MESBeginWorkBillList_Edit;
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HInterID": data.hmainid
                                , "HBillNo": data.单据号
@@ -533,7 +675,7 @@
                                , "HMaterCode": data.产品代码
                                , "HMaterName": data.产品名称
                                , "HMaterSpec": data.规格型号
                                , "HBeginDate": data.开工时间
                                , "HBeginWorkTime": data.开工时间
                                , "HSourceID": data.HSourceID              //资源ID
                                , "HSourceName": data.资源名称             //资源名称
                                , "HEmpID": data.HEmpID                   //操作员ID
@@ -563,6 +705,20 @@
                            });
                            //子表  èµ‹å€¼
                            var rowdata = [];
                            for (var i = 0; i < tableSub.length; i++) {
                                rowdata.push(
                                    {
                                        "HRelationBillInterID": tableSub[i].HRelationBillInterID, "HRelationBillEntryID": tableSub[i].HRelationBillEntryID, "HRelationBillNo": tableSub[i].HRelationBillNo, "HRelationBillType": tableSub[i].HRelationBillType,
                                        "HICMOInterID": tableSub[i].生产订单内码, "HICMOEntryID": tableSub[i].生产订单子内码, "HICMOBillNo": tableSub[i].生产订单, "HRemark": tableSub[i].备注,
                                        "HProcExchInterID": tableSub[i].HProcExchInterID, "HProcExchEntryID": tableSub[i].HProcExchEntryID, "HProcExchBillNo": tableSub[i].HProcExchBillNo,
                                        "HMaterID": tableSub[i].HMaterID, "HMaterName": tableSub[i].产品名称, "HProcID": tableSub[i].HProcID, "HProcName": tableSub[i].工序名称,
                                    }
                                )
                            }
                            option.data = rowdata;
                            table.render(option);
                        } else {
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
@@ -571,7 +727,7 @@
                    }
                });
            }
            //判断是否新增
            if (linterid == null || linterid == 0) {
@@ -596,7 +752,7 @@
                $("#HInterID").val(linterid);//修改时主表ID
            }
              //获取下拉选中值
            //获取下拉选中值
            form.on('select(SourceType)', function (data) {
                Sctag = data.value;
                form.render('select');
@@ -617,28 +773,58 @@
                }
            });
            form.on('submit(NewAdd)', function (data) {
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '3787' },
                    success: function (d) {
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HInterID").val(0);
                        //$("#HGroupID").val(sessionStorage["HGroupID"]); //默认班组ID
                        //$("#HGroupName").val(sessionStorage["HGroup"]); //默认班组
                        //$("#HEmpID").val(sessionStorage["HKeeperID"]);     //默认操作员ID
                        //$("#HEmpName").val(sessionStorage["HKeeper"]);   //默认操作员
                    }
                });
                set_AddFNew();
            });
            //保存提交
            form.on('submit(Saver)', function (data) {
                //获取子表数据
                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])
                    }
                }
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                var sMainStr = JSON.stringify(data.field);
                var sMainSub = sMainStr + ';' + sessionStorage["HUserName"] + ';' + refSav;
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] + ';' + refSav;
                if (!AllowLoadData())//数据验证
                {
                    return false;
                }
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Sc_MESBeginStepWorkBill/SaveGetMESBeginStepWorkFrom", //方法所在页面和方法名
                    async: false,
                    data: { "msg": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            $("#HInterID").val(data.HInterID);//获取提交成功返回的单据主ID
                            layer.confirm(data.Message, {
                                btn: ['确认']
                            }, function (index) {
                if (OperationType == 1) {
                    $.ajax({
                        type: "POST",
                        url: GetWEBURL() + "/Sc_MESBeginStepWorkBill/SaveGetMESBeginStepWorkBillByEWM", //方法所在页面和方法名
                        async: false,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                $("#HInterID").val(data.HInterID);//获取提交成功返回的单据主ID
                                layer.confirm(data.Message, {
                                    btn: ['确认']
                                }, function (index) {
                                    if (data.Verify == "Y") //自动审核
                                    {
                                        layer.close(index);
@@ -647,16 +833,49 @@
                                    else {
                                        layer.close(index);
                                    }
                            });
                                });
                            }
                            else {
                                layer.alert(data.Message, { icon: 5 })
                            }
                        },
                        error: function (err) {
                            layer.alert(err, { icon: 5 })
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 })
                    })
                }
                else {
                    $.ajax({
                        type: "POST",
                        url: GetWEBURL() + "/Sc_MESBeginStepWorkBill/SaveGetMESBeginStepWorkFrom", //方法所在页面和方法名
                        async: false,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                $("#HInterID").val(data.HInterID);//获取提交成功返回的单据主ID
                                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 })
                            }
                        },
                        error: function (err) {
                            layer.alert(err, { icon: 5 })
                        }
                    },
                    error: function (err) {
                        layer.alert(err, { icon: 5 })
                    }
                })
                    })
                }
            });
            //审核按钮提交
@@ -665,8 +884,7 @@
            });
            //审核提交
            function SaveVerify()
            {
            function SaveVerify() {
                var InterID = $("#HInterID").val();
                if (!AllowLoadData())//数据验证
                {
@@ -694,7 +912,7 @@
                    }
                })
            }
            //退出
            form.on('submit(Exit)', function (data) {
@@ -714,7 +932,7 @@
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../PublicPage/PartInformation.html', 'yes'],
                    content: ['../../../基础资料/公用基础资料/Gy_Material.html', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -724,10 +942,10 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HMaterName").val(checkStatus.data[0].HName);
                        $("#HMaterCode").val(checkStatus.data[0].HNumber);
                        $("#HMaterName").val(checkStatus.data[0].物料名称);
                        $("#HMaterCode").val(checkStatus.data[0].物料代码);
                        $("#HMaterID").val(checkStatus.data[0].HItemID);
                        $("#HMaterSpec").val(checkStatus.data[0].HModel);
                        $("#HMaterSpec").val(checkStatus.data[0].规格型号);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
@@ -754,7 +972,7 @@
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../PublicPage/SourceInformation.html', 'yes'],
                    content: ['../../../基础资料/生产基础资料/Gy_Source.html', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -764,7 +982,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HSourceName").val(checkStatus.data[0].HName);
                        $("#HSourceName").val(checkStatus.data[0].生产资源名称);
                        $("#HSourceID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -792,7 +1010,7 @@
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../PublicPage/UserInformation.html', 'yes'],
                    content: ['../../../基础资料/公用基础资料/Gy_EmployeeList.html?type=HEmp', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -802,7 +1020,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HEmpName").val(checkStatus.data[0].HName);
                        $("#HEmpName").val(checkStatus.data[0].职员名称);
                        $("#HEmpID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -832,7 +1050,7 @@
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../PublicPage/GroupInformation.html', 'yes'],
                    content: ['../../../基础资料/工资基础资料/Gy_Group.html?type=HGroup', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -842,7 +1060,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HGroupName").val(checkStatus.data[0].HName);
                        $("#HGroupName").val(checkStatus.data[0].班组名称);
                        $("#HGroupID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -870,7 +1088,7 @@
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../PublicPage/DeptInformation.html', 'yes'],
                    content: ['../../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -880,7 +1098,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HDeptName").val(checkStatus.data[0].HName);
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -896,6 +1114,293 @@
                    }
                });
            });
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "HMaterID": "0"
                    , "HMaterName": ""
                    , "HProcID": "0"
                    , "HProcName": ""
                    , "HRelationBillInterID": "0"
                    , "HRelationBillEntryID": "0"
                    , "HRelationBillType": ""
                    , "HRelationBillNo": ""
                    , "HICMOInterID": "0"
                    , "HICMOEntryID": "0"
                    , "HICMOBillNo": ""
                    , "HProcExchInterID": "0"
                    , "HProcExchEntryID": "0"
                    , "HProcExchBillNo": ""
                    , "HRemark": ""
                    , "HSourceInterID": "0"
                    , "HSourceEntryID": "0"
                    , "HSourceBillNo": ""
                    , "HSourceBillType": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            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);//将数据渲染到表格上
                        }
                        break;
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        break;
                }
            });
            //#endregion
            //#region å­è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#region è®¡åˆ’表初始化
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 100
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HRelationBillInterID', title: '关联副产计划单内码', hide: true }
                        , { field: 'HRelationBillEntryID', title: '关联副产计划单子内码', hide: true }
                        , { field: 'HRelationBillType', title: '关联副产计划单类型', hide: true }
                        , { field: 'HRelationBillNo', title: '关联副产计划单', edit: 'text', event: "HRelationBillNo" }
                        , { field: 'HMaterID', title: 'HMaterID', event: "HMaterID", hide: true }
                        , { field: 'HMaterName', title: '物料名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HProcID', title: 'HProcID', edit: 'text', hide: true }
                        , { field: 'HProcName', title: '工序名称', edit: 'text', event: "HProcID" }
                        , { field: 'HICMOInterID', title: '生产订单内码', hide: true }
                        , { field: 'HICMOEntryID', title: '生产订单子内码', hide: true }
                        , { field: 'HICMOBillNo', title: '生产订单号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HProcExchInterID', title: '工序流转卡内码', hide: true }
                        , { field: 'HProcExchEntryID', title: '工序流转卡子内码', hide: true }
                        , { field: 'HProcExchBillNo', title: '工序流转卡号', templet: "#HProcExchInterID" }
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单内码', hide: true }
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true }
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true }
                        , { field: 'HSourceBillType', title: '源单类型', hide: true }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "HMaterID": "0"
                        , "HMaterName": ""
                        , "HProcID": "0"
                        , "HProcName": ""
                        , "HRelationBillInterID": "0"
                        , "HRelationBillEntryID": "0"
                        , "HRelationBillType": ""
                        , "HRelationBillNo": ""
                        , "HICMOInterID": "0"
                        , "HICMOEntryID": "0"
                        , "HICMOBillNo": ""
                        , "HProcExchInterID": "0"
                        , "HProcExchEntryID": "0"
                        , "HProcExchBillNo": ""
                        , "HRemark": ""
                        , "HSourceInterID": "0"
                        , "HSourceEntryID": "0"
                        , "HSourceBillNo": ""
                        , "HSourceBillType": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
                form.render('select');
            }
            //#endregion
            //#region å­è¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            for (var i = 0; i < oldData.length; i++) {
                                $('#HICMOBillNo' + (i + 1)).find("option[value='" + oldData[i].HICMOBillNo + "']").attr("selected", true);
                            }
                            form.render('select');
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "HRelationBillNo") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "副产计划单"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../../views/Baseset/基础资料/Sc_ProcessExchangeBillListView.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    if ($("#HMaterName").val() == checkStatus.data[0].产品 && $("#HProcName").val() == checkStatus.data[0].工序) {
                                        obj.update({
                                            "HProcExchInterID": checkStatus.data[0].hmainid
                                            , "HProcExchEntryID": checkStatus.data[0].hsubid
                                            , "HProcExchBillNo": checkStatus.data[0].单据号
                                            , "HRelationBillInterID": checkStatus.data[0].hmainid
                                            , "HRelationBillEntryID": checkStatus.data[0].hsubid
                                            , "HRelationBillNo": checkStatus.data[0].单据号
                                            , "HICMOInterID": checkStatus.data[0].hicmointerid
                                            , "HICMOEntryID": checkStatus.data[0].HICMOEntryID
                                            , "HICMOBillNo": checkStatus.data[0].生产订单号
                                            , "HMaterID": checkStatus.data[0].HMaterID
                                            , "HMaterName": checkStatus.data[0].产品
                                            , "HProcID": checkStatus.data[0].HProcID
                                            , "HProcName": checkStatus.data[0].工序
                                            , "HSourceInterID": checkStatus.data[0].hmainid
                                            , "HSourceEntryID": checkStatus.data[0].hsubid
                                            , "HSourceBillNo": checkStatus.data[0].单据号
                                            , "HSourceBillType": 3772
                                        })
                                    }
                                    else {
                                        return layer.msg("选择副产计划单的物料与工序,跟当前工单不匹配");
                                    }
                                    layer.close(index);//关闭弹窗
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if ($("#HMaterName").val() == OptionData[0].产品 && $("#HProcName").val() == OptionData[0].工序) {
                                        obj.update({
                                            "HProcExchInterID": OptionData[0].hmainid
                                            , "HProcExchEntryID": OptionData[0].hsubid
                                            , "HProcExchBillNo": OptionData[0].单据号
                                            , "HRelationBillInterID": OptionData[0].hmainid
                                            , "HRelationBillEntryID": OptionData[0].hsubid
                                            , "HRelationBillNo": OptionData[0].单据号
                                            , "HICMOInterID": OptionData[0].hicmointerid
                                            , "HICMOEntryID": OptionData[0].HICMOEntryID
                                            , "HICMOBillNo": OptionData[0].生产订单号
                                            , "HMaterID": OptionData[0].HMaterID
                                            , "HMaterName": OptionData[0].产品
                                            , "HProcID": OptionData[0].HProcID
                                            , "HProcName": OptionData[0].工序
                                            , "HSourceInterID": OptionData[0].hmainid
                                            , "HSourceEntryID": OptionData[0].hsubid
                                            , "HSourceBillNo": OptionData[0].单据号
                                            , "HSourceBillType": 3772
                                        })
                                    } else {
                                        return layer.msg("选择副产计划单的物料与工序,跟当前工单不匹配");
                                    }
                                    OptionData = [];
                                }
                            })
                        }
                        if (obj.event == "HProcID") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "副产计划单"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../../views/基础资料/生产基础资料/Gy_Process.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    if ($("#HProcName").val() == checkStatus.data[0].工序名称) {
                                        obj.update({
                                            "HProcID": checkStatus.data[0].HItemID
                                            , "HProcName": checkStatus.data[0].工序名称
                                        })
                                    } else {
                                        return layer.msg("选择的工序,跟当前工单的工序不匹配");
                                    }
                                    layer.close(index);//关闭弹窗
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //以上为layui模块
@@ -915,7 +1420,7 @@
                layer.msg("产品编码不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HBeginDate").val() == '' || $("#HBeginDate").val() == null) {
            if ($("#HBeginWorkTime").val() == '' || $("#HBeginWorkTime").val() == null) {
                layer.msg("开工时间不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
@@ -928,6 +1433,7 @@
                return Result = false;
            }
            if ($("#HGroupID").val() == '' || $("#HGroupID").val() == null) {
                $("#HGroupID").val(0);
                layer.msg("班组不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
@@ -941,6 +1447,27 @@
                    return Result = false;
                }
            }
            //#region å­è¡¨ æ•°æ®æ£€éªŒ
            for (var i = 0; i < option.data.length; i++) {
                if (typeof option.data[i] !== 'object' || option.data[i] === null || Array.isArray(option.data[i])) {
                    continue; // è·³è¿‡éžå¯¹è±¡é¡¹ï¼ˆå¦‚空数组)
                }
                if (option.data[i]["HRelationBillNo"] == "") {
                    layer.msg("第" + i + "行:副产计划单未选择!");
                    return false;
                }
                if (option.data[i]["HProcID"] == "0") {
                    layer.msg("第" + i + "行:工序未选择!");
                    return false;
                }
            }
            //#endregion
            return Result;
        }
@@ -955,6 +1482,25 @@
            return [year, month, day].join('-');
        }
        //操作员
        function GetHEmpValue(obj) {
            $("#HEmpName").val(obj[0].职员名称);
            $("#HEmpID").val(obj[0].HItemID);
        }
        //生产班组
        function GetHGroupValue(obj) {
            $("#HGroupName").val(obj[0].班组名称);
            $("#HGroupID").val(obj[0].HItemID);
        }
        //生产车间
        function GetHDeptNameValue(obj) {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //流转卡
        function GetProcExValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>