1
wtt
2025-12-29 3425237a2b54ca28fc3e3c5f7c35a7fbef4e15fa
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcessExchangeBill_BatchSplit.html
@@ -8,32 +8,39 @@
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <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/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/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <style type="text/css">
        .layui-form-item .layui-inline {
            margin-right: 0;
        }
        html {
            background-color: white;
            color: white;
        }
        .layui-table-cell {
    <script src="../../../layuiadmin/grwebapp.js"></script>
    <script src="../../CreateControl.js"></script>
    <style>
        td:has(select) .layui-table-cell {
            overflow: visible !important;
            padding: 0;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
            /*  margin-left: -15px;
            margin-right: -15px;*/
        }
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            width: 25%;
        }
        .layui-table th, .layui-table td {
            white-space: nowrap; /* ä¸æ¢è¡Œ */
            text-overflow: ellipsis; /* æ˜¾ç¤ºçœç•¥å· */
        }
    </style>
</head>
@@ -41,28 +48,58 @@
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 15px;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" lay-filter="component-form-group" action="">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                            <button type="button" id="print-btn" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_PrintReport" disabled>打印</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                            <button type="button" id="print-btn" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_Print" disabled>打印</button>
                            <!--<button type="button" id="batchPrint-btn" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_BatchPrint" disabled>批量打印</button>-->
                            <button type="button" id="batchPrint-btn1" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_BatchPrint_CMR_ZS" disabled>注塑批量打印</button>
                            <button type="button" id="batchPrint-btn2" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_BatchPrint_CMR_JR" disabled>卷绕批量打印</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit" style="margin-left:50px !important;">退出</button>
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-BatchSplit">
                        <h1 style="text-align: center; padding: 10px 0;"><b>流转卡批量拆分</b></h1>
                    </div>
                    <table class="layui-hide" id="mainTable" lay-filter="mainTable" style="margin-top:5px;"></table>
                    <script type="text/html" id="xuhao">
                        {{d.LAY_TABLE_INDEX+1}}
                    </script>
                    <div class="layui-tab" lay-filter="tab-BatchSplit">
                        <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-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!--选择框-->
    <script type="text/html" id="HMouldNum-select">
        <select name="HMouldNum" lay-filter="HMouldNum" id="HMouldNum{{d.LAY_TABLE_INDEX+1}}">
            <option value="0#" selected>0#</option>
            <option value="1#">1#</option>
            <option value="2#" >2#</option>
            <option value="3#">3#</option>
            <option value="4#">4#</option>
            <option value="5#">5#</option>
            <option value="6#">6#</option>
            <option value="7#">7#</option>
            <option value="8#">8#</option>
            <option value="9#">9#</option>
            <option value="10#">10#</option>
        </select>
    </script>
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
@@ -71,14 +108,17 @@
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬ç”¨å˜é‡
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            var sWhere = "";
            var option;
            //#endregion
@@ -98,21 +138,165 @@
            //判断操作类型
            if (OperationType == 1) {//无源单新增
            }
            else if (OperationType == 2) {//有源单新增
                get_Display_BatchSplit(linterid)
            }
            else if (OperationType == 3) {//编辑
            }
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region å¤´éƒ¨å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                data[0].HProQty = 0;
                data[0].HSheetQty = Number(data[0].HSheetQty) + Number(1);
                switch (obj.event) {
                    case 'btn-CopyLine':
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            //获取新流转卡单号,内码
                            $.ajax({
                                url: GetWEBURL() + "/Web/GetMAXNum_ProcExchange",
                                type: "GET",
                                data: { "HBillType": '3772' },
                                async: false,
                                success: function (d) {
                                    data[0].HInterID = d.data[0].HInterID;
                                    data[0].HBillNo = data[0].HBillNo.substring(0, 13) + '-' + String(Number(data[0].HSheetQty)).padStart(2, '0');
                                }
                            });
                            var copydata = JSON.stringify(data);
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            var HArrIndex = -1;
                            for (var i = 0; i < option.data.length; i++) {
                                if (option.data[i].HICMOInterID == data[0].HICMOInterID && option.data[i].HICMOEntryID == data[0].HICMOEntryID) {
                                    HArrIndex = i;
                                    option.data[i].HSheetQty = Number(option.data[i].HSheetQty) + Number(1);
                                }
                                $('#HMouldNum' + i + '').find("option[value='" + option.data[i].HMouldNum + "']").attr("selected", true);
                            }
                            if (HArrIndex != -1) {
                                option.data.splice(HArrIndex + 1, 0, JSON.parse(copyrow))
                            }
                            //table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            //option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            form.render('select');
                        }
                        break;
                }
            });
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridCellCheck(obj); //行内快捷键筛选
                set_GridDelete(obj);   //行内删除
                var data = obj.data;  //获取当前行的数据                //将obj.data å­—符串类型 èµ‹å€¼ç»™data
                if (obj.event == 'HDate') {    //判断接受到的数据字段  id是否为 Hdata
                    var field = $(this).data('field');//获取日期字段
                    laydate.render({
                        elem: this.firstChild        //将日期选择器绑定到触发事件的元素的第一个子元素
                        , show: true                //直接显示       æ—¥æœŸé€‰æ‹©å™¨ï¼Œè€Œä¸æ˜¯ç­‰å¾…用户点击
                        , closeStop: this           // åˆ¤æ–­ç‚¹å‡»æ—¥æœŸé€‰æ‹©å™¨å¤–部时是否关闭
                        , done: function (nowDate) {    //当日期选择完成时执行的回调函数
                            //时间选择完成,行数据更新
                            data[field] = nowDate;  //data对象中的日期字段
                            obj.update(data);  //更新回调数据
                        }
                    });
                }
            });
            //监听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                switch (field) {
                    case "HProQty":
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HProQty: value
                        });
                        break;
                    default:
                }
                var HICMOQty_useable = data.HUsableQty;//订单剩余可用数量
                var HQty = 0;
                for (let i = 0; i < option.data.length; i++) {
                    if (option.data[i].HICMOInterID == data.HICMOInterID && option.data[i].HICMOEntryID == data.HICMOEntryID) {
                        HQty = Number(HQty) + Number(option.data[i].HProQty)
                    }
                }
                if (HQty > HICMOQty_useable) {
                    layer.alert("生产订单:" + data.HICMOBillNo + ",本次生成流转卡总数:<span style='color: red;'>" + HQty + "</span>,大于订单剩余可生成流转卡数:<span style='color: blue;'>" + HICMOQty_useable + "</span>,请重新输入!");
                    obj.update({
                        HProQty: oldText
                    });
                }
                table.render(option);
            });
            //#region è¡¨æ ¼è¡Œé€‰æ‹©å¤„理
            form.on('select(HMouldNum)', function (data) {
                //获取下拉框选中的值
                var elem = data.othis.parents('tr');
                var dataindex = elem.attr("data-index");
                $.each(option.data, function (index, value) {
                    if (value.LAY_TABLE_INDEX == dataindex) {
                        value.HMouldNum = data.value;//把选中下拉框id值赋值给表格缓存
                    }
                });
            });
            //保存按钮
            form.on('submit(Saver)', function (data) {
                if (AllowLoadData(data)) {
                    set_SaveBill(data);
                }
            });
            //打印
            form.on('submit(get_Print)', function () {
                get_Print();
            })
            //批量打印
            form.on('submit(get_BatchPrint)', function () {
                get_BatchPrint();
            })
            //斯莫尔 æ³¨å¡‘批量打印
            form.on('submit(get_BatchPrint_CMR_ZS)', function () {
                get_BatchPrint1(1);
            })
            //斯莫尔 å·ç»•组装批量打印
            form.on('submit(get_BatchPrint_CMR_JR)', function () {
                get_BatchPrint1(2);
            })
            //退出按钮
            form.on('submit(Exit)', function () {
                if (params[1] != null) {
@@ -128,40 +312,55 @@
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    //, toolbar: '#toolbarDemo'
                    , toolbar: '#toolbarDemo'
                    , limit: 500
                    , height: 500
                    , loading: false
                    , cols: [[ //子表
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', width: 100, totalRow: true }
                        , { field: 'HICMOInterID', title: '生产订单内码', width: 100, hide: true }//生产订单内码
                        , { field: 'HICMOEntryID', title: '生产订单子内码', width: 100, hide: true }//生产订单子内码
                        , { field: 'HICMOBillNo', title: '生产订单', width: 120 }//生产订单号
                        , { field: 'HICMOBillNo', title: '生产订单内码', width: 120 }//生产订单号
                        , { field: 'HWorkShopID', title: '生产车间', width: 100, hide: true }//生产车间内码
                        , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                        , { field: '物料代码', title: '物料代码', width: 150 }
                        , { field: '物料名称', title: '物料名称', width: 150 }
                        , { field: '规格型号', title: '规格型号', width: 100, hide: true}
                        , { field: '规格型号', title: '规格型号', width: 100, hide: true }
                        , { field: 'HQty', title: '订单总数', width: 110 }
                        , { field: 'HFinishQty', title: '已生成流转卡数', width: 130 }
                        , { field: 'HUsableQty', title: '剩余可用数量', width: 130 }
                        , { field: 'HProQty', title: '流转卡数量', width: 110 }
                        , { field: 'HLotcardQty', title: '单张流转卡数', width: 130 }
                        , { field: 'HProQty', title: '流转卡数量', width: 110, edit: 'text' }
                        , { field: 'HBatchNo', title: '批次号', width: 110, edit: 'text' }
                        , { field: 'HProjectNum', title: '项目编号', width: 110, edit: 'text' }
                        , { field: 'HMateOutBatchNo', title: '原料批次', width: 110, edit: 'text' }
                        , { field: 'HMouldNum', title: '模穴号', width: 110, templet: '#HMouldNum-select' }
                        , { field: 'HGroupNumber', title: '班组', width: 110, edit: 'text' }
                        , { field: 'HBatchManager', title: '启用批次', width: 110, hide: true }
                        , { field: 'HRoutingInterID', title: '工艺路线内码', width: 150, hide: true }
                        , { field: 'HRoutingName', title: '工艺路线', width: 170 }
                        , { field: 'HRoutingName', title: '工艺路线', width: 170, edit: 'text', event: "HRoutingName" }
                        , { field: 'HSheetQty', title: '拆分流转卡张数', width: 130 }
                        , { field: 'HDate', title: '流转卡日期', width: 120, event: 'HDate' }
                        , { field: 'HInterID', title: '流转卡内码', width: 130, hide: true }
                        , { field: 'HBillNo', title: '流转卡号', width: 170 }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                    ]]
                }
                //初始表格数据
                var rowdata = [{
                    "HICMOInterID": 0, "HICMOEntryID": 0, "HICMOBillNo": "", "HMaterID": 0, "物料代码": ""
                    , "物料名称": "", "规格型号": "", "HQty": 0, "HFinishQty": 0, "HUsableQty": 0
                    "HICMOInterID": 0, "HICMOEntryID": 0, "HICMOBillNo": "", "HWorkShopID": 0, "HMaterID": 0, "物料代码": ""
                    , "物料名称": "", "规格型号": "", "HQty": 0, "HFinishQty": 0, "HUsableQty": 0, "HLotcardQty": 0
                    , "HProQty": 0, "HRoutingInterID": 0, "HRoutingName": "", "HSheetQty": 0
                    , "HInterID": 0, "HBillNo": "", "HBatchNo": "", "HProjectNum": "", "HMateOutBatchNo": "", "HMouldNum": "0#", "HBatchManager": "", "HGroupNumber": ""
                }];
                option.data = rowdata;
                table.render(option);
                for (var i = 1; i <= option.data.length; i++) {
                    $('#HMouldNum' + i + '').find("option[value='" + option.data[i - 1].HMouldNum + "']").attr("selected", true);
                }
                form.render('select');
            }
            //批量拆分生产订单生成流转卡
@@ -170,28 +369,160 @@
                $.ajax({
                    url: GetWEBURL() + "Sc_ProcessExchangeBill/BatchSpilt",
                    type: "GET",
                    data: { "HInterID": linterid, "user": sessionStorage["HUserName"]},
                    data: { "HInterID": linterid, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            //网格数据赋值
                            var subdata = result.data
                            var rowdata = [];
                            var HInterID = 0;
                            var HBillNo = "";
                            var HSourceInterID = 0;
                            var HSourceEntryID = 0;
                            var k = 01;
                            for (var i = 0; i < subdata.length; i++) {
                                //首次进入,获取流转卡单号
                                if (i == 0) {
                                    //获取流转卡单号,内码
                                    $.ajax({
                                        url: GetWEBURL() + "/Web/GetMAXNumPDA",
                                        type: "GET",
                                        data: { "HBillType": '3772' },
                                        async: false,
                                        success: function (d) {
                                            HInterID = d.data[0].HInterID;
                                            HBillNo = d.data[0].HBillNo;
                                        }
                                    });
                                    HBillNo = HBillNo + '-' + String(k).padStart(2, '0');
                                    HSourceInterID = subdata[i].HICMOInterID;
                                    HSourceEntryID = subdata[i].HICMOEntryID;
                                }
                                else if (HSourceInterID == subdata[i].HICMOInterID && HSourceEntryID == subdata[i].HICMOEntryID) {
                                    //获取流转卡单号,内码
                                    $.ajax({
                                        url: GetWEBURL() + "/Web/GetMAXNum_ProcExchange",
                                        type: "GET",
                                        data: { "HBillType": '3772' },
                                        async: false,
                                        success: function (d) {
                                            HInterID = d.data[0].HInterID;
                                        }
                                    });
                                    HBillNo = HBillNo.substring(0, 13);
                                    k = Number(k) + Number(1);
                                    HBillNo = HBillNo + '-' + String(k).padStart(2, '0');
                                } else if (HSourceInterID != subdata[i].HICMOInterID || HSourceEntryID != subdata[i].HICMOEntryID) {
                                    //获取流转卡单号,内码
                                    $.ajax({
                                        url: GetWEBURL() + "/Web/GetMAXNumPDA",
                                        type: "GET",
                                        data: { "HBillType": '3772' },
                                        async: false,
                                        success: function (d) {
                                            HInterID = d.data[0].HInterID;
                                            HBillNo = d.data[0].HBillNo;
                                        }
                                    });
                                    HBillNo = HBillNo.substring(0, 13);
                                    k = 01;
                                    HBillNo = HBillNo + '-' + String(k).padStart(2, '0');
                                    HSourceInterID = subdata[i].HICMOInterID;
                                    HSourceEntryID = subdata[i].HICMOEntryID;
                                }
                                rowdata.push(
                                    {
                                        "HICMOInterID": 0, "HICMOEntryID": 0, "HICMOBillNo": "", "HMaterID": 0, "物料代码": ""
                                        , "物料名称": "", "规格型号": "", "HQty": 0, "HFinishQty": 0, "HUsableQty": 0
                                        , "HProQty": 0, "HRoutingInterID": 0, "HRoutingName": "", "HSheetQty": 0
                                        "HICMOInterID": subdata[i].HICMOInterID, "HICMOEntryID": subdata[i].HICMOEntryID, "HICMOBillNo": subdata[i].HICMOBillNo
                                        , "HWorkShopID": subdata[i].HWorkShopID, "HMaterID": subdata[i].HMaterID, "物料代码": subdata[i].物料代码
                                        , "物料名称": subdata[i].物料名称
                                        , "规格型号": subdata[i].规格型号, "HQty": subdata[i].HQty, "HFinishQty": subdata[i].HFinishQty
                                        , "HUsableQty": subdata[i].HUsableQty, "HLotcardQty": subdata[i].HLotcardQty, "HProQty": subdata[i].HProQty
                                        , "HRoutingInterID": subdata[i].HRoutingInterID, "HRoutingName": subdata[i].HRoutingName, "HSheetQty": subdata[i].HSheetQty
                                        , "HDate": formatDate(subdata[i].HDate), "HInterID": HInterID, "HBillNo": HBillNo, "HBatchNo": subdata[i].HBatchNo
                                        , "HBatchManager": subdata[i].是否启用批次, "HGroupNumber": "", "HProjectNum": "", "HMateOutBatchNo": "", "HMouldNum": "0#"
                                    }
                                )
                            }
                            var HInterID = 0;
                            var HEntryID = 0;
                            var HRowBackgroundColor = "#E0F5F7";
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [[ //子表
                                    { type: 'checkbox', totalRowText: '合计行' }
                                    , { type: 'numbers', title: '序号', width: 100, totalRow: true }
                                    , { field: 'HICMOInterID', title: '生产订单内码', width: 100, hide: true }//生产订单内码
                                    , { field: 'HICMOEntryID', title: '生产订单子内码', width: 100, hide: true }//生产订单子内码
                                    , { field: 'HICMOBillNo', title: '生产订单', width: 120 }//生产订单号
                                    , { field: 'HWorkShopID', title: '生产车间内码', width: 100, hide: true }//生产车间内码
                                    , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                                    , { field: '物料代码', title: '物料代码', width: 150 }
                                    , { field: '物料名称', title: '物料名称', width: 150 }
                                    , { field: '规格型号', title: '规格型号', width: 100, hide: true }
                                    , { field: 'HQty', title: '订单总数', width: 110 }
                                    , { field: 'HFinishQty', title: '已生成流转卡数', width: 130 }
                                    , { field: 'HUsableQty', title: '剩余可用数量', width: 130 }
                                    , { field: 'HLotcardQty', title: '单张流转卡数', width: 130 }
                                    , { field: 'HProQty', title: '流转卡数量', width: 110, edit: 'text' }
                                    , { field: 'HBatchNo', title: '批次号', width: 110, edit: 'text' }
                                    , { field: 'HProjectNum', title: '项目编号', width: 110, edit: 'text' }
                                    , { field: 'HMateOutBatchNo', title: '原料批次', width: 110, edit: 'text' }
                                    , { field: 'HMouldNum', title: '模穴号', width: 110, templet: '#HMouldNum-select' }
                                    , { field: 'HGroupNumber', title: '班组', width: 110, edit: 'text' }
                                    , { field: 'HBatchManager', title: '启用批次', width: 110, hide: true }
                                    , { field: 'HRoutingInterID', title: '工艺路线内码', width: 150, hide: true }
                                    , { field: 'HRoutingName', title: '工艺路线', width: 170, edit: 'text', event: "HRoutingName" }
                                    , { field: 'HSheetQty', title: '拆分流转卡张数', width: 130 }
                                    , { field: 'HDate', title: '流转卡日期', width: 120, event: 'HDate' }
                                    , { field: 'HInterID', title: '流转卡内码', width: 130, hide: true }
                                    , { field: 'HBillNo', title: '流转卡号', width: 170 }
                                    , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                                ]]
                                , data: rowdata
                                , height: 'full-120'
                                , page: true
                                , limits: [50, 200, 500, 5000, 50000]
                                , limit: 200
                                , cellMinWidth: 90
                                , done: function (res, curr, count) {
                                    var that = this.elem.next();
                                    res.data.forEach(function (item, index) {
                                        if (HInterID == 0 && HEntryID == 0) {
                                            HInterID = item.HICMOInterID
                                            HEntryID = item.HICMOEntryID
                                            var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", HRowBackgroundColor)
                                        } else if (HInterID == item.HICMOInterID && HEntryID == item.HICMOEntryID) {
                                            var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", HRowBackgroundColor)
                                        } else if ((HInterID != item.HICMOInterID || HEntryID != item.HICMOEntryID) && HInterID != 0) {
                                            if (HRowBackgroundColor == "#E0F5F7") {
                                                HRowBackgroundColor = "#E8E5FA"
                                            } else {
                                                HRowBackgroundColor = "#E0F5F7"
                                            }
                                            HInterID = item.HICMOInterID
                                            HEntryID = item.HICMOEntryID
                                            var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", HRowBackgroundColor)
                                        }
                                    })
                                }
                            }
                            option.data = rowdata;
                            table.render(option);
                            for (var i = 1; i <= option.data.length; i++) {
                                $('#HMouldNum' + i).find("option[value='" + option.data[i - 1].HMouldNum + "']").attr("selected", true).trigger("change");
                            }
                            form.render('select');
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                            layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
@@ -199,6 +530,370 @@
                    }
                });
            }
            //#region ä¿å­˜æ–¹æ³•
            function set_SaveBill(data) {
                $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);//保存按钮禁用
                var sSubTable = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        sSubTable.push(table.cache["mainTable"][i])
                    }
                    if (table.cache["mainTable"][i].物料名称.indexOf("\"") != -1 || table.cache["mainTable"][i].物料名称.indexOf(";") != -1) {
                        table.cache["mainTable"][i].物料名称 = table.cache["mainTable"][i].物料名称.replace("\"", "”").replace(";", ";")
                    }
                    if (table.cache["mainTable"][i].规格型号.indexOf("\"") != -1 || table.cache["mainTable"][i].规格型号.indexOf(";") != -1) {
                        table.cache["mainTable"][i].规格型号 = table.cache["mainTable"][i].规格型号.replace("\"", "”").replace(";", ";")
                    }
                }
                var sSubStr = JSON.stringify(sSubTable);
                var sMainSub = sSubStr + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Sc_ProcessExchangeBill/AddBill_BatchSplit", //方法所在页面和方法名
                    async: true,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            layer.msg(data.Message, { icon: 1 });
                            $('#print-btn').removeClass("layui-btn-disabled").attr("disabled", false);//打印按钮启用
                            $('#batchPrint-btn').removeClass("layui-btn-disabled").attr("disabled", false);//批量打印按钮启用
                            $('#batchPrint-btn1').removeClass("layui-btn-disabled").attr("disabled", false);//批量打印按钮启用
                            $('#batchPrint-btn2').removeClass("layui-btn-disabled").attr("disabled", false);//批量打印按钮启用
                            layer.close(index);
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 });
                            $('#add-btn').removeClass("layui-btn-disabled").attr("disabled", false);//保存按钮启用
                            layer.close(index);
                        }
                    },
                    error: function (err) {
                        layer.alert("错误:" + err, { icon: 5 });
                        $('#add-btn').removeClass("layui-btn-disabled").attr("disabled", false);//保存按钮启用
                        layer.close(index);
                    }
                });
            }
            //#endregion
            //行内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 == "HRoutingName") {
                            //打开维修项目小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim" //加上边框
                                , title: "工艺路线列表"  //标题
                                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../计划管理/工艺路线/Gy_RoutingBillList.html?HMaterID=' + obj.data.HMaterID + '&HProID=' + 0, '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("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HRoutingInterID": checkStatus.data[0].hmainid
                                        , "HRoutingName": checkStatus.data[0].工艺名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //打印
            function get_Print() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length >= 1) {
                    var HInterID_Arr = [];
                    for (var i = 0; i < data.length; i++) {
                        HInterID_Arr.push(data[i].HInterID.toString());
                    }
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + HInterID_Arr.toString() + "|" + 0 + '&MyMsg=' + HInterID_Arr.toString() + '&Type=HProcessExchange', 'yes']
                        , resize: false
                    })
                }
                else {
                    layer.msg('请选择要打印的流转卡!');
                }
            }
            //批量打印
            var time;
            var num = 0;
            function get_BatchPrint() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    //逻辑删除方法
                    layer.confirm("确认要批量打印吗?", { title: "确认" }, function (index) {
                        time = setInterval(function () {
                            dy_PL(data);
                        }, 2500);
                        //关闭当前frame
                        layer.close(index);
                    })
                }
                else {
                    layer.msg('请选择数据打印!');
                }
            }
            function dy_PL(rest) {
                var HInterID = rest[num].HInterID.toString();
                var sWhere = "select cast( b.流水号 as float) æµæ°´å·,生产订单号,a.销售订单号,a.生产数量,a.流转卡数量,a.产品代码,a.单据号,case when ISNULL(a.生产规格,'')='' then a.产品规格 else a.生产规格 end äº§å“è§„æ ¼,a.产品名称,a.日期,a.单据号,b.工序代码,b.工序名称,a.批号,b.工艺工作中心,b.工艺工艺参数,a.生产车间,b.工段名称,b.生产订单数量 from h_v_Sc_ProcessExchangeBillQuery a left join h_v_Sc_ProcessExchangeBillQuerySub b on a.hmainid=b.hmainid   where b.hmainid in(" + HInterID + ") and b.工序代码 != '9999' order by cast(b.流水号 as int)"
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList", //方法所在页面和方法名
                    async: false,
                    data: { "sWhere": sWhere },
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            if (data.data.length != 0) {
                                var dataPrint = [];
                                for (var i = 0; i < data.data.length; i++) {
                                    data.data[i]["流水号"] = data.data[i]["流水号"].toFixed(1);
                                    dataPrint.push(data.data[i])
                                }
                                var Customer = {
                                    "Table": dataPrint
                                }
                                var args = {
                                    type: "print",//打印模式
                                    //type: "preview",//预览模式
                                    showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: urlAddRandomNo("../../grf/流转卡JSON.grf"),
                                    data: Customer
                                };
                                console.log(data.data[0].单据号);
                                //var args = {
                                //    report: urlAddRandomNo("../../grf/cs10.grf"),
                                //    data: Customer
                                //};
                                webapp_ws_ajax_run(args);
                                if (rest.length <= num + 1) {
                                    num = 0;
                                    clearInterval(time);
                                } else {
                                    num++;
                                }
                                var sql = "update a set HPrintDate = getdate() from Sc_ProcessExchangeBillMain a with(nolock) where HInterID = " + HInterID + " and HPrintDate is null";
                                $.ajax({
                                    type: "GET",
                                    url: GetWEBURL() + "/Gy_SOPBillList/UpDelSQL", //方法所在页面和方法名
                                    async: false,
                                    data: { "sWhere": sql },
                                    success: function (result) {
                                        if (result.data.code != 1) {
                                            layer.alert("更新打印日期异常:" + result.data.Message);
                                        }
                                    }
                                })
                            } else {
                                layer.msg("查无数据!");
                            }
                        }
                        else {
                            layer.msg(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.msg("错误:" + err, { icon: 5 });
                    }
                })
            }
            function get_BatchPrint1(tyep) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    //逻辑删除方法
                    layer.confirm("确认要批量打印吗?", { title: "确认" }, function (index) {
                        time = setInterval(function () {
                            dy_PL1(data, tyep);
                        }, 2500);
                        //关闭当前frame
                        layer.close(index);
                    })
                }
                else {
                    layer.msg('请选择数据打印!');
                }
            }
            function dy_PL1(rest, tyep) {
                var HInterID = rest[num].HInterID.toString();
                var sWhere = "select  a.HBillNo æµè½¬å¡ç¼–号 ,a.HMateOutBatchNo åŽŸæ–™æ‰¹æ¬¡,a.HICMOBillNo ä»»åŠ¡å•å·,m2.HNumber äº§å“ä»£ç ,CAST(a.HQty AS dec(18, 0)) æµè½¬å¡æ•°é‡,a.HProjectNum é¡¹ç›®å·,m2.HName äº§å“åç§°,CAST(a.HPlanQty AS dec(18, 0)) ç”Ÿäº§æ•°é‡,m2.HModel äº§å“è§„æ ¼,ltrim(b.HProcNo) æµæ°´å· ,p.HName å·¥åºåç§°,c.HName ç”Ÿäº§èµ„源,convert(varchar(16),getdate(),20) æ£€æµ‹æ—¶é—´ from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID left join Gy_Material m2 on a.HMaterID2=m2.hitemid left join Gy_Process p on b.HProcID=p.hitemid left join Gy_Source s on b.HSourceID=s.HItemID  left join(select b1.HInterID,s.HName  from Sc_ProcessExchangeBillSub b1 left join Gy_Process p on b1.HProcID=p.hitemid left join Gy_Source s on b1.HSourceID=s.HItemID  where p.HName='注塑定型') c on a.HInterID=c.HInterID  where b.HInterID in(" + Request.Params["linterid"] + ") order by cast(b.HProcNo as int)"
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList", //方法所在页面和方法名
                    async: false,
                    data: { "sWhere": sWhere },
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            if (data.data.length != 0) {
                                var dataPrint = [];
                                for (var i = 0; i < data.data.length; i++) {
                                    data.data[i]["流水号"] = data.data[i]["流水号"].toFixed(1);
                                    dataPrint.push(data.data[i])
                                }
                                var Customer = {
                                    "Table": dataPrint
                                }
                                var report1 = "";
                                if (tyep==1) {
                                    report1 = urlAddRandomNo("../../grf/质量流转卡cmr.grf");
                                } else if (tyep==2) {
                                    report1 = urlAddRandomNo("../../grf/卷绕质量流转卡.grf");
                                }
                                var args = {
                                    type: "print",
                                    showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: report1,
                                    data: Customer
                                };
                                console.log(data.data[0].单据号);
                                webapp_ws_ajax_run(args);
                                if (rest.length <= num + 1) {
                                    num = 0;
                                    clearInterval(time);
                                } else {
                                    num++;
                                }
                            } else {
                                layer.msg("查无数据!");
                            }
                        }
                        else {
                            layer.msg(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.msg("错误:" + err, { icon: 5 });
                    }
                })
            }
            //表格行内事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            for (var i = 0; i < oldData.length; i++) {
                                if (option.data[i].HICMOInterID == data.HICMOInterID && option.data[i].HICMOEntryID == data.HICMOEntryID) {
                                    option.data[i].HSheetQty = Number(option.data[i].HSheetQty) - Number(1);
                                }
                                $('#HMouldNum' + i).find("option[value='" + oldData[i].HMouldNum + "']").attr("selected", true);
                            }
                            table.render(option);
                            form.render('select');
                            layer.close(index);
                        }
                    });
                }
            }
            //#region æ•°æ®æ ¡éªŒ
            function AllowLoadData(data) {
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                if (typeof (sSubStr) != "undefined" && typeof (sSubStr) != "") {
                    sSubStr = JSON.parse(sSubStr);
                    for (var i = 0; i < sSubStr.length; i++) {
                        if (sSubStr[i].HProQty == 0 || sSubStr[i].HProQty == undefined || sSubStr[i].HProQty == null) {
                            layer.msg("明细记录第" + (i + 1) + "行,流转卡数量为0!", { icon: 5, btn: ['确认'], time: 4000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        if (sSubStr[i].HRoutingInterID == 0 || sSubStr[i].HRoutingInterID == undefined || sSubStr[i].HRoutingInterID == null) {
                            layer.msg("明细记录第" + (i + 1) + "行,工艺路线未选择!", { icon: 5, btn: ['确认'], time: 4000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        if (sSubStr[i].HICMOInterID == 0 || sSubStr[i].HICMOInterID == undefined || sSubStr[i].HICMOInterID == null) {
                            layer.msg("明细记录第" + (i + 1) + "行,生产订单主内码获取异常,请联系管理员处理!", { icon: 5, btn: ['确认'], time: 4000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        if (sSubStr[i].HICMOEntryID == 0 || sSubStr[i].HICMOEntryID == undefined || sSubStr[i].HICMOEntryID == null) {
                            layer.msg("明细记录第" + (i + 1) + "行,生产订单主内码获取异常,请联系管理员处理!", { icon: 5, btn: ['确认'], time: 4000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        if (sSubStr[i].HBatchManager == "是" && sSubStr[i].HBatchNo == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,物料启用批次管理,请输入批号信息!", { icon: 5, btn: ['确认'], time: 4000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                    }
                }
                return true;
            }
            //#endregion
            //#endregion