yxj
2026-04-16 e7fc6d8278b86684770e61edbf8ba426a62264ca
WebTM/views/ϵͳ¹ÜÀí/¶à¼¶ÉóÅú/ÉóºËÁ÷³Ìµ¥/Xt_CheckFlowEdit.html
@@ -35,6 +35,7 @@
                    <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">
                            <!--基本信息-->
@@ -81,6 +82,16 @@
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--工序子表-->
                            <div class="layui-tab-item">
                                <table class="layui-hide" id="procTable" lay-filter="procTable"></table>
                                <script type="text/html" id="toolbarProc">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLineProc"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLineProc"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
@@ -162,6 +173,30 @@
            }];
            option.data = rowdata;
            table.render(option);
            //工序子表配置
            var procOption = {
                elem: '#procTable'
                , toolbar: '#toolbarProc'
                , limit: 500
                , cellMinWidth: 90
                , height: 400
                , cols: [[
                    { type: 'checkbox', totalRowText: '合计行' }
                    , { type: 'numbers', title: '序号', totalRow: true }
                    , { field: 'HProcID', title: '工序ID', hide: true }
                    , { field: '工序代码', title: '工序代码', edit: 'text', event: "CheckHProcID" }
                    , { field: '工序', title: '工序名称' }
                    , { field: 'HRemark', title: '备注', edit: 'text' }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
            };
            //工序子表初始数据
            var procRowdata = [{
                "HProcID": 0, "工序代码": "", "工序": "", "HRemark": ""
            }];
            procOption.data = procRowdata;
            table.render(procOption);
            var params = getUrlVars();
            var linterid = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  æ·»åŠ  ä¿å­˜
@@ -294,6 +329,45 @@
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#region å·¥åºå­è¡¨äº‹ä»¶
            //工序子表头工具栏事件
            table.on('toolbar(procTable)', function (obj) {
                var checkStatus = table.checkStatus('procTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewProcRow = {
                    "HProcID": 0, "工序代码": "", "工序": "", "HRemark": ""
                };
                switch (obj.event) {
                    case 'btn-AddLineProc':
                        table.cache["procTable"].push(NewProcRow);
                        procOption.data = table.cache["procTable"];
                        table.render(procOption);
                        break;
                    case 'btn-CopyLineProc':
                        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["procTable"].push(JSON.parse(copyrow));
                            procOption.data = table.cache["procTable"];
                            table.render(procOption);
                        }
                        break;
                }
            });
            //工序子表行内事件
            table.on('tool(procTable)', function (obj) {
                set_ProcGridDelete(obj);
                set_ProcGridCellCheck(obj);
            });
            //#endregion
            //#endregion
@@ -416,6 +490,79 @@
                })
            }
            //工序子表行内删除
            function set_ProcGridDelete(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();
                            procOption.data = table.cache["procTable"];
                            table.reload(procOption);
                            layer.close(index);
                        }
                    });
                }
            }
            //工序子表行内快捷键
            function set_ProcGridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "CheckHProcID") {
                            //打开工序小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim" //加上边框
                                , title: "工序列表"  //标题
                                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ["../../../基础资料/生产基础资料/Gy_Process.html?Type=HProcess", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length == 0) {
                                        return layer.msg("请至少选择一条数据!");
                                    }
                                    if (checkStatus.data.length > 1) {
                                        return layer.msg("只能选择一条数据!");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "工序": checkStatus.data[0].工序名称
                                        , "HProcID": checkStatus.data[0].HItemID
                                        , "工序代码": checkStatus.data[0].工序代码
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "工序": OptionData[0].工序名称
                                            , "工序代码": OptionData[0].工序代码
                                            , "HProcID": OptionData[0].HItemID
                                        })
                                        OptionData = [];
                                    }
                                }
                            })
                        }
                        obj.event = "";
                    }
                })
            }
            //多选  åˆ·æ–°è¡¨æ ¼
            function checkRefresh() {
                for (var i = 1; i <= option.data.length; i++) {
@@ -441,10 +588,21 @@
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //工序子表数据
                var procNum = [];
                if (table.cache["procTable"] != undefined) {
                    for (var i = 0; i < table.cache["procTable"].length; i++) {
                        if (table.cache["procTable"][i] != "") {
                            table.cache["procTable"][i].LAY_TABLE_INDEX = i;
                            procNum.push(table.cache["procTable"][i])
                        }
                    }
                }
                //data.field["HStandard"]=$("")
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(num);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
                var sProcSubStr = JSON.stringify(procNum);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sProcSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
@@ -523,9 +681,50 @@
                                }
                            }
                            form.render('checkbox');
                            //加载工序子表数据
                            loadProcTableData(linterid);
                        }
                    }
                })
            }
            //加载工序子表数据
            function loadProcTableData(linterid) {
                var sWhere = "and HInterID=" + linterid;
                $.ajax({
                    url: GetWEBURL() + "/Xt_CheckFlowBill/Xt_CheckFlowProcList",
                    type: "GET",
                    data: { "sWhere": sWhere },
                    success: function (d) {
                        if (d.code == 1) {
                            var procRowdata = [];
                            if (d.data && d.data.length > 0) {
                                for (var i = 0; i < d.data.length; i++) {
                                    procRowdata.push({
                                        "HProcID": d.data[i].HProcID,
                                        "工序代码": d.data[i].工序代码,
                                        "工序": d.data[i].工序,
                                        "HRemark": d.data[i].备注
                                    });
                                }
                            } else {
                                procRowdata = [{ "HProcID": 0, "工序代码": "", "工序": "", "HRemark": "" }];
                            }
                            procOption.data = procRowdata;
                            table.render(procOption);
                        } else {
                            //如果没有数据,显示空表格
                            procOption.data = [{ "HProcID": 0, "工序代码": "", "工序": "", "HRemark": "" }];
                            table.render(procOption);
                        }
                    },
                    error: function () {
                        //加载失败时显示空表格
                        procOption.data = [{ "HProcID": 0, "工序代码": "", "工序": "", "HRemark": "" }];
                        table.render(procOption);
                    }
                });
            }
            //验证
@@ -551,6 +750,10 @@
            }
            //#endregion
        });
        //工序
        function GetProcessValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>