yangle
2023-02-17 260d7514c43a6a067f0e920801615b448502f865
生产任务单无列表
工艺路线维护
工序返工申请单
工序流转批量
3个文件已添加
5个文件已修改
2637 ■■■■■ 已修改文件
WebTM/WebTM.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产任务单/Sc_ICMOBillEdit_NoTable.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产任务单/Sc_ICMOBillList.html 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/计划管理/工艺路线/Gy_RoutingBill.html 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转卡/Sc_ProcExchWorkBackBillEdit.html 976 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转卡/Sc_ProcExchWorkBackBillList.html 629 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转卡/Sc_ProcessExchangeBillList.html 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转卡/Sc_ProcessExchangeBill_Mul.html 876 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -901,6 +901,7 @@
    <Content Include="views\模治具管理\模治具管理\KF_BarCodeStatusChangeBillList.html" />
    <Content Include="views\模治具管理\模治具管理\Sb_Add_MouldRepairWorkBillList.html" />
    <Content Include="views\生产工序管理\工序汇报单\Sc_ProcessReportList_Last.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeBill_Mul.html" />
    <Content Include="views\系统管理\单据类型\Xt_BillSubTypeList.html" />
    <Content Include="views\系统管理\单据类型\Xt_BillSubType_Edit.html" />
    <Content Include="views\设备管理\设备入库检验验收单\Sb_EquipStockInCheckBillEdit.html" />
@@ -1140,6 +1141,8 @@
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeIssue.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeBill.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeIssueBillList.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcExchWorkBackBillEdit.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcExchWorkBackBillList.html" />
    <Content Include="views\车间管理\工序进站接收单\Cj_StationInBill.html" />
    <Content Include="views\车间管理\工序进站接收单\Cj_StationInBillList.html" />
    <Content Include="views\车间管理\工序进站接收单\Cj_StationQty.html" />
WebTM/views/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillEdit_NoTable.html
@@ -786,8 +786,8 @@
                            , "HMaterNumber": d.data[0].产品代码
                            , "HMaterName": d.data[0].产品名称
                            , "HModel": d.data[0].规格型号
                            , "HSourceID": d.data[0].HSourceID
                            , "HSourceName": d.data[0].生产资源
                            , "HSourceID": d.data[0].HSourceID_b
                            , "HSourceName": d.data[0].HsourceName
                            , "HUnitID": d.data[0].HUnitID
                            , "HUnitName": d.data[0].计量单位
                            , "HSTATUS": HSTATUS
WebTM/views/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillList.html
@@ -154,6 +154,7 @@
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>下推</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill_pl"><i class="layui-icon layui-icon-form"></i>批量下推</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Edit"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew_NT"><i class="layui-icon layui-icon-file-b"></i>新增(无列表)</button>
@@ -238,7 +239,10 @@
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //下推
                    case 'set_ShowBill': set_ShowBill();
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //批量下推
                    case 'set_ShowBill_pl': set_ShowBill_pl(); //set_ShowBill_pl
                        break;
                    //新增
                    case 'set_AddNew': set_AddNew();
@@ -493,7 +497,7 @@
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                            //layer.alert("查询成功", { icon: 1 });
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
@@ -638,6 +642,7 @@
            //        layer.alert("接口请求失败!", { icon: 5 });
            //    }
            //});
            //下推单据
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
@@ -657,6 +662,25 @@
                }
            }
            //批量下推单据
            function set_ShowBill_pl() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length === 1) {
                    var linterid = data[0].hmainid.toString();
                    var HEntryID = data[0].HEntryID.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '工序流转卡-编辑'
                        , shift: 0//弹出动画
                        , content: '../../车间管理/工序流转卡/Sc_ProcessExchangeBill_Mul.html?OperationType=2&linterid=' + linterid + '&HEntryID=' + HEntryID + '&HSouceBillType=3772'
                    })
                } else {
                    layer.msg('请选择一行数据下推!');
                }
            }
            //新增
            function set_AddNew() {
                layer.open({
WebTM/views/¼Æ»®¹ÜÀí/¹¤ÒÕ·Ïß/Gy_RoutingBill.html
@@ -486,7 +486,7 @@
                    , { field: 'HProcID_S', title: '工段', edit: 'text' }
                    , { field: 'HProcType', title: '工序类型', templet: '#HProcType' }//选择
                    , { field: 'HCenterID_SName', title: '产线中心', edit: 'text', event: "CheckHCenterID_S" }//f7
                    , { field: 'HCenterID_S', title: '产线中心id', hide: true }//hide: true
                    //, { field: 'HCenterID_S', title: '产线中心id', hide: true }//hide: true
                    , { field: 'HWorkQty_S', title: '产线产能', edit: 'text' }
                    , { field: 'HSubStdEmpQty_S', title: '产线人数', edit: 'text' }
                    , { field: 'HMouldNo', title: '模具编号', edit: 'text' }
@@ -497,11 +497,11 @@
                    , { field: 'HMyWorkDays', title: '生产周期', edit: 'text' }
                    , { field: 'HMyFixWorkDays', title: '固定生产天数', edit: 'text' }
                    , { field: '工序', title: '工序', edit: 'text', event: "CheckHProcID" }//f7
                    , { field: 'HProcID', title: '工序ID', hide: true }//, hide: true
                    // , { field: 'HProcID', title: '工序ID', hide: true }//, hide: true
                    , { field: '工作中心代码', title: '工作中心代码' }//不填
                    , { field: 'HCenterID', title: '工作中心id', hide: true }//, hide: true
                    // , { field: 'HCenterID', title: '工作中心id', hide: true }//, hide: true
                    , { field: '工作中心', title: '工作中心', edit: 'text', event: "CheckHCenterID" }//f7
                    , { field: 'HSupID', title: '供应商ID', hide: true }
                    // , { field: 'HSupID', title: '供应商ID', hide: true }
                    , { field: '供应商代码', title: '供应商代码' }
                    , { field: '供应商', title: '供应商', edit: 'text', width: 110, event: "CheckHSupID" }//f7
                    , { field: 'HSupFlag', title: '外协标记', templet: "#HSupFlag" }//checkbox
@@ -509,7 +509,7 @@
                    , { field: 'HUnitTime', title: '运行时间', edit: 'text' }
                    , { field: 'HWorkQty', title: '加工数量', edit: 'text' }//默认
                    , { field: 'HPassRate', title: '良率', edit: 'text' }//默认
                    , { field: 'HOverRate', title: '超额比例', edit: 'text' }
                   // , { field: 'HOverRate', title: '超额比例', edit: 'text' }
                    , { field: 'HReadyTime', title: '准备时间', edit: 'text' }
                    , { field: 'HQueueTime', title: '排队时间', edit: 'text' }
                    , { field: 'HMoveTime', title: '转移时间', edit: 'text' }
@@ -533,11 +533,11 @@
                    , { field: 'HPicNum', title: '图纸编号', edit: 'text' }
                    , { field: 'HProcCheckNote', title: '本工序确认记录', edit: 'text' }
                    , { field: 'HProcWorkNum', title: '程序号', edit: 'text' }
                    , { field: 'HBadWHID', title: 'HBadWHID', hide: true }//, hide: true
                    //, { field: 'HBadWHID', title: 'HBadWHID', hide: true }//, hide: true
                    , { field: 'HBadWHName', title: '不良品仓', edit: 'text', event: "HBadWHID" }//f7
                    , { field: 'HWasterWHID', title: 'HWasterWHID', hide: true }//, hide: true
                    // , { field: 'HWasterWHID', title: 'HWasterWHID', hide: true }//, hide: true
                    , { field: 'HWasterWHName', title: '报废品仓', edit: 'text', event: "HWasterWHID" }//f7
                    , { field: 'HWHID', title: 'HWHID', hide: true }//, hide: true
                    // , { field: 'HWHID', title: 'HWHID', hide: true }//, hide: true
                    , { field: 'HWHName', title: '良品仓', edit: 'text', event: "HWHID" }//f7
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
@@ -1409,7 +1409,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_WarehouseList.html?Type=0&HOtherOrgID=" + sessionStorage["OrganizationID"], "yes"]
                                , content: ["../../基础资料/公用基础资料/Gy_Warehouse.html", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1422,7 +1422,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HBadWHID": checkStatus.data[0].HItemID
                                        , "HBadWHName": checkStatus.data[0].HName
                                        , "HBadWHName": checkStatus.data[0].仓库名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1440,7 +1440,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_WarehouseList.html?Type=0&HOtherOrgID=" + sessionStorage["OrganizationID"], "yes"]
                                , content: ["../../基础资料/公用基础资料/Gy_Warehouse.html", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1453,7 +1453,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HWHID": checkStatus.data[0].HItemID
                                        , "HWHName": checkStatus.data[0].HName
                                        , "HWHName": checkStatus.data[0].仓库名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1471,7 +1471,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_WarehouseList.html?Type=0&HOtherOrgID=" + sessionStorage["OrganizationID"], "yes"]
                                , content: ["../../基础资料/公用基础资料/Gy_Warehouse.html", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1484,7 +1484,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HWasterWHID": checkStatus.data[0].HItemID
                                        , "HWasterWHName": checkStatus.data[0].HName
                                        , "HWasterWHName": checkStatus.data[0].仓库名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1682,39 +1682,41 @@
                //}
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    //流水号
                    if ($.inArray(option.data[i]["HProcNo"], num) == -1) {
                        num.push(option.data[i]["HProcNo"]);
                    } else {
                        layer.msg("第" + (i + 1) + "行,流水号:" + option.data[i]["HProcNo"] + "重复!");
                        return false;
                    }
                    //流水号不为空
                    if (option.data[i]["HProcNo"] == "") {
                        layer.msg("第" + (i + 1) + "行:流水号不能为空!");
                        return false;
                    }
                    //仓库重复
                    if (option.data[i]["HBadWHID"] != 0 && option.data[i]["HWasterWHID"] != 0) {
                        if (option.data[i]["HBadWHID"] == option.data[i]["HWasterWHID"]) {
                            layer.msg("第" + (i + 1) + "行:不良品仓和报废品仓重复!");
                    if (option.data[i] != "") {
                        //流水号
                        if ($.inArray(option.data[i]["HProcNo"], num) == -1) {
                            num.push(option.data[i]["HProcNo"]);
                        } else {
                            layer.msg("第" + (i + 1) + "行,流水号:" + option.data[i]["HProcNo"] + "重复!");
                            return false;
                        }
                    }
                    if (option.data[i]["HBadWHID"] != 0 && option.data[i]["HWHID"] != 0) {
                        if (option.data[i]["HBadWHID"] == option.data[i]["HWHID"]) {
                            layer.msg("第" + (i + 1) + "行:不良品仓和良品仓重复!");
                        //流水号不为空
                        if (option.data[i]["HProcNo"] == "") {
                            layer.msg("第" + (i + 1) + "行:流水号不能为空!");
                            return false;
                        }
                    }
                    if (option.data[i]["HWasterWHID"] != 0 && option.data[i]["HWHID"] != 0) {
                        if (option.data[i]["HWasterWHID"] == option.data[i]["HWHID"]) {
                            layer.msg("第" + (i + 1) + "行:报废品仓和良品仓重复!");
                            return false;
                        }
                    }
                        //仓库重复
                        if (option.data[i]["HBadWHID"] != 0 && option.data[i]["HWasterWHID"] != 0) {
                            if (option.data[i]["HBadWHID"] == option.data[i]["HWasterWHID"]) {
                                layer.msg("第" + (i + 1) + "行:不良品仓和报废品仓重复!");
                                return false;
                            }
                        }
                        if (option.data[i]["HBadWHID"] != 0 && option.data[i]["HWHID"] != 0) {
                            if (option.data[i]["HBadWHID"] == option.data[i]["HWHID"]) {
                                layer.msg("第" + (i + 1) + "行:不良品仓和良品仓重复!");
                                return false;
                            }
                        }
                        if (option.data[i]["HWasterWHID"] != 0 && option.data[i]["HWHID"] != 0) {
                            if (option.data[i]["HWasterWHID"] == option.data[i]["HWHID"]) {
                                layer.msg("第" + (i + 1) + "行:报废品仓和良品仓重复!");
                                return false;
                            }
                        }
                    }
                }
                return true;
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcExchWorkBackBillEdit.html
New file
@@ -0,0 +1,976 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>工序返工申请编辑</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/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>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        .btn-title {
            font-size: 16px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            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%;
        }
    </style>
</head>
<body>
    <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="">
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="btnSave" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit=""  lay-filter="btnSave">保存</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Cancel">退出</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="btn_print">打印</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn">隐藏列设置</button>
                        </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>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">单据号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">日期</label>
                                            <div class="layui-input-inline">
                                                <input type="date" class="layui-input" name="HDate" id="HDate">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">负责人</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HEmpName" id="HEmpName" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
                                                <input type="hidden" name="HEmpID" id="HEmpID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHEmpID" id="btnHEmpID" style="width: 40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">流转卡</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcExchBillNo" id="HProcExchBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HProcExchInterID" id="HProcExchInterID" value="0">
                                                <input type="hidden" name="HProcExchEntryID" id="HProcExchEntryID" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产车间</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HWorkShopName" id="HWorkShopName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HWorkShopID" id="HWorkShopID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">物料代码</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HMaterID" id="HMaterID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">物料名称</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">规格型号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HModel" id="HModel" onmouseover="this.title=this.value" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">计量单位</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HUnitName" id="HUnitName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HUnitID" id="HUnitID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">订单数量</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HPlanQty" id="HPlanQty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">返工数量</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HQty" id="HQty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">开始工序</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcBegName" id="HProcBegName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HProcBegID" id="HProcBegID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">结束工序</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcEndName" id="HProcEndName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HProcEndID" id="HProcEndID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">开始流水号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcExchBegNO" id="HProcExchBegNO" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">结束流水号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcExchEndNO" id="HProcExchEndNO" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产组织</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HPRDORGName" id="HPRDORGName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HPRDORGID" id="HPRDORGID" lay-verify="HPRDORGID"><!--HSTOCKORGID-->
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产订单</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HICMOInterID" id="HICMOInterID" lay-verify="HICMOInterID">
                                                <input type="hidden" name="HICMOEntryID" id="HICMOEntryID" lay-verify="HICMOEntryID">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">订单跟踪号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HOrderProcNO" id="HOrderProcNO" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">内部单据号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs6 layui-inline">
                                            <label class="layui-form-label" style="width:12.5%">备注</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HRemark" id="HRemark" placeholder="请输入内容" onmouseover="this.title=this.value" style="width:610px;">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">制单人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaker" id="HMaker" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HChecker" id="HChecker" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">关闭人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCloseMan" id="HCloseMan" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">制单日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMakeDate" id="HMakeDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">关闭日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">作废人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HDeleteMan" id="HDeleteMan" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">作废日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HDeleteDate" id="HDeleteDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <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>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<!--行下拉选择(是否委外)-->
<script type="text/html" id="HSupFlag">
    <select name="HSupFlag" lay-filter="HSupFlag" id="HSupFlag{{d.LAY_TABLE_INDEX+1}}">
        <option value="false">否</option>
        <option value="true">是</option>
    </select>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , laydate = layui.laydate
            , element = layui.element;
        var option;
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = -1;//操作类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HEntryID = params[params[2]];//源单子id
        }
        //工序返工新增
        if (OperationType == 1) {
            $.ajax({
                url: GetWEBURL() + "/Web/GetMAXNum",
                type: "GET",
                data: { "HBillType": '3796' },
                success: function (d) {
                    $("#HInterID").val(d.data[0].HInterID);
                    $("#HBillNo").val(d.data[0].HBillNo);
                    $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));
                    $("#HMaker").val(sessionStorage["HUserName"]);
                }
            });
            //查询工序流转卡
            get_ProcessExchange();
        } else if (OperationType == 3) {
            RoadBillMain(linterid);
        }
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //选择负责人
        form.on('submit(btnHEmpID)', function () {
            get_btnHEmpID();
        });
        //行选择处理(是否委外)
        form.on('select(HSupFlag)', 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.HSupFlag = data.value;//把选中下拉框id值赋值给表格缓存
                }
            });
        });
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            //新增行表格数据
            var NewRow = {
                "HProcNo": "", "HProcID": 0, "HProcNumber": "", "HProcName": "", "HWorkRemark": "",
                "HCenterID": 0, "HCenterNumber": "", "HCenterName": "",
                "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
                "HSupID": 0, "HSupNumber": "", "HSupName": "", "HSupFlag": "false",
                "HQty": 0, "HRemark": ""
            };
            switch (obj.event) {
                case 'btn-AddLine':
                    table.cache["mainTable"].push(NewRow);
                    option.data = table.cache["mainTable"];
                    table.render(option);
                    for (var i = 1; i <= option.data.length; i++) {
                        $('#HSupFlag' + i + '').find("option[value='" + option.data[i - 1].HSupFlag + "']").attr("selected", true);
                    }
                    form.render('select');
                    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);//将数据渲染到表格上
                        for (var i = 1; i <= option.data.length; i++) {
                            $('#HSupFlag' + i + '').find("option[value='" + option.data[i - 1].HSupFlag + "']").attr("selected", true);
                        }
                        form.render('select');
                    }
                    break;
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (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 {
                        obj.del();
                        option.data = table.cache["mainTable"];//将数据绑定到data上
                        layer.close(index);
                    }
                });
            }
            $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                if (event.key == "F7") {
                    if (obj.event == 'HProcCheck') {
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '工序列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_ProcList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HProcName: checkStatus.data[0].工序
                                    , HProcID: checkStatus.data[0].HItemID
                                    , HProcNumber: checkStatus.data[0].工序代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HWorkCenterCheck') {//工作中心
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '加工中心列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_WorkCenterList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HCenterName: checkStatus.data[0].工作中心
                                    , HCenterID: checkStatus.data[0].HItemID
                                    , HCenterNumber: checkStatus.data[0].工作中心代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HSupCheck') {//供应商
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '供应商列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../../views/基础资料/采购基础资料/Gy_Supplier.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HSupName: checkStatus.data[0].供应商名称
                                    , HSupID: checkStatus.data[0].HItemID
                                    , HSupNumber: checkStatus.data[0].供应商代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HDeptCheck') {//部门
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '部门列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_DepartmentList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HDeptName: checkStatus.data[0].HName
                                    , HDeptID: checkStatus.data[0].HItemID
                                    , HDeptNumber: checkStatus.data[0].HNumber
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    obj.event = "";
                    return false;
                }
            })
            //单击改变不可编辑值
            if (obj.event === 'isEditCheck') {
                var flag = obj.data.isEdit;
                var flagValue = obj.data.isEditValue;
                if (flagValue === "false") {
                    flagValue = "true";
                    flag = "是";
                }
                else if (flagValue === "true") {
                    flagValue = "false";
                    flag = "否";
                }
                else {
                    flagValue = "false";
                    flag = "否";
                }
                obj.update({
                    isEdit: flag
                    , isEditValue: flagValue
                });
            }
        });
        //保存提交
        form.on('submit(btnSave)', function (data) {//提交
            if (AllowLoadData(data)) {
                set_AddNew(data);
            }
        });
        //退出
        form.on('submit(Cancel)', function (data) {
            if (OperationType != "") {
                Pub_Close(1);
            }
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        // åˆå§‹åŒ–界面
        function set_ClearBill() {
            $("#HDate").val(Format(new Date(new Date()), "yyyy-MM-dd"));//开始日期
            //初始化表格
            set_InitGrid();
        }
        //初始化表格
        function set_InitGrid() {
            //表头
            columns = [ //表头
                { type: 'checkbox', totalRowText: '合计行' }
                , { type: 'numbers', title: '序号', totalRow: true }
                , { field: 'HProcNo', title: '流水号', edit: 'text' }
                , { field: 'HProcID', title: '工序ID', hide: true }
                , { field: 'HProcNumber', title: '工序代码', edit: 'text', event: "HProcCheck" }
                , { field: 'HProcName', title: '工序名称' }
                , { field: 'HWorkRemark', title: '加工说明', edit: 'text' }
                , { field: 'HCenterID', title: '工作中心ID', hide: true }
                , { field: 'HCenterNumber', title: '工作中心代码', edit: 'text', event: "HWorkCenterCheck" }
                , { field: 'HCenterName', title: '工作中心名称' }
                , { field: 'HQty', title: '返工数量', edit: 'text' }
                , { field: 'HDeptID', title: '部门ID', hide: true }
                , { field: 'HDeptNumber', title: '部门代码', edit: 'text', event: "HDeptCheck" }
                , { field: 'HDeptName', title: '部门' }
                , { field: 'HSupID', title: '供应商ID', hide: true }
                , { field: 'HSupNumber', title: '供应商代码', edit: 'text', event: "HSupCheck" }
                , { field: 'HSupName', title: '供应商' }
                , { field: 'HSupFlag', title: '是否委外', templet: '#HSupFlag' }
                , { field: 'HRemark', title: '备注', edit: 'text',width:"300" }
                , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
            ];
            option = {
                id: 'mainTable'
                , elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , page: false
                , cellMinWidth: 120
                , height: 400
                , cols: [columns]
                , limit: Number.MAX_VALUE//默认显示全部
                , done: function (res, curr, count) {
                    option.data = res.data;
                    //去掉下拉框失焦事件否则在下拉框里输入值
                    $('.layui-form-select').find('input').unbind("blur");
                    //表格重载回显下拉框里的数据
                    $('tr').each(function (e) {
                        var $cr = $(this);
                        var dataIndex = $cr.attr("data-index");
                        $.each(option.data, function (index, value) {
                            if (value.LAY_TNDEX == dataIndex) {
                                $cr.find('input').val(value.HSupFlag);
                            }
                        });
                    });
                }
                , done: function (res, curr, count) {
                }
            };
            option.data = [{
                "HProcNo": "", "HProcID": 0, "HProcNumber": "", "HProcName": "", "HWorkRemark": "",
                "HCenterID": 0, "HCenterNumber": "", "HCenterName": "",
                "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
                "HSupID": 0, "HSupNumber": "", "HSupName": "", "HSupFlag": "false",
                "HQty": 0, "HRemark": ""
            }];
            table.render(option);
        }
        //负责人
        function get_btnHEmpID() {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '职员表'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    //获取数据
                    $("#HEmpID").val(checkStatus.data[0].HItemID);//负责人id
                    $("#HEmpName").val(checkStatus.data[0].职员名称);//负责人名称
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
            })
        }
        //查询工序流转卡
        function get_ProcessExchange() {
            var sWhere = "  where hmainid=" + linterid + " and  (HEntryID=" + HEntryID + " or HEntryID>" + HEntryID + ") ";
            //编辑加载数据
            $.ajax({
                url: GetWEBURL() + 'Sc_ProcExchWorkBackBill/GetProcessExchangeBillSub',
                type: "GET",
                data: { "sWhere": sWhere },
                success: function (result) {
                    if (result.count == 1) {
                        $("#HProcExchBillNo").val(result.data[0]["单据号"]);
                        $("#HProcExchInterID").val(result.data[0]["hmainid"]);
                        $("#HProcExchEntryID").val(result.data[0]["hsubid"]);
                        $("#HWorkShopID").val(result.data[0]["HWorkShopID"]);
                        $("#HWorkShopName").val(result.data[0]["生产车间"]);
                        $("#HMaterNumber").val(result.data[0]["产品代码"]);
                        $("#HMaterID").val(result.data[0]["HMaterID"]);
                        $("#HMaterName").val(result.data[0]["产品名称"]);
                        $("#HModel").val(result.data[0]["规格型号"]);
                        $("#HUnitID").val(result.data[0]["HUnitID"]);
                        $("#HUnitName").val(result.data[0]["单位"]);
                        $("#HPlanQty").val(result.data[0]["生产数量"]);
                        $("#HQty").val(result.data[0]["计划数量"]);
                        $("#HProcBegName").val(result.data[0]["工序名称"]);
                        $("#HProcBegID").val(result.data[0]["HProcID"]);
                        $("#HProcEndName").val(result.data[1]["工序名称"]);
                        $("#HProcEndID").val(result.data[1]["HProcID"]);
                        $("#HProcExchBegNO").val(result.data[0]["流水号"]);
                        $("#HProcExchEndNO").val(result.data[1]["流水号"]);
                        $("#HPRDORGID").val(result.data[0]["HPRDORGID"]);
                        $("#HPRDORGName").val(result.data[0]["组织"]);
                        $("#HICMOBillNo").val(result.data[0]["任务单号"]);
                        $("#HICMOInterID").val(result.data[0]["hicmointerid"]);
                        $("#HICMOEntryID").val(result.data[0]["HICMOEntryID"]);
                        $("#HOrderProcNO").val(result.data[0]["HOrderProcNO"]);
                    } else {
                        layer.msg(result.code + result.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(index0);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //非空验证
        function AllowLoadData(data) {
            if ($("#HEmpID").val()=="0") {
                layer.msg("请选择负责人!");
                return false;
            }
            var num = [];
            var num_2 = [];
            for (var i = 0; i < option.data.length; i++) {
                if (option.data[i] != "") {
                    if (!option.data[i].HProcNo) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,流水号不能为空!");
                        return;
                    }
                    if (option.data[i].HProcNo == 0) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,流水号不能为0!");
                        return;
                    }
                    if (!option.data[i].HProcID) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,工序不能为空!");
                        return;
                    }
                    if (!option.data[i].HCenterID) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,工作中心不能为空!");
                        return;
                    }
                    if (parseInt(option.data[i].HQty) > parseInt($("#HQty").val())) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,返工数量超出需要返工数量!");
                        return;
                    }
                    //流水号
                    if ($.inArray(option.data[i]["HProcNo"], num) == -1) {
                        num.push(option.data[i]["HProcNo"]);
                    }
                    else {
                        layer.msg("第" + (i + 1) + "行,流水号:" + option.data[i]["HProcNo"] + "重复!");
                        return false;
                    }
                    if (parseInt(option.data[i].HProcNo) < parseInt($("#HProcExchBegNO").val())) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,流水号小于开始流水号!");
                        return;
                    }
                    if (parseInt(option.data[i].HProcNo) > parseInt($("#HProcExchEndNO").val())) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,流水号大于结束流水号!");
                        return;
                    }
                    //工序
                    if ($.inArray(option.data[i]["HProcName"], num_2) == -1) {
                        num_2.push(option.data[i]["HProcName"]);
                    }
                    else {
                        layer.msg("第" + (i + 1) + "行,工序:" + option.data[i]["HProcName"] + "重复!");
                        return false;
                    }
                }
            }
            return true;
        }
        //保存HMaker
        function set_AddNew(data) {
            var num_1 = [];
            for (var i = 0; i < table.cache["mainTable"].length; i++) {
                if (table.cache["mainTable"][i] != "") {
                    table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                    num_1.push(table.cache["mainTable"][i])
                }
            }
            var sMainStr = JSON.stringify(data.field);
            var sSubStr = JSON.stringify(num_1);
            var sMainSub = sMainStr + ';' + sSubStr +';' + OperationType + ";" + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillAddBill",
                async: true,
                data: { "sMainSub": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        //$('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                        layer.close(index);
                        layer.msg("提交成功");
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        //编辑 é¡µé¢èµ‹å€¼
        function RoadBillMain(linterid)//加载表头
        {
            var sWhere = " and HPRDORGID=" + sessionStorage["OrganizationID"] + " and hmainid=" + linterid;
            $.ajax({
                url: GetWEBURL() + "/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList",
                type: "GET",
                async: false,
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (d) {
                    if (d.count == 1) {
                        //主表
                        $("#HBillNo").val(d.data[0]["单据号"]);
                        $("#HInterID").val(d.data[0]["hmainid"]);
                        $("#HDate").val(Format(d.data[0]["日期"], "yyyy-MM-dd"));
                        $("#HEmpName").val(d.data[0]["负责人"]);
                        $("#HEmpID").val(d.data[0]["HEmpID"]);
                        $("#HProcExchBillNo").val(d.data[0]["流转卡号"]);
                        $("#HProcExchInterID").val(d.data[0]["流转卡主内码"]);
                        $("#HProcExchEntryID").val(d.data[0]["流转卡子内码"]);
                        $("#HWorkShopID").val(d.data[0]["HWorkShopID"]);
                        $("#HWorkShopName").val(d.data[0]["生产车间"]);
                        $("#HMaterNumber").val(d.data[0]["产品代码"]);
                        $("#HMaterID").val(d.data[0]["HMaterID"]);
                        $("#HMaterName").val(d.data[0]["产品名称"]);
                        $("#HModel").val(d.data[0]["规格型号"]);
                        $("#HUnitID").val(d.data[0]["HUnitID"]);
                        $("#HUnitName").val(d.data[0]["单位"]);
                        $("#HPlanQty").val(d.data[0]["订单数量"]);
                        $("#HQty").val(d.data[0]["返工数量"]);
                        $("#HProcBegName").val(d.data[0]["返工开始工序"]);
                        $("#HProcBegID").val(d.data[0]["HProcBegID"]);
                        $("#HProcEndName").val(d.data[1]["返工结束工序"]);
                        $("#HProcEndID").val(d.data[1]["HProcEndID"]);
                        $("#HProcExchBegNO").val(d.data[0]["返工开始流水号"]);
                        $("#HProcExchEndNO").val(d.data[1]["返工结束流水号"]);
                        $("#HPRDORGID").val(d.data[0]["HPRDORGID"]);
                        $("#HPRDORGName").val(d.data[0]["组织"]);
                        $("#HICMOBillNo").val(d.data[0]["生产订单号"]);
                        $("#HICMOInterID").val(d.data[0]["HICMOInterID"]);
                        $("#HICMOEntryID").val(d.data[0]["HICMOEntryID"]);
                        $("#HOrderProcNO").val(d.data[0]["订单跟踪号"]);
                        $("#HInnerBillNo").val(d.data[0]["内部单据号"]);
                        $("#HRemark").val(d.data[0]["表头备注"]);
                        $("#HMakeDate").val(d.data[0]["制单人"]==""?"":Format(d.data[0]["制单日期"], "yyyy-MM-dd"));
                        $("#HMaker").val(d.data[0]["制单人"]);
                        $("#HCheckDate").val(d.data[0]["审核人"] == "" ? "" :Format(d.data[0]["审核日期"], "yyyy-MM-dd"));
                        $("#HChecker").val(d.data[0]["审核人"]);
                        $("#HCloseDate").val(d.data[0]["关闭人"] == "" ? "" :Format(d.data[0]["关闭日期"], "yyyy-MM-dd"));
                        $("#HCloseMan").val(d.data[0]["关闭人"]);
                        $("#HUpDateDate").val(d.data[0]["修改人"] == "" ? "" :Format(d.data[0]["修改日期"], "yyyy-MM-dd"));
                        $("#HUpDater").val(d.data[0]["修改人"]);
                        $("#HDeleteDate").val(d.data[0]["作废人"] == "" ? "" :Format(d.data[0]["作废日期"], "yyyy-MM-dd"));
                        $("#HDeleteMan").val(d.data[0]["作废人"]);
                        var rowdata = [];
                        for (var i = 0; i < d.data.length; i++) {
                            //子表  èµ‹å€¼
                            rowdata.push({
                                "HProcNo": d.data[i]["流水号"], "HProcID": d.data[i]["HProcID"], "HProcNumber": d.data[i]["工序代码"], "HProcName": d.data[i]["工序"], "HWorkRemark": d.data[i]["加工说明"],
                                "HCenterID": d.data[i]["HCenterID"], "HCenterNumber": d.data[i]["工作中心代码"], "HCenterName": d.data[i]["工作中心"],
                                "HDeptID": d.data[i]["HDeptID"], "HDeptNumber": d.data[i]["加工车间代码"], "HDeptName": d.data[i]["加工车间"],
                                "HSupID": d.data[i]["HSupID"], "HSupNumber": d.data[i]["供应商代码"], "HSupName": d.data[i]["供应商"], "HSupFlag": d.data[i]["委外标记"] == 1 ? true : false,
                                "HQty": d.data[i]["子返工数量"], "HRemark": d.data[i]["表体备注"]
                            });
                        }
                        option.data = rowdata;
                        table.render(option);
                        for (var i = 0; i < d.data.length; i++) {
                            //委外标记
                            $('#HSupFlag' + (i + 1)).find("option[value='" + d.data[i].委外标记 + "']").attr("selected", true);
                        }
                        form.render('select');
                    } else {
                        layer.msg(result.code + result.Message, { icon: 5 });
                    }
                }
            })
        }
        function get_UrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        //#endregion
    })
</script>
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcExchWorkBackBillList.html
New file
@@ -0,0 +1,629 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>工序返工申请列表</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/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>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HDate">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HDate1">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content">
                                    <div class="layui-row" style=" margin-bottom: 10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">生产车间</label>
                                            <div class="layui-input-block">
                                                <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input">
                                                    <!--动态渲染车间-->
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">物料编码</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">流转卡号</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HProcExchBillNo" id="HProcExchBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" 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="set_AddNew"><!--<i class="layui-icon layui-icon-file-b"></i>-->新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Edit"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_CheckBill"><i class="layui-icon layui-icon-delete"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
    }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element
            , laypage = layui.laypage
            , laydate = layui.laydate
        var sWhere = "";
        var titleData = ["hmainid", "HICMOInterID", "HWorkShopID", "HUnitID", "HPRDORGID", "HCenterID", "HProcID", "HDeptID","HEmpID"];
        var option = [];
        var HModName = "Sc_ProcExchWorkBackBillList";
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //新增
                case 'set_AddNew': set_AddNew();
                    break;
                //编辑
                case 'set_Edit': set_Edit();
                    break;
                //删除
                case 'set_DeleteBill': set_DeleteBill();
                    break;
                //审核
                case 'set_CheckBill': set_CheckBill();
                    break;
                //刷新
                case 'get_Refresh': get_Refresh();
                    break;
                //退出按钮
                case 'get_Exit': Pub_Close(2);
                //列设置
                case 'set_HideColumn':
                    get_HideColumn();
                    break;
            };
        });
        //重置按钮
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //查询按钮
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery();
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        // åˆå§‹åŒ–界面
        function set_ClearBill() {
            $("#HDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//开始日期
            $("#HDate1").val(Format(new Date(), "yyyy-MM-dd"));;//结束日期
            //查询
            get_Display("");
            //车间列表
            getDept();
            //初始化表格
            DisPlay_HideColumn();
        }
        //获取车间列表
        function getDept() {
            var HDeptName = '<option value="0" style="color:red;" selected>全部车间</option>';
            $.ajax({
                type: "get",
                url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
                success: function (result) {
                    if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        var data = result.data;
                        for (var i = 0; i < data.length; i++) {
                            HDeptName += '<option  style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>';
                        }
                        $("#HDeptName").append(HDeptName);
                        form.render('select');
                    }
                    layer.closeAll("loading");
                }
            })
        }
        // æŸ¥è¯¢
        function get_Display(sWhere) {
            sWhere += " and HPRDORGID=" + sessionStorage["OrganizationID"] + " ";
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList',
                type: "GET",
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.count == 1) {
                        layer.close(ajaxLoad);
                        var data = [];
                        var col = [];
                        //给空的数组赋值
                        for (var key in data1.list) {
                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left' });
                        for (var i = 0; i < data.length; i++) {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            }
                            else {
                                switch (data[i].Type) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                }
                            }
                        }
                        option = {
                            elem: '#mainTable'
                            , toolbar: '#toolbarDemo'
                            , height: 800
                            , page: true //开启分页
                            , limit: 50
                            , limits: [50, 500, 5000, 20000]
                            , cols: [col]
                            , data: data1.data
                        };
                        table.render(option);
                        if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                            ColFilter();
                        }
                    } else {
                        layer.close(ajaxLoad);
                        layer.msg(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        // å¿«é€Ÿè¿‡æ»¤
        function get_FastQuery() {
            var HDate = $("#HDate").val();;//开始日期
            var HDate1 = $("#HDate1").val();//结束日期
            var HBillNo = $("#HBillNo").val();//单据号
            var HMaterName = $("#HMaterName").val();//物料
            var HDeptName = $("#HDeptName").val();//车间
            var HProcExchBillNo = $("#HProcExchBillNo").val();//流转卡号
            var ColName = $("#ColName").val();//复选框
            var Comparator = $("#Comparator").val()
            var ColContent = $("#ColContent").val();
            if (ColName != 0 && Comparator != 0) {
                var com = "";
                switch (Comparator) {
                    case "7":
                        com = "like'%" + ColContent + "%'";
                        break;
                    case "8":
                        com = "like'%" + ColContent + "'";
                        break;
                    case "9":
                        com = "like'" + ColContent + "%'";
                        break;
                    case "10":
                        com = "not like'%" + ColContent + "%'";
                        break;
                    default:
                        com = "" + Comparator + "'" + ColContent + "'";
                        break;
                }
                sWhere += " and " + ColName + " " + com;
            }
            if (HDate) {
                sWhere += " and æ—¥æœŸ >= '" + HDate + "'";
            }
            if (HDate1) {
                sWhere += " and æ—¥æœŸ <= '" + HDate1 + "'";
            }
            if (HBillNo) {
                sWhere += " and å•据号 like '%" + HBillNo + "%'";
            }
            if (HMaterName) {
                sWhere += " and äº§å“ä»£ç  like '%" + HMaterName + "%'";
            }
            if (HDeptName && HDeptName != "0") {
                sWhere += " and HWorkShopID = '" + HDeptName + "'";
            }
            if (HProcExchBillNo) {
                sWhere += " and æµè½¬å¡å· = '" + HProcExchBillNo + "'";
            }
            get_Display(sWhere);
            sWhere = "";//调用接口后清空sWhere缓存
        }
        // é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            $("#HDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//开始日期
            $("#HDate1").val(Format(new Date(), "yyyy-MM-dd"));;//结束日期
            $("#HBillNo").val("");//单据号
            $("#HMaterName").val("");//物料
            $("#HDeptName").val("0");//车间
            $("#HProcExchBillNo").val("");//流转卡号
            $("#ColContent").val("");
            $("#ColName").val("0");
            $("#Comparator").val("0");
            form.render('select');
            $("#btnSearch").click();
            sWhere = "";
        }
        //新增
        function set_AddNew() {
            layer.open({
                type: 2
                , skin: 'layui-layer-rim' //加上边框
                , area: ['100%', '100%']
                , title: '生产订单新增'
                , shift: 0//弹出动画
                , content: '../生产任务单/Sc_ICMOBillEdit.html?OperationType=1&linterid='
                , end: function () {
                    //刷新页面,
                    location.reload();
                }
            })
        }
        // ç¼–辑
        function set_Edit() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var linterid = data[0].hmainid;
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '生产订单编辑'
                    , shift: 0//弹出动画
                    , content: '../工序流转卡/Sc_ProcExchWorkBackBillEdit.html?OperationType=3&linterid=' + linterid + '&HEntryID=-1'
                    , end: function () {
                        //刷新页面,
                        location.reload();
                    }
                })
            } else {
                layer.msg('请选择一行数据编辑!');
            }
        }
        // åˆ é™¤
        function set_DeleteBill() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var hmainid = data[0].hmainid;
                layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                    var wait = layer.load();
                    //逻辑删除方法
                    $.ajax({
                        url: GetWEBURL() + '/Sc_ProcExchWorkBackBill/DelProcExchWorkBackBill',
                        type: "GET",
                        data: { "HInterID": hmainid, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                //关闭当前frame
                                layer.close(wait);
                                layer.msg(result.Message);
                                //修改为功后刷新界面
                                get_FastQuery();
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            else {
                layer.msg('请选择一行数据删除!');
            }
        }
        //审核
        function set_CheckBill() {
            var checkStatus = table.checkStatus('mainTable')
                , data = checkStatus.data;
            if (checkStatus.data.length === 1) {
                var hmainid = data[0].hmainid;
                layer.confirm("确认要审核吗,审核后不能恢复", { title: "审核确认" }, function (index) {
                    var wait = layer.load();
                    //逻辑删除方法
                    $.ajax({
                        url: GetWEBURL() + '/Sc_ProcExchWorkBackBill/DelProcExchWorkBackBill',
                        type: "GET",
                        data: { "HInterID": hmainid, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                //关闭当前frame
                                layer.close(wait);
                                layer.msg(result.Message);
                                //修改为功后刷新界面
                                get_FastQuery();
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            else {
                layer.msg('请选择一行数据审核!');
            }
        }
        // åˆ·æ–°
        function get_Refresh() {
            set_ClearQuery();
            get_Display(sWhere);
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
            var contentUrl = "";
            for (var i = 1; i < option.cols[0].length - 1; i++) {
                colName += option.cols[0][i]["title"] + ",";
            }
            var urlStr = window.document.location.pathname;//获取文件路径
            var urlLen = urlStr.split('/');
            for (var i = 0; i < urlLen.length - 4; i++) {
                contentUrl += "../";
            }
            colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
            contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
            layer.open({
                type: 2
                , skin: "layui-layer-rim" //加上边框
                , title: "隐藏列设置"  //标题
                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                , shift: 2 //弹出动画
                , area: ["50%", "90%"] //窗体大小
                , maxmin: true //设置最大最小按钮是否显示
                , content: [contentUrl, "yes"]
                , btn: ["确定", "取消"]
                , btn1: function (index, laero) {
                    //刷新表格数据
                    DisPlay_HideColumn();
                    //更新表格缓存的数据
                    layer.close(index);//关闭弹窗
                }
            })
        }
        //显示列数据
        function DisPlay_HideColumn() {
            $.ajax({
                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                type: "GET",
                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.data.length != 0) {
                        var dataCol = [];//数据库查询出的列数据
                        var titleData = ["hmainid", "HEntryID", "作废人", "作废日期", "销售订单日期", "订单跟踪号", "HDeptID", "HMaterID", "hunitid", "hempid", "业务员代码", "业务员", "hcusid", "客户代码", "客户", "HCenterID", "工作中心代码", "工作中心", "hbomid", "BOM单编码", "HRoutingInterID", "工艺路线代码", "工艺路线", "hsubid", "源单单号", "源单主内码", "源单子内码", "行关闭人", "关闭类型", "单据类型", "计划跟踪号"];//不需要显示的字段 å¯æ‰©å±•
                        dataCol = data1.data[0].HGridString.split(',');
                        for (var i = 0; i < option.cols[0].length - 2; i++) {
                            var dataCols = dataCol[i].split('|');
                            //隐藏列
                            if (dataCols[1] == 1) {
                                option.cols[0][i + 1]["hide"] = true;
                            }
                            //设置列宽
                            if (dataCols[3] > 0) {
                                option.cols[0][i + 1]["width"] = dataCols[3];
                            }
                            //设置内容字体大小
                            if (data1.data[0].HFontSize != 0) {
                                option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                            } else {
                                option.cols[0][i + 1]["style"] = "font-size:100%";
                            }
                            //设置列宽
                            //if (data1.data[0].HColumnWidth != 0) {
                            //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                            //} else {
                            //    option.cols[0][i + 1]["width"] = "";
                            //}
                            //显示列
                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                option.cols[0][i + 1]["hide"] = false;
                            }
                            //字体所在位置(å·¦ å±…中 å³)
                            switch (dataCols[2]) {
                                case "L":
                                    option.cols[0][i + 1]["align"] = "left";
                                    break;
                                case "M":
                                    option.cols[0][i + 1]["align"] = "center";
                                    break;
                                case "R":
                                    option.cols[0][i + 1]["align"] = "right";
                                    break;
                            }
                        }
                        //取消冻结列
                        for (var i = 1; i < option.cols[0].length - 1; i++) {
                            if (option.cols[0][i]["fixed"] != null) {
                                option.cols[0][i]["fixed"] = null;
                            }
                            else {
                                break;
                            }
                        }
                        //冻结列
                        if (data1.data[0].HFixCols != 0) {
                            for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                    data1.data[0].HFixCols += 1;
                                }
                                option.cols[0][i + 1]["fixed"] = "left";
                            }
                        }
                        table.render(option);
                    } else {
                        table.render(option);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            })
        }
        //列明显示下拉框
        function ColFilter() {
            var Organization = '<option  value="0" selected="selected" ></option>';
            for (var i = 1; i < option.cols[0].length; i++) {
                if (option.cols[0][i].hide != true) {
                    Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                }
            }
            $("#ColName").empty();
            $("#ColName").append(Organization);
            form.render('select');
        }
        //#endregion
        //以上是layui模块
    });
</script>
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcessExchangeBillList.html
@@ -147,6 +147,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_StationOut"><i class="layui-icon layui-icon-form"></i>工序出站汇报单</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_StationIn"><i class="layui-icon layui-icon-form"></i>工序进站接收单</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_HideColumn2"><i class="layui-icon layui-icon-file-b"></i>明细列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Fg"><i class="layui-icon layui-icon-file-b"></i>工序返工</button>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo3">
@@ -307,6 +308,9 @@
                    //明细列设置
                    case 'get_HideColumn2': get_HideColumn2();
                        break
                    //工序返工单
                    case 'get_Fg': get_Fg();
                        break
                };
            });
            table.on('toolbar(mainTable3)', function (obj) {
@@ -397,7 +401,7 @@
                    sWhere += " and æ—¥æœŸ <= '" + HDate1 + "'";
                }
                if (HWorkBillNo) {
                    sWhere += " and ä»»åŠ¡å•å· like '%" + HWorkBillNo + "%'";
                    sWhere += " and ç”Ÿäº§è®¢å•号 like '%" + HWorkBillNo + "%'";
                }
                if (HOrderProcNO) {
                    sWhere += " and è®¢å•跟踪号 like '%" + HOrderProcNO + "%'";
@@ -940,6 +944,37 @@
            }
            //#endregion
            //工序返工
            function get_Fg() {
                var checkStatus = table.checkStatus('mainTable2')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    if (checkStatus.data[0]["流水号"] != "9999") {
                        layer.open({
                            type: 2
                            , skin: "layui-layer-rim" //加上边框
                            , title: "工序返工申请单编辑"  //标题
                            , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                            , shift: 2 //弹出动画
                            , area: ["100%", "100%"] //窗体大小
                            , maxmin: true //设置最大最小按钮是否显示
                            , content: ['../../车间管理/工序流转卡/Sc_ProcExchWorkBackBillEdit.html?OperationType=1&linterid=' + checkStatus.data[0]["hmainid"] + '&HEntryID=' + checkStatus.data[0]["HEntryID"], "yes"]
                            , btn: ["确定", "取消"]
                            , btn1: function (index, laero) {
                                //刷新表格数据
                                DisPlay_HideColumn();
                                //更新表格缓存的数据
                                layer.close(index);//关闭弹窗
                            }
                        })
                    } else {
                        layer.msg('返工工序不能是转工序!');
                    }
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#region æ˜¾ç¤ºåˆ—数据 (主列表)
            function DisPlay_HideColumn() {
                $.ajax({
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcessExchangeBill_Mul.html
New file
@@ -0,0 +1,876 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>工序流转卡批量下推</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        .btn-title {
            font-size: 16px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            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%;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 10px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">母单号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">工艺路线名称</label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HRoutingBillName" name="HRoutingBillName" id="HRoutingBillName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" class="layui-input" name="HRoutingBillID" id="HRoutingBillID">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHRoutingBillID" id="btnHRoutingBillID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">生产订单</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HICMOBillNo" name="HICMOBillNo" id="HICMOBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HICMOInterID" id="HICMOInterID" value="0">
                                                <input type="hidden" name="HICMOEntryID" id="HICMOEntryID" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">生产车间</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HWorkShopName" name="HWorkShopName" id="HWorkShopName" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HWorkShopID" id="HWorkShopID" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">产品代码</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HMaterNumber2" name="HMaterNumber2" id="HMaterNumber2" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">产品名称</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HMaterName2" name="HMaterName2" id="HMaterName2" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HMaterID2" id="HMaterID2" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">规格型号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HMaterModel2" name="HMaterModel2" id="HMaterModel2" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">订单跟踪号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HOrderProcNO" name="HOrderProcNO" id="HOrderProcNO" style="background-color:#efefef4d;" readonly value="">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">流转卡张数</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HProcessExchangeSum" name="HProcessExchangeSum" id="HProcessExchangeSum" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">每张卡数量</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HProcessExchangeHqty" name="HProcessExchangeHqty" id="HProcessExchangeHqty" value="0">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <button class="layui-btn layui-btn-normal" style="margin-left: 45px" type="button" lay-submit="" lay-filter="btnFj" id="btnFj">分解</button>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">订单数量</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HPlanQty" name="HPlanQty" id="HPlanQty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">已生成数量</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="OldHqty" name="OldHqty" id="OldHqty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">本次生成</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="NowHqty" name="NowHqty" id="NowHqty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">剩余数量</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="RemainderHqty" name="RemainderHqty" id="RemainderHqty" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="layui-tab layui-tab-card">
                        <ul class="layui-tab-title">
                            <li>明细信息</li>
                            <li class="layui-this">工艺清单</li>
                        </ul>
                        <div class="layui-tab-content">
                            <div class="layui-tab-item ">
                                <!--明细信息-->
                                <table class="layui-hide" id="mainTable1" lay-filter="mainTable1"></table>
                            </div>
                            <div class="layui-tab-item layui-show">
                                <!--工艺清单-->
                                <table class="layui-hide" id="mainTable2" lay-filter="mainTable2"></table>
                            </div>
                        </div>
                    </div>
                    <input type="text" hidden lay-verify="HPlanBeginDate" name="HPlanBeginDate" id="HPlanBeginDate" /><!--计划开工日期-->
                    <input type="text" hidden lay-verify="HPlanEndDate" name="HPlanEndDate" id="HPlanEndDate" /><!--计划完工日期-->
                    <input type="text" hidden lay-verify="HUnitID" name="HUnitID" id="HUnitID" /><!--计量单位-->
                    <input type="text" hidden lay-verify="HUnitNumber" name="HUnitNumber" id="HUnitNumber" /><!--计量单位代码-->
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo1">
    <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del1">删除</a>
</script>
<script type="text/html" id="barDemo2">
    <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del2">删除</a>
</script>
<!--行下拉选择(是否委外)-->
<script type="text/html" id="isEntrust">
    <select name="isEntrust" lay-filter="isEntrust" id="isEntrust{{d.LAY_TABLE_INDEX+1}}">
        <option value="false">否</option>
        <option value="true">是</option>
    </select>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element;
        var option2 = [];
        var option1 = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HEntryID = params[params[2]];//源单子id
        }
        if (OperationType == 2) {//有源单新增
            $.ajax({
                url: GetWEBURL() + "/Web/GetMAXNum",
                type: "GET",
                data: { "HBillType": '3772' },
                success: function (d) {
                    $("#HBillNo").val(d.data[0].HBillNo);
                    $("#HDate").val(Pub_Format(new Date(), "yyyy-MM-dd"));
                }
            });
        }
        //初始化
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //选择工艺路线
        form.on('submit(btnHRoutingBillID)', function () {
            var HMaterID2 = $("#HMaterID2").val();
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '70%']//大小
                , title: '工艺路线列表'//标题
                , shift: 2//弹出动画
                , content: ['../../Baseset/基础资料/Gy_RoutingBillList.html?HMaterID=' + HMaterID2, 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    $("HRoutingBillName").val(checkStatus.data[0].单据号)
                    $("HRoutingBillID").val(checkStatus.data[0].hmainid)
                    getRoutingBillList(checkStatus.data[0].单据号);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        });
        //分解按钮
        form.on('submit(btnFj)', function () {
            if (HProcessExchangeSum == 0) {
                layer.msg("请输入流转卡张数!");
                return false;
            }
            if (HProcessExchangeHqty == 0) {
                layer.msg("请输入每张流转卡数量!");
                return false;
            }
            set_InitGrid1();
            getProcessExchangeNum();
            var dataNum = [];
            var HBillNo = $("#HBillNo").val();
            for (var i = 0; i < $("#HProcessExchangeSum").val(); i++) {
                dataNum.push({ "HBillNo": HBillNo + "_" + (i + 1), "HQty": $("#HProcessExchangeHqty").val() });
            }
            option1.data = dataNum;
            table.render(option1);
        })
        //保存提交
        form.on('submit(btnSave)', function (data) {//提交
            if (AllowLoadData(data)) {
                set_AddNew(data);
            }
        });
        //退出
        form.on('submit(btnEdit)', function () {
            if (linterid == undefined) {
                //关闭页签
                Pub_Close(2);
            }
            else {
                //关闭页签
                Pub_Close(1);
            }
        })
        //行内鼠标离开事件
        table.on('edit(mainTable1)', function (obj) {
            if (obj.field == "HQty") {
                getProcessExchangeNum();
            }
        })
        //行内事件
        table.on('tool(mainTable1)', function (obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del1') {
                layer.confirm('真的删除行吗?', function (index) {
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        obj.del();
                        var num = [];
                        for (var i = 0; i < table.cache["mainTable1"].length; i++) {
                            if (table.cache["mainTable1"][i] != "") {
                                table.cache["mainTable1"][i].LAY_TABLE_INDEX = i;
                                num.push(table.cache["mainTable1"][i])
                            }
                        }
                        option1.data = num;//将数据绑定到data上
                        $("#HProcessExchangeSum").val($("#HProcessExchangeSum").val() - 1);
                        getProcessExchangeNum();
                        layer.close(index);
                    }
                });
            }
        });
        //行内事件
        table.on('tool(mainTable2)', function (obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del2') {
                layer.confirm('真的删除行吗?', function (index) {
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        obj.del();
                        option2.data = table.cache["mainTable2"];//将数据绑定到data上
                        layer.close(index);
                    }
                });
            }
            $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                if (event.key == "F7") {
                    if (obj.event == 'HProcCheck') {
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '工序列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_ProcList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HProcName: checkStatus.data[0].工序
                                    , HProcID: checkStatus.data[0].HItemID
                                    , HProcNumber: checkStatus.data[0].工序代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HWorkCenterCheck') {//工作中心
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '加工中心列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_WorkCenterList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HCenterName: checkStatus.data[0].工作中心
                                    , HCenterID: checkStatus.data[0].HItemID
                                    , HCenterNumber: checkStatus.data[0].工作中心代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HSupCheck') {//供应商
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '供应商列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../../views/基础资料/采购基础资料/Gy_Supplier.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HSupName: checkStatus.data[0].供应商名称
                                    , HSupID: checkStatus.data[0].HItemID
                                    , HSupNumber: checkStatus.data[0].供应商代码
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    if (obj.event === 'HDeptCheck') {//部门
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '部门列表',
                            closeBtn: 1,
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_DepartmentList.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index];
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HDeptName: checkStatus.data[0].HName
                                    , HDeptID: checkStatus.data[0].HItemID
                                    , HDeptNumber: checkStatus.data[0].HNumber
                                });
                                layer.close(layer.index);
                            }
                            , btn2: function (index, layero) {
                            },
                            end: function () {
                            }
                        });
                    }
                    obj.event = "";
                    return false;
                }
            })
        });
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        function set_ClearBill() {
            getICMOBillList();
            getProcessExchangeBillList();
            set_InitGrid2();
        }
        //初始化表体信息
        function set_InitGrid2() {
            option2 = {
                id: 'mainTable2'
                , elem: '#mainTable2'
                //, toolbar: '#toolbarDemo'
                , page: false
                , cellMinWidth: 120
                , height: 400
                , cols: [[ //表头
                    { type: 'checkbox', totalRowText: '合计行', fixed: 'left'  }
                    , { type: 'numbers', title: '序号', totalRow: true }
                    , { field: 'HProcNo', title: '流水号' }//, edit: 'text'
                    , { field: 'HProcID', title: '工序ID', hide: true }
                    , { field: 'HProcNumber', title: '工序代码', event: "HProcCheck" }//, edit: 'text'
                    , { field: 'HProcName', title: '工序名称' }
                    , { field: 'HWorkRemark', title: '加工说明' }//, edit: 'text'
                    , { field: 'HCenterID', title: '工作中心ID', hide: true }
                    , { field: 'HCenterNumber', title: '工作中心代码', event: "HWorkCenterCheck" }//, edit: 'text'
                    , { field: 'HCenterName', title: '工作中心名称' }
                    , { field: 'HDeptID', title: '部门ID', hide: true }
                    //, { field: 'HDeptNumber', title: '部门代码', event: "HDeptCheck" }//, edit: 'text'
                    //, { field: 'HDeptName', title: '部门' }
                    //, { field: 'HSupID', title: '供应商ID', hide: true }
                    //, { field: 'HSupNumber', title: '供应商代码', event: "HSupCheck" }//, edit: 'text'
                    //, { field: 'HSupName', title: '供应商' }
                    //, { field: 'isEntrust', title: '是否委外', templet: '#isEntrust' }
                    //, { field: 'HOutPrice', title: '加工单价' }//, edit: 'text'
                    //, { field: 'HRemark', title: '备注', edit: 'text' }
                    //, { field: 'HRelationQty_In', title: '进站数量' }//, edit: 'text'
                    //, { field: 'HRelationQty_Out', title: '出站数量' }//, edit: 'text'
                    //, { field: 'HRelationQty_WWOrder', title: '委外工单数量' }//, edit: 'text'
                    //, { field: 'HRelationQty_Bad', title: '不合格数量' }//, edit: 'text'
                    //, { field: 'HOverRate', title: '超额比例', event: "HOverRate" }//, edit: 'text'
                    //, { field: 'HMaxQty', title: '最高上限', edit: 'false', }//, edit: 'text'
                    //, { field: 'HPassRate', title: '良率' }//, edit: 'text'
                    //, { field: 'HSumPassRate', title: '累计良率' }//, edit: 'text'
                    //, { field: 'HPicNum', title: '图纸编号' }//, edit: 'text'
                    //, { field: 'HProcCheckNote', title: '本工序确认记录', width: 500 }//, edit: 'text'
                    , { field: 'HTechnologyParameter', title: '工艺参数', width: 400 }//, edit: 'text'
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo2' }
                ]]
                , limit: Number.MAX_VALUE//默认显示全部
                , done: function (res, curr, count) {
                    option2.data = res.data;
                    //去掉下拉框失焦事件否则在下拉框里输入值
                    $('.layui-form-select').find('input').unbind("blur");
                    //表格重载回显下拉框里的数据
                    $('tr').each(function (e) {
                        var $cr = $(this);
                        var dataIndex = $cr.attr("data-index");
                        $.each(option2.data, function (index, value) {
                            if (value.LAY_TNDEX == dataIndex) {
                                $cr.find('input').val(value.isEntrust);
                            }
                        });
                    });
                }
            };
            option2.data = [{
                "HProcNo": "", "HProcID": 0, "HProcNumber": "", "HProcName": "", "HWorkRemark": "",
                "HCenterID": 0, "HCenterNumber": "", "HCenterName": "",
                "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
                "HSupID": 0, "HSupNumber": "", "HSupName": "", "isEntrust": "false",
                "HOutPrice": 0, "HRemark": "", "HRelationQty_In": 0, "HRelationQty_Out": 0,
                "HRelationQty_WWOrder": 0, "HRelationQty_Bad": 0, "HOverRate": 0, "HMaxQty": 0,
                "HPassRate": 0, "HSumPassRate": 0, "HTechnologyParameter": "", "HPicNum": "", "HProcCheckNote": ""
            }];
            table.render(option2);
        }
        function set_InitGrid1() {
            option1 = {
                id: 'mainTable1'
                , elem: '#mainTable1'
                //, toolbar: '#toolbarDemo'
                , page: false
                , cellMinWidth: 120
                , height: 400
                , cols: [[ //表头
                    { type: 'checkbox', totalRowText: '合计行', fixed: 'left' }
                    , { type: 'numbers', title: '序号', totalRow: true }
                    , { field: 'HBillNo', title: '流转卡号' }
                    , { field: 'HQty', title: '流转卡数量', edit: 'text' }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo1' }
                ]]
                , limit: Number.MAX_VALUE//默认显示全部
            };
            option1.data = [{ "HBillNo": "", "HQty": 0 }];
            table.render(option1);
        }
        //查询生产订单
        function getICMOBillList() {
            $.ajax({
                url: GetWEBURL() + '/LEMS/MES_IF_ICMOBillList_Json',
                type: "GET",
                async: true,
                data: {
                    "sWhere": " and hmainid=" + linterid + " and HEntryID=" + HEntryID + " and HPRDORGID=" + sessionStorage["OrganizationID"]
                    , "user": sessionStorage["HUserName"]
                },
                success: function (data1) {
                    if (data1.count == 1) {
                        $("#HICMOBillNo").val(data1.data[0].单据号);
                        $("#HICMOInterID").val(linterid);
                        $("#HICMOEntryID").val(HEntryID);
                        $("#HWorkShopName").val(data1.data[0].生产车间);
                        $("#HWorkShopID").val(data1.data[0].HDeptID);
                        $("#HMaterNumber2").val(data1.data[0].产品代码);
                        $("#HMaterName2").val(data1.data[0].产品名称);
                        $("#HMaterModel2").val(data1.data[0].规格型号);
                        $("#HMaterID2").val(data1.data[0].HMaterID);
                        $("#HOrderProcNO").val(data1.data[0].订单跟踪号);
                        $("#HPlanQty").val(data1.data[0].生产任务单数量);
                        $("#HPlanBeginDate").val(Format(data1.data[0].计划开工日期, "yyyy-MM-dd"));
                        $("#HPlanEndDate").val(Format(data1.data[0].计划完工日期, "yyyy-MM-dd"));
                        $("#HUnitID").val(data1.data[0].HUnitID);
                        $("#HUnitNumber").val(data1.data[0].计量单位代码);
                        $.ajax({
                            type: "get",
                            url: GetWEBURL() + "LEMS/Gy_RoutingBillList",
                            async: true,
                            data: {
                                "sWhere": "and HMaterID=" + $("#HMaterID2").val() + " and HOrgID = " + sessionStorage["OrganizationID"]
                                , "user": sessionStorage["HUserName"]
                            },
                            success: function (result) {
                                if (result.data.length != 0) {
                                    var hbillno = result.data[0].单据号
                                    getRoutingBillList(hbillno);
                                }
                            },
                            error: function (result) {
                                layer.close(index);
                                console.log(result);
                                //layer.msg('获取采购订单出现异常', { icon: 2, time: 2000 });
                            }
                        })
                    }
                }
            });
        }
        //查询工序流转卡
        function getProcessExchangeBillList() {
            $.ajax({
                url: GetWEBURL() + '/LEMS/MES_Sc_ProcessExchangeBillQuery_Json',
                type: "GET",
                async: true,
                data: {
                    "sWhere": " and hicmointerid=" + linterid + " and HICMOEntryID=" + HEntryID + "  and HPRDORGID=" + sessionStorage["OrganizationID"]
                    , "user": sessionStorage["HUserName"]
                },
                success: function (data1) {
                    if (data1.count == 1) {
                        var num = 0;
                        for (var i = 0; i < data1.data.length; i++) {
                            num += data1.data[i]["流转卡数量"];
                        }
                        $("#OldHqty").val(num);
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }
            });
        }
        //查询工艺路线
        function getRoutingBillList(HBillNo) {
            $.ajax({
                type: "get",
                url: GetWEBURL() + "LEMS/MES_Gy_RoutingBillList_Json",
                async: true,
                data: { "sWhere": " and å•据号='" + HBillNo + "'", "user": sessionStorage["HUserName"] },
                success: function (result) {
                    var data = result.data;
                    var Tablerow = [];
                    $("#HRoutingBillName").val(data[0].单据号)
                    $("#HRoutingBillID").val(data[0].hmainid)
                    for (var i = 0; i < data.length; i++) {
                        Tablerow.push({
                            "HProcNo": data[i].工序号, "HProcID": data[i].hprocid, "HProcNumber": data[i].工序代码, "HProcName": data[i].工序, "HWorkRemark": data[i].表体备注,
                            "HCenterID": data[i].HCenterID, "HCenterNumber": data[i].工作中心代码, "HCenterName": data[i].工作中心名称,
                            "HDeptID": 0, "HDeptNumber": "", "HDeptName": "",
                            "HSupID": data[i].HSupID, "HSupNumber": data[i].供应商代码, "HSupName": data[i].供应商, "isEntrust": data[i].委外标记 == 0 ? "false" : "true",
                            "HOutPrice": 0, "HRemark": "", "HRelationQty_In": 0, "HRelationQty_Out": 0,
                            "HRelationQty_WWOrder": 0, "HRelationQty_Bad": 0, "HOverRate": 0, "HMaxQty": 0,
                            "HPassRate": 0, "HSumPassRate": 0, "HTechnologyParameter": data[i].工艺参数, "HPicNum": data[i].图纸编号, "HProcCheckNote": data[i].本工序确认记录
                        });
                    }
                    option2.data = Tablerow;
                    table.render(option2);
                    for (var i = 1; i <= data.length; i++) {
                        $('#isEntrust' + i + '').find("option[value='" + (data[i - 1].委外标记 == "0" ? "false" : "true") + "']").attr("selected", true);
                    }
                    form.render('select');
                }
            })
        }
        //分解按钮之后 é¡µé¢æ˜¾ç¤ºçš„æ•°é‡
        function getProcessExchangeNum() {
            var HProcessExchangeSum = $("#HProcessExchangeSum").val();//流转卡张数
            var HProcessExchangeHqty = $("#HProcessExchangeHqty").val();//每张流转卡数量
            var HPlanQty = $("#HPlanQty").val();//订单数量
            var OldHqty = $("#OldHqty").val();//已生成数量
            if (option1.data.length == 1) {
                $("#NowHqty").val(HProcessExchangeSum * HProcessExchangeHqty);
                var NowHqty = $("#NowHqty").val();//本次生成
                $("#RemainderHqty").val(HPlanQty - NowHqty - OldHqty);
            } else {
                var NowHqty = 0;
                for (var i = 0; i < option1.data.length; i++) {
                    NowHqty += parseInt(option1.data[i]["HQty"]);
                }
                $("#NowHqty").val(NowHqty);  //本次生成
                $("#RemainderHqty").val(HPlanQty - OldHqty - NowHqty); //剩余数量
            }
        }
        //非空验证
        function AllowLoadData(data) {
            var RemainderHqty = $("#RemainderHqty").val(); //剩余数量
            if (parseInt(RemainderHqty) < 0) {
                layer.msg("数量超出!");
                return false;
            }
            if ($("#RemainderHqty").val() == "" || $("#RemainderHqty").val() < 0) {
                layer.msg("剩余数量不能为空且不能小于等于0!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return;
            }
            var num = [];
            for (var i = 0; i < option2.data.length; i++) {
                //流水号
                if ($.inArray(option2.data[i]["HProcNo"], num) == -1) {
                    num.push(option2.data[i]["HProcNo"]);
                }
                else {
                    layer.msg("第" + (i + 1) + "行,流水号:" + option2.data[i]["HProcNo"] + "重复!");
                    return false;
                }
                if (!option2.data[i].HProcNo) {
                    var indexRow = i + 1;
                    layer.msg("第" + indexRow + "行,流水号不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if (option2.data[i].HProcNo == 0) {
                    var indexRow = i + 1;
                    layer.msg("第" + indexRow + "行,流水号不能为0!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if (!option2.data[i].HProcID) {
                    var indexRow = i + 1;
                    layer.msg("第" + indexRow + "行,工序不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if (!option2.data[i].HCenterID) {
                    var indexRow = i + 1;
                    layer.msg("第" + indexRow + "行,工作中心不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
            }
            return true;
        }
        //保存HMaker
        function set_AddNew(data) {
            var num_1 = [];
            for (var i = 0; i < table.cache["mainTable1"].length; i++) {
                if (table.cache["mainTable1"][i] != "") {
                    table.cache["mainTable1"][i].LAY_TABLE_INDEX = i;
                    num_1.push(table.cache["mainTable1"][i])
                }
            }
            var num_2 = [];
            for (var i = 0; i < table.cache["mainTable2"].length; i++) {
                if (table.cache["mainTable2"][i] != "") {
                    table.cache["mainTable2"][i].LAY_TABLE_INDEX = i;
                    num_2.push(table.cache["mainTable2"][i])
                }
            }
            data.field.HPRDORGID = sessionStorage["OrganizationID"];//组织
            var sMainStr = JSON.stringify(data.field);
            var sSubStr = JSON.stringify(num_1);
            var sSubStr_2 = JSON.stringify(num_2);
            var sMainSub = sMainStr + ';' + sSubStr + ';' + sSubStr_2 + ';'+ OperationType + ";" + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Sc_ProcessExchangeBill/AddBill_pl",
                async: true,
                data: { "sMainSub": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                        layer.close(index);
                        layer.msg("提交成功");
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        function get_UrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        //#endregion
    });
</script>