chenhaozhe
2025-05-20 0a915dd217100642c327fed9ab84447d516efc2f
完成批改页面 方案 2  主表和临时表的改造
2个文件已修改
1个文件已添加
2185 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/Gy_MaterialCorrection2.html 1990 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection2.html 194 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -434,6 +434,7 @@
    <Content Include="views\基础资料\公用基础资料\Gy_BadPhenomena_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_CusType_ExtendDoubleClickReturn.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_MaterialCorrection.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_MaterialCorrection2.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_SupType_ExtendDoubleClickReturn.html" />
    <Content Include="views\基础资料\公用基础资料\Sb_EqiupMaterWorkTime.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_PiPe.html" />
WebTM/views/»ù´¡×ÊÁÏ/Gy_MaterialCorrection2.html
New file
@@ -0,0 +1,1990 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>物料批改</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <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/HideButton_New.js"></script>
    <script src="../../../layuiadmin/SetColumn.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>
        .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>
    <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" id="filter-condition-wrapper">
                            <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" 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>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HName"
                                            id="HName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">组织</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID"
                                            class="ForFilteringSchemes">
                                            <!--动态渲染组织-->
                                        </select>
                                    </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-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393"
                                        id="HFilterScheme_Now"></div>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div id="filter-group">
                                        <div class="layui-row" style="margin-top:5px">
                                            <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;" class="ForFilteringSchemes">
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <select name="Comparator" id="Comparator" lay-filter="Comparator"
                                                    style="width:190px;" class="ForFilteringSchemes">
                                                    <option value="0" selected="selected"></option>
                                                    <option value="=">=</option>
                                                    <option value=">=">>=</option>
                                                    <option value=">">></option>
                                                    <option value="<=">
                                                        <=< <option value="<">
                                                            << <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 ForFilteringSchemes" value=""
                                                    name="ColContent" id="ColContent">
                                            </div>
                                        </div>
                                        <button type="button" class="layui-btn layui-btn-sm"
                                            style="margin: 8px 0 8px 380px;width: 190px;" id="btnAddFilter"
                                            lay-filter="btnAddFilter">
                                            <i class="layui-icon layui-icon-addition"></i>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </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_DeleteBill" id="set_DeleteBill"><i class="layui-icon layui-icon-delete"></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">
                            <div class="layui-row" style=" margin-top: 10px;">
                                <div class="layui-inline">
                                    <label class="layui-form-label">过滤</label>
                                    <div class="layui-input-block">
                                        <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <select name="Comparator" id="Comparator" class="ForFilteringSchemes" 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 ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                </div>
                                <button id="btn-remove-filter" type="button" class="layui-btn layui-btn-xs layui-btn-danger layui-btn-radius">
                                    <i class="layui-icon layui-icon-subtraction"></i>
                                </button>
                            </div>
                        </script>
                        <script type="text/html" id="materProperty">
                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" lay-filter="materPropertySelect" >
                                <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>
        </div>
    </div>
    <script>
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable', 'laytpl'], 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
                , soulTable = layui.soulTable
                , laytpl = layui.laytpl
            var sWhere = "";
            var option = [];
            var ins;                        //用于导出excel
            var HModName = "Gy_Material";
            var HBillType = "Gy_Material";
            var Organization = sessionStorage["Organization"];
            var page = 1
            var size = 50
            var set_HideButton_ID = "toolbarDemo_ButtonSet";//需要设置的按钮的父级节点的id
            //不需要显示的字段 å¯æ‰©å±•
            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 ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "生产资源列表维护";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            var Htype = "";
            //获取页面跳转参数
            var params = get_UrlVars();
            if (typeof (params[params[0]]) == "undefined") {
                Htype = "";// ç±»åž‹
            } else {
                Htype = params[params[0]];//类型
            }
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导入
                    case 'set_SouceExcel': set_SouceExcel();
                        break;
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                    //打印
                    case 'set_Print': set_Print();
                        break;
                    //复制
                    case 'set_Copy': set_Copy();
                        break;
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                    //浏览
                    case 'get_PrintReport': get_PrintReport();
                        break;
                    //审核按钮
                    case 'btn-Audit': set_CheckBill(0);
                        break;
                    //反审核按钮
                    case 'btn-DeAudit': set_CheckBill(1);
                        break;
                    //禁用按钮
                    case 'btn-Stop': set_De_Stop(0);
                        break;
                    //反禁用按钮
                    case 'btn-DeStop': set_De_Stop(1);
                        break;
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //保存方案
                    case 'set_SaveScheme': set_SaveScheme();
                        break;
                    //读取方案
                    case 'set_ReadScheme': set_ReadScheme();
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                        break;
                    //按钮设置
                    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)
                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.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;
                    }
                });
            })
            // ä¸‹æ‹‰æ¡†äº‹ä»¶
            form.on('select(materPropertySelect)', function (obj) {
                let value = obj.value
                let td = $(obj.elem).closest('td')
                let field = td.data('field') // èŽ·å–åˆ°åˆ—å±žæ€§
                tempData.forEach(item => {
                    item[field] = value
                })
                // é‡æ–°æ¸²æŸ“下拉框
                table.reload('tempTable', {
                    data: tempData,
                    done: function (res, curr, count) {
                        $.each(res.data, function (index, item) {
                            var select = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                            select.val(item['物料属性']);
                            form.render('select');
                        })
                    }
                })
            })
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                //存储条件
                get_WriteConfigFile();
                get_FastQuery(2);
            });
            //#endregion
            //#region è¿‡æ»¤å™¨ç»„ åŒºåŸŸ åˆ é™¤äº‹ä»¶å¤„理
            $('#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("添加过滤器");
                        add_Filter();
                        break;
                    case 'btn-remove-filter':
                        console.log("删除过滤器");
                        remove_filter($btn[0])
                            ; break;
                }
            })
            //#endregion
            //代码回车方法
            // $('#HNumber').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();
            });
            table.on('tool(tempTable)', function (obj) {
                set_GridCellCheck(obj)
            })
            // ç›‘听表头复选框事件
            table.on('checkbox(mainTable)', function (obj) {
                if (obj.type === 'all') { //  å…¨é€‰äº‹ä»¶
                    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
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化组织
                Organ();
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                get_DefaultModule();//加载方案
            }
            //#endregion
            //获取组织
            function Organ() {
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HOrgID").append(Organization);
                            $("#HOrgID").val(sessionStorage["OrganizationID"])
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: false
                    //, cols: [[
                    //    { type: 'checkbox', fixed: 'left' }
                    //    , { field: 'HItemID', title: 'HItemID', sort: false, hide: true }
                    //    , { field: '生产资源代码', title: '生产资源代码' }
                    //    , { field: '生产资源名称', title: '生产资源名称' }
                    //    , { field: '组织', title: '组织' }
                    //    , { field: '条码编号', title: '条码编号' }
                    //    , { field: 'Hprocid', title: 'Hprocid', hide: true }
                    //    , { field: '工序', title: '工序' }
                    //    , { field: '工作中心', title: '工作中心' }
                    //    , { field: '禁用标记', title: '禁用标记' }
                    //    , { 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
            //#region æ‰¹é‡ä¿®æ”¹
            table.on('edit(tempTable)', function (obj) {
                batchUpdate(obj)
            })
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Gy_Material/page',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            var totalArray = [];
                            //给空的数组赋值
                            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 if ($.inArray(data[i].name, totalArray) > -1) { //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, totalRow: true, width: 120 });
                                } else if (data[i].name == '生产资源代码') {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, width: 200, event: '生产资源代码' });
                                } else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, width: 200 });
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 20000]
                                , limit: 50
                                , cellMinWidth: 90
                                , totalRow: true
                                , done: function (res, curr, count) {
                                    soulTable.render(this);
                                }
                            }
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                            ins = table.render(option);
                            //刷新按钮显示
                            Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            layer.close(ajaxLoad);
                            if ($("#ColName option").length < 1) {
                                ColFilter();
                            }
                            //初始化 é…ç½®
                            get_ReadConfigFile();
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#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'] = null
                                    element['templet'] = "#materProperty"
                                }
                            });
                            tempOption.cols = [tempCol];
                            tempOption.data = tempData;
                            tempOption.done = function (res, curr, count) {
                                $.each(res.data, function (index, item) {
                                    var select = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                    select.val(item['物料属性']);
                                    form.render('select');
                                });
                            }
                            //刷新表格数据
                            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";
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            table.exportFile(ins.config.id, option.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //存储配置文件
            function get_WriteConfigFile() {
                //清空本地存储的数据
                localStorage.removeItem("Gy_SouceList");
                var data = {
                    HNumber: $("#HNumber").val()
                    , HName: $("#HName").val()
                    , HOrgID: $("#HOrgID").val()
                    , ColName: $("#ColName").val()
                    , Comparator: $("#Comparator").val()
                    , ColContent: $("#ColContent").val()
                }
                //本地存储
                localStorage.setItem("Gy_SouceList", JSON.stringify(data));
            }
            //#region å‘页面中添加新的过滤器
            function add_Filter() {
                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)) {
                        d.id = d.id + '-' + count;
                        d.name = d.name + '-' + count;
                    } else if (comparatorReg.test(d.id)) {
                        d.id = d.id + '-' + count;
                        d.name = d.name + '-' + count;
                    }
                })
                Array.from(filterUnit.find('input')).forEach(d => {
                    if (colContentReg.test(d.id)) {
                        d.id = d.id + '-' + count;
                        d.name = d.name + '-' + count;
                    }
                })
                filterUnit = filterUnit.html();
                $('#btnAddFilter').before(filterUnit);
                ColFilter()
            }
            //#endregion
            //#region ä»Žé¡µé¢ä¸­ç§»é™¤è¿‡æ»¤å™¨
            function remove_filter(e) {
                var parent = $(e).closest('div')
                var temp = parent[0]
                temp.remove();
            }
            //#endregion
            //读取配置文件
            function get_ReadConfigFile() {
                //获取本地存储的数据
                var data = localStorage.getItem("Gy_SouceList");
                if (data != null) {
                    var data2 = JSON.parse(data);
                    $("#HNumber").val(data2["HNumber"]);
                    $("#HName").val(data2["HName"]);
                    $("#HOrgID").val(data2["HOrgID"]);
                    $("#ColName").val(data2["ColName"]);
                    $("#Comparator").val(data2["Comparator"]);
                    $("#ColContent").val(data2["ColContent"]);
                    form.render('select');
                }
            }
            //批量更新
            function batchUpdate(obj, reg) {
                let field = obj.field;
                let value = obj.value;
                tempData.forEach(item => {
                    item[field] = value
                })
            }
            function btnrowDouble(obj) {
                var data = [];
                data.push(obj.data);
                //返回方法
                parent.GetGySource(data);
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            }
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                var HOrgID = "";
                var filterGroup = $("#filter-group")
                var colNameList = []
                var comparatorList = []
                var colContentList = []
                Array.from(filterGroup.find('select'))
                    .forEach(d => {
                        if (colNameReg.test(d.id)) {
                            colNameList.push(d.value)
                        } else if (comparatorReg.test(d.id)) {
                            comparatorList.push(d.value)
                        }
                    })
                Array.from(filterGroup.find('input'))
                    .forEach(d => {
                        if (colContentReg.test(d.id)) {
                            colContentList.push(d.value)
                        }
                    })
                comparatorList.forEach((Comparator, index) => {
                    if (colNameList[index] != 0 && Comparator != 0) {
                        var com = "";
                        switch (Comparator) {
                            case "7":
                                com = "like'%" + colContentList[index] + "%'";
                                break;
                            case "8":
                                com = "like'%" + colContentList[index] + "'";
                                break;
                            case "9":
                                com = "like'" + colContentList[index] + "%'";
                                break;
                            case "10":
                                com = "not like'%" + colContentList[index] + "%'";
                                break;
                            default:
                                com = "" + Comparator + "'" + colContentList[index] + "'";
                                break;
                        }
                        sWhere += " and " + colNameList[index] + " " + com;
                    }
                })
                if (number == 1) {
                    HOrgID = sessionStorage["OrganizationID"];
                }
                else {
                    HOrgID = $("#HOrgID").val();//组织
                }
                if (HOrgID) {
                    sWhere += " and HUSEORGID = '" + HOrgID + "'";
                }
                if (Htype != "") {
                    Htype = decodeURI(Htype);
                    sWhere += " and ç±»åž‹ = '" + Htype + "'";
                }
                if (HNumber) {
                    sWhere += " and ç‰©æ–™ä»£ç  like '%" + HNumber + "%'";
                }
                if (HName) {
                    sWhere += " and ç‰©æ–™åç§° like '%" + HName + "%'";
                }
                sWhere += addSWhereByOpenType();
                get_DisplayPage(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                $("#HNumber").val("");
                $("#HName").val("");
                $("#HOrgID").val(sessionStorage["OrganizationID"]);
                // $("#ColContent").val("");
                // $("#ColName").val("0");
                // $("#Comparator").val("0");
                var filterGroup = $('#filter-group')
                Array.from(filterGroup.find('select')).forEach(d => {
                    if (colNameReg.test(d.id) || comparatorReg.test(d.id)) {
                        d.value = "0"
                    }
                })
                Array.from(filterGroup.find('input')).forEach(d => {
                    if (colContentReg.test(d.id)) {
                        d.value = ""
                    }
                })
                form.render('select');
                sWhere = "";
                $("#btnSearch").click();
            }
            //#endregion
            //#region æ–°å¢ž
            function set_AddNew() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '生产资源-新增'
                    , shift: 0//弹出动画
                    , content: '../生产基础资料/Add_Edit_Gy_Source.html?OperationType=1&linterid=&HSouceBillType='
                    , end: function () {
                        get_FastQuery(2);
                    }
                })
            }
            //#endregion
            //#region å¤åˆ¶
            function set_Copy() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HItemID.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '复制-生产资源'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: '../生产基础资料/Add_Edit_Gy_Source.html?OperationType=2&linterid=' + linterid + '&HSouceBillType='
                        , resize: false,
                        end: function () {
                            //刷新页面,
                            location.reload()
                        }
                        , cancel: function () {
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HItemID.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '生产资源-编辑'
                        , shift: 0//弹出动画
                        , content: '../生产基础资料/Add_Edit_Gy_Source.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
                        , end: function () {
                            get_FastQuery(2);
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#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();
                                    tempData = []
                                    table.reload('tempTable', { data: tempData })
                                    get_DisplayPage(sWhere);
                                }
                                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')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HItemID.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '生产资源-浏览'
                        , shift: 0//弹出动画
                        , content: '../生产基础资料/Add_Edit_Gy_Source.html?OperationType=4&linterid=' + linterid + '&HSouceBillType='
                    })
                } else {
                    layer.msg('请选择一行数据浏览!');
                }
            }
            //#endregion
            //#region åˆ é™¤
            function set_DeleteBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var ItemID = data[0].HItemID.toString();
                    var ajaxLoad = layer.load();
                    //逻辑删除方法
                    $.ajax({
                        url: GetWEBURL() + '/DeltetGy_Source',
                        type: "GET",
                        data: { "HItemID": ItemID, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                get_FastQuery(1);
                                layer.close(ajaxLoad);
                            } else {
                                layer.close(ajaxLoad);
                                layer.alert(result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.close(ajaxLoad);
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据删除!');
                }
            }
            //#endregion
            //导入
            function set_SouceExcel() {
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '生产资源导入'
                    , shift: 0//弹出动画
                    , content: '../生产基础资料/Gy_Souce_Excel.html?OperationType=dao&HSouceBillType='
                })
            }
            //打印
            function set_Print() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    var linterid = [];
                    for (var i = 0; i < data.length; i++) {
                        linterid.push(data[i].HItemID.toString())
                    }
                    layer.open({
                        type: 2
                        , area: ['50%', '50%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + linterid.toString() + '&MyMsg=' + data[0].HItemID.toString() + '&Type=HSource', 'yes']
                        , resize: false
                    })
                }
                else {
                    layer.msg('请选择一行数据打印!');
                }
            }
            //#region åˆ·æ–°
            function get_Refresh() {
                set_ClearQuery();
                get_FastQuery(2);
            }
            //#endregion
            //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HItemID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Source/AuditGy_Source", //方法所在页面和方法名
                        data: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region åç¦ç”¨/禁用数据
            function set_De_Stop(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HItemID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Source/StopGy_Source", //方法所在页面和方法名
                        data: { "HInterID": InterID, "IsStop": num, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var sWhere = "";
                var params = get_UrlVars();
                // var openType = params[params[1]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                // if (typeof (openType) != "undefined") {
                //     sWhere += " and ç¦ç”¨æ ‡è®° != 'Y' and ISNULL(审核人,'')  != ''"
                //     return sWhere;
                // }
                return sWhere;
            }
            //#endregion
            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;
            }
            //#region åˆ—明显示下拉框
            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);
                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');
            }
            //#endregion
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //获取当前用户的默认过滤方案
            function get_DefaultModule() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
                    success: function (data1) {
                        if (data1.count == 1) {
                            //当前用户设置有默认的过滤方案
                            var data = data1.data;
                            //当前选择的过滤方案
                            HInterID_Choose = data[0].hmainid;
                            //过滤方案内码
                            HInterID = data[0].hmainid
                            //过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            //过滤方案的备注(方案信息描述)
                            var HRemark = data[0].备注
                            //显示出当前的默认过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            //把过滤条件值回写到页面上
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                            //查询
                            get_FastQuery();
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            form.render("select");
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //保存方案
            function set_SaveScheme() {
                var index = layer.open()
                //判断用户是否点击了右上角的“叉号”关闭弹窗页面
                var HIsClose_Manual = false;
                //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var Filter = document.getElementsByClassName(HClassTag);
                var HFilterIdList = "";//过滤条件
                var HFilterIdLists = "";//拼接多个过滤条件
                var HValue = "";//过滤值
                var HElement_type = "";//过滤标签类型
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                //当前页面上没有选择过滤方案,进入新增方法
                if (HDefaultFilter == "") {
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '过滤方案'
                        , shift: 0//弹出动画
                        , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                        , cancel: function () {
                            // å³ä¸Šè§’关闭事件的逻辑
                            HIsClose_Manual = true;
                        }
                        , end: function () {
                            if (HIsClose_Manual != true) {
                                get_FastQuery();
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        }
                    })
                    layer.close(index)
                } else {
                    //当前页面已有过滤方案,用户选择 æ–°å¢žæˆ–者编辑
                    layer.confirm('当前已选择过滤方案,是否修改?请选择对应操作', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['新增方案', '保存修改当前方案', '取消']
                    }, function (index, layero) {
                        //新增
                        layer.open({
                            type: 2
                            , area: ['40%', '80%']
                            , title: '过滤方案'
                            , shift: 0//弹出动画
                            , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                            , end: function () {
                                get_FastQuery()
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        })
                        layer.close(index)
                    }, function (index) {
                        //编辑
                        var Filter_Edit = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                        HFilterIdList = "";
                        HFilterIdLists = "";
                        HValue = "";
                        HElement_type = "";
                        for (var i = 0; i < Filter_Edit.length; i++) {
                            HFilterIdList = Filter_Edit[i].id; //过滤条件ID
                            HFilterIdLists += Filter_Edit[i].id + ","; //过滤条件ID(拼接)
                            HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                        }
                        //去除末尾逗号
                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                        HValue = HValue.substring(0, HValue.length - 1);
                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
                        //修改
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/Xt_FastICScheme/save", //方法所在页面和方法名
                            async: true,
                            data: { "oMain": sMainSub },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                            }
                        });
                        layer.close(index)
                    }, function (index) {
                        //取消
                        layer.alert('取消')
                        layer.close(index)
                    });
                }
            }
            //读取方案
            function set_ReadScheme() {
                var HIsClose_Manual = false;
                var Filter = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var HFilterIdList = "";
                var HFilterIdLists = "";
                var HValue = "";
                var HElement_type = "";
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                layer.open({
                    type: 2
                    , area: ['80%', '80%']
                    , title: '过滤方案列表'
                    , shift: 0//弹出动画
                    , content: '../../系统管理/过滤方案设置/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
                    , cancel: function () {
                        // å³ä¸Šè§’关闭事件的逻辑
                        HIsClose_Manual = true;
                    }
                    , end: function () {
                        if (HIsClose_Manual != true) {
                            get_FastQuery()
                            form.render("select");
                        }
                    }
                })
            }
            //#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].计量单位代码,
                                        // })
                                        tempData.forEach(item => {
                                            item['HUnitName'] = checkStatus.data[0].计量单位名称
                                            item['HUnitID'] = checkStatus.data[0].HItemID
                                            item['计量单位名称'] = checkStatus.data[0].计量单位名称
                                            item['计量单位代码'] = checkStatus.data[0].计量单位代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                    }
                                    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) {
                                        // objCurrent.update({
                                        //     HBASEUNITID: checkStatus.data[0].HItemID,
                                        //     '基本计量单位代码': checkStatus.data[0].计量单位代码,
                                        // })
                                        tempData.forEach(item => {
                                            item['HBASEUNITID'] = checkStatus.data[0].HItemID
                                            item['基本计量单位代码'] = checkStatus.data[0].计量单位代码
                                            // item['计量单位名称']= checkStatus.data[0].计量单位名称
                                            // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                    }
                                    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].仓库代码
                                    })
                                    tempData.forEach(item => {
                                        item['仓库名称'] = checkStatus.data[0].仓库名称
                                        item['HWhID'] = checkStatus.data[0].HItemID
                                        item['仓库代码'] = checkStatus.data[0].仓库代码
                                        // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                    })
                                    table.reload('tempTable', {
                                        data: tempData
                                    })
                                    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].物料分类代码
                                    })
                                    tempData.forEach(item => {
                                        item['物料分类名称'] = checkStatus.data[0].物料分类名称
                                        item['HMaterTypeID'] = checkStatus.data[0].HItemID
                                        item['物料分类代码'] = checkStatus.data[0].物料分类代码
                                        // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                    })
                                    table.reload('tempTable', {
                                        data: tempData
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                    }
                })
            }
        });
        //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
        function HFilterScheme(obj)  //返回过滤方案
        {
            var HInterID = obj[0].hmainid;
            HInterID_Choose = obj[0].hmainid;
            $.ajax({
                url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                type: "GET",
                data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = data1.data;
                        //赋值过滤方案名称
                        HDefaultFilter = data[0].方案名称
                        var HRemark = data[0].备注
                        //显示当前的过滤方案
                        document.getElementById("HFilterScheme_Now").style.display = "block";
                        document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                        HInterID = data[0].hmainid
                        //根据选择的过滤方案回填数据到列表过滤条件
                        for (let i = 0; i < data.length; i++) {
                            $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                            if (data[i].过滤标签类型 == 'SELECT') {
                                $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                            }
                        }
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#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.search(/物料代码|物料名称/) !== -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) {
                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';
            } else {
                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>
</body>
</html>
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection2.html
@@ -16,6 +16,7 @@
    <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/SetColumn.js"></script>
    <style>
        .row-locked {
            background: "#dddddd";
@@ -151,7 +152,7 @@
                                <!-- <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_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> -->
@@ -374,11 +375,35 @@
            });
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            table.on('tool(tempTable)', function (obj) {
                set_GridCellCheck(obj)
            })
            // ç›‘听表头复选框事件
            table.on('checkbox(mainTable)', function (obj) {
                if (obj.type === 'all') { //  å…¨é€‰äº‹ä»¶
                    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');
                    }
                }
            });
            //#region ä¸´æ—¶è¡¨å·¥å…·æ äº‹ä»¶
            table.on('toolbar(tempTable)', function (obj) {
                switch (obj.event) {
                    case 'set_Save': set_BillSave(0); break; // ä¿å­˜
                    case 'set_Exit': set_BillSave(1); break; // é€€å‡º
                    case 'set_HideColumn': get_HideColumn(HModName, sessionStorage["HUserName"], option, optionPage, get_FastQuery);
                        break;
                }
            })
            //#endregion
@@ -401,25 +426,25 @@
                });
            })
            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;
                    }
                });
            })
            // 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;
            //         }
            //     });
            // })
            // ä¸‹æ‹‰æ¡†äº‹ä»¶
            form.on('select(materPropertySelect)', function (obj) {
@@ -452,11 +477,18 @@
            });
            //#endregion
            //#region æ‰¹é‡ä¿®æ”¹
            table.on('edit(tempTable)', function (obj) {
                batchUpdate(obj)
            })
            //#endregion
            //#region è¿‡æ»¤å™¨ç»„ åŒºåŸŸ åˆ é™¤äº‹ä»¶å¤„理
            $('#filter-group').on('click', function (e) {
                // åŒ¹é…ç¦»äº‹ä»¶è§¦å‘最近的button元素
                var $btn = $(e.target).closest('button')
                debugger
                if ($btn[0] === undefined) {
                    return
                }
@@ -488,27 +520,7 @@
            //     }
            // });
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            table.on('tool(tempTable)', function (obj) {
                set_GridCellCheck(obj)
            })
            // ç›‘听表头复选框事件
            table.on('checkbox(mainTable)', function (obj) {
                if (obj.type === 'all') { //  å…¨é€‰äº‹ä»¶
                    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
            //双击表格事件
@@ -608,20 +620,10 @@
                    elem: '#tempTable'
                    , toolbar: '#toolbarTableTemp'
                    , height: 'full-50'
                    , page: true
                    , limits: [50, 500, 5000, 20000]
                    , limit: 50
                    , cellMinWidth: 90
                    , page: false
                }
            }
            //#endregion
            //#region æ‰¹é‡ä¿®æ”¹
            table.on('edit(tempTable)', function (obj) {
                batchUpdate(obj)
            })
            //#endregion
            //#region æŸ¥è¯¢
@@ -688,11 +690,11 @@
                                }
                            }
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                            // DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                            ins = table.render(option);
                            //刷新按钮显示
                            Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            // Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            layer.close(ajaxLoad);
@@ -724,6 +726,7 @@
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "Organization": Organization, "page": page, "size": size },
                    success: function (data1) {
                        option.limit = size;//改变表格页大小
                        tempOption.limit = size
                        if (data1.code == 1) {
                            optionPage.count = data1.count;//改变列表数据总数
                            var data = [];
@@ -752,46 +755,33 @@
                            }
                            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'] = null
                                    element['templet'] = "#materProperty"
                                }
                            });
                            tempOption.cols = [tempCol];
                            tempOption.data = tempData;
                            tempOption.done = function (res, curr, count) {
                                $.each(res.data, function (index, item) {
                                    var select = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                    select.val(item['物料属性']);
                                    form.render('select');
                                });
                            }
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData);
                            // Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            ins = table.render(option);
                            tempIns = table.render(tempOption)
                            let list2 = data1.list;
                            let data2 = []
                            let col2 = []
                            let paragon = list2[0]
                            for (let field in list2[0]) {
                                col2.push({ title: field, field: field, width: 120 })
                            }
                            col2.push({ title: 'value', field: 'value', width: 120, edit: 'text' })
                            tempOption.cols = [col2]
                            tempOption.data = list2
                            debugger
                            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 });
                            layer.alert("查询成功", { icon: 1 });
                        } else {
                            //option.data = [[]]
                            //table.render(option);
@@ -1100,9 +1090,9 @@
                var t = table
                if (checkStatus.data.length > 0) { // éžç©ºéªŒè¯
                    tempData = data.map(e => JSON.parse(JSON.stringify(e))) // ä½¿ç”¨åºåˆ—化和反序列化实现深拷贝
                    tempOption.data = tempData
                    table.render(tempOption)
                    // 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')
@@ -1119,12 +1109,17 @@
                    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);
                    // ç¦ç”¨ç‚¹å‡»äº‹ä»¶
                    checked.closest('table').find('tr').attr({
                        style: 'cursor: not-allowed !important; pointer-events: none !important;'
                    })
                    checked.closest('tr').attr({
                        style: 'background: #dddddd !important;cursor: not-allowed !important; pointer-events: none !important;'
                    })
                    form.render("select")
                }
@@ -1148,13 +1143,15 @@
                        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);
                        // æ¢å¤æŒ‡é’ˆäº‹ä»¶
                        checked.closest('table').find('tr').attr({
                            style: 'cursor: auto; pointer-events: auto;'
                        })
                        checked.closest('tr').attr({
                            style: 'background: #ceedfa;cursor: auto; pointer-events: auto;'
                        })
                        form.render()
                        return; // è§†ä¸ºé€€å‡º
                    }
@@ -1195,7 +1192,6 @@
                        if (mapped.HUnitName == 0) {
                            throw "请选择主计量单位!";
                        }
                        debugger;
                        let HWeight = mapped.HWeight.toString()
                        if (HWeight.substring(HWeight.length - 1, HWeight.length) == ".") {
                            throw "克重的结尾不能是.!"
@@ -1229,7 +1225,7 @@
                        return mapped
                    })
                    debugger;
                    let dataStr = JSON.stringify(dataMapped)
                    $.ajax(