1
zrg
2026-03-16 14f6af69aa6473052a54812b05207be43c2e2b76
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Add_Edit_Gy_WorkStationList.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <style>
        .layui-form-item .layui-inline {
            margin-top: 5px;
@@ -140,16 +141,37 @@
                                </div>
                            </div>
                        </div>
                     </div>
                        <div class="layui-tab" lay-filter="tab-POStockInBill">
                            <ul class="layui-tab-title" lay-filter="tab-all">
                                <li lay-id="1" style="padding:1px;" class="layui-this">项目</li>
                            </ul>
                            <div class="layui-tab-content">
                                <!--子表-->
                                <div class="layui-tab-item layui-show">
                                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                    <script type="text/html" id="toolbarDemo">
                                        <div class="layui-btn-container">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        var OptionData = [];
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
@@ -165,12 +187,9 @@
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            var sWhere = "";
            var date = new Date();
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var year = date.getFullYear();
            var shijian = year + "-" + month + "-" + day;
            var option = "";
            var HModName = "Gy_WOrkStationEdit"
            //#endregion
@@ -178,7 +197,9 @@
            //判断是否登录 æœªç™»å½•则跳到登录页
            get_LoginIs();
            //初始化表格
            get_InitGrid();
            DisPlay_HideColumnEdit(HModName, sessionStorage["HUserName"], option, table, /^HMaterNumber$/)
            //获取页面跳转参数
            var params = get_UrlVars();
            if (typeof (params[params[0]]) == "undefined") {
@@ -193,6 +214,7 @@
                $("#HItemID").val(0);
                $("#HMakeEmp").val(sessionStorage["HMaker"]); //根据登录用户带出创建人
                $("#HMakeTime").val(Format(new Date(), "yyyy-MM-dd"));
            } else if (OperationType == 2) {//复制
                //编辑状态时,根据内码,获取信息并写入界面
                RoadBillMain(linterid);
@@ -216,6 +238,7 @@
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);
            $("#HCREATEORGID").val(sessionStorage["OrganizationID"])
@@ -223,6 +246,16 @@
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å­è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //退出按钮
            form.on('submit(Cancel)', function () {
@@ -248,8 +281,171 @@
            });
            //#endregion
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "HMaterID": "0"
                    , "HMaterNumber": ""
                    , "HMaterName": ""
                }
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        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);//将数据渲染到表格上
                            form.render('select');
                        }
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumnEdit(HModName, sessionStorage["HUserName"], option, table, /^HMaterNumber$/)
                        break;
                }
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region è¡Œå†…删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        //if (rowIndex === '0') {
                        //    layer.msg('首行无法删除!!!');
                        //} else {
                        var oldData = table.cache["mainTable"];
                        oldData.splice(obj.tr.data('index'), 1)
                        option.data = oldData;//将数据绑定到data上
                        table.render(option);
                        //for (var i = 0; i < oldData.length; i++) {
                        //    //发票类型
                        //    $('#HTransType' + (i + 1)).find("option[value='" + oldData[i].HTransType + "']").attr("selected", true);
                        //}
                        //form.render('select');
                        layer.close(index);
                        /*}*/
                    });
                }
            }
            //#endregion
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                window.tableEditObj = obj;
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "HMaterList") {
                            var HOrgID = $("#HOrgID").val();  //获取id="HOrgID"的元素中获取其值,并将该值存储在变量HOrgID中
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim',
                                area: ['90%', '90%'],
                                title: '物料列表',
                                shift: 2,
                                content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, '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('请选择数据');
                                    }
                                    //OptionData = checkStatus.data[0];
                                    obj.update({
                                        "HMaterID": checkStatus.data[0].HItemID
                                        , "HMaterName": checkStatus.data[0].物料代码
                                        , "HMaterNumber": checkStatus.data[0].物料名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    if (typeof (OptionData) != "undefined" && OptionData != [] && OptionData.length!=0) {
                                        obj.update({
                                            "HMaterID": OptionData.HItemID
                                            , "HMaterName": OptionData.物料代码
                                            , "HMaterNumber": OptionData.物料名称
                                        })
                                        OptionData = [];
                                    }
                                }
                            })
                        }
                        // æ¸…空事件标识,避免重复触发
                        obj.event = "";
                        // é˜»æ­¢äº‹ä»¶å†’泡和默认行为
                        e.preventDefault();
                        e.stopPropagation();
                        return false;
                    }
                });
            }
            //#endregion
            //#region å­è¡¨åˆå§‹åŒ–
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , page: true
                    , limits: [50, 500, 2000]
                    , limit: 50
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', field: '序号', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterID', title: 'HMaterID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterNumber', title: '物料代码',style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterName', title: '物料名称', edit: 'text', event: "HMaterList", style: 'background-color: #f9f9f9;' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "HMaterID": "0"
                        , "HMaterNumber": ""
                        , "HMaterName": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
                //  DisPlay_HideColumn();
            }
            //#endregion
            //审核
            function set_CheckBill() {
@@ -296,7 +492,7 @@
                $.ajax({
                    url: GetWEBURL() + "Gy_WorkStationBill/cx",
                    type: "GET",
                    async:false,
                    async: false,
                    data: {
                        "HInterID": linterid
                    },
@@ -322,6 +518,24 @@
                                , "HCheckEmp": data.审核人
                                , "HCheckTime": data.审核日期 == null ? "" : Format(new Date(data.审核日期), "yyyy-MM-dd")
                            });
                            // 2. åŠ è½½å­è¡¨æ•°æ®
                            var rowdata = [];
                            if (data && result.data.length > 0) {
                                for (var i = 0; i < result.data.length; i++) {
                                    var row = result.data[i];
                                    rowdata.push({
                                        "HMaterID": row["HMaterID"] || 0,
                                        "HMaterNumber": row["物料代码"] || "",
                                        "HMaterName": row["物料名称"] || "",
                                    });
                                }
                            } else {
                                console.log("没有子表数据");
                            }
                            // 3. é‡æ–°æ¸²æŸ“表格
                            option.data = rowdata;
                            table.render(option);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
@@ -346,11 +560,19 @@
                    layer.msg("请输入工位名称!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                var sSubStr = JSON.stringify(num);
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "Gy_WorkStationBill/ModifyByID", //方法所在页面和方法名
                    async: true,
                    data: { "oMain": sMainStr + ';' + sessionStorage["HUserName"] },
                    data: { "oMain": sMainStr + ';' + sSubStr+';' + sessionStorage["HUserName"] },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
@@ -385,6 +607,9 @@
            //以上是layui模块
        });
        function GetGyMaterial(data) {
            OptionData = data
        }
    </script>
</body>
</html>