chenhaozhe
2025-05-30 f025d969dcf4e664ef8f7f33ee2060e113c3adff
WebTM/views/²É¹º¹ÜÀí/²É¹ººÏͬ/Add_Edit_Cg_ContractBillList.html
@@ -70,7 +70,7 @@
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="HDate" id="HDate" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd">
                                                <input class="layui-input" name="HDate" id="HDate" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
@@ -104,7 +104,7 @@
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label" style="">汇率<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="HExRate" id="HExRate" autocomplete="off" value="0" style="background-color:#efefef4d;" readonlys>
                                                <input class="layui-input" name="HExRate" id="HExRate" autocomplete="off" value="0" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
@@ -161,7 +161,7 @@
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:10px;">
                                        <div class="layui-col-xs7 layui-inline">
                                            <label class="layui-form-label">备注</label>
@@ -172,8 +172,6 @@
                                    </div>
                                </div>
                            </div>
                            <!--制单信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
@@ -199,25 +197,11 @@
                                    </div>
                                    <div class="layui-row">
                                        <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" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                            </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" name="HDeleteMan " id="HDeleteMan " style="background-color:#efefef4d;" readonly>
                                            </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" name="HMakeDate" id="HMakeDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
@@ -230,18 +214,32 @@
                                                <input type="text" class="layui-input" name="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                            </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" name="HDeleteMan" id="HDeleteMan" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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" name="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-row">
                                            <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" name="HDeleteDate" id="HDeleteDate" style="background-color:#efefef4d;" readonly>
                                                </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" name="HDeleteDate" id="HDeleteDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
@@ -249,31 +247,44 @@
                            </div>
                        </div>
                    </div>
                    <!--采购合同详细-->
                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li style="padding:1px;" class="layui-this">物料明细</li>
                            <li style="padding:1px;">采购计划</li>
                        </ul>
                        <div class="layui-tab-content">
                            <div class="layui-tab-item layui-show">
                                <!--采购合同详细-->
                                <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                <script type="text/html" id="toolbarDemo">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Inventory" id="get_Inventory"><i class="layui-icon layui-icon-form"></i>库存查询</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="get_InOutSum" id="get_InOutSum"><i class="layui-icon layui-icon-form"></i>出入库记录查询</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                    </div>
                                </script>
                                <script type="text/html" id="xuhao">
                                    {{d.LAY_TABLE_INDEX+1}}
                                </script>
                            </div>
                            <div class="layui-tab-item">
                                <!--付款计划列表-->
                                <table class="layui-hide" id="mainTable2" lay-filter="mainTable2"></table>
                                <script type="text/html" id="toolbarDemo2">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine2"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine2"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                    </div>
                                </script>
                                <script type="text/html" id="xuhao">
                                    {{d.LAY_TABLE_INDEX+1}}
                                </script>
                            </div>
                        </div>
                    </script>
                    <script type="text/html" id="xuhao">
                        {{d.LAY_TABLE_INDEX+1}}
                    </script>
                    <!--付款计划列表-->
                    <table class="layui-hide" id="mainTable2" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo2">
                        <div class="layui-btn-container">
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine2"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine2"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>列设置</button>
                        </div>
                    </script>
                    <script type="text/html" id="xuhao2">
                        {{d.LAY_TABLE_INDEX+1}}
                    </script>
                    </div>
                </form>
            </div>
        </div>
@@ -281,7 +292,9 @@
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script type="text/html" id="barDemo2">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
@@ -308,16 +321,17 @@
            var allVal;
            //#endregion
          //记录组织的值
            //记录组织的值
            var HOrgIDBar = 0;
            var HModName = "Add_Edit_Cg_ContractBillSub1"
            var HModName2 = "Add_Edit_Cg_ContractBillSub2"
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //判断是否登录 æœªç™»å½•则跳到登录页
            get_LoginIs();
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "1102";
            var HModuleType = "1100";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
@@ -327,121 +341,96 @@
            var params = get_UrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);
        //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
        //#region èŽ·å–ç»„ç»‡
            function Organ() {
                //获取登录页组织列
                var Organization = '';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        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);
                            if (OperationType == 1 || OperationType == 4) {
                                HOrgIDBar = sessionStorage["OrganizationID"];
                            }
                            $("#HOrgID").val(HOrgIDBar);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);// èŽ·å– ä¸ºHUSEORGID的元素的值设置为当前会话中存储在sessionStorage中名为OrganizationID的值
            //判断是否新增
            if (linterid == null || linterid == 0) {
            if (linterid == null || linterid == 0) {     //判断 linterid å˜é‡æ˜¯å¦ä¸ºç©ºæˆ–者等于0
                //获取最大单据号 new
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '1102' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HInterID").val(d.data[0].HInterID);
                        $("#HSSDate").val(Format(new Date(), "yyyy-MM-dd")); //结算方式
                $("#HMaker").val(sessionStorage["HUserName"]);     //通过HMaker  id获取 å­˜å‚¨å™¨  sessionStorage中HUserName键对应的值
                $("#HInterID").val("0");                        // å°è¯•获取id ä¸º HInterID的元素 å­—符串为‘’0‘’的值
                $("#HBillNo").val("");                           // å°è¯•获取id ä¸º HBillNo的元素的值元素清空,即设置为空字符串。
                $.ajax({                //请求服务器
                    url: GetWEBURL() + "/Web/GetMAXNum", //调用方法和调用地址
                    type: "GET",                    //请求方法
                    data: { "HBillType": '1100' },  //请求参数  hbillteyp  å€¼ä¸º1100
                    success: function (d) {     //success是一个回调函数,当请求成功并返回数据时执
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);            //将HBillNo输入框的值设置为返回数据中第一个对象的HBillNo属性值。
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));   //获取  id  ä¸ºhdate元素的值  å°†å½“前日期格式化为"yyyy-MM-dd"格式,并设置为HDate输入框的值
                        $("#HContractDate").val(Format(new Date(), "yyyy-MM-dd"));  //获取  id  ä¸ºHContractDate元素的值  å°†å½“前日期格式化为"yyyy-MM-dd"格式,并设置为HDate输入框的值
                        $("#HInterID").val(d.data[0].HInterID);    //:更新HInterID输入框的值为返回数据中第一个对象的HInterID属性值
                    }
                });
                //页面初始化加载
                $("#HDeptID").val(sessionStorage["HDeptID"]);
                $("#HDeptName").val(sessionStorage["HDept"]);
                $("#HEmpName").val(sessionStorage["HUserName"]);
                $("#HEmpID").val(sessionStorage["HEmpID"]);
               // è¿™é€šå¸¸ç”¨äºŽè®¾ç½®å½“前用户所属的部门ID
                $("#HDeptID").val(sessionStorage["HDeptID"]);     // èŽ·å–é¡µé¢ä¸ŠID为"HDeptID"的元素的值设置为sessionStorage中"HDeptID"键对应的值
                $("#HDeptName").val(sessionStorage["HDept"]);       // èŽ·å–é¡µé¢ä¸ŠID为"HDeptName"的元素的值设置为sessionStorage中"HDeptName"键对应的值
                $("#HEmpName").val(sessionStorage["HUserName"]);       // èŽ·å–é¡µé¢ä¸ŠID为"HEmpName"的元素的值设置为sessionStorage中"HEmpName"键对应的值
                $("#HEmpID").val(sessionStorage["HEmpID"]);     // èŽ·å–é¡µé¢ä¸ŠID为"HEmpID"的元素的值设置为sessionStorage中"HEmpID"键对应的值
                //根据当前登录用户的部门 èŽ·å– ä¸»ç®¡
                if ($("#HDeptID").val()!=0) {
                    $.ajax({
                        url: GetWEBURL() + "Gy_Department/list",
                        async: false,
                        type: "GET",
                        data: {
                            "sWhere": "and HItemID = '" + $("#HDeptID").val() + "'", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"]
                if ($("#HDeptID").val() != 0) {  //  åˆ¤æ–­ èŽ·å–åˆ°id为hdeptid的值是为0
                    $.ajax({                    //请求
                        url: GetWEBURL() + "Gy_Department/list",  //请求方法和路径地址
                        async: false,         // è¿™ä¸ªé€‰é¡¹æŒ‡å®šäº†è¯·æ±‚是否应该异步执行
                        type: "GET",           //请求方法为get类型
                        data: {//定义发送到服务器的数据
                            //sWhere(用于筛选条件的字符串,基于HDeptID的值)、user(从sessionStorage中获取的当前用户名)、Organization(从sessionStorage中获取的当前组织信息)
                            "sWhere": "and HItemID = '" + $("#HDeptID").val() + "'", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"]  //定义的类型有HItemID,user,Organization
                        },
                        success: function (result) {
                            $("#HManagerID").val(result.data[0].HEmpID);
                            $("#HManagerName").val(result.data[0].负责人);
                        success: function (result) {  //请求成功时的回调函数
                            $("#HManagerID").val(result.data[0].HEmpID);  // æ›´æ–°è¿”回数据第一个对象的id
                            $("#HManagerName").val(result.data[0].负责人); // æ›´æ–°è¿”回数据第一个对象的负责人名称
                        }, error: function () {
                            layer.alert("发生错误!", { icon: 5 });
                            layer.alert("发生错误!", { icon: 5 });  //弹窗提示 ç±»åž‹5
                        }
                    });
                }
            } else {//如果修改则走下面 new
                $("#HInterID").val(linterid);
                RoadBillMain(linterid);
                $("#HInterID").val(linterid);//设置页面上ID为HInterID的元素的变量linterid的值
                RoadBillMain(linterid); //调用一个名为RoadBillMain的函数,并将linterid作为参数传递
            }
            //#endregion
            var rowdata = [{
                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0,"HWHName":"", "数量": "", "HRemark": ""
            //#region åˆå§‹åŒ–表格
            var rowdata = [{
                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "HRemark": ""
                , "HPrice": "", "HTaxPrice": "", "HMoney": "", "HDiscountRate": 1, "HRelTaxPrice": "", "HTaxRate": 1, "HTaxMoney": "", "HlineTotal": "", "HlineTotalBB": "", "HDate": Format(new Date, "yyyy- MM - dd"),
            }];
            }];  //定义包含数组1   ç”¨äºŽå­˜å‚¨æŸç§æ•°æ®è®°å½•(可能是库存、销售订单详情或类似的数据)的字段
            var rowdata2 = [{
                "HDate": Format(new Date, "yyyy-MM-dd"), "HMoney": "", "HCurID": 0, "HExRate": "" ,"货币名称":"",
            }]; ////定义包含数组 2
            // åˆå§‹åŒ–界
            set_InitGrid();
            set_InitGrid2();
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
            set_InitGrid();  //执行表格1
            set_InitGrid2();//执行表格2
            //物料明细头工具栏事件
            table.on('toolbar(mainTable)', function (obj) { //监听mainTable表格上的工具栏事件 è§¦å‘回调函数obj参数
                var checkStatus = table.checkStatus('mainTable')   //调用 table.checkStatus('mainTable') æ–¹æ³•获取名为 mainTable çš„表格的选中状态
                    , data = checkStatus.data;                   //从选中状态中提取数据,这些数据是表格中被选中的行
                //新增行表格数据
                var NewRow = {
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "HRemark": ""
                    , "HPrice": "", "HTaxPrice": "", "HMoney": "", "HDiscountRate": "1", "HRelTaxPrice": "", "HTaxRate":1, "HTaxMoney": "", "HlineTotal": "", "HlineTotalBB": "", "HDate": Format(new Date, "yyyy- MM - dd")
                     };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "数量": "", "HRemark": ""
                    , "HPrice": "", "HMoney": "", "HTaxRate": 1, "HTaxMoney": "", "HlineTotal": ""
                }; //定义 NewRow的对象,它包含了新行应该有的数据字段  è®¾ç½®å€¼ä¸ºç©ºæˆ–默认值
                switch (obj.event) {   // switch (obj.event)用于根据obj.event的值来决定执行哪个case块
                    case 'btn-AddLine':  //如果为新增行按钮
                        table.cache["mainTable"].push(NewRow);  //将NewRow对象添加到table.cache["mainTable"]数组中,  æ•°ç»„存储了表格的所有行数据
                        option.data = table.cache["mainTable"]; //更新option.data为新的数据数组显示到表格上  //将数据绑定到data上
                        table.render(option);
                        table.render(option);  //重新渲染表格
                        //刷新复选框
                        //checkRefresh();
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                    case 'btn-CopyLine':  //如果为复制行
                        var copydata = JSON.stringify(data);  // å°†data对象转为json类型 å¹¶èµ‹å€¼ç»™  å˜é‡
                        if (data.length <= 0) {  //判断字符串的长度是否小于等于0
                            layer.msg("请选择需要复制的一行!");  //提示
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        else if (data.length > 1) {    //判断字符串的长度是否大于1
                            layer.msg("只能选择复制一行!");  //提示
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
@@ -453,12 +442,68 @@
                            //checkRefresh();
                        }
                        break;
                    ////列设置
                    //case 'set_HideColumn':
                    //    get_HideColumn();
                    //库存查询
                    case 'get_Inventory': get_Inventory();
                        break;
                    //出入库记录查询
                    case 'get_InOutSum': get_InOutSum();
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                    //列设置
                    //case 'set_hidecolumn':
                    //    get_hidecolumn();
                    //    break;
                }
            });
            //付款计划头工具栏事件
            table.on('toolbar(mainTable2)', function (obj) {  //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                var checkStatus = table.checkStatus('mainTable2')     //调用 table.checkStatus('mainTable2') æ–¹æ³•获取名为 mainTable2 çš„表格的选中状态
                    , data = checkStatus.data;                       //从选中状态中提取数据,这些数据是表格中被选中的行
                //新增行表格数据
                var NewRow = {
                    "HDate": Format(new Date, "yyyy-MM-dd"), "HMoney": "", "HCurID": 0, "HExRate": "","HRemark":"","货币名称":""
                }; //定义 NewRow的对象,它包含了新行应该有的数据字段  è®¾ç½®å€¼ä¸ºç©ºæˆ–默认值  ä»¥åŠæ ¼å¼ä¸º
                switch (obj.event) {     // switch (obj.event)用于根据obj.event的值来决定执行哪个case块
                    case 'btn-AddLine2':  //按钮为新增行时
                        table.cache["mainTable2"].push(NewRow);  //将NewRow对象添加到table.cache["mainTable2"]数组中,  æ•°ç»„存储了表格的所有行数据
                        option2.data = table.cache["mainTable2"];  //将数据绑定到data上
                        table.render(option2); //渲染显示
                        //刷新复选框
                        //checkRefresh();
                        break;
                    case 'btn-CopyLine2':  //复制一行
                        var copyschemedata = JSON.stringify(data); //将data对象数据转为json类型赋值给变量
                        if (data.length <= 0) {  //判断  å­—符串长度是否<=0
                            layer.msg("请选择需要复制的一行!");  //提示
                        }
                        else if (data.length > 1) { //判断字符串长度>1
                            layer.msg("只能选择复制一行!");  //提示
                        }
                        else {
                            var copyschemedata2 = copyschemedata.substring(1, copyschemedata.length);//去除首行字符'['
                            var copyschemerow = copyschemedata2.substring(0, copyschemedata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable2"].push(JSON.parse(copyschemerow));//将复制的行强转成json追加到表格上
                            option2.data = table.cache["mainTable2"];//将数据绑定到data上
                            table.render(option2);  //将数据渲染到表格上
                            //刷新复选框
                            //checkRefresh();
                        }
                        break;
                    //列设置
                    case 'set_HideColumn2':
                        get_HideColumn2();
                        break;
                    //列设置
                    //case 'set_hidecolumn':
                    //    get_hidecolumn();
                    //    break;
                }
            });
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
@@ -467,33 +512,19 @@
                Pub_Close(1);
            })
            //选择采购员按钮
            //选择业务员按钮
            form.on('submit(HEmpList)', function () {
                get_checkEmp();
            });
            //选择客户按钮
            //选择供应商按钮
            form.on('submit(HSupList)', function () {
                get_checkSup();
            });
            //选择采购方式按钮
            form.on('submit(HPSStyleList)', function () {
                get_checkPSStyle();
            });
            //选择结算按钮
            form.on('submit(HSSList)', function () {
                get_checkSS();
            });
            //选择工程项目
            form.on('submit(btnHProjectID)', function () {
                get_btnHProjectID();
            });
            //选择仓库
            form.on('submit(btnHWHID)', function () {
                get_btnHWHID();
            });
            //选择币别按钮
            form.on('submit(HCurList)', function () {
                get_checkCur();
@@ -504,19 +535,34 @@
                get_checkDept();
            });
            //选择主管按钮
            form.on('submit(HManagerList)', function () {
                get_checkManager();
            });
            //保存按钮
            form.on('submit(set_SaveBill)', function (data) {
                set_SaveBill(data);
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
            table.on('tool(mainTable)', function (obj) {    //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
                var data = obj.data;        //获取当前行的数据                //将obj.data å­—符串类型 èµ‹å€¼ç»™data
                if (obj.event == 'HDate') {   //判断接受到的数据字段  id是否为 Hdata
                    var field = $(this).data('field');  //获取日期字段
                    laydate.render({
                        elem: this.firstChild  //将日期选择器绑定到触发事件的元素的第一个子元素
                        , show: true            //直接显示日期选择器,而不是等待用户点击
                        , closeStop: this    //判断点击日期选择器外部时是否关闭
                        , done: function (nowDate) {  //当日期选择完成时执行的回调函数
                            //时间选择完成,行数据更新
                            data[field] = nowDate;  //data对象中的日期字段
                            obj.update(data);// æ›´æ–°å›žè°ƒæ•°æ®
                            //刷新复选框
                            //checkRefresh();
                        }
                    });
                }
            });
            table.on('tool(mainTable2)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
@@ -537,67 +583,70 @@
                    });
                }
            });
            //#endregion
            //#region ç›‘听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
            table.on('edit(mainTable)', function (obj) {     //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                var temp = "";                      //定义一个空字符串变量 temp
                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"];  //金额精度
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                var oldText = $(this).prev().text();     //获取当前的值赋值给oldtext           èŽ·å–å½“å‰å…ƒç´ ï¼ˆå¯èƒ½æ˜¯ä¸€ä¸ªè¡¨æ ¼å•å…ƒæ ¼ï¼‰çš„å‰ä¸€ä¸ªåŒçº§å…ƒç´ çš„æ–‡æœ¬å†…å®¹ï¼Œå¹¶å°†è¿™ä¸ªæ–‡æœ¬å†…å®¹å­˜å‚¨åœ¨å˜é‡oldText中
                var value = obj.value               //得到修改后的值
                    , data = obj.data               //得到所在行所有键值
                    , field = obj.field;               //得到字段
                switch (field) {
                    case "HQty":                                         //数量
                    case "HQty":                      //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                        temp = value + "";      //修改后的值 è½¬ä¸ºå­—符串 èµ‹å€¼ç»™  å˜é‡temp
                        if (!ref.test(temp) || temp == 0) {  //使用表达式来判断字符串是否为0           // å®šä¹‰çš„æ­£åˆ™è¡¨è¾¾å¼ref(用于匹配非负数的字符串表示,但注意它不会匹配单独的0作为有效输入,因为.\d+部分是可选的,且前面没有允许0作为整数部分的单独情况)来测试temp字符串
                            //恢复数据到编辑前
                            obj.update({
                                HQty: oldText
                            obj.update({  //使用obj.update方法更新表格中某一行的数据
                                HQty: oldText  //将hqty字段恢复到保存单元格的值
                            });
                            table.render(option);
                            layer.msg("数量请输入大于0的数字!");
                            return;
                            table.render(option);  //重新渲染表格
                            layer.msg("数量请输入大于0的数字!");   //提示请输入大于0数字
                            return;
                        }
                        //数据校验合格,重算记录
                        var HQty = value * 1;                           //数量
                        var HPrice = obj.data.HPrice * 1;               //单价
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        var HExRate = $("#HExRate").val();                      //汇率
                        var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));      //本位币价税合计=(税额+金额)*汇率
                        //数字精度
                        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));
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                            , HlineTotal: HlineTotal
                            , HlineTotalBB: HlineTotalBB
                        obj.update({             //更新表格数据                æ–¹æ³•是该对象提供的一个方法,用于更新其内部状态或与之关联的数据源
                            HQty: HQty                    //   æ›´æ–°HQty字段,其值来自变量HQty
                            , HPrice: HPrice                //更新HPrice字段,其值来自变量HPrice
                            , HMoney: HMoney                //更新HMoney字段,其值来自变量HMoney
                            , HTaxMoney: HTaxMoney          //更新HMoney字段,其值来自变量HMoney
                            , HlineTotal: HlineTotal        //新HlineTotal字段,其值来自变量HlineTotal
                        });
                        table.render(option)
                        break;
                    case "HPrice":                                         //单价
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                        temp = value + "";     //修改后的值 è½¬ä¸ºå­—符串 èµ‹å€¼ç»™  å˜é‡temp
                        if (!ref.test(temp) || temp == 0) {    //使用表达式来判断字符串是否为0
                            //恢复数据到编辑前
                            obj.update({
                                HPrice: oldText
                            obj.update({     //使用obj.update方法更新表格中某一行的数据
                                HPrice: oldText    //将HPrice字段恢复到保存单元格的值
                            });
                            layer.msg("单价请输入大于0的数字!");
                            table.render(option);  //重新渲染表格
                            layer.msg("单价请输入大于0的数字!");  //提示 å•价请输入大于0的数字!
                            return;
                        }
@@ -605,14 +654,16 @@
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HPrice = value * 1;
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                        var HDiscountRate = obj.data.HDiscountRate * 1;   //折扣率
                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //实际含税单价=含税单价*折扣率
                        var HExRate = $("#HExRate").val();                      //汇率
                        var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));     //本位币价税合计=(税额+金额)*汇率
                        //数字精度
                        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));
                        //同步更新表格和缓存对应的值
                        obj.update({
@@ -621,38 +672,38 @@
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                            , HlineTotal: HlineTotal
                            , HTaxPrice, HTaxPrice
                            , HRelTaxPrice: HRelTaxPrice
                            , HlineTotalBB: HlineTotalBB
                        });
                        table.render(option)
                        break;
                    case "HTaxRate":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxRate: oldText
                            });
                            layer.msg("税率请输入不小于0的数字!");
                            table.render(option);  //重新渲染表格
                            return;
                        }
                        //数据校验合格,重算记录
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HPrice = obj.data.HPrice * 1;
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                        var HDiscountRate = obj.data.HDiscountRate * 1;   //折扣率
                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //实际含税单价=含税单价*折扣率
                        var HExRate = $("#HExRate").val();                       //汇率
                        var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate).toFixed(4));       //本位币价税合计=(税额+金额)*汇率
                        //数字精度
                        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));
                        //同步更新表格和缓存对应的值
                        obj.update({
@@ -661,118 +712,81 @@
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                            , HTaxPrice: HTaxPrice
                            , HlineTotal: HlineTotal
                            , HTaxPrice, HTaxPrice
                            , HRelTaxPrice: HRelTaxPrice
                            , HlineTotalBB: HlineTotalBB
                        });
                        break;
                    case "HDiscountRate":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HDiscountRate: oldText
                            });
                            layer.msg("折扣率请输入不小于0的数字!");
                            return;
                        }
                        //数据校验合格,重算记录
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HPrice = obj.data.HPrice * 1;
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                        var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                        var HDiscountRate = obj.data.HDiscountRate * 1;     //折扣率
                        var HRelTaxPrice = Number((HTaxPrice * HDiscountRate).toFixed(4));   //实际含税单价=含税单价*折扣率
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HTaxRate: HTaxRate * 100
                            , HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                            , HTaxPrice: HTaxPrice
                            , HDiscountRate: HDiscountRate
                            , HRelTaxPrice: HRelTaxPrice
                        });
                        break;
                        table.render(option);
                    default:
                }
            });
            //#endregion
            //#endregion
            //#endregion
            //#region æ–‡æœ¬æ¡†ç›‘听
            $(document).ready(function () {
            $(document).ready(function () {   // å½“文档加载完成后执行的函数
                //#region æ±‡çŽ‡å¤±ç„¦äº‹ä»¶
                var oldHExRate = "";                          //修改前的值
                var newHExRate = "";                          //修改后的值
                $("#HExRate").on('focus', function (data) {
                    oldHExRate = $("#HExRate").val() * 1;   //汇率文本框获取焦点时获取修改前的值
                }).on('blur', function (data) {
                    newHExRate = $("#HExRate").val();       //汇率文本框失焦时获取修改后的值
                var oldHExRate = "";                          //修改前的值  åˆå§‹åŒ–为空字符串
                var newHExRate = "";                          //修改后的值  åˆå§‹åŒ–为空字符串
                $("#HExRate").on('focus', function (data) {  // å½“#HExRate元素获得焦点时,执行此函数
                    oldHExRate = $("#HExRate").val() * 1;   //汇率文本框获取焦点时获取修改前的值       èŽ·å–å½“å‰æ±‡çŽ‡å€¼å¹¶å°†å…¶è½¬æ¢ä¸ºæ•°å­—ï¼ˆä¹˜ä»¥1是一种常用的类型转换技巧)
                }).on('blur', function (data) {      // å½“#HExRate元素失去焦点时,执行此函数
                    newHExRate = $("#HExRate").val();       //汇率文本框失焦时获取修改后的值   // èŽ·å–å¤±åŽ»ç„¦ç‚¹åŽçš„æ±‡çŽ‡å€¼ï¼ˆä»ç„¶æ˜¯å­—ç¬¦ä¸²ï¼‰
                    //判断输入的汇率是否合法
                    var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                    if (!ref.test(newHExRate)) {
                        layer.msg("汇率请输入不小于0的数字!");
                        $("#HExRate").val(oldHExRate);
                    if (!ref.test(newHExRate)) {    // å¦‚果输入的汇率不匹配正则表达式,即不合法
                        layer.msg("汇率请输入不小于0的数字!");   // ä½¿ç”¨Layui的layer弹出层显示提示信息
                        $("#HExRate").val(oldHExRate); //将汇率值恢复为修改前的值
                        return false;
                    }
                    //输入的汇率合法,重算
                    var HExRate = newHExRate * 1;                       //汇率
                    $("#HExRate").val(HExRate);
                    var HExRate = newHExRate * 1;                       //汇率    // å°†æ±‡çŽ‡å€¼ä»Žå­—ç¬¦ä¸²è½¬æ¢ä¸ºæ•°å­—
                    $("#HExRate").val(HExRate);  // è¿™é‡Œå®žé™…上是将数字转换回字符串并更新到输入框中,但通常是多余的,因为用户已经输入了合法的值
                    for (var i = 0; i < option.data.length; i++) {
                        var HMoney = option.data[i].HMoney;
                        var HTaxMoney = option.data[i].HTaxMoney;
                        option.data[i].HlineTotalBB = (option.data[i].HMoney + option.data[i].HTaxMoney) * HExRate;
                    for (var i = 0; i < option.data.length; i++) {  // éåŽ†è¡¨æ ¼æ•°æ®ï¼Œæ ¹æ®æ–°çš„æ±‡çŽ‡é‡æ–°è®¡ç®—æ¯è¡Œçš„æ€»é‡‘é¢
                        var HMoney = option.data[i].HMoney;   // èŽ·å–å½“å‰è¡Œçš„HMoney值
                        var HTaxMoney = option.data[i].HTaxMoney;  // èŽ·å–å½“å‰è¡Œçš„HTaxMoney值
                        option.data[i].HlineTotalBB = (option.data[i].HMoney + option.data[i].HTaxMoney) * HExRate;    // è®¡ç®—新的行总金额(可能是不含税金额+税额)* æ±‡çއ
                    }
                    table.render(option);
                    table.render(option); // é‡æ–°æ¸²æŸ“表格以反映更改
                });
                //#endregion
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            function get_LoginIs() {
                if (sessionStorage.login != "login") {
                    layer.confirm("登录失效,请重新登录!", {
                        icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                    }, function () { window.location.href = "../../user/login.html"; });
                // è¿™è¡Œä»£ç æ£€æŸ¥sessionStorage中的login项的值是否不等于字符串"login"
                if (sessionStorage.login != "login") { // åˆ¤æ–­æ˜¯å¦
                    layer.confirm("登录失效,请重新登录!", {    //提示登入失败重新登入
                        icon: 4,            // å¼¹å‡ºå±‚的图标
                        skin: 'layui-layer-lan', // å¼¹å‡ºå±‚的样式名
                        title: "温馨提示",   // å¼¹å‡ºå±‚的标题
                        closeBtn: 0,           // æ˜¯å¦æ˜¾ç¤ºå…³é—­æŒ‰é’®ï¼Œ0表示不显示
                        btn: ['重新登录']   // è‡ªå®šä¹‰æŒ‰é’®ï¼Œè¿™é‡Œåªæœ‰ä¸€ä¸ªæŒ‰é’®ï¼ŒæŒ‰é’®ä¸Šçš„æ–‡å­—是“重新登录”
                    }, function () { window.location.href = "../../user/login.html"; });  //重新调用  ç™»å…¥é¡µé¢    // ç‚¹å‡»æŒ‰é’®æ—¶æ‰§è¡Œçš„函数
                }
            }
            //#endregion
            //#region  æ—¶é—´è½¬æ¢
            function formatDate(date) {
                var d = new Date(date),
                    month = '' + (d.getMonth() + 1),
                    day = '' + d.getDate(),
                    year = d.getFullYear();
            function formatDate(date) {
                var d = new Date(date),   //定义一个将date值转换为时间类型赋值给d     åˆ›å»ºä¸€ä¸ªæ–°çš„Date对象d,使用传入的date参数(字符串或时间戳)作为构造函数的参数
                    month = '' + (d.getMonth() + 1),  //从d对象中获取月份,将这个月份数字转换成字符串
                    day = '' + d.getDate(),            //从d对象中获取日,将这个日数字转换成字符串。
                    year = d.getFullYear();             // ä»Žd对象中获取完整的年份
                if (month.length < 2) month = '0' + month;
                if (day.length < 2) day = '0' + day;
                if (month.length < 2) month = '0' + month; //如果月份字符串的长度小于2(即月份是1到9之间),则在月份字符串前面添加一个'0
                if (day.length < 2) day = '0' + day;  // // åŒä¸Šï¼Œå¦‚果日字符串的长度小于2,则在日字符串前面添加一个'0'
                return [year, month, day].join('-');
                return [year, month, day].join('-'); //将年份、月份和日字符串放入一个数组中,并使用join方法将它们连接成一个字符串
            }
            //#endregion
            //#region åˆå§‹åŒ–物料和计划表格
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
@@ -782,37 +796,31 @@
                    , height: 500
                    , loading: false
                    , cols: [[ //子表
                        { type: 'checkbox', fixed: 'left', totalRowText: '合计行' , style: 'background-color:#efefef4d;'}
                        , { type: 'numbers', title: '序号', width: 100, style: 'background-color:#efefef4d;'}
                        { type: 'checkbox', fixed: 'left', totalRowText: '合计行', style: 'background-color:#efefef4d;' }
                        , { type: 'numbers', field: '序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                        , { field: '物料代码', title: '物料代码', width: 150, edit: 'text', event: "HMaterID" }//f7
                        , { field: '物料名称', title: '物料名称', width: 150,  style: 'background-color:#efefef4d;'}
                        , { field: '物料名称', title: '物料名称', width: 150, style: 'background-color:#efefef4d;' }
                        , { field: '规格型号', title: '规格型号', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HUnitID', title: 'HUnitID', width: 100, hide: true }
                        , { field: '计量单位', title: '计量单位', width: 100, edit: 'text', event: "HUnitID" }//f7
                        , { field: 'HWHID', title: 'HWHID', width: 100, hide: true }
                        , { field: 'HWHName', title: '仓库名称', width: 100, edit: 'text', event: "HWHID" }//f7
                        , { field: 'HQty', title: '数量', width: 100, edit: 'text', totalRow: true}
                        , { field: 'HPrice', title: '单价', width: 100, edit: 'text'}
                        , { field: 'HTaxPrice', title: '含税单价', width: 100, edit: 'text'}
                        , { field: 'HMoney', title: '金额', width: 100, totalRow: true , style: 'background-color:#efefef4d;'}
                        , { field: 'HDiscountRate', title: '折扣率', width: 100, style: 'background-color:#efefef4d;'}
                        , { field: 'HRelTaxPrice', title: '实际含税单价', width: 110, style: 'background-color:#efefef4d;' }
                        , { field: 'HQty', title: '数量', width: 100, edit: 'text', totalRow: true }
                        , { field: 'HPrice', title: '单价', width: 100, edit: 'text' }
                        , { field: 'HMoney', title: '金额', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HTaxRate', title: '税率', width: 100, edit: 'text' }
                        , { field: 'HTaxMoney', title: '税额', width: 100, style: 'background-color:#efefef4d;'}
                        , { field: 'HlineTotal', title: '价税合计', width: 100, edit: 'text' }
                        , { field: 'HlineTotalBB', title: '本位币价税合计', width: 120, style: 'background-color:#efefef4d;' }
                        , { field: 'HDate', title: '到货日期', width: 120, event: 'HDate'}
                        , { field: 'HTaxMoney', title: '税额', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HlineTotal', title: '价税合计', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HRemark', title: '备注', width: 100, edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                        , { fixed: 'right', field: '操作', title: '操作', toolbar: '#barDemo', width: 70 }
                    ]]
                }
                option.data = rowdata;
                table.render(option);
                DisPlay_HideColumn();
            }
            function set_InitGrid2() {
                option = {
                option2 = {
                    elem: '#mainTable2'
                    , toolbar: '#toolbarDemo2'
                    , totalRow: true
@@ -821,40 +829,28 @@
                    , loading: false
                    , cols: [[ //子表
                        { type: 'checkbox', fixed: 'left', totalRowText: '合计行', style: 'background-color:#efefef4d;' }
                        , { type: 'numbers', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                        , { field: '物料代码', title: '物料代码', width: 150, edit: 'text', event: "HMaterID" }//f7
                        , { field: '物料名称', title: '物料名称', width: 150, style: 'background-color:#efefef4d;' }
                        , { field: '规格型号', title: '规格型号', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HUnitID', title: 'HUnitID', width: 100, hide: true }
                        , { field: '计量单位', title: '计量单位', width: 100, edit: 'text', event: "HUnitID" }//f7
                        , { field: 'HWHID', title: 'HWHID', width: 100, hide: true }
                        , { field: 'HWHName', title: '仓库名称', width: 100, edit: 'text', event: "HWHID" }//f7
                        , { field: 'HQty', title: '数量', width: 100, edit: 'text', totalRow: true }
                        , { field: 'HPrice', title: '单价', width: 100, edit: 'text' }
                        , { field: 'HTaxPrice', title: '含税单价', width: 100, edit: 'text' }
                        , { field: 'HMoney', title: '金额', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HDiscountRate', title: '折扣率', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HRelTaxPrice', title: '实际含税单价', width: 110, style: 'background-color:#efefef4d;' }
                        , { field: 'HTaxRate', title: '税率', width: 100, edit: 'text' }
                        , { field: 'HTaxMoney', title: '税额', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HlineTotal', title: '价税合计', width: 100, edit: 'text' }
                        , { field: 'HlineTotalBB', title: '本位币价税合计', width: 120, style: 'background-color:#efefef4d;' }
                        , { type: 'numbers', field: '序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HCurID', title: '货币代码', width: 100, hide: true }
                        , { field: '货币名称', title: '货币名称', width: 100, edit: 'text', event: "HCurID" }//f7
                        , { field: 'HExRate', title: '汇率', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HMoney', title: '金额', width: 100, edit: 'text', totalRow: true }
                        , { field: 'HDate', title: '到货日期', width: 120, event: 'HDate' }
                        , { field: 'HRemark', title: '备注', width: 100, edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                        , { fixed: 'right', field: '操作', title: '操作', toolbar: '#barDemo2', width: 70 }
                    ]]
                }
                option.data = rowdata;
                table.render(option);
                option2.data = rowdata2;
                table.render(option2);
                DisPlay_HideColumn2();
            }
            //#endregion
            //#region åŠ è½½è¡¨å¤´
            function RoadBillMain(linterid) {
                //查询检验方案单是否存在
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + "/Cg_POOrderBill/cx",
                    url: GetWEBURL() + "/Cg_ContractBill/cx",
                    type: "GET",
                    data: {
                        "HInterID": linterid
@@ -863,67 +859,81 @@
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            allVal = result.data[0];
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HBillNo": data[0].单据号
                                , "HDate": formatDate(data[0].日期)
                                , "HSSDate": formatDate(data[0].结算日期)
                                //, "HInnerBillNo": data.内部单据号
                                , "HAddress": data[0].交货地点
                                , "HDeptName": data[0].部门
                                , "HDeptID": data[0].HDeptID
                                , "HSupID": data[0].HSupID
                                , "HSupName": data[0].供应商
                                , "HEmpID": data[0].HEmpID
                                , "HEmpName": data[0].业务员
                                , "HCurID": data[0].HCurID
                                , "HCurName": data[0].币别
                                , "HExRate": data[0].汇率
                                , "HManagerName": data[0].主管
                                , "HManagerID": data[0].HManagerID
                                , "HPSStyleID": data[0].HPSStyleID
                                , "HPSStyleName": data[0].采购方式
                                , "HSSID": data[0].HSSID
                                , "HSSName": data[0].结算方式
                                , "HLinkMan": data[0].联系人
                                , "HLinkPhone": data[0].联系电话
                                , "HInnerBillNo": data[0].辅助字段
                                , "HProjectID": data[0].HProjectID
                                , "HProjectNumber": data[0].项目代码
                                , "HProjectName": data[0].项目名称
                                , "HWHID": data[0].HWHID
                                , "HOrgID": data[0].HOrgID
                                , "HWHName": data[0].仓库
                                , "HRemark": data[0].表头备注
                                , "HMaker": data[0].制单人
                                , "HChecker": data[0].审核人
                                , "HCloseMan": data[0].关闭人
                                , "HMakeDate": data[0].制单日期
                                , "HCheckDate": data[0].审核日期
                                , "HCloseDate": data[0].关闭日期
                                , "HUpDateDate": data[0].修改日期
                                , "HDeleteDate": data[0].作废日期
                            });
                            form.val("component-form-group",
                                { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                    "HBillNo": data[0].单据号
                                    , "HDate": formatDate(data[0].日期)
                                    , "HSSDate": formatDate(data[0].结算日期)
                                    //, "HInnerBillNo": data.内部单据号
                                    , "HAddress": data[0].交货地点
                                    , "HDeptName": data[0].部门
                                    , "HDeptID": data[0].HDeptID
                                    , "HSupID": data[0].HSupID
                                    , "HSupName": data[0].供应商
                                    , "HEmpID": data[0].HEmpID
                                    , "HEmpName": data[0].业务员
                                    , "HCurID": data[0].HCurID
                                    , "HCurName": data[0].币别
                                    , "HExRate": data[0].汇率
                                    , "HSSID": data[0].HSSID
                                    , "HSSName": data[0].结算方式
                                    , "HInnerBillNo": data[0].内部单据
                                    , "HRemark": data[0].表头备注
                                    , "HMaker": data.制单人
                                    , "HUpDater": data.修改人
                                    , "HChecker": data.审核人
                                    , "HCloseMan": data.关闭人
                                    , "HMakeDate": data.制单日期 == null ? "" : Pub_Format(data.制单日期, "yyyy-MM-dd hh:mm:ss")
                                    , "HCheckDate": data.审核日期 == null ? "" : Pub_Format(data.审核日期, "yyyy-MM-dd hh:mm:ss")
                                    , "HCloseDate": data.关闭日期 == null ? "" : Pub_Format(data.关闭日期, "yyyy-MM-dd hh:mm:ss")
                                    , "HUpDateDate": data.修改日期 == null ? "" : Pub_Format(data.修改日期, "yyyy-MM-dd hh:mm:ss")
                                    , "HDeleteDate": data.作废日期 == null ? "" : Pub_Format(data.作废日期, "yyyy-MM-dd hh:mm:ss")
                                    , "HContractDate": formatDate(data[0].合同日期)
                                    , "HContractName": data[0].合同名称
                                });
                           //组织的值HOrgID变化,重新渲染
                            HOrgIDBar = data.HOrgID;
                            //子表  èµ‹å€¼
                            //子表 1 èµ‹å€¼
                            var rowdata = [];
                            var obj = {};
                            for (var i = 0; i < data.length; i++) {
                                rowdata.push(
                                    {
                                        "HMaterID": data[i].HMaterID, "物料代码": data[i].物料代码, "物料名称": data[i].物料名称
                                        , "规格型号": data[i].规格型号, "HUnitID": data[i].HUnitID
                                        , "计量单位": data[i].计量单位, "HWHID": data[i].HWHID, "HWHName": data[i].仓库名称, "HQty": data[i].数量, "HRemark": data[i].表体备注
                                        , "HPrice": data[i].单价, "HMoney": data[i].金额, "HTaxRate": data[i].税率
                                        , "HTaxMoney": data[i].金额 * data[i].税率, "HlineTotal": data[i].金额 + data[i].税额, "HlineTotalBB": (data[i].金额 + data[i].税额) * data[i].汇率
                                        , "HTaxPrice": data[i].含税单价, "HDiscountRate": data[i].折扣率, "HRelTaxPrice": data[i].实际含税单价
                                        , "HDate": Format(new Date(data[i].交货日期), "yyyy-MM-dd")
                                    }
                                )
                                //利用对象id不能重复的特性去除子表重复值
                                if (!obj[data[i].hsubid]) {
                                    obj[data[i].hsubid] = 1;
                                    rowdata.push(
                                        {
                                            "HMaterID": data[i].HMaterID, "物料代码": data[i].物料代码, "物料名称": data[i].物料名称
                                            , "规格型号": data[i].规格型号, "HUnitID": data[i].HUnitID
                                            , "计量单位": data[i].计量单位, "HQty": data[i].数量, "HRemark": data[i].表体备注
                                            , "HPrice": data[i].原币单价, "HMoney": data[i].原币金额, "HTaxRate": data[i].税率
                                            , "HTaxMoney": data[i].原币金额 * data[i].税率 * 0.01, "HlineTotal": data[i].原币金额 + data[i].税额
                                        }
                                    )
                                }
                            }
                            option.data = rowdata;
                            table.render(option);
                            //子表2
                            var rowdata = [];
                            obj = {};
                            for (var i = 0; i < data.length; i++) {
                                //利用对象id不能重复的特性去除子表重复值
                                if (!obj[data[i].HSchemeID]) {
                                    obj[data[i].HSchemeID] = 1;
                                    rowdata.push(
                                        {
                                            "HCurID": data[i].HScCurID, "货币名称": data[i].计划币别, "HExRate": data[i].计划汇率
                                            , "HMoney": data[i].计划金额, "HDate": data[i].付款日期, "HRemark": data[i].计划备注,
                                        }
                                    )
                                }
                            }
                            option2.data = rowdata;
                            table.render(option2);
                            form.render('select');
                            layer.close(ajaxLoad);
@@ -941,7 +951,7 @@
            //#region ä¿å­˜æ–¹æ³•
            function set_SaveBill(data) {
                //表单数据检验
                if ($("#HCurID").val() == 0) {
                    layer.msg("请选择币别!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
@@ -962,15 +972,33 @@
                    layer.msg("请选择供应商!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if ($("#HPSStyleID").val() == 0) {
                    layer.msg("请选择采购方式!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if ($("#HSSID").val() == 0) {
                    layer.msg("请选择结算方式!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                //子表数据简单检验
                //后续可用多个数组存储列名来扩展
                for (var i = 0; i < option.data.length; i++) {
                    if (typeof option.data[i] !== 'object' || option.data[i] === null || Array.isArray(option.data[i])) {
                        continue; // è·³è¿‡éžå¯¹è±¡é¡¹ï¼ˆå¦‚空数组)
                    }
                    var rowData = option.data[i];
                    var rowData2 = option2.data[i];
                    for (var col of Object.keys(rowData)) {
                        if (rowData[col] == "0" && col !="LAY_TABLE_INDEX") {
                            layer.msg("第" + (i + 1) + "行:" + col + "不能为0!");
                            return;
                        }
                    }
                    for (var col of Object.keys(rowData2)) {
                        if (rowData2[col] == "0" && col != "LAY_TABLE_INDEX") {
                            layer.msg("第" + (i + 1) + "行:" + col + "不能为0!");
                            return;
                        }
                    }
                }
                //物料明细
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
@@ -978,16 +1006,24 @@
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //付款计划
                var numScheme = [];
                for (var i = 0; i < table.cache["mainTable2"].length; i++) {
                    if (table.cache["mainTable2"][i] != "") {
                        table.cache["mainTable2"][i].LAY_TABLE_INDEX = i;
                        numScheme.push(table.cache["mainTable2"][i])
                    }
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(num);
                var sSchemeStr = JSON.stringify(numScheme);
                var sAllStr = JSON.stringify(allVal);
                //var hentryid = linteridSub;//子表 æŽ’序id
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"] + ";" + sAllStr;
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sSchemeStr + ';' + OperationType + ";" + sessionStorage["HUserName"] + ";" + sAllStr;
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "Cg_POOrderBill/POOrderBillEdit", //方法所在页面和方法名
                    url: GetWEBURL() + "Cg_ContractBill/ContractBillEdit", //方法所在页面和方法名
                    async: true,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
@@ -1012,14 +1048,64 @@
            }
            //#endregion
            //#region åº“存查询
            function get_Inventory() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1 && data[0].HMaterID != 0) {
                    var HMaterID = data[0].HMaterID.toString();
                    //弹窗方法
                    layer.open({
                        type: 2//弹窗类型
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['90%', '90%']//大小
                        , title: '库存查询列表'//标题
                        , shift: 2//弹出动画
                        , content: ['../../仓存管理/条码报表/Kf_ICinventoryQueryReport.html?Type=1&HMaterID=' + HMaterID, 'yes']
                        , btn: ['取消']
                        , btn1: function (index, layero) {
                            layer.close(index);
                        }
                    })
                }
                else {
                    layer.msg('请选择一行有物料数据查询!');
                }
            }
            //#endregion
            //#region å‡ºå…¥åº“记录查询
            function get_InOutSum() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1 && data[0].HMaterID != 0) {
                    var HMaterID = data[0].HMaterID.toString();
                    layer.open({
                        type: 2//弹窗类型
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['90%', '90%']//大小
                        , title: '出入库记录列表'//标题
                        , shift: 2//弹出动画
                        , content: ['../../仓存管理/条码报表/Kf_StockInOutSumQueryReport.html?Type=1&HMaterID=' + HMaterID, 'yes']
                        , btn: ['取消']
                        , btn1: function (index, layero) {
                            layer.close(index);
                        }
                    })
                }
                else {
                    layer.msg('请选择一行有物料数据查询!');
                }
            }
            //#endregion
            //#region æŒ‰F7 å¼¹çª—功能
            //行内快捷键筛选
            function set_GridCellCheck(obj) {
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //物料
                        if (obj.event == "HMaterID") {
                            var HOrgID = $("#HOrgID").val();
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim" //加上边框
@@ -1038,35 +1124,35 @@
                                    //if (checkStatus.data.length != 1) {
                                    //    return layer.msg("请选择一条数据");
                                    //}
                                    OptionData = checkStatus.data[0];
                                    var TaxRate = getHTaxRateByHSupID();
                                    if (checkStatus.data.length > 1) {
                                        var rowIndex = $(obj.tr).attr("data-index") * 1;
                                        for (var i = 0; i < checkStatus.data.length; i++) {
                                            if (rowIndex + i >= option.data.length) {
                                                var NewRow = {
                                                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "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")
                                                };
                                      OptionData = checkStatus.data[0];
                                    var rowIndex = $(obj.tr).attr("data-index") * 1;
                                    for (var i = 0; i < checkStatus.data.length; i++) {
                                        if (rowIndex + i >= option.data.length) {
                                            var NewRow = {
                                                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "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")
                                            };
                                            table.cache["mainTable"].push(NewRow);
                                            option.data = table.cache["mainTable"];
                                                table.cache["mainTable"].push(NewRow);
                                                option.data = table.cache["mainTable"];
                                            table.render(option);
                                                table.render(option);
                                            }
                                            var HMaterID = checkStatus.data[i].HItemID;
                                            var resultData = getMaterialByMaterID(HMaterID);
                                            option.data[rowIndex + i].HMaterID = resultData.HMaterID;
                                            option.data[rowIndex + i].物料代码 = resultData.HMaterNumber;
                                            option.data[rowIndex + i].物料名称 = resultData.HMaterName;
                                            option.data[rowIndex + i].规格型号 = resultData.HMaterModel;
                                            option.data[rowIndex + i].HUnitID = resultData.HUnitID;
                                            option.data[rowIndex + i].计量单位 = resultData.HUnitName;
                                            option.data[rowIndex + i].HTaxRate = TaxRate;
                                        }
                                        var HMaterID = checkStatus.data[i].HItemID;
                                        var resultData = getMaterialByMaterID(HMaterID);
                                        option.data[rowIndex + i].HMaterID = resultData.HMaterID;
                                        option.data[rowIndex + i].物料代码 = resultData.HMaterNumber;
                                        option.data[rowIndex + i].物料名称 = resultData.HMaterName;
                                        option.data[rowIndex + i].规格型号 = resultData.HMaterModel;
                                        option.data[rowIndex + i].HUnitID = resultData.HUnitID;
                                        option.data[rowIndex + i].计量单位 = resultData.HUnitName;
                                        table.render(option);
                                    }
                                    table.render(option);
                                    layer.closeAll();
                                    //layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
@@ -1075,16 +1161,62 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    obj.update({
                                        "HMaterID": OptionData.HItemID
                                        ,"物料代码" : OptionData.物料代码
                                       , "物料名称" :OptionData.物料名称
                                        ,"规格型号" : OptionData.规格型号
                                        ,"HUnitID" :OptionData.HUnitID
                                        ,"计量单位" : OptionData.计量单位名称
                                })
                                    //通过供应商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 HQty = obj.data.HQty * 1;                           //数量
                                                var HPrice = obj.data.HPrice * 1;               //单价
                                                var HMoney = HQty * HPrice;                     //金额=数量*单价
                                                var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                                                var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                                //数字精度
                                                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));
                                                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
                                                })
                                            }
                                        });
                                    } else if (typeof (OptionData.HItemID) != "undefined") {
                                        obj.update({ //更新表格数据
                                            "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                            , "物料代码": OptionData.物料代码
                                            , "物料名称": OptionData.物料名称
                                            , "规格型号": OptionData.规格型号
                                            , "HUnitID": OptionData.HUnitID
                                            , "计量单位": OptionData.计量单位名称
                                        })
                                    }
                                });
                                }
                            });
                        }
                        //计量单位
                        if (obj.event == "HUnitID") {
@@ -1099,43 +1231,6 @@
                                , content: ['../../基础资料/公用基础资料/Gy_Unit.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                //按钮一  çš„回调
                                var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                if (checkStatus.data.length != 1) {
                                    return layer.msg("请选择一条数据");
                                }
                                OptionData = checkStatus.data[0];
                                //更新表格缓存的数据
                                obj.update({
                                    "HUnitID": checkStatus.data[0].HItemID
                                    , "计量单位": checkStatus.data[0].计量单位名称
                                })
                                layer.close(index);//关闭弹窗
                            }
                            , end: function () {
                                obj.update({
                                    "HUnitID": OptionData.HItemID
                                    , "计量单位": OptionData.计量单位名称
                                })
                            }
                        })
                        }
                        //仓库
                        if (obj.event == "HWHID") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim" //加上边框
                                , title: "计量单位列表"  //标题
                                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../基础资料/公用基础资料/Gy_Warehouse.html?type=Warehouse', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
@@ -1146,25 +1241,174 @@
                                    OptionData = checkStatus.data[0];
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HWHID": checkStatus.data[0].HItemID
                                        , "HWHName": checkStatus.data[0].仓库名称
                                        "HUnitID": OptionData.HItemID
                                        , "计量单位": OptionData.计量单位名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    obj.update({
                                        "HWHID": OptionData.HItemID
                                        , "HWHName": OptionData.仓库名称
                                        "HUnitID": OptionData[0].HItemID
                                        , "计量单位": OptionData[0].计量单位名称
                                    })
                                }
                            })
                        }
                    obj.event = "";
                    return false;
                }
                        //货币
                        if (obj.event == "HCurID") {
                            layer.open({
                                type: 2//弹窗类型
                                , skin: 'layui-layer-rim' //加上边框
                                , area: ['90%', '90%']//大小
                                , title: '币别列表'//标题
                                , shift: 2//弹出动画
                                , content: ['../../基础资料/公用基础资料/Gy_Currency.html', 'yes']
                                , btn: ['确定', '取消']
                                , btn1: function (index, layero) {//按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    OptionData = checkStatus.data[0];
                                    obj.update({
                                        "HCurID": checkStatus.data[0].HItemID
                                        , "HExRate": checkStatus.data[0].汇率
                                        , "货币名称": checkStatus.data[0].货币名称
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , end: function () {
                                    obj.update({
                                        "HCurID": OptionData.HItemID
                                        , "HExRate": OptionData.汇率
                                        , "货币名称": OptionData.货币名称
                                    })
                                }
                            })
                        }
            })
        }
                        obj.event = "";
                        return false;
                    }
                })
                //双击
                $('.layui-table-box tbody td[data-field="物料代码"]').off('dblclick').on('dblclick', function () {
                    var HOrgID = $("#HOrgID").val();
                    layer.open({
                        type: 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");//获取选中的数据
                            //if (checkStatus.data.length != 1) {
                            //    return layer.msg("请选择一条数据");
                            //}
                            OptionData = checkStatus.data[0];
                            var TaxRate = getHTaxRateByHSupID();
                            if (checkStatus.data.length > 1) {
                                var rowIndex = $(obj.tr).attr("data-index") * 1;
                                for (var i = 0; i < checkStatus.data.length; i++) {
                                    if (rowIndex + i >= option.data.length) {
                                        var NewRow = {
                                            "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "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")
                                        };
                                        table.cache["mainTable"].push(NewRow);
                                        option.data = table.cache["mainTable"];
                                        table.render(option);
                                    }
                                    var HMaterID = checkStatus.data[i].HItemID;
                                    var resultData = getMaterialByMaterID(HMaterID);
                                    option.data[rowIndex + i].HMaterID = resultData.HMaterID;
                                    option.data[rowIndex + i].物料代码 = resultData.HMaterNumber;
                                    option.data[rowIndex + i].物料名称 = resultData.HMaterName;
                                    option.data[rowIndex + i].规格型号 = resultData.HMaterModel;
                                    option.data[rowIndex + i].HUnitID = resultData.HUnitID;
                                    option.data[rowIndex + i].计量单位 = resultData.HUnitName;
                                    option.data[rowIndex + i].HTaxRate = TaxRate;
                                }
                                table.render(option);
                            }
                            layer.closeAll();
                            //layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        }
                        , 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 HQty = obj.data.HQty * 1;                           //数量
                                        var HPrice = obj.data.HPrice * 1;               //单价
                                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                                        var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                        //数字精度
                                        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));
                                        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
                                        })
                                    }
                                });
                            } else if (typeof (OptionData.HItemID) != "undefined") {
                                obj.update({ //更新表格数据
                                    "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                    , "物料代码": OptionData.物料代码
                                    , "物料名称": OptionData.物料名称
                                    , "规格型号": OptionData.规格型号
                                    , "HUnitID": OptionData.HUnitID
                                    , "计量单位": OptionData.计量单位名称
                                })
                            }
                        }
                    });
                });
            }
            //行内删除
            function set_GridDelete(obj) {
@@ -1179,6 +1423,8 @@
                            obj.del();
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.reload(option);
                            option2.data = table.cache["mainTable2"];//将计划数据绑定到data上
                            table.reload(option2);
                            layer.close(index);
                        }
                    });
@@ -1233,7 +1479,7 @@
                        $("#HAddress").val(checkStatus.data[0].地区);
                        $("#HPSStyleName").val(checkStatus.data[0].采购方式);
                        $("#HPSStyleID").val(checkStatus.data[0].HPSStyleID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
@@ -1274,61 +1520,15 @@
                    , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                       var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                       var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                       if (checkStatus.data.length === 0) {
                           return layer.msg('请选择数据');
                       }
                       $("#HDeptName").val(checkStatus.data[0].部门名称);
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        $("#HManagerID").val(checkStatus.data[0].HEmpID);
                        $("#HManagerName").val(checkStatus.data[0].负责人);
                       layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                   }
                   , btn2: function (index, layero) { }
                })
            }
            //主管
            function get_checkManager() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '主管列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HManager', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HManagerName").val(checkStatus.data[0].职员名称);
                        $("#HManagerID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //采购方式
            function get_checkPSStyle() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '采购方式列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_PoStockStyle.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HPSStyleName").val(checkStatus.data[0].采购方式名称);
                        $("#HPSStyleID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
@@ -1357,73 +1557,13 @@
                    , btn2: function (index, layero) { }
                })
            }
            //工程项目
            function get_btnHProjectID() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '项目列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../项目管理/工程项目/PM_ProjectBillList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HProjectName").val(checkStatus.data[0].项目名称);
                        $("#HProjectNumber").val(checkStatus.data[0].项目代码);
                        $("#HProjectID").val(checkStatus.data[0].HInterID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //仓库
            function get_btnHWHID() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '结算方式列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_Warehouse.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HWHName").val(checkStatus.data[0].仓库名称);
                        $("#HWHID").val(checkStatus.data[0].HItemID);
                        if (option.data.length > 0) {
                            for (var i = 0; i < option.data.length; i++) {
                                if (option.data[i]["HWHID"] == 0) {
                                    option.data[i]["HWHID"] = checkStatus.data[0].HItemID;
                                    option.data[i]["HWHName"] = checkStatus.data[0].仓库名称;
                                }
                            }
                        }
                        table.render(option);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region æ ¹æ®ç‰©æ–™ID获取物料详细信息
            function getMaterialByMaterID(HMaterID) {
                var resultData = {};
                $.ajax({
                    url: GetWEBURL() + "Cg_POOrderBill/getMaterialByMaterID",
                    url: GetWEBURL() + "Cg_ContractBill/getMaterialByMaterID",
                    async: false,
                    type: "GET",
                    data: {
@@ -1444,7 +1584,56 @@
            }
            //#endregion
            //#region æ ¹æ®ç‰©æ–™ID获取精度
            function getDecByMaterID(HMaterID) {
                var resultData = {};
                $.ajax({  // å¼‚步请求
                    url: GetWEBURL() + "Gy_Material/getDecByID",  //请求地址
                    async: false,   //是否开启异步
                    type: "GET",   //请求类型
                    data: {   //定义发送到服务器的数据
                        "HMaterID": HMaterID     //  å°†hmaterid作为请求参数发送
                    },
                    success: function (result) {   // å½“请求成功时,执行这个函数
                        if (result.code == 1) { // å¦‚果服务器返回的数据中的`code字段等于1,这可能表示审核操作成功执行
                            var data = result.data; //声明data变量,并将其赋值为result对象中的data属性
                            resultData = data[0];   //将data数组(或类数组对象)的第一个元素赋值给变量resultData
                        }
                        //else {
                        //    layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' }); //result.msg对象,提示弹窗 ç±»åž‹ä¸º5, æŒ‰é’®ï¼Œå’ŒæŒ‰é’®çš„名称为退出  æ—¶é—´ ä¸º100秒,以及偏移量(`offset: 't'
                        //}
                    }, error: function () {
                        layer.alert("发生错误!", { icon: 5 });  //提示弹窗 å‘生错误 ï¼Œè­¦ç¤ºæ ‡å¿—为5的
                    }
                });
                return resultData;
            }
            //#endregion
            //#region é€šè¿‡ä¾›åº”商id获取税率
            function getHTaxRateByHSupID() {
                var HTaxRate;
                //通过供应商id获取税率
                var HSupID = $("#HSupID").val();
                if (HSupID != 0) {
                    $.ajax({
                        url: GetWEBURL() + "/Gy_Supplier/xg",
                        type: "GET",
                        async: false,
                        data: {
                            "HInterID": HSupID
                        },
                        success: function (d) {
                            HTaxRate = parseInt(d.data[0].增值税率);
                        }
                    });
                } else {
                    HTaxRate = 0;
                }
                return HTaxRate;
            }
            //#endregion
            //#region ä¿å­˜åŽæµè§ˆæ–¹æ³•
            function ReRoadBillMain() {
                location.replace('Add_Edit_Cg_POInStockBillList.html?OperationType=4&linterid=' + linterid + '&HSouceBillType=');
@@ -1454,51 +1643,266 @@
            //#endregion
            //#endregion
            //#region åˆ—设置1
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["field"] + ",";
                }
                var colTitleName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colTitleName += option.cols[0][i]["title"] + ",";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['../../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName + '&colTitleName = ' + colTitleName, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = [];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                                //设置表格title属性显示别名
                                if (dataCols[4] != null && dataCols[4] != "") {
                                    option.cols[0][i + 1]["title"] = dataCols[4];
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region åˆ—设置2
            //隐藏列设置
            function get_HideColumn2() {
                var colName = "";
                for (var i = 1; i < option2.cols[0].length - 1; i++) {
                    colName += option2.cols[0][i]["field"] + ",";
                }
                var colTitleName = "";
                for (var i = 1; i < option2.cols[0].length - 1; i++) {
                    colTitleName += option2.cols[0][i]["title"] + ",";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['../../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName2 + '&colName=' + colName + '&colTitleName = ' + colTitleName, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn2() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = [];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option2.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option2.cols[0][i + 1]["hide"] = true;
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option2.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option2.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option2.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option2.cols[0][i + 1]["title"], titleData) == -1) {
                                    option2.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option2.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option2.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option2.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                                //设置表格title属性显示别名
                                if (dataCols[4] != null && dataCols[4] != "") {
                                    option2.cols[0][i + 1]["title"] = dataCols[4];
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option2.cols[0].length - 1; i++) {
                                if (option2.cols[0][i]["fixed"] != null) {
                                    option2.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option2.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option2.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option2);
                        } else {
                            table.render(option2);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //以上是layui模块
        });
       // åŸºç¡€èµ„料返回数据
       function GetHEmpValue(obj)  //返回采购员
       {
           $("#HEmpName").val(obj[0].职员名称);
           $("#HEmpID").val(obj[0].HItemID);
       }
       function GetHDeptNameValue(obj)  //返回采购部门
       {
           $("#HDeptName").val(obj[0].部门名称);
           $("#HDeptID").val(obj[0].HItemID);
        }
        function GetHManagerValue(obj)  //返回主管
        //#region åŸºç¡€èµ„料返回数据
        function GetHEmpValue(obj)  //返回采购员
        {
            $("#HManagerName").val(obj[0].职员名称);
            $("#HManagerID").val(obj[0].HItemID);
            $("#HEmpName").val(obj[0].职员名称);
            $("#HEmpID").val(obj[0].HItemID);
        }
       function GetHPSStyleNameValue(obj)  //返回采购方式
       {
        function GetHDeptNameValue(obj)  //返回采购部门
        {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        function GetHPSStyleNameValue(obj)  //返回采购方式
        {
            $("#HPSStyleName").val(obj[0].采购方式名称);
            $("#HPSStyleID").val(obj[0].HItemID);
        }
        }
        function GetHSupNameValue(obj)  //返回供应商
        {
            $("#HSupName").val(obj[0].供应商名称);
            $("#HSupID").val(obj[0].HItemID);
            $("#HCurID").val(obj[0].HCurID);
            $("#HCurName").val(obj[0].货币);
            $("#HExRate").val(obj[0].汇率);
            $("#HSSID").val(obj[0].HSSID);
            $("#HSSName").val(obj[0].结算方式);
            $("#HAddress").val(obj[0].地区);
            $("#HPSStyleName").val(obj[0].采购方式);
            $("#HPSStyleID").val(obj[0].HPSStyleID);
        }
       function GetHSupNameValue(obj)  //返回供应商
       {
           $("#HSupName").val(obj[0].供应商名称);
           $("#HSupID").val(obj[0].HItemID);
           $("#HCurID").val(obj[0].HCurID);
           $("#HCurName").val(obj[0].货币);
           $("#HExRate").val(obj[0].汇率);
           $("#HSSID").val(obj[0].HSSID);
           $("#HSSName").val(obj[0].结算方式);
           $("#HAddress").val(obj[0].地区);
           $("#HPSStyleName").val(obj[0].采购方式);
           $("#HPSStyleID").val(obj[0].HPSStyleID);
        }
        function GetSettleStyleValue(obj)  //返回结算方式
        {
            $("#HSSName").val(obj[0].结算方式名称);
@@ -1506,38 +1910,21 @@
        }
        //双击返回计量单位
         function GetGyUnit(data) {
             OptionData = data
         }
        function GetUnitValue(data) {
            OptionData = data;
        }
            //双击返回物料
         function GetGyMaterial(data) {
             OptionData = data
        //双击返回物料
        function GetGyMaterial(data) {
            OptionData = data
        }
        //项目
        function GetProjectBillValue(data) {
            $("#HProjectName").val(data[0].项目名称);
            $("#HProjectNumber").val(data[0].项目代码);
            $("#HProjectID").val(data[0].HInterID);
        //双击返回货币
        function GetGyCur(data) {
            OptionData = data
        }
        //双击返回仓库
        function GetHWHValue(data) {
            $("#HWHName").val(data[0].仓库名称);
            $("#HWHID").val(data[0].HItemID);
            if (option.data.length > 0) {
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i]["HWHID"] == 0) {
                        option.data[i]["HWHID"] = data[0].HItemID;
                        option.data[i]["HWHName"] = data[0].仓库名称;
                    }
                }
            }
            layui.table.render(option);
        }
        function GetGyWarehouse(data) {
            OptionData = data[0]
        }
        //#endregion
    </script>
</body>
</html>