chenhaozhe
2025-05-19 91c57550270b888fb27fa62f3c3ec6652e59ffcd
批改方案1
2个文件已修改
767 ■■■■ 已修改文件
WebTM/views/基础资料/公用基础资料/Add_Edit_Gy_Material.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection.html 765 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Add_Edit_Gy_Material.html
@@ -1011,7 +1011,7 @@
                //alert(hID);
                //查询职员设置是否存在
                $.ajax({
                    url: GetWEBURL() + "Gy_Material/GetGy_MaterialDetail",
                    url: GetWEBURL() + "/Gy_Material/GetGy_MaterialDetail",
                    type: "GET",
                    async: false,
                    data: {
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection.html
@@ -16,6 +16,25 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        .row-locked {
            background: "#dddddd";
            cursor: 'not-allowed';
            pointer-events: 'none';
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        td:has(select) .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        th .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
@@ -24,7 +43,7 @@
            <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-collapse" id="filter-condition-wrapper">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
@@ -32,14 +51,14 @@
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">生产资源代码</label>
                                    <label class="layui-form-label" style="width: 85px;">物料代码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HNumber"
                                            id="HNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">生产资源名称</label>
                                    <label class="layui-form-label" style="width: 85px;">物料名称</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HName"
                                            id="HName">
@@ -99,7 +118,6 @@
                                                    name="ColContent" id="ColContent">
                                            </div>
                                        </div>
                                        <!-- TODO: åŠ¨æ€æ·»åŠ è¿‡æ»¤å™¨ï¼Œé»˜è®¤è¿‡æ»¤å™¨ä¸ªæ•°: 1 -->
                                        <button type="button" class="layui-btn layui-btn-sm"
                                            style="margin: 8px 0 8px 380px;width: 190px;" id="btnAddFilter"
                                            lay-filter="btnAddFilter">
@@ -112,27 +130,57 @@
                        </div>
                        <div class="layui-col-md6">
                            <table class="" id="mainTable" lay-filter="mainTable"></table>
                            <div id="page" style="position:relative;bottom:0;"></div>
                        </div>
                        <!-- ä¸´æ—¶è¡¨ -->
                        <div class="layui-col-md6">
                            <table class="" id="tempTable" lay-filter="tempTable"></table>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Print" id="set_Print"><i class="layui-icon layui-icon-print"></i>打印</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew" id="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill" id="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Print" id="set_Print"><i class="layui-icon layui-icon-print"></i>打印</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew" id="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill" id="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button> -->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill" id="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit" id="btn-Audit"><i class="layui-icon layui-icon-radio"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop" id="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop" id="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumnButton"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="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" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_BillConfirm" id="set_BillConfirm"><i class="layui-icon layui-icon-password"></i>数据确认</button>
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit" id="btn-Audit"><i class="layui-icon layui-icon-radio"></i>审核</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop" id="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop" id="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumnButton"><i class="layui-icon layui-icon-form"></i>列设置</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="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" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>                       -->
                            </div>
                        </script>
                        <!-- ä¸´æ—¶è¡¨å·¥å…·æ  -->
                        <script type="text/html" id="toolbarTableTemp">
                            <div class="layui-btn-container" id="toolbarTableTemp_ButtonSet">
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Print" id="set_Print"><i class="layui-icon layui-icon-print"></i>打印</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew" id="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill" id="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill" id="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit" id="btn-Audit"><i class="layui-icon layui-icon-radio"></i>审核</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop" id="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop" id="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumnButton"><i class="layui-icon layui-icon-form"></i>列设置</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="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" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>                       -->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Save" id="set_Save"><i class="layui-icon layui-icon-upload-drag"></i>保存</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Exit" id="set_Exit"><i class="layui-icon layui-icon-upload-logout"></i>退出</button>
                            </div>
                        </script>
                        <script type="text/html" id="filterUnit">
@@ -167,6 +215,20 @@
                                </button>
                            </div>
                        </script>
                        <script type="text/html" id="materProperty">
                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" >
                                <option value="外购">外购</option>
                                <option value="自制">自制</option>
                                <option value="委外">委外</option>
                            </select>
                        </script>
                        <script type="text/html" id="materFormula">
                                    <select name="HMaterRuleType" id="HMaterRuleType" lay-verify="HMaterRuleType">
                                        <option value="其他">其他</option>
                                        <option value="染料">染料</option>
                                        <option value="助剂">助剂</option>
                                    </select>
                        </script>
                    </form>
                </div>
            </div>
@@ -197,13 +259,20 @@
            var ins;                        //用于导出excel
            var HModName = "Gy_Source";
            var HBillType = "Gy_Source";
            var Organization = sessionStorage["Organization"];
            var page = 1
            var size = 50
            var set_HideButton_ID = "toolbarDemo_ButtonSet";//需要设置的按钮的父级节点的id
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HItemID", "Hprocid", "HUSEORGID", "HCREATEORGID", "HParentID"];
            var titleData = ["HItemID", "HUnitID", "HParentID", "HUSEORGID", "HMinPickQty", "HEndFlag", "HStopFlag", "选择", "sorderid"];
            // æ­£åˆ™è¡¨è¾¾å¼
            var colNameReg = new RegExp(/^ColName.*/)
            var comparatorReg = new RegExp(/^Comparator.*/)
            var colContentReg = new RegExp(/^ColContent.*/)
            // ä¸´æ—¶è¡¨
            var tempOption = []
            var tempData = []
            var tempIns = []
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
@@ -296,23 +365,55 @@
                    case 'set_HideButton':
                        get_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                        break;
                    //数据确认
                    case 'set_BillConfirm':
                        set_BillConfirm(obj);
                        break;
                };
            });
            //#endregion
            //#region ä¸´æ—¶è¡¨å·¥å…·æ äº‹ä»¶
            table.on('toolbar(tempTable)', function (obj) {
                switch (obj.event) {
                    case 'set_Save': set_BillSave(0); break; // ä¿å­˜
                    case 'set_Exit': set_BillSave(1); break; // é€€å‡º
                }
            })
            //#endregion
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                obj.tr.find(':checkbox').prop('checked', flag)
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                    $('.layui-table-hover').attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                    $('.layui-table-hover').attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            table.on('row(tempTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                var currentTable = $(obj.tr).closest('table');
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $('.layui-table-hover').attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $('.layui-table-hover').attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.tempTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
@@ -332,6 +433,10 @@
            $('#filter-group').on('click', function (e) {
                // åŒ¹é…ç¦»äº‹ä»¶è§¦å‘最近的button元素
                var $btn = $(e.target).closest('button')
                debugger
                if ($btn[0] === undefined) {
                    return
                }
                switch ($btn[0].id) {
                    case 'btnAddFilter':
                        console.log("添加过滤器");
@@ -341,35 +446,55 @@
                        console.log("删除过滤器");
                        remove_filter($btn[0])
                            ; break;
                }
            })
            //#endregion
            //代码回车方法
            $('#HNumber').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            // $('#HNumber').on('keydown', function (event) {
            //     if (event.keyCode == 13) {
            //         get_FastQuery(2);
            //     }
            // });
            //名称回车方法
            $('#HName').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            // //名称回车方法
            // $('#HName').on('keydown', function (event) {
            //     if (event.keyCode == 13) {
            //         get_FastQuery(2);
            //     }
            // });
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //双击表格事件
            table.on('rowDouble(mainTable)', function (obj) {
                btnrowDouble(obj);
            table.on('tool(tempTable)', function (obj) {
                set_GridCellCheck(obj)
            })
            // ç›‘听表头复选框事件
            table.on('checkbox(mainTable)', function (obj) {
                if (obj.type === 'all') { //  å…¨é€‰äº‹ä»¶
                    console.log(obj.checked);
                    if (obj.checked === true) {
                        let checked = $(document.getElementsByClassName('layui-form-checked'))
                        checked.closest('tr').not(':has(th)').attr({ "style": "background:#ceedfa;color:black" }).addClass('checked');
                    } else {
                        let checked = $(document.getElementsByClassName('checked'))
                        checked.closest('tr').not(':has(th)').attr({ "style": "background: #ffffff;color: #666666" }).removeClass('checked');
                    }
                }
            });
            //#endregion
            //双击表格事件
            // table.on('rowDouble(mainTable)', function (obj) {
            //     btnrowDouble(obj);
            // })
            //#endregion
@@ -420,10 +545,7 @@
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , limits: [50, 500, 5000, 20000]
                    , limit: 50
                    , cellMinWidth: 90
                    , page: false
                    //, cols: [[
                    //    { type: 'checkbox', fixed: 'left' }
@@ -439,41 +561,50 @@
                    //    , { field: '备注', title: '备注' }
                    //]]
                };
                optionPage = {
                    elem: 'page', //注意,这里的 page æ˜¯ ID,不用加 # å·
                    count: 10000, //数据总数,从服务端得到
                    limit: 50,
                    limits: [50, 500, 5000, 50000],
                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                    jump: function (obj, first) {
                        //console.log(obj)
                        //obj包含了当前分页的所有参数,比如:
                        //console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
                        //console.log(obj.limit); //得到每页显示的条数
                        //首次不执行
                        if (!first) {
                            //do something
                            page = obj.curr;
                            size = obj.limit;
                            get_FastQuery();
                        }
                    }
                }
                laypage.render(optionPage);
                // ä¸´æ—¶è¡¨é…ç½®
                tempOption = {
                    elem: '#tempTable'
                    , toolbar: '#toolbarTableTemp'
                    , height: 'full-50'
                    , page: true
                    , limits: [50, 500, 5000, 20000]
                    , limit: 50
                    , cellMinWidth: 90
                }
            }
            //#endregion
            //#endregion  ç›‘听网格表体事件
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                //生产资源代码
                if (obj.event == '生产资源代码') {                  //检查 obj.event æ˜¯å¦ç­‰äºŽå­—符串 '生产资源代码'。如果等于,则执行if循环
                    var linterid = data.HItemID.toString();    //声明变量linterid ä¸º data.hmainid
                    layer.open({                //使用 layer的open打开弹出 å±‚
                        type: 2                         //表示弹出层的内容是一个 iframe
                        , area: ['100%', '100%']
                        , title: '编辑'   //设置弹出层的名字
                        , closeBtn: 1//显示关闭按钮
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: '../生产基础资料/Add_Edit_Gy_Source.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='  //设置 iframe çš„ URL,URL ä¸­åŒ…含了查询参数,来调用所需要的值
                        , resize: false,  //是否允许用户调整弹出大小
                        end: function () {  //当关闭时调用
                            get_FastQuery(table, option);
                        }
                        , cancel: function () {  //点击取消时使用回调
                            //$(".layui-btn").removeClass("layui-btn-disabled");
                        }
                    })
                }
            });
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Gy_Source/list',
                    url: GetWEBURL() + '/Gy_Material/page',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
@@ -558,6 +689,99 @@
            }
            //#endregion
            //#region åˆ†é¡µæŸ¥è¯¢
            function get_DisplayPage(sWhere) {
                //var wait = layer.load();//遮罩
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Gy_Material/page',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "Organization": Organization, "page": page, "size": size },
                    success: function (data1) {
                        option.limit = size;//改变表格页大小
                        if (data1.code == 1) {
                            optionPage.count = data1.count;//改变列表数据总数
                            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 (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                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: 120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            var tempCol = JSON.parse(JSON.stringify(col))
                            tempCol.forEach((element) => {
                                if (element.type === 'checkbox') {
                                    element['hide'] = true
                                }
                                if (elementValidCheck(element) === true) {
                                    element['edit'] = 'text'
                                }
                                var eventName = elementEventBindCheck(element)
                                if (eventName !== null) {
                                    element['event'] = eventName
                                }
                                if (element.field === '物料属性') {
                                    element['edit'] = ''
                                    element['templet'] = function (d) {
                                        return '<select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" data-value="' + d['物料属性'] + '">\n ' +
                                            '<option value="外购">外购</option>\n' +
                                            '<option value="自制">自制</option>\n' +
                                            '<option value="委外">委外</option>\n' +
                                            '</select>'
                                    }
                                    form.render('select')
                                }
                            });
                            tempOption.cols = [tempCol];
                            tempOption.data = tempData;
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData);
                            ins = table.render(option);
                            tempIns = table.render(tempOption)
                            laypage.render(optionPage);
                            layer.close(ajaxLoad);
                            if ($("#ColName option").length < 1) {
                                ColFilter();
                            }
                            Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            //layer.alert("查询成功", { icon: 1 });
                        } else {
                            //option.data = [[]]
                            //table.render(option);
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
                var ModRightNameCheck = "Gy_Source_ExportExcel";
@@ -601,7 +825,7 @@
                var filterGroup = $('#filter-group');
                var filterUnit = $('#filterUnit').clone(true, true);
                var count = filterGroup.length;
                let nameSelectId = ''
                // ä¿®æ”¹æ–°æ·»åŠ çš„è¿‡æ»¤å™¨ä¸­çš„id值,防止碰撞
                Array.from(filterUnit.find('select')).forEach(d => {
                    if (colNameReg.test(d.id)) {
@@ -619,6 +843,8 @@
                        d.name = d.name + '-' + count;
                    }
                })
                filterUnit = filterUnit.html();
                $('#btnAddFilter').before(filterUnit);
@@ -649,9 +875,6 @@
                    form.render('select');
                }
            }
            function btnrowDouble(obj) {
                var data = [];
@@ -732,13 +955,13 @@
                }
                if (HNumber) {
                    sWhere += " and ç”Ÿäº§èµ„源代码 like '%" + HNumber + "%'";
                    sWhere += " and ç‰©æ–™ä»£ç  like '%" + HNumber + "%'";
                }
                if (HName) {
                    sWhere += " and ç”Ÿäº§èµ„源名称 like '%" + HName + "%'";
                    sWhere += " and ç‰©æ–™åç§° like '%" + HName + "%'";
                }
                sWhere += addSWhereByOpenType();
                get_Display(sWhere);
                get_DisplayPage(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
@@ -838,6 +1061,177 @@
            }
            //#endregion
            //#region æ•°æ®ç¡®è®¤
            function set_BillConfirm(obj) {
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data
                var t = table
                if (checkStatus.data.length > 0) { // éžç©ºéªŒè¯
                    tempData = data.map(e => JSON.parse(JSON.stringify(e))) // ä½¿ç”¨åºåˆ—化和反序列化实现深拷贝
                    tempOption.data = tempData
                    table.render(tempOption)
                    $('#mainTable').find('.layui-form-checked').attr('disable', true)
                    var filterConditions = $('#filter-condition-wrapper')
                    Array.from(filterConditions.find('select')).forEach(e => {
                        $(e).attr('disabled', true)
                    })
                    Array.from(filterConditions.find('input')).forEach(e => {
                        $(e).attr('disabled', true)
                    })
                    Array.from(filterConditions.find('button')).forEach(e => {
                        $(e).addClass('layui-btn-disabled').attr('disabled', true)
                    })
                    var checked = $(document.getElementsByClassName('layui-form-checked'))
                    // checked.addClass('row-locked')
                    checked.closest('tr').attr({
                        style: 'background: #dddddd !important; ' +
                            'cursor: not-allowed !important; pointer-events: none !important'
                    })
                    var $checkbox = checked.find('input[type="checkbox"]')
                    $checkbox.addClass('layui-checkbox-disbaled layui-disabled').attr('disabled', true);
                    form.render("select")
                }
            }
            function set_BillSave(mode) {
                try {
                    if (mode === 1) {
                        var filterConditions = $('#filter-condition-wrapper')
                        Array.from(filterConditions.find('select')).forEach(e => {
                            $(e).attr('disabled', false)
                        })
                        Array.from(filterConditions.find('input')).forEach(e => {
                            $(e).attr('disabled', false)
                        })
                        Array.from(filterConditions.find('button')).forEach(e => {
                            $(e).removeClass('layui-btn-disabled').attr('disabled', false)
                        })
                        var checked = $(document.getElementsByClassName('layui-form-checked'))
                        // checked.addClass('row-locked')
                        checked.closest('tr').attr({
                            style: 'background: #ceedfa; ' +
                                'cursor: auto; pointer-events: auto'
                        })
                        var $checkbox = checked.find('input[type="checkbox"]')
                        $checkbox.removeClass('layui-checkbox-disbaled layui-disabled').attr('disabled', false);
                        form.render()
                        return; // è§†ä¸ºé€€å‡º
                    }
                    let data = tempOption.data;
                    let dataMapped = data.map(item => {
                        let mapped = Object.assign(item,
                            {
                                HOnceRightRate: item['一次合格率标准值']
                                , HDivisionID: divisionJudgment(item['事业部'])
                                , HNumber: item['物料代码']
                                , HName: item['物料名称']
                                , HModel: item['规格型号']
                                , HMaterClsID: materClsJudgment(item['物料属性'])
                                , HRemark: item['备注']
                                , HQtyDec: item['数量精度']
                                , HPriceDec: item['单价精度']
                                , HMoneyDec: item['金额精度']
                                , HTaxRate: item['默认税率']
                                , HProfitRate: item['默认利润率']
                                , HTaxCost: item['含税成本价']
                                , HFootPrice: item['结算价']
                                , HWeight: item['克重']
                                , HColorRemark: item['染色要求']
                                , HWidth: item['幅宽']
                            }
                        )
                        if (mapped.HNumber == 0) {
                            throw "请输入物料代码!";
                        }
                        if (mapped.HName == 0) {
                            throw "请输入物料名称!";
                        }
                        if (mapped.HWhID == 0) {
                            throw "请选择默认仓库!";
                        }
                        if (mapped.HUnitName == 0) {
                            throw "请选择主计量单位!";
                        }
                        debugger;
                        let HWeight = mapped.HWeight.toString()
                        if (HWeight.substring(HWeight.length - 1, HWeight.length) == ".") {
                            throw "克重的结尾不能是.!"
                        } else {
                            let ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HWeight)) {
                                throw "克重请输正确入数字!"
                            }
                        }
                        let HWidth = mapped.HWidth.toString()
                        if (HWidth.substring(HWidth.length - 1, HWidth.length) == ".") {
                            throw "幅宽的结尾不能是.!"
                        } else {
                            let ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HWidth)) {
                                throw "幅宽请输正确入数字!"
                            }
                        }
                        let ref2 = /^[0-9]$/
                        if (!ref2.test(mapped.HQtyDec)) {
                            throw "数量精度,请输入0-9正确数字"
                        }
                        if (!ref2.test(mapped.HPriceDec)) {
                            throw "单价精度,请输入0-9正确数字"
                        }
                        if (!ref2.test(mapped.HMoneyDec)) {
                            throw "金额精度,请输入0-9正确数字"
                        }
                        return mapped
                    })
                    debugger;
                    let dataStr = JSON.stringify(dataMapped)
                    $.ajax(
                        {
                            type: "POST",
                            url: GetWEBURL() + "/Gy_Material/SaveGy_MaterialList_Batch", //方法所在页面和方法名
                            async: true,
                            data: { "msg": dataStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"] },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { icon: 1 });
                                    // get_WriteConfigFile();
                                    location.reload(true)
                                }
                                else {
                                    layer.alert(data.Message);
                                    console.log("bobo" + sMainStr);
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                                layer.alert("错误:" + err, { icon: 5 });
                                console.log("bobo" + sMainStr);
                            }
                        });
                } catch (error) {
                    console.error(error)
                    layer.alert("错误" + error, { icon: 5 })
                }
            }
            //#endregion
            //#region æµè§ˆ
            function get_PrintReport() {
                var checkStatus = table.checkStatus('mainTable')
@@ -867,7 +1261,7 @@
                    var ajaxLoad = layer.load();
                    //逻辑删除方法
                    $.ajax({
                        url: GetWEBURL() + 'DeltetGy_Source',
                        url: GetWEBURL() + '/DeltetGy_Source',
                        type: "GET",
                        data: { "HItemID": ItemID, "user": sessionStorage["HUserName"] },
                        success: function (result) {
@@ -1016,11 +1410,11 @@
                var sWhere = "";
                var params = get_UrlVars();
                var openType = params[params[1]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                if (typeof (openType) != "undefined") {
                    sWhere += " and ç¦ç”¨æ ‡è®° != 'Y' and ISNULL(审核人,'')  != ''"
                    return sWhere;
                }
                // var openType = params[params[1]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                // if (typeof (openType) != "undefined") {
                //     sWhere += " and ç¦ç”¨æ ‡è®° != 'Y' and ISNULL(审核人,'')  != ''"
                //     return sWhere;
                // }
                return sWhere;
            }
            //#endregion
@@ -1049,10 +1443,12 @@
                var filterGroup = $('#filter-group')
                Array.from(filterGroup.find('select')).forEach(d => {
                    var temp = $(d).val()
                    if (colNameReg.test(d.id)) {
                        $(d).empty();
                        $(d).append(Organization);
                    }
                    $(d).val(temp)
                })
                form.render('select');
            }
@@ -1265,7 +1661,151 @@
                })
            }
            //#endregion
            //表格行内事件快捷键筛选
            // function set_GridCellCheck(obj) {
            //     $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
            //         if (event.key == "F7") {
            //             var obj = obj
            //             debugger;
            //         }
            //     })
            // }
            //以上是layui模块
            function set_GridCellCheck(obj) {
                var objCurrent = obj
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (e.key == 'F7') {
                        let eventName = objCurrent.event
                        if (eventName === 'onHUnitNameKeyDownHandler') {
                            layer.open({
                                type: 2
                                , area: ['90%', '90%']//大小
                                , title: '单位列表'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../../views/基础资料/公用基础资料/Gy_Unit.html', 'yes']
                                , resize: false
                                , cancel: function () {
                                    //$(".layui-btn").removeClass("layui-btn-disabled");
                                }
                                , 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('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        objCurrent.update({
                                            HUnitName: checkStatus.data[0].计量单位名称,
                                            HUnitID: checkStatus.data[0].HItemID,
                                            '计量单位名称': checkStatus.data[0].计量单位名称,
                                            '计量单位代码': checkStatus.data[0].计量单位代码,
                                        })
                                    }
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                        else if (eventName === 'onBasicUnitCodeKeyDownHandler') {
                            layer.open({
                                type: 2
                                , area: ['90%', '90%']//大小
                                , title: '基本单位列表'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../../views/基础资料/公用基础资料/Gy_Unit.html', 'yes']
                                , resize: false
                                , cancel: function () {
                                    //$(".layui-btn").removeClass("layui-btn-disabled");
                                }
                                , 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('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        debugger;
                                        objCurrent.update({
                                            HBASEUNITID: checkStatus.data[0].HItemID,
                                            '基本计量单位代码': checkStatus.data[0].计量单位代码,
                                        })
                                    }
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                        else if (eventName === 'onWareHouseKeyDownHandler') {
                            layer.open({
                                type: 2
                                , area: ['90%', '90%']//大小
                                , title: '仓库列表'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../../views/基础资料/公用基础资料/Gy_Warehouse.html', 'yes']
                                , resize: false
                                , cancel: function () {
                                    //$(".layui-btn").removeClass("layui-btn-disabled");
                                }
                                , 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 !== 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                        '仓库名称': checkStatus.data[0].仓库名称,
                                        HWhID: checkStatus.data[0].HItemID,
                                        '仓库代码': checkStatus.data[0].仓库代码
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                        else if (eventName === 'onMaterialClassKeyDownHandler') {
                            layer.open({
                                type: 2
                                , area: ['90%', '90%']//大小
                                , title: '物料分类列表'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../../views/基础资料/公用基础资料/Gy_MaterType.html', 'yes']
                                , resize: false
                                , cancel: function () {
                                    //$(".layui-btn").removeClass("layui-btn-disabled");
                                }
                                , 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 != 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                        '物料分类名称': checkStatus.data[0].物料分类名称,
                                        HMaterTypeID: checkStatus.data[0].HItemID,
                                        '物料分类代码': checkStatus.data[0].物料分类代码
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                    }
                })
            }
        });
        //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
@@ -1306,6 +1846,65 @@
            });
        }
        //#endregion
        function elementValidCheck(element) {
            if (element.type === 'checkbox') {
                return false
            }
            if (element.field.search(/ID/i) !== -1) {
                return false
            }
            if (element.field.search(/时间/) !== -1) {
                return false
            }
            if (element.field.search(/人/) !== -1) {
                return false
            }
            if (element.field.search(/标记|flag/) !== -1) {
                return false
            }
            if (element.field === '组织名称') {
                return false
            }
            return true
        }
        function elementEventBindCheck(element) {
            const UnitReg = /计量|Unit/;
            const WHReg = /仓库|WH/;
            const MaterReg = /物料分类| MaterType/;
            if (element.type === 'checkbox') {
                return false
            }
            if (element.field.search(/基本计量单位代码|HBASEUNITID/) !== -1) {
                console.log(element.field)
                return 'onBasicUnitCodeKeyDownHandler';
            } else if (element.field.search(UnitReg) !== -1) {
                return 'onHUnitNameKeyDownHandler';
            } else if (element.field.search(WHReg) !== -1) {
                return 'onWareHouseKeyDownHandler';
            } else if (element.field.search(MaterReg) !== -1) {
                return 'onMaterialClassKeyDownHandler';
            }
            return null
        }
        function divisionJudgment(divisionStr) {
            switch (divisionStr) {
                case '注塑事业部': return 3;
                case '注塑事业部': return 4;
                default: return 0;
            }
        }
        function materClsJudgment(materClsStr) {
            switch (materClsStr) {
                case '外购': return '1';
                case '自制': return '2';
                default: return '0';
            }
        }
    </script>