wtt
2024-12-27 4dbf63b6c1c6f28cf97f4f3cf876239ff8ebf829
物料分页优化,采购订单添加下拉列表案例
5个文件已修改
1个文件已添加
887 ■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/modules/tableSelect.js 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_Material.html 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/生产基础资料/Add_Edit_Gy_BadReason.html 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具仓库管理/Sc_MouldProdInBillEdit.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/采购管理/采购订单/Cg_POOrderBillEdit.html 459 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -145,6 +145,7 @@
    <Content Include="layuiadmin\style\tableFilter.css">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="layuiadmin\modules\tableSelect.js" />
    <Content Include="layuiadmin\treeTable.js" />
    <Content Include="layuiadmin\PubCustom.js" />
    <Content Include="layuiadmin\PubJs\PubCheck.js" />
WebTM/layuiadmin/modules/tableSelect.js
New file
@@ -0,0 +1,355 @@
layui.define(['table', 'jquery', 'form'], function (exports) {
    "use strict";
    var MOD_NAME = 'tableSelect',
        $ = layui.jquery,
        table = layui.table,
        form = layui.form;
    var tableSelect = function () {
        this.v = '1.2.0';
    };
    /**
    * åˆå§‹åŒ–表格选择器
    */
    tableSelect.prototype.render = function (opt) {
        var elem = $(opt.elem);
        //默认设置
        opt.searchKey = opt.searchKey || 'keyword';
        opt.checkedKey = opt.checkedKey;
        opt.table.page = opt.table.page || false;
        opt.table.height = opt.table.height || 290;
        elem.off('click').on('click', function(e) {
            e.stopPropagation();
            if($('div.tableSelect').length >= 1){
                return false;
            }
            var t = elem.offset().top + elem.outerHeight()+"px";
            var l = elem.offset().left +"px";
            var tableName = "tableSelect_table_" + new Date().getTime();
            var tableBox = '<div class="tableSelect layui-anim layui-anim-upbit" style="left:'+l+';top:'+t+';border: 1px solid #d2d2d2;background-color: #fff;box-shadow: 0 2px 4px rgba(0,0,0,.12);padding:10px 10px 0 10px;position: absolute;z-index:66666666;margin: 5px 0;border-radius: 2px;min-width:530px;">';
                tableBox += '<div class="tableSelectBar">';
                tableBox += '<button style="float:left;" class="layui-btn layui-btn-sm tableSelect_btn_select">选择<span></span></button>';
                tableBox += '</div>';
                tableBox += '<table id="'+tableName+'" lay-filter="'+tableName+'" style="margin-top:20px"></table>';
                tableBox += '</div>';
                tableBox = $(tableBox);
            $('body').append(tableBox);
            //数据缓存
            var checkedData = [];
            //渲染TABLE
            opt.table.elem = "#"+tableName;
            opt.table.id = tableName;
            opt.table.where['sWhere'] = opt.sWhere
            opt.table.request={//设置页参数
                pageName: 'page', // é¡µç çš„参数名称,默认:page
                limitName: 'size' // æ¯é¡µæ•°æ®æ¡æ•°çš„参数名,默认:limit
            };
            opt.table.parseData=function(res){
                return {
                    "code": 0, // è§£æžæŽ¥å£çŠ¶æ€
                    "msg": res.Message, // è§£æžæç¤ºæ–‡æœ¬
                    "count": res.count, // è§£æžæ•°æ®é•¿åº¦
                    "data": res.data // è§£æžæ•°æ®åˆ—表
                };
            }
            opt.table.done = function(res, curr, count){
                defaultChecked(res, curr, count);
                setChecked(res, curr, count);
            };
            var tableSelect_table = table.render(opt.table);
            //分页选中保存数组
            table.on('radio('+tableName+')', function(obj){
                if(opt.checkedKey){
                    checkedData = table.checkStatus(tableName).data
                }
                updataButton(table.checkStatus(tableName).data.length)
            })
            table.on('checkbox(' + tableName + ')', function (obj) {
                if(opt.checkedKey){
                    if(obj.checked){
                        for (var i=0;i<table.checkStatus(tableName).data.length;i++){
                            checkedData.push(table.checkStatus(tableName).data[i])
                        }
                    }else{
                        if(obj.type=='all'){
                            for (var j=0;j<table.cache[tableName].length;j++) {
                                for (var i=0;i<checkedData.length;i++){
                                    if(checkedData[i][opt.checkedKey] == table.cache[tableName][j][opt.checkedKey]){
                                        checkedData.splice(i,1)
                                    }
                                }
                            }
                        }else{
                            //因为LAYUI问题,操作到变化全选状态时获取到的obj为空,这里用函数获取未选中的项。
                            function nu (){
                                var noCheckedKey = '';
                                for (var i=0;i<table.cache[tableName].length;i++){
                                    if(!table.cache[tableName][i].LAY_CHECKED){
                                        noCheckedKey = table.cache[tableName][i][opt.checkedKey];
                                    }
                                }
                                return noCheckedKey
                            }
                            var noCheckedKey = obj.data[opt.checkedKey] || nu();
                            for (var i=0;i<checkedData.length;i++){
                                if(checkedData[i][opt.checkedKey] == noCheckedKey){
                                    checkedData.splice(i,1);
                                }
                            }
                        }
                    }
                    checkedData = uniqueObjArray(checkedData, opt.checkedKey);
                    updataButton(checkedData.length)
                }else{
                    updataButton(table.checkStatus(tableName).data.length)
                }
            });
            //渲染表格后选中
            function setChecked (res, curr, count) {
                for(var i=0;i<res.data.length;i++){
                    for (var j=0;j<checkedData.length;j++) {
                        if(res.data[i][opt.checkedKey] == checkedData[j][opt.checkedKey]){
                            res.data[i].LAY_CHECKED = true;
                            var index= res.data[i]['LAY_TABLE_INDEX'];
                            var checkbox = $('#'+tableName+'').next().find('tr[data-index=' + index + '] input[type="checkbox"]');
                                checkbox.prop('checked', true).next().addClass('layui-form-checked');
                            var radio  = $('#'+tableName+'').next().find('tr[data-index=' + index + '] input[type="radio"]');
                            radio.prop('checked', true).next().addClass('layui-form-radioed').find("i").html('&#xe643;');
                            radio.closest('tr').addClass('layui-table-click');
                        }
                    }
                }
                var checkStatus = table.checkStatus(tableName);
                if(checkStatus.isAll){
                    $('#'+tableName+'').next().find('.layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
                    $('#'+tableName+'').next().find('.layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
                }
                updataButton(checkedData.length)
            }
            //写入默认选中值(puash checkedData)
            function defaultChecked (res, curr, count){
                if(opt.checkedKey && elem.attr('ts-selected')){
                    var selected = elem.attr('ts-selected').split(",");
                    for(var i=0;i<res.data.length;i++){
                        for(var j=0;j<selected.length;j++){
                            if(res.data[i][opt.checkedKey] == selected[j]){
                                checkedData.push(res.data[i])
                            }
                        }
                    }
                    checkedData = uniqueObjArray(checkedData, opt.checkedKey);
                }
            }
            //更新选中数量
            function updataButton (n) {
                tableBox.find('.tableSelect_btn_select span').html(n==0?'':'('+n+')')
            }
            //数组去重
            function uniqueObjArray(arr, type){
                var newArr = [];
                var tArr = [];
                if(arr.length == 0){
                    return arr;
                }else{
                    if(type){
                        for(var i=0;i<arr.length;i++){
                            if(!tArr[arr[i][type]]){
                                newArr.push(arr[i]);
                                tArr[arr[i][type]] = true;
                            }
                        }
                        return newArr;
                    }else{
                        for(var i=0;i<arr.length;i++){
                            if(!tArr[arr[i]]){
                                newArr.push(arr[i]);
                                tArr[arr[i]] = true;
                            }
                        }
                        return newArr;
                    }
                }
            }
            //FIX位置如何下面放不下放上面
            var overHeight = (elem.offset().top + elem.outerHeight() + tableBox.outerHeight() - $(window).scrollTop()) > $(window).height();
            var overWidth = (elem.offset().left + tableBox.outerWidth()) > $(window).width();
            overHeight && tableBox.css({ 'top': elem.offset().top - tableBox.outerHeight()+'px','bottom':'auto'});
            overWidth && tableBox.css({'left':'auto','right':'5px'})
            //输入框上下回车动作
            elem.off('keydown').on('keydown', function (e) {
                var tableElem = $(opt.table.elem).next().find('tbody');
                //单选框上下键动作
                if (opt.table.cols[0][0]["type"] == "radio") {
                    // èŽ·å–è¡¨æ ¼çš„é€‰ä¸­çš„è¡Œ
                    var tr = tableElem.find('tr.layui-table-click');
                    switch (event.key) {
                        case "ArrowUp"://上键
                            if (tr.length == 0) {
                                tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr['prev']().children('td').click();
                            }
                            break;
                        case "ArrowDown"://下键
                            if (tr.length == 0) {
                                tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr['next']().children('td').click();
                            }
                            break;
                        case "Enter"://回车
                            tableBox.find('.tableSelect_btn_select').click();
                            break;
                    }
                } else {
                    //多选框
                    var checkbox = tableElem.find('input[type="checkbox"]:checked');
                    var tr = checkbox.closest('tr');
                    switch (event.key) {
                        case "ArrowUp"://上键
                            if (tr.length == 0) {
                                tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr.children('td').click();
                                tr['prev']().children('td').click();
                            }
                            break;
                        case "ArrowDown"://下键
                            if (tr.length == 0) {
                                tr = tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr.children('td').click();
                                tr['next']().children('td').click();
                            }
                            break;
                        case "Enter"://回车
                            tableBox.find('.tableSelect_btn_select').click();
                            break;
                    }
                }
            })
            //输入框输入执行
            elem.off('input').on('input', function (e) {
                // é˜»æ­¢è¡¨å•提交(如果输入框在表单内)
                e.preventDefault();
                opt.table.where['sWhere'] = opt.sWhere + " and " + opt.searchKey + " like '%" + elem.val() + "%' ";
                tableSelect_table.reload({
                    where: opt.table.where,
                    page: {
                        curr: 1
                    }
                });
            })
            // //关键词搜索
            // form.on('submit(tableSelect_btn_search)', function(data){
            //     // console.log(" and "+opt.searchKey +"='" + data.opt.searchKey +"'")
            //     console.log(data);
            //     opt.table.where['sWhere'] = " and "+opt.searchKey +" like '%" + data.field[opt.searchKey] +"%' ";
            //     tableSelect_table.reload({
            //         where: opt.table.where,
            //         page: {
            //         curr: 1
            //         }
            //     });
            //     return false;
            // });
            //双击行选中
            table.on('rowDouble('+tableName+')', function(obj){
                var checkStatus = {data:[obj.data]};
                selectDone(checkStatus);
            })
            //单击选中行
            table.on('row('+tableName+')', function (obj) {
                //判断是否已经被选中是否是单选框
                if (obj.tr.find('.layui-form-radioed').length == 0 && opt.table.cols[0][0]["type"] == "radio") {
                    //触发单选框选中事件
                    obj.tr.find('i[class="layui-anim layui-icon"]').trigger("click");
                } else if(opt.table.cols[0][0]["type"] == "checkbox") { //复选框选中
                    //选中行改变颜色
                    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');  //设置复选框选中样式
                        $(obj.tr).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                    } else {
                        obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                        $(obj.tr).attr({ "style": "background:" });//取消当前tr颜色
                    }
                    //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                    layui.each(table.cache[tableName], function (i, l) {
                        if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                            l.LAY_CHECKED = flag;
                        }
                    });
                    //更新按钮
                    updataButton(table.checkStatus(tableName).data.length)
                }
            })
            //按钮选中
            tableBox.find('.tableSelect_btn_select').on('click', function() {
                var checkStatus = table.checkStatus(tableName);
                if(checkedData.length > 1){
                checkStatus.data = checkedData;
                }
                selectDone(checkStatus);
            })
            //写值回调和关闭
            function selectDone (checkStatus){
                if(opt.checkedKey){
                    var selected = [];
                    for(var i=0;i<checkStatus.data.length;i++){
                        selected.push(checkStatus.data[i][opt.checkedKey])
                    }
                    elem.attr("ts-selected",selected.join(","));
                }
                opt.done(elem, checkStatus);
                tableBox.remove();
                delete table.cache[tableName];
                checkedData = [];
            }
            //点击其他区域关闭
            $(document).mouseup(function(e){
                var userSet_con = $(''+opt.elem+',.tableSelect');
                if(!userSet_con.is(e.target) && userSet_con.has(e.target).length === 0){
                    tableBox.remove();
                    delete table.cache[tableName];
                    checkedData = [];
                }
            });
        })
    }
    /**
    * éšè—é€‰æ‹©å™¨
    */
    tableSelect.prototype.hide = function (opt) {
        $('.tableSelect').remove();
    }
    //自动完成渲染
    var tableSelect = new tableSelect();
    //FIX æ»šåŠ¨æ—¶é”™ä½
    if(window.top == window.self){
        $(window).scroll(function () {
            tableSelect.hide();
        });
    }
    exports(MOD_NAME, tableSelect);
})
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_Material.html
@@ -656,37 +656,37 @@
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like''%" + ColContent + "%''";
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like''%" + ColContent + "''";
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like''" + ColContent + "%''";
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like''%" + ColContent + "%''";
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "''" + ColContent + "''";
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HNumber) {
                    sWhere += " and ç‰©æ–™ä»£ç  like ''%" + HNumber + "%''";
                    sWhere += " and ç‰©æ–™ä»£ç  like '%" + HNumber + "%'";
                }
                if (HName) {
                    sWhere += " and ç‰©æ–™åç§° like ''%" + HName + "%''";
                    sWhere += " and ç‰©æ–™åç§° like '%" + HName + "%'";
                }
                if (HModel) {
                    sWhere += " and è§„格型号 like ''%" + HModel + "%''";
                    sWhere += " and è§„格型号 like '%" + HModel + "%'";
                }
                if (HOrgName) {
                    sWhere += " and ç»„织名称 like ''%" + HOrgName + "%''";
                    sWhere += " and ç»„织名称 like '%" + HOrgName + "%'";
                }
                if (HProject) {
                    sWhere += " and é¡¹ç›®å· like ''%" + HProject + "%''";
                    sWhere += " and é¡¹ç›®å· like '%" + HProject + "%'";
                }
                if (GetDataCols != "") {
@@ -1090,7 +1090,7 @@
                            sql = "";
                            HMaterTypeID = 0;
                        } else {
                            sql = " and HMaterTypeID=''" + data.id + "'' ";
                            sql = " and HMaterTypeID='" + data.id + "' ";
                            HMaterTypeID = data.id;
                        }
                        get_FastQuery()
@@ -1409,7 +1409,7 @@
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ç¦ç”¨æ ‡è®° = '''' ";
                    sWhere += " and ç¦ç”¨æ ‡è®° = '' ";
                    Organ(HOrgID);
                }
            }
WebTM/views/»ù´¡×ÊÁÏ/Éú²ú»ù´¡×ÊÁÏ/Add_Edit_Gy_BadReason.html
@@ -63,7 +63,7 @@
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="HDepart-BT" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn " style="margin-left:-9px"></i>
                                                    </button>
                                                    <input id="HDeptID" name="HDeptID" type="hidden" />
                                                    <input id="HDeptID" name="HDeptID" type="hidden" value="0"/>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
@@ -79,8 +79,8 @@
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="HProc-BT" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px"></i>
                                                    </button>
                                                    <input id="HProcID" name="HProcID" type="hidden" />
                                                    <input id="HProcNumber" name="HProcNumber" type="hidden" />
                                                    <input id="HProcID" name="HProcID" type="hidden" value="0" />
                                                    <input id="HProcNumber" name="HProcNumber" type="hidden"  />
                                                </div>
                                            </div>
                                        </div>
@@ -92,7 +92,7 @@
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="HBadType-BT" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn " style="margin-left:-9px"></i>
                                                    </button>
                                                    <input id="HBadTypeID" name="HBadTypeID" type="hidden" />
                                                    <input id="HBadTypeID" name="HBadTypeID" type="hidden" value="0" />
                                                </div>
                                            </div>
                                            <div class="layui-inline">
@@ -374,12 +374,12 @@
                            $("#HHelpCode").val(data.助记代码);//助记代码
                            $("#HDeptNumber").val(data.部门代码);//默认部门代码
                            $("#HDepName").val(data.部门名称);//默认部门
                            $("#HDeptID").val(data.部门ID);//部门id
                            $("#HDeptID").val(data.部门ID == null ? '0' : data.部门ID);//部门id
                            $("#HProcName").val(data.工序名称);//默认工序
                            $("#HProcID").val(data.工序ID);//工序ID
                            $("#HProcID").val(data.工序ID == null ? '0' : data.工序ID);//工序ID
                            $("#HProcNumber").val(data.工序代码);//工序代码
                            $("#HBadTypeName").val(data.不良类型);//默认不良类型
                            $("#HBadTypeID").val(data.HBadTypeID);//不良类型ID
                            $("#HBadTypeID").val(data.HBadTypeID == null ? '0' : data.HBadTypeID);//不良类型ID
                            $("#HBadTypeNumber").val(data.不良类型代码);//不良类型代码
                            $("#HRemark").val(data.备注);//备注
                            $("input[name='HStopflag']").attr("checked", data.禁用标记);//true:选中 false:不选中
@@ -395,24 +395,24 @@
            }
            //数据验证
            function AllowLoadData() {
                if ($("#HHelpCode").val() == '') {
                    layer.msg("请填写助记码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                if ($("#HDeptNumber").val() == '') {
                    layer.msg("请选择默认部门", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                //if ($("#HHelpCode").val() == '') {
                //    layer.msg("请填写助记码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if ($("#HDeptNumber").val() == '') {
                //    layer.msg("请选择默认部门", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
              
                if ($("#HProcName").val() == '') {
                    layer.msg("请选择默认工序", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                //if ($("#HProcName").val() == '') {
                //    layer.msg("请选择默认工序", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                if ($("#HBadTypeNumber").val() == '') {
                    layer.msg("请选择默认不良类型", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                //if ($("#HBadTypeNumber").val() == '') {
                //    layer.msg("请选择默认不良类型", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                return true;
            }
            //
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξֿ߲â¹ÜÀí/Sc_MouldProdInBillEdit.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/tableSelect.js"></script>
    <style type="text/css">
        /*begin æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
        .layui-form-item .layui-inline {
@@ -235,7 +236,6 @@
            var OperationType = 1;//操作类型
            var closeType = 2;  //关闭类型
        } else {
            debugger;
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
WebTM/views/²É¹º¹ÜÀí/²É¹º¶©µ¥/Cg_POOrderBillEdit.html
@@ -80,7 +80,7 @@
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">供应商<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline" style="width:440px">
                                                <input type="text" name="HSupName" id="HSupName" class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="text" name="HSupName" id="HSupName" class="layui-input" value="" style="float:left;width:150px;" autocomplete="off">
                                                <input type="hidden" name="HSupID" id="HSupID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HSupList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
@@ -356,11 +356,6 @@
    </script>
    <script>
        //#region æ–‡æœ¬æ¡†è¾“入搜索相关数据-变量
        var childPage = null;                       //获取子窗口对象,用于操作子窗口的变量和方法
        var currRowIndex = 0;                       //用于定位子窗口当前选中的行
        var childData = null;                       //用于获取子窗口返回的数据
        //#endregion
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
@@ -368,7 +363,7 @@
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        }).use(['index', 'form', 'laydate', 'table', 'element','tableSelect'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
@@ -377,7 +372,8 @@
                , table = layui.table
                , laydate = layui.laydate
                , form = layui.form
                , element = layui.element;
                , element = layui.element
                , tableSelect = layui.tableSelect;
            var sWhere = "";
            var date = new Date();
            var day = date.getDate();
@@ -385,6 +381,10 @@
            var year = date.getFullYear();
            var shijian = year + "-" + month + "-" + day;
            var allVal;
            //#endregion
            //记录组织的值
@@ -1011,6 +1011,32 @@
            //#endregion
            function set_InitGrid() {
                //供应商输入框
                tableSelect.render({
                    elem: '#HSupName',//输入框dom选择
                    checkedKey: 'HItemID',//查询列表主键用于获取历史
                    searchKey: '供应商名称',//查询的列名
                    sWhere: '',//table搜索sWhere条件 //默认筛选项
                    table: {
                        url: GetWEBURL() + 'Gy_Supplier/page',
                        where: { user: '翁涛涛', Organization: '浙江智云迈思' },
                        cols: [[
                            { type: 'radio' },
                            { field: 'HItemID', title: 'HItemID' },
                            { field: '供应商名称', title: '供应商名称' },
                        ]],
                        page: true,
                        limit: 5,
                        limits:[5]
                    },
                    done: function (elem, data) {
                        if (data != []) {
                            $("#HSupName").val(data.data[0]['供应商名称']);
                            $("#HSupID").val(data.data[0]['HItemID']);
                        }
                    }
                })
                option = {
                    elem: '#mainTable'      // ä½¿ç”¨#mainTable作为表格的DOM元素 
                    , toolbar: '#toolbarDemo'        //加载tolbardemo这个表格
@@ -1327,232 +1353,6 @@
            function set_GridCellCheck(obj) {       //定义了一个名为set_GridCellCheck的函数,它接受一个参数obj    
                //使用$(document).off('keydown', ".layui-table-edit")来移除(如果存在的话)之前绑定到文档中所有.layui-table-edit类元素上的keydown事件监听器
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {  
                    //#region å­è¡¨æ–‡æœ¬æ¡†è¾“入后检索数据
                    if (event.key != "F7") {
                        var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                        //根据子表设置的event,触发相应弹窗=================================================================================================
                        if (obj.event == "HMaterID") {                           //定位当前正在输入的文本框的列名
                        //==========================================================================================================
                            if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                                if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                                    var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                                    var innerHeight = window.innerHeight;
                                    var top = offset.top + 0.05 * innerHeight;
                                    var left = offset.left;
                                    if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                                        top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                                    }
                                    layer.open({
                                        type: 2                                                                                     //弹窗类型
                                        , skin: 'layui-layer-rim'                                                                   //加上边框
                                        , area: ['25%', '30%']                                                                      //大小
                                        , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                                        , offset: [top, left]
                                        , title: false                                                                              //不显示标题栏
                                        //, title: '项目费用列表'                                                                     //标题
                                        , shift: 2                                                                                  //弹出动画
                                        , closeBtn: 0                                                                               //禁用关闭按钮
                                        , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                                        , success: function (layero, index) {
                                            setTimeout(function () {
                                                //修改,根据文本框数据,编写查询语句=========================================================================================================
                                                var value = $(e.currentTarget).val().replace(/'/g, "");                                  //获取文本框最新值
                                                currRowIndex = 0;
                                                var tableView = "h_v_Gy_MaterialList";
                                                var childSWhere = "select top(10) HItemID,物料代码,物料名称,规格型号,HUnitID,计量单位名称 from " + tableView + " where 1=1 and ç»„织名称 = '" + sessionStorage["Organization"] + "' and (物料代码 like '%" + value + "%' or ç‰©æ–™åç§° like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                                                childPage.getData(childSWhere, tableView);
                                                //====================================================================================================================================
                                            }, 200);
                                        }
                                        , end: function () {
                                            obj.event = "";
                                            childPage = null;
                                            currRowIndex = 0;
                                            //===========================================================================================================================
                                            if (childData != null) {
                                                OptionData = childData;                             //把选中数据赋值给OptionData变量
                                                //通过供应商id获取税率
                                                var HSupID = $("#HSupID").val();
                                                if (HSupID != 0 && typeof (OptionData.HItemID) != "undefined") {
                                                    var Dec = getDecByMaterID(OptionData.HItemID) //获取精度
                                                    var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
                                                    var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //单价精度
                                                    var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //金额精度
                                                    $.ajax({
                                                        url: GetWEBURL() + "/Gy_Supplier/xg",
                                                        //url: "http://localhost:12761/Gy_Supplier/xg",
                                                        type: "GET",
                                                        data: {
                                                            "HInterID": HSupID
                                                        },
                                                        success: function (d) {
                                                            var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                                            var HExRate = $("#HExRate").val();                      //汇率
                                                            //数据校验合格,重算记录
                                                            var HQty = obj.data.HQty * 1;                           //数量
                                                            var HPrice = obj.data.HPrice * 1;                       //单价
                                                            var HMoney = HQty * HPrice;                             //金额=数量*单价
                                                            var HTaxMoney = Number((HMoney * HTaxRate));            //税额=金额*税率
                                                            var HlineTotal = HMoney + HTaxMoney;                    //价税合计=金额+税额
                                                            var HTaxPrice = Number((HPrice * (1 + HTaxRate)));      //含税单价=单价*(1+税率)
                                                            var HDiscountRate = obj.data.HDiscountRate * 1;         //折扣率
                                                            var HRelTaxPrice = Number((HTaxPrice * HDiscountRate)); //实际含税单价=含税单价*折扣率
                                                            var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate));  //本位币价税合计=(税额+金额)*汇率
                                                            //数字精度
                                                            HQty = Number(HQty.toFixed(HQtyDec));
                                                            HPrice = Number(HPrice.toFixed(HPriceDec));
                                                            HMoney = Number(HMoney.toFixed(HMoneyDec));
                                                            HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                                            HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                                                            HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                                            HRelTaxPrice = Number(HRelTaxPrice.toFixed(HPriceDec));
                                                            HlineTotalBB = Number(HlineTotalBB.toFixed(HMoneyDec));
                                                            obj.update({ //更新表格数据
                                                                "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                                , "物料代码": OptionData.物料代码
                                                                , "物料名称": OptionData.物料名称
                                                                , "规格型号": OptionData.规格型号
                                                                , "HUnitID": OptionData.HUnitID
                                                                , "计量单位": OptionData.计量单位名称
                                                                , "HTaxRate": HTaxRate * 100
                                                                , "HQty": HQty                               //更新HQty字段,HQty
                                                                , "HPrice": HPrice                         //更新HPrice字段,HPrice
                                                                , "HMoney": HMoney                      //更新HMoney字段,HMoney
                                                                , "HTaxMoney": HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                                                , "HlineTotal": HlineTotal             //更新HlineTotal字段,HlineTotal
                                                                , "HTaxPrice": HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                                , "HRelTaxPrice": HRelTaxPrice            //更新HRelTaxPrice字段,其值来自变量HRelTaxPrice
                                                                , "HlineTotalBB": HlineTotalBB              //更新HlineTotalBB字段,其值来自变量HlineTotalBB
                                                            })
                                                        }
                                                    });
                                                } else {
                                                    obj.update({ //更新表格数据
                                                        "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                        , "物料代码": OptionData.物料代码
                                                        , "物料名称": OptionData.物料名称
                                                        , "规格型号": OptionData.规格型号
                                                        , "HUnitID": OptionData.HUnitID
                                                        , "计量单位": OptionData.计量单位名称
                                                    })
                                                }
                                                OptionData = {};
                                                childData = null;
                                            }
                                            //============================================================================================================================
                                        }
                                    });
                                } else {
                                    setTimeout(function () {
                                        //修改,根据文本框数据,编写查询语句=========================================================================================================
                                        var value = $(e.currentTarget).val().replace(/'/g, "");                                  //获取文本框最新值
                                        currRowIndex = 0;
                                        var tableView = "h_v_Gy_MaterialList";
                                        var childSWhere = "select top(10) HItemID,物料代码,物料名称,规格型号,HUnitID,计量单位名称 from " + tableView + " where 1=1 and ç»„织名称 = '" + sessionStorage["Organization"] + "' and (物料代码 like '%" + value + "%' or ç‰©æ–™åç§° like '%" + value + "%')  order by ç‰©æ–™ä»£ç  desc";
                                        childPage.getData(childSWhere, tableView);
                                        //=============================================================================================================================================
                                    }, 200);
                                }
                            } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                                if (event.key == "ArrowUp") {
                                    currRowIndex--;
                                    childPage.setSelectedRow(currRowIndex);
                                } else if (event.key == "ArrowDown") {
                                    currRowIndex++;
                                    childPage.setSelectedRow(currRowIndex);
                                } else if (event.key == "Enter") {
                                    //手动失焦
                                    var element = document.getElementById("HBillNo");
                                    element.focus();
                                    childPage.getSelectedData(currRowIndex);
                                    //=============================================================================================================
                                    if (childData != null) {
                                        OptionData = childData;                             //把选中数据赋值给OptionData变量
                                        //通过供应商id获取税率
                                        var HSupID = $("#HSupID").val();
                                        if (HSupID != 0 && typeof (OptionData.HItemID) != "undefined") {
                                            var Dec = getDecByMaterID(OptionData.HItemID) //获取精度
                                            var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
                                            var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //单价精度
                                            var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //金额精度
                                            $.ajax({
                                                url: GetWEBURL() + "/Gy_Supplier/xg",
                                                //url: "http://localhost:12761/Gy_Supplier/xg",
                                                type: "GET",
                                                data: {
                                                    "HInterID": HSupID
                                                },
                                                success: function (d) {
                                                    var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                                    var HExRate = $("#HExRate").val();                      //汇率
                                                    //数据校验合格,重算记录
                                                    var HQty = obj.data.HQty * 1;                           //数量
                                                    var HPrice = obj.data.HPrice * 1;                       //单价
                                                    var HMoney = HQty * HPrice;                             //金额=数量*单价
                                                    var HTaxMoney = Number((HMoney * HTaxRate));            //税额=金额*税率
                                                    var HlineTotal = HMoney + HTaxMoney;                    //价税合计=金额+税额
                                                    var HTaxPrice = Number((HPrice * (1 + HTaxRate)));      //含税单价=单价*(1+税率)
                                                    var HDiscountRate = obj.data.HDiscountRate * 1;         //折扣率
                                                    var HRelTaxPrice = Number((HTaxPrice * HDiscountRate)); //实际含税单价=含税单价*折扣率
                                                    var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate));  //本位币价税合计=(税额+金额)*汇率
                                                    //数字精度
                                                    HQty = Number(HQty.toFixed(HQtyDec));
                                                    HPrice = Number(HPrice.toFixed(HPriceDec));
                                                    HMoney = Number(HMoney.toFixed(HMoneyDec));
                                                    HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                                    HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                                                    HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                                    HRelTaxPrice = Number(HRelTaxPrice.toFixed(HPriceDec));
                                                    HlineTotalBB = Number(HlineTotalBB.toFixed(HMoneyDec));
                                                    obj.update({ //更新表格数据
                                                        "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                        , "物料代码": OptionData.物料代码
                                                        , "物料名称": OptionData.物料名称
                                                        , "规格型号": OptionData.规格型号
                                                        , "HUnitID": OptionData.HUnitID
                                                        , "计量单位": OptionData.计量单位名称
                                                        , "HTaxRate": HTaxRate * 100
                                                        , "HQty": HQty                               //更新HQty字段,HQty
                                                        , "HPrice": HPrice                         //更新HPrice字段,HPrice
                                                        , "HMoney": HMoney                      //更新HMoney字段,HMoney
                                                        , "HTaxMoney": HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                                        , "HlineTotal": HlineTotal             //更新HlineTotal字段,HlineTotal
                                                        , "HTaxPrice": HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                        , "HRelTaxPrice": HRelTaxPrice            //更新HRelTaxPrice字段,其值来自变量HRelTaxPrice
                                                        , "HlineTotalBB": HlineTotalBB              //更新HlineTotalBB字段,其值来自变量HlineTotalBB
                                                    })
                                                }
                                            });
                                        } else {
                                            obj.update({ //更新表格数据
                                                "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                , "物料代码": OptionData.物料代码
                                                , "物料名称": OptionData.物料名称
                                                , "规格型号": OptionData.规格型号
                                                , "HUnitID": OptionData.HUnitID
                                                , "计量单位": OptionData.计量单位名称
                                            })
                                        }
                                        OptionData = {};
                                        childData = null;
                                    }
                                    //=========================================================================================================================================
                                    childPage = null;
                                    currRowIndex = 0;
                                    childData = null;
                                    obj.event = "";
                                }
                            }
                        }
                    }
                    //#endregion
                    if (event.key == "F7") {//检查触发事件的键盘按键是否是F7键
                        //物料
@@ -1756,141 +1556,70 @@
                    obj.event = ""; //把boj.event属性  åˆå§‹åŒ–为空
                    return false;
                }
                })
                //双击
                $('.layui-table-box tbody td[data-field="物料代码"]').off('dblclick').on('dblclick', function () {
                    //手动失焦
                    var element = document.getElementById("HBillNo");
                    element.focus();
                //物料表格下拉搜索框
                tableSelect.render({
                    elem: 'td[data-field="物料代码"] .layui-table-edit',
                    checkedKey: 'HItemID',
                    searchKey: '物料代码',
                    sWhere: '',//table搜索sWhere条件
                    table: {
                        url: GetWEBURL() + 'Gy_Material/page',
                        where: { user: '翁涛涛', Organization: '浙江智云迈思' },
                        cols: [[
                            { type: 'checkbox',fixed:'left' },
                            { field: 'HItemID', title: 'HItemID' },
                            { field: '物料代码', title: '物料代码' },
                            { field: '物料名称', title: '物料名称' },
                        ]],
                        page: true,
                        limit: 5,
                        limits: [5]
                    },
                    done: function (elem, data) {
                        $(".layui-table-edit").blur();//单元格失去焦点
                        setTableByHMater(obj, data);
                    }
                })
            }
            //选择物料改变表格信息
            function setTableByHMater(obj, data) {
                checkStatus = data;
                var TaxRate = getHTaxRateByHSupID();
                if (checkStatus.data.length > 1) {
                    var rowIndex = $(obj.tr).attr("data-index") * 1;  //attr("data-index")用于获取该tr元素上data-index属性的值*1转换类型然后赋值给rowIndex
                    for (var i = 0; i < checkStatus.data.length; i++) {  //判断选中的数据的长度  ç”¨äºŽéåކcheckStatus.data数组中的每个元素
                        if (rowIndex + i >= option.data.length) {           //判断rowIndex + i的索引超出了option.data数组的长度,说明option.data数组需要扩展以包含更多行
                            var NewRow = {
                                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "HQty": 1, "HRemark": ""
                                , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "1", "HRelTaxPrice": "0", "HTaxRate": "0", "HTaxMoney": "0", "HlineTotal": "0", "HlineTotalBB": "0", "HDate": Format(new Date, "yyyy- MM - dd")
                            };  // åˆ›å»ºä¸€ä¸ªæ–°çš„包含数组   å…¶åˆå§‹å€¼ä¸ºç©ºæˆ–者0  æˆ–者是时间格式
                    var HOrgID = $("#HOrgID").val();  //获取id="HOrgID"的元素中获取其值,并将该值存储在变量HOrgID中
                    layer.open({  //打开层
                        type: 2         // //表示弹出层的内容是一个 iframe       ç±»åž‹ä¸º2
                        , skin: "layui-layer-rim" //加上边框
                        , title: "物料列表"  //标题
                        , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                        , shift: 2 //弹出动画
                        , area: ["90%", "90%"] //窗体大小
                        , maxmin: true //设置最大最小按钮是否显示
                        , content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, 'yes']   //页面加载
                        , btn: ["确定", "取消"]  //属性定义了弹出层上的按钮数“确定”和“取消
                        , btn1: function (index, laero) { //当点击“确定”按钮时会被调用
                            //按钮一  çš„回调
                            var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                            var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                            OptionData = checkStatus.data[0];  //把选中数据的第一条赋值给OptionData变量
                            var TaxRate = getHTaxRateByHSupID();
                            //选中多行时
                            if (checkStatus.data.length > 1) {
                                var rowIndex = $(obj.tr).attr("data-index") * 1;  //attr("data-index")用于获取该tr元素上data-index属性的值*1转换类型然后赋值给rowIndex
                                for (var i = 0; i < checkStatus.data.length; i++) {  //判断选中的数据的长度  ç”¨äºŽéåކcheckStatus.data数组中的每个元素
                                    if (rowIndex + i >= option.data.length) {           //判断rowIndex + i的索引超出了option.data数组的长度,说明option.data数组需要扩展以包含更多行
                                        var NewRow = {
                                            "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "HQty": 1, "HRemark": ""
                                            , "HPrice": "0", "HTaxPrice": "0", "HMoney": "0", "HDiscountRate": "1", "HRelTaxPrice": "0", "HTaxRate": "0", "HTaxMoney": "0", "HlineTotal": "0", "HlineTotalBB": "0", "HDate": Format(new Date, "yyyy- MM - dd")
                                        };  // åˆ›å»ºä¸€ä¸ªæ–°çš„包含数组   å…¶åˆå§‹å€¼ä¸ºç©ºæˆ–者0  æˆ–者是时间格式
                            table.cache["mainTable"].push(NewRow);    //创建新的包含数组  ä¼ å…¥table.cache["mainTable"]数组
                            option.data = table.cache["mainTable"];  //把传入 table.cache["mainTable"]数组的值赋值给option.data çš„属性
                                        table.cache["mainTable"].push(NewRow);    //创建新的包含数组  ä¼ å…¥table.cache["mainTable"]数组
                                        option.data = table.cache["mainTable"];  //把传入 table.cache["mainTable"]数组的值赋值给option.data çš„属性
                                        table.render(option);//渲染界面
                                    }
                                    var HMaterID = checkStatus.data[i].HItemID; //checkStatus.data数组中的当前元素(索引为i)中获取HItemID属性的值 å¹¶èµ‹å€¼ç»™HMaterID
                                    var resultData = getMaterialByMaterID(HMaterID);  //使用HMaterID作为参数来调用getMaterialByMaterID函数来获取该物料的详细信息
                                    option.data[rowIndex + i].HMaterID = resultData.HMaterID;  //将option.data数组中对应行的HMaterID属性更新为从resultData对象中获取的物料ID
                                    option.data[rowIndex + i].物料代码 = resultData.HMaterNumber; //将option.data数组中对应行的 ç‰©æ–™ä»£ç  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                                    option.data[rowIndex + i].物料名称 = resultData.HMaterName; //将option.data数组中对应行的  ç‰©æ–™åç§°  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                                    option.data[rowIndex + i].规格型号 = resultData.HMaterModel; //将option.data数组中对应行的  è§„格型号  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                                    option.data[rowIndex + i].HUnitID = resultData.HUnitID; //将option.data数组中对应行的 HUnitID å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                                    option.data[rowIndex + i].计量单位 = resultData.HUnitName; //将option.data数组中对应行的 è®¡é‡å•位 å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID   æ›´æ–°è®¡é‡å•位属性
                                    option.data[rowIndex + i].HQty = 1;  //将对应行的HQty属性(可能代表数量)设置为1。这表示对于每个选中的物料,其默认数量被设置为1
                                    option.data[rowIndex + i].HTaxRate = TaxRate;
                                }
                                table.render(option); //重新渲染表格以显示更新后的数据
                            }
                            layer.closeAll();  //关闭所有通过layer
                            //layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                            table.render(option);//渲染界面
                        }
                        , btn2: function (index, layero) {   //当点击“取消”按钮时会被调用
                            //按钮【按钮二】的回调
                            //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                        },
                        end: function () {
                            //通过供应商id获取税率
                            var HSupID = $("#HSupID").val();
                            if (HSupID != 0 && typeof (OptionData.HItemID) != "undefined") {
                                var Dec = getDecByMaterID(obj.data.HMaterID) //获取精度
                                var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
                                var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //单价精度
                                var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //金额精度
                                $.ajax({
                                    url: GetWEBURL() + "/Gy_Supplier/xg",
                                    //url: "http://localhost:12761/Gy_Supplier/xg",
                                    type: "GET",
                                    data: {
                                        "HInterID": HSupID
                                    },
                                    success: function (d) {
                                        var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                        var HExRate = $("#HExRate").val();                      //汇率
                                        //数据校验合格,重算记录
                                        var HQty = obj.data.HQty * 1;                           //数量
                                        var HPrice = obj.data.HPrice * 1;               //单价
                                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                                        var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)));        //含税单价=单价*(1+税率)
                                        var HDiscountRate = obj.data.HDiscountRate * 1;   //折扣率
                                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate));   //实际含税单价=含税单价*折扣率
                                        var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate));     //本位币价税合计=(税额+金额)*汇率
                                        //数字精度
                                        HQty = Number(HQty.toFixed(HQtyDec));
                                        HPrice = Number(HPrice.toFixed(HPriceDec));
                                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                                        HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                                        HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                        HRelTaxPrice = Number(HRelTaxPrice.toFixed(HPriceDec));
                                        HlineTotalBB = Number(HlineTotalBB.toFixed(HMoneyDec));
                                        obj.update({ //更新表格数据
                                            "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                            , "物料代码": OptionData.物料代码
                                            , "物料名称": OptionData.物料名称
                                            , "规格型号": OptionData.规格型号
                                            , "HUnitID": OptionData.HUnitID
                                            , "计量单位": OptionData.计量单位名称
                                            , "HTaxRate": HTaxRate * 100
                                            , HQty: HQty                               //更新HQty字段,HQty
                                            , HPrice: HPrice                         //更新HPrice字段,HPrice
                                            , HMoney: HMoney                      //更新HMoney字段,HMoney
                                            , HTaxMoney: HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                            , HlineTotal: HlineTotal             //更新HlineTotal字段,HlineTotal
                                            , HTaxPrice, HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                            , HRelTaxPrice: HRelTaxPrice            //更新HRelTaxPrice字段,其值来自变量HRelTaxPrice
                                            , HlineTotalBB: HlineTotalBB              //更新HlineTotalBB字段,其值来自变量HlineTotalBB
                                        })
                                    }
                                });
                            } else {
                                obj.update({ //更新表格数据
                                    "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                    , "物料代码": OptionData.物料代码
                                    , "物料名称": OptionData.物料名称
                                    , "规格型号": OptionData.规格型号
                                    , "HUnitID": OptionData.HUnitID
                                    , "计量单位": OptionData.计量单位名称
                                })
                            }
                        }
                    });
                    obj.event = "";
                });
        }
                        var HMaterID = checkStatus.data[i].HItemID; //checkStatus.data数组中的当前元素(索引为i)中获取HItemID属性的值 å¹¶èµ‹å€¼ç»™HMaterID
                        var resultData = getMaterialByMaterID(HMaterID);  //使用HMaterID作为参数来调用getMaterialByMaterID函数来获取该物料的详细信息
                        option.data[rowIndex + i].HMaterID = resultData.HMaterID;  //将option.data数组中对应行的HMaterID属性更新为从resultData对象中获取的物料ID
                        option.data[rowIndex + i].物料代码 = resultData.HMaterNumber; //将option.data数组中对应行的 ç‰©æ–™ä»£ç  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                        option.data[rowIndex + i].物料名称 = resultData.HMaterName; //将option.data数组中对应行的  ç‰©æ–™åç§°  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                        option.data[rowIndex + i].规格型号 = resultData.HMaterModel; //将option.data数组中对应行的  è§„格型号  å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                        option.data[rowIndex + i].HUnitID = resultData.HUnitID; //将option.data数组中对应行的 HUnitID å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID
                        option.data[rowIndex + i].计量单位 = resultData.HUnitName; //将option.data数组中对应行的 è®¡é‡å•位 å±žæ€§æ›´æ–°ä¸ºä»ŽresultData对象中获取的物料ID   æ›´æ–°è®¡é‡å•位属性
                        option.data[rowIndex + i].HQty = 1;  //将对应行的HQty属性(可能代表数量)设置为1。这表示对于每个选中的物料,其默认数量被设置为1
                        option.data[rowIndex + i].HTaxRate = TaxRate;
                    }
                    table.render(option); //重新渲染表格以显示更新后的数据
                } else {
                    obj.update({
                        HMaterID: data.data[0]['HItemID'],
                        ç‰©æ–™ä»£ç : data.data[0]['物料代码'],
                        ç‰©æ–™åç§°: data.data[0]['物料名称']
                    })
                }
            }
            //行内删除
            function set_GridDelete(obj) {
                var data = obj.data;