yusijie
2024-12-25 f65fe092c04cb3d18b7cb1cd511c19d408d59370
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-LayUI
1个文件已添加
6个文件已修改
2247 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/采购基础资料/Gy_Supplier_Edit.html 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/质量管理/质量报表/QC_PPMReport.html 1346 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/质量管理/质量月度目标单/QC_MonthTarGetBill.html 293 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序出站汇报单/Cj_StationOutBillList.html 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序出站汇报单/Cj_StationOutBill_Sup.html 411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -651,6 +651,7 @@
    <Content Include="views\设备管理\设备开机单\Sb_EquipBeginBill.html" />
    <Content Include="views\设备管理\设备开机单\Sb_EquipBeginBillList.html" />
    <Content Include="views\质量管理\巡检记录单\MES_QC_PatrolProcCheckOtherBill_PDA.html" />
    <Content Include="views\车间管理\工序出站汇报单\Cj_StationOutBill_Sup.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBill.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBillList.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeBillList_Source.html" />
WebTM/WebTM.csproj.user
@@ -2,7 +2,7 @@
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-TM\MESWMS-LayUI\WebTM\Properties\PublishProfiles\JFTM.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
WebTM/views/»ù´¡×ÊÁÏ/²É¹º»ù´¡×ÊÁÏ/Gy_Supplier_Edit.html
@@ -987,15 +987,18 @@
                    layer.msg("请输入供应商名称", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                var HTaxRate = $("#HTaxRate").val();
                if (HTaxRate == null || HTaxRate == undefined || HTaxRate == "") {
                    layer.msg("请输入增值税率", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                 else {
                    return true;
                }
                if (!ref.test(HTaxRate)) {
                    layer.msg("第" + (i + 1) + "行:增值税率请输入大于0的数字!");
                    return false;
                }
                //var HTaxRate = $("#HTaxRate").val();
                //if (HTaxRate == null || HTaxRate == undefined || HTaxRate == "") {
                //    layer.msg("请输入增值税率", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if (!ref.test(HTaxRate)) {
                //    layer.msg("第" + (i + 1) + "行:增值税率请输入大于0的数字!");
                //    return false;
                //}
                //var HAddress = $("#HAddress").val();
                //if (HAddress == null || HAddress == undefined || HAddress == "") {
                //    layer.msg("地址不得为空!", { icon: 5 });
@@ -1007,33 +1010,34 @@
                //    layer.msg("没有选择地区", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                if ($("#HCurName").val() == '') {
                    layer.msg("没有选择默认货币", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                if ($("#HSSName").val() == '') {
                    layer.msg("没有选择结算方式", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                //if ($("#HCurName").val() == '') {
                //    layer.msg("没有选择默认货币", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if ($("#HSSName").val() == '') {
                //    layer.msg("没有选择结算方式", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                var reg = /^0\d{2,3}-?\d{7,8}$/;
                if (reg.test($("#HLinkPhone").val()) == false && $("#HLinkPhone").val() != "") {
                    layer.msg("联系电话号码有误,请输入区号+号码格式的电话号码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                var reg1 = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
                if (reg1.test($("#HEmail").val()) == false && $("#HEmail").val() != "") {
                    layer.msg("请填写正确格式的邮箱", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                var reg2 = /^[1][3,4,5,7,8][0-9]{9}$/;
                if (reg2.test($("#HMobilePhone").val()) == false && $("#HMobilePhone").val() != "") {
                    layer.msg("请填写正确格式的手机号", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                else {
                    return true;
                }
                //var reg = /^0\d{2,3}-?\d{7,8}$/;
                //if (reg.test($("#HLinkPhone").val()) == false && $("#HLinkPhone").val() != "") {
                //    layer.msg("联系电话号码有误,请输入区号+号码格式的电话号码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //var reg1 = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
                //if (reg1.test($("#HEmail").val()) == false && $("#HEmail").val() != "") {
                //    layer.msg("请填写正确格式的邮箱", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //var reg2 = /^[1][3,4,5,7,8][0-9]{9}$/;
                //if (reg2.test($("#HMobilePhone").val()) == false && $("#HMobilePhone").val() != "") {
                //    layer.msg("请填写正确格式的手机号", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //else {
                //    return true;
                //}
            }
            //获取创建组织
WebTM/views/ÖÊÁ¿¹ÜÀí/ÖÊÁ¿±¨±í/QC_PPMReport.html
@@ -1,71 +1,63 @@
<!DOCTYPE html>
<html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>PPM绩效趋势图</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PPM考核趋势图</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <!--引用layui样式文件-->
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <!--引用layui js文件-->
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src='../../../layuiadmin/lib/extend/echarts.min.js'></script>
    <style type="text/css">
        input.layui-input.layui-unselect {
            padding-right: 0;
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item" style="margin-top: 10px; margin-bottom: 10px;">
                                <div class="layui-inline">
                                    <label class="layui-form-label">日期</label>
                                    <div class="layui-input-block">
                                        <input name="HDate" id="HDate" autocomplete="off" class="layui-input ForFilteringSchemes">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">部门</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HDeptName" id="HDeptName" lay-verify="HDeptName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <input type="hidden" class="layui-input" name="HDeptID" lay-verify="HDeptID" id="HDeptID" value="0">
                                        <button type="button" lay-submit="" class="layui-btn" lay-filter="btnHDept" style="width:20px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        </button>
                                    </div>
                                </div>
                                <!--<div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">组织</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HStockOrgID" id="HStockOrgID" class="ForFilteringSchemes" lay-verify="HStockOrgID">
                                            åŠ¨æ€æ¸²æŸ“ç»„ç»‡
                                    <label class="layui-form-label" style="width: 85px;">å¹´</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
                                        <select name="HYear" id="HYear" lay-verify="HYear">
                                            <!--动态渲染年份-->
                                        </select>
                                    </div>
                                </div>-->
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">是否量产</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HBatchWork" id="HBatchWork" lay-verify="HBatchWork">
                                    <label class="layui-form-label" style="width: 85px;">月</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
                                        <select name="HMonth" id="HMonth" lay-verify="HMonth">
                                            <option value="">请选择</option>
                                            <option value="1">量产</option>
                                            <option value="0">非量产</option>
                                            <option value="1">1</option>
                                            <option value="2">2</option>
                                            <option value="3">3</option>
                                            <option value="4">4</option>
                                            <option value="5">5</option>
                                            <option value="6">6</option>
                                            <option value="7">7</option>
                                            <option value="8">8</option>
                                            <option value="9">9</option>
                                            <option value="10">10</option>
                                            <option value="11">11</option>
                                            <option value="12">12</option>
                                        </select>
                                    </div>
                                </div>
@@ -85,39 +77,73 @@
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">是否量产</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HBatchWork" id="HBatchWork" lay-verify="HBatchWork">
                                            <option value="">请选择</option>
                                            <option value="1">量产</option>
                                            <option value="0">非量产</option>
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-row" style="margin-top:5px;margin-left:82px;margin-bottom:5px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">部门</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" name="HDeptName" id="HDeptName" lay-verify="HDeptName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                            <input type="hidden" class="layui-input" name="HDeptID" lay-verify="HDeptID" id="HDeptID" value="">
                                            <button type="button" lay-submit="" class="layui-btn" lay-filter="btnHDept" style="width:20px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                            </button>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">供应商名称</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" lay-verify="HSupName" name="HSupName" id="HSupName" value="" style="background-color: #efefef4d; width: 65%; display: inline-block;" readonly>
                                            <input type="hidden" class="layui-input" name="HSupID" lay-verify="HSupID" id="HSupID" value="">
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHSup" id="btnHSup" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                            </button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div>
                            <div style="width:99%;height:calc(100vh);">
                                <table class="" id="mainTable" lay-filter="mainTable"></table>
                            </div>
                            <div id="histogram" style="width: 99.5%; height: calc(68vh); margin-top: 10px;; margin-bottom: 100px;">
                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;">
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Refresh" id="btn_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Exit" id="btn_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideColumn" id="btn_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideButton" id="btn_HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="RefreshButton"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideButton"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="ExitButton"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable'], function () {
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
@@ -127,120 +153,79 @@
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
            var HModName = "QC_PPMReport";
            var HBillType = "QC_PPMReport";
            var HMaker = sessionStorage["HUserName"]
            var HStockOrgID = sessionStorage["OrganizationID"]  //组织ID
            var sDate = Format(new Date(), "yyyy-MM-dd")
            //查询条件
            var sWhere = "";
            var ins;                //用于导出excel
            var option = [];
            var columns = "";
            var titleData = [];     //不需要显示的字段
            var HModName = "QC_PPMReport";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = [];
            var ins;                        //用于导出excel
            //#endregion
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HBillType) == "" ? document.title : get_PageTitle(HBillType);
            //#endregion
            var totalArray = [];
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region åˆå§‹åŒ–界面
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化界面
            set_ClearBill();
            function set_ClearBill() {
                //获取组织
                //set_StockOrg();
                //初始化表单时间
                set_InitDate();
                Get_HProject(); //获取项目号
                GetGy_Division();//获取事业部
                //初始化表格
                set_InitGrid();
                //执行查询方法
                get_FastQuery()
            }
            //#endregion
            //判断是否登录 æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#region   èŽ·å–ç»„ç»‡
            //function set_StockOrg() {
            //    //获取登录页组织列
            //    $.ajax({
            //        type: "GET",
            //        url: GetWEBURL() + "/Web/GetOrganizations",
            //        async: false,    //async用于控制(false)同步和(true)异步,默认的是true,即请求默认的是异步请求
            //        success: function (result) {
            //            var Organization = "";
            //            Organization += '<option  style="color:blue;" value="-1">全部</option>';
            //            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>';
            //                }
            //                $("#HStockOrgID").append(Organization);
            //                $("#HStockOrgID").val(HStockOrgID)
            //                form.render('select');
            //            }
            //            layer.closeAll("loading");
            //        },
            //        complete: function (XHR, TS) { XHR = null }//回收资源
            //    })
            //}
            //#endregion
            //#region åˆå§‹åŒ–表单时间插件
            function set_InitDate() {
                //常规用法
                laydate.render({
                    elem: '#HDate'
                    , type: 'year'
                    , value: new Date()
                    , btns: ['now']
                    , showBottom: false     //是否显示底部栏
                    , ready: function (date) {
                        $("#layui-laydate").off('click', '.laydate-month-list li', function () {
                            $("#layui-laydate").remove;
                        });
                    }
                    //选择年份或月份都会关闭
                    , change: function (value, date, endDate) { //监听日期被切换
                        lay('#HDate').val(value);
                        if ($(".layui-laydate").length) {
                            $(".layui-laydate").remove();
                        }
                    }
                });
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    //, totalRow: true
                    , height: 'full-50'
                    , cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                };
            }
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            // é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#region é€‰æ‹©éƒ¨é—¨æŒ‰é’®
            form.on('submit(btnHDept)', function () {
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"   //加上边框
                    , title: "部门列表"         //标题
                    , closeBtn: 1               //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                  //弹出动画
                    , area: ["90%", "90%"]      //窗体大小
                    , maxmin: true              //设置最大最小按钮是否显示
                    , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.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("请选择一条数据");
                        }
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //关闭弹窗  å®ƒèŽ·å–çš„å§‹ç»ˆæ˜¯æœ€æ–°å¼¹å‡ºçš„æŸä¸ªå±‚ï¼Œå€¼æ˜¯ç”±layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () {
                        //刷新列表
                        get_FastQuery();
                    }
                })
            });
            //#endregion
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
@@ -264,25 +249,460 @@
            })
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            // åˆå§‹åŒ–界面
            function set_ClearBill() {
                Year(); //初始化年
                Get_HProject(); //获取项目号
                GetGy_Division();//获取事业部
                set_InitGrid(); //初始化表格
                get_FastQuery();
                //加载柱状图
                set_Graphics();
            }
            //初始化表格
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , limits: [50, 500, 5000, 50000]
                    , limit: 50
                    , cellMinWidth: 90
                };
            }
            //å¹´
            function Year() {
                var yyyy = new Date().getFullYear();
                var YearOption = "";
                for (var i = 0; i <= 10; i++) {
                    YearOption += '<option  style="color:blue;" value="' + (yyyy - 5 + i) + '">' + (yyyy - 5 + i) + '</option>';
                }
                $("#HYear").append(YearOption);
                $("#HYear").val(yyyy);
                $("#HMonth").val(new Date().getMonth() + 1);
                form.render('select');
            }
            //#region èŽ·å–äº‹ä¸šéƒ¨
            function GetGy_Division() {
                //获取事业部
                var HDivisionList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_Gy_Division",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HDivisionList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HDivisionName").append(HDivisionList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region èŽ·å–é¡¹ç›®å·
            function Get_HProject() {
                //获取项目号
                var HProjectList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_HProject",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HProjectList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HProject").append(HProjectList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //查询
            function get_Display(sWhere) {
                var index = layer.load(0, { shade: false });
                var ajaxLoad = layer.load();
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/QC_CustomerAppealReport/GetQC_PPMReport_Json',
                    type: "GET",
                    async:false,
                    data: { "sWhere": sWhere},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 50000]
                                , limit: 50
                                , cellMinWidth: 90
                            }
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                layer.close(index);
            }
            //快速查询
            function get_FastQuery() {
                var HYear = $("#HYear").val();
                var HMonth = $("#HMonth").val();
                var HProject = $("#HProject").val();//项目号
                var HBatchWork = $("#HBatchWork").val();//是否量产
                var HDivisionName = $("#HDivisionName").val();//事业部
                var HSupID = $("#HSupID").val();
                var HDeptID = $("#HDeptID").val();
                sWhere = {
                    HYear: HYear
                    , HMonth: HMonth
                    , HSupID: HSupID
                    , HDivisionName: HDivisionName
                    , HProject: HProject
                    , HBatchWork: HBatchWork
                    , HDeptID: HDeptID
                }
                get_Display(JSON.stringify(sWhere));
                //加载柱状图
                set_Graphics();
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //重置快速查询
            function set_ClearQuery() {
                $("#HYear").val(new Date().getFullYear());
                $("#HMonth").val(new Date().getMonth() + 1);
                $("#HSupID").val("");
                $("#HSupName").val("");
                $("#HDeptID").val(0);
                $("#HDeptName").val("");
                $("#HDivisionName").val("");
                $("#HProject").val("");
                $("#HBatchWork").val("");
                form.render('select');
                sWhere = "";
            }
            //刷新
            function get_Refresh() {
                $("#btnSearch").trigger('click');
            }
            //供应商
            form.on('submit(btnHSup)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '供应商列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['90%', '90%'],
                    maxmin: true,
                    content: ['../../基础资料/采购基础资料/Gy_Supplier.html?Type=HSup', '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('请选择数据');
                        }
                        $("#HSupName").val(checkStatus.data[0].供应商名称);
                        $("#HSupID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //#region ã€æŸ±çŠ¶å›¾ã€‘
            function set_Graphics() {
                var chartDom = document.getElementById('histogram');
                var myChart = echarts.init(chartDom);
                var option_ZZT;
                //柱状图绑定数据
                var H_X = [];//X轴标题
                var HBadCount = [];//不良数量
                var PPM = [];//一次合格
                var HProcPPMTarGetVal = [];//PPM目标值
                var HTitle = "PPM考核绩效趋势图";//图形标题
                if (option.data.length > 0) {
                    for (let i = 0; i < option.data.length; i++) {
                        H_X.push(option.data[i].月);
                    }
                    // å¡«å……数据
                    for (let i = 0; i < option.data.length; i++) {
                        HBadCount.push(option.data[i].不良总数);
                        PPM.push((option.data[i].PPM == null ? '0.00%' : option.data[i].PPM ).replace('%', ''));
                        HProcPPMTarGetVal.push(option.data[i].PPM目标值);
                    }
                }
                option_ZZT = {
                    title: {
                        text: HTitle,
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        },
                        formatter: function (params) {
                            let tooltipHtml = params[0].axisValue + '<br>'; // X轴数值
                            params.forEach(function (item) {
                                if (item.seriesType === 'line') {
                                    let valueToShow = parseFloat(item.value); // å°†å­—符串转换为数值
                                    tooltipHtml += item.seriesName + ': ' + valueToShow.toFixed(3) + '%' + '<br>'; // æŠ˜çº¿å›¾æ•°æ®æ ¼å¼åŒ–为百分比
                                } else {
                                    tooltipHtml += item.seriesName + ': ' + item.value + '<br>'; // æŸ±çŠ¶å›¾æ•°æ®ç›´æŽ¥æ˜¾ç¤º
                                }
                            });
                            return tooltipHtml;
                        }
                    },
                    legend: {
                        data: [ '不良总数', 'PPM','PPM目标值'],
                        top: 'bottom',  // å°†å›¾ä¾‹æ”¾ç½®åœ¨å›¾è¡¨çš„下方
                        left: 'center'  // æˆ–者 'right',根据需要调整水平位置
                    },
                    toolbox: {
                        show: true,
                        orient: 'vertical',
                        left: 'right',
                        top: 'center',
                        feature: {
                            mark: { show: true },
                            dataView: { show: true, readOnly: false },
                            magicType: { show: true, type: ['line', 'bar', 'stack'] },
                            restore: { show: true },
                            saveAsImage: { show: true }
                        }
                    },
                    xAxis: [
                        {
                            type: 'category',
                            axisTick: { show: false },
                            data: H_X
                        }
                    ],
                    yAxis: [
                        {
                            type: 'value',
                            name: '数量',
                            axisLabel: {
                                formatter: '{value}'
                            }
                        },
                        {
                            type: 'value',
                            name: '百分比',
                            min: 0,
                            max: 100,
                            axisLabel: {
                                formatter: '{value}%'
                            }
                        }
                    ],
                    series: [
                        {
                            name: '不良总数',
                            type: 'bar',
                            emphasis: {
                                focus: 'series'
                            },
                            tooltip: {
                                valueFormatter: function (value) {
                                    return value;
                                }
                            },
                            itemStyle: {
                                normal: {
                                    label: {
                                        show: true,        //开启显示
                                        textStyle: {        //数值样式
                                            color: 'black',
                                            fontSize: 16
                                        }
                                    }
                                },
                                color: '#FF0000' // è®¾ç½®æŸ±çŠ¶å›¾æ©™è‰²
                            },
                            data: HBadCount
                        },
                        {
                            name: 'PPM',
                            type: 'line',
                            yAxisIndex: 1, // ä½¿ç”¨ç¬¬äºŒä¸ª yAxis æ˜¾ç¤ºç™¾åˆ†æ¯”
                            data: PPM,
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            lineStyle: {
                                color: '#1E90FF' // è®¾ç½®æŠ˜çº¿å›¾é¢œè‰²è“è‰²
                            }
                        },
                        {
                            name: 'PPM目标值',
                            type: 'line',
                            yAxisIndex: 1, // ä½¿ç”¨ç¬¬äºŒä¸ª yAxis æ˜¾ç¤ºç™¾åˆ†æ¯”
                            data: HProcPPMTarGetVal,
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            lineStyle: {
                                color: '#FF0000' // è®¾ç½®æŠ˜çº¿å›¾è“è‰²
                            }
                        }
                    ]
                };
                option_ZZT && myChart.setOption(option_ZZT);
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": HMaker },
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var totalArray = [];
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                if (dataCol[i]) {
                                    var dataCols = dataCol[i].split('|');
                                }
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
@@ -297,6 +717,12 @@
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
@@ -337,11 +763,6 @@
                        } else {
                            table.render(option);
                        }
                        //刷新按钮显示
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        Display_HideButton(btns, HBillType, HModName, HMaker);
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
@@ -349,596 +770,19 @@
            }
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region é€‰æ‹©éƒ¨é—¨æŒ‰é’®
            form.on('submit(btnHDept)', function () {
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"   //加上边框
                    , title: "部门列表"         //标题
                    , closeBtn: 1               //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                  //弹出动画
                    , area: ["90%", "90%"]      //窗体大小
                    , maxmin: true              //设置最大最小按钮是否显示
                    , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.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("请选择一条数据");
                        }
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //关闭弹窗  å®ƒèŽ·å–çš„å§‹ç»ˆæ˜¯æœ€æ–°å¼¹å‡ºçš„æŸä¸ªå±‚ï¼Œå€¼æ˜¯ç”±layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () {
                        //刷新列表
                        get_FastQuery();
                    }
                })
            });
            //#endregion
            //#region å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': btn_Export();
                        break;
                    //刷新按钮
                    case 'btn_Refresh': btn_Refresh();
                        break;
                    //退出按钮
                    case 'btn_Exit': Pub_Close(2);
                        break;
                    //列设置
                    case 'btn_HideColumn': get_HideColumn();
                        break;
                    //按钮设置
                    case 'btn_HideButton':
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        get_HideButton(btns, HBillType, HModName, HMaker);
                        break;
                };
            });
            //#endregion
            //#region å¯¼å‡ºExecel
            function btn_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region åˆ·æ–°
            function btn_Refresh() {
                get_FastQuery();
            }
            //#endregion
            //#region åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                //清空过滤条件
                set_ClearQuery();
            });
            //重置过滤条件
            function set_ClearQuery() {
                $("#HDate").val(Format(new Date(), "yyyy"));
                sDate = Format(new Date(), "yyyy-MM-dd")
                $("#HDeptName").val("");
                //$("#HStockOrgID").val(HStockOrgID)   //组织
                form.render('select');
                sWhere = "";
            }
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //快速查询
            function get_FastQuery() {
                //文本框为空时,清空对应ID
                if ($("#HDeptName").val() == '') {
                    $("#HDeptID").val("0");
                }
                var HDeptID = $("#HDeptID").val()
                var HYear = $("#HDate").val(); //日期
                var HProject = $("#HProject").val();//项目号
                var HBatchWork = $("#HBatchWork").val();//是否量产
                var HDivisionName = $("#HDivisionName").val();//事业部
                sWhere = {
                    HYear: HYear
                    , HDeptID: HDeptID
                    , HProject: HProject
                    , HBatchWork: HBatchWork
                    , HDivisionName: HDivisionName
                }
                get_Display(JSON.stringify(sWhere));
                //加载柱状图
                set_Graphics();
            }
            //#endregion
            //#region åˆ—表刷新
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + '/QC_QualityReportsController/GetQC_PPMReport_Json',
                    async: false,    //async用于控制(false)同步和(true)异步,默认的是true,即请求默认的是异步请求
                    data: { "sWhere": sWhere},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            var totalArray = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                //动态获取列表所有列名
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                                //获取不需要显示的列(H开头的列不显示)
                                var patrn = new RegExp(/^h/i);
                                if (patrn.test(data1.list[key].ColmCols)) {
                                    titleData[key] = data1.list[key].ColmCols;
                                }
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'left', hide: true }); //隐藏id列
                                }else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 160 });
                                            break;
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, width: 100, totalRow: true });
                                            break;
                                        case 'Int32':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, width: 100, totalRow: true });
                                            break;
                                        default:
                                            if (data[i].name == '统计项') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, width: 200 });
                                            } else {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, width: 130 });
                                            }
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 800
                                , page: true
                                //, totalRow: true
                                , cellMinWidth: 90
                                , limit: 50
                                , limits: [50, 500, 5000, 20000]
                                , done: function (res, curr, count) {
                                    soulTable.render(this);
                                }
                            }
                            columns = col;
                            option.cols = [columns];
                            option.data = data1.data;
                            //option.totalRow = true;
                            table.render(option);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    },
                    error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region åŠ è½½å›¾è¡¨
            function set_Graphics() {
                //#region ã€æŸ±çŠ¶å›¾ã€‘
                var app = {};
                var chartDom = document.getElementById('histogram');
                var myChart = echarts.init(chartDom);
                var option_mychart;
                //#region [柱状图布局样式]
                const posList = [
                    'left',
                    'right',
                    'top',
                    'bottom',
                    'inside',
                    'insideTop',
                    'insideLeft',
                    'insideRight',
                    'insideBottom',
                    'insideTopLeft',
                    'insideTopRight',
                    'insideBottomLeft',
                    'insideBottomRight'
                ];
                app.configParameters = {
                    rotate: {
                        min: -90,
                        max: 90
                    },
                    align: {
                        options: {
                            left: 'left',
                            center: 'center',
                            right: 'right'
                        }
                    },
                    verticalAlign: {
                        options: {
                            top: 'top',
                            middle: 'middle',
                            bottom: 'bottom'
                        }
                    },
                    position: {
                        options: posList.reduce(function (map, pos) {
                            map[pos] = pos;
                            return map;
                        }, {})
                    },
                    distance: {
                        min: 0,
                        max: 100
                    }
                };
                app.config = {
                    rotate: 90,
                    align: 'left',
                    verticalAlign: 'middle',
                    position: 'insideBottom',
                    distance: 15,
                    onChange: function () {
                        const labelOption = {
                            rotate: app.config.rotate,
                            align: app.config.align,
                            verticalAlign: app.config.verticalAlign,
                            position: app.config.position,
                            distance: app.config.distance
                        };
                        myChart.setOption({
                            series: [
                                {
                                    label: labelOption
                                },
                                {
                                    label: labelOption
                                },
                                {
                                    label: labelOption
                                },
                                {
                                    label: labelOption
                                }
                            ]
                        });
                    }
                };
                const labelOption = {
                    show: true,
                    position: 'top',
                    textStyle: {
                        //color: '#333', // æ ‡ç­¾å­—体颜色
                        fontSize: 12, // æ ‡ç­¾å­—体大小
                        //fontWeight: 'bold', // æ ‡ç­¾å­—体加粗
                        //fontStyle: 'italic', // æ ‡ç­¾å­—体斜体
                        //fontFamily: 'Arial' // æ ‡ç­¾å­—体
                    }
                };
                const labelOption1 = {
                    show: true,
                    position: 'right',
                    textStyle: {
                        //color: '#333', // æ ‡ç­¾å­—体颜色
                        fontSize: 12, // æ ‡ç­¾å­—体大小
                        //fontWeight: 'bold', // æ ‡ç­¾å­—体加粗
                        //fontStyle: 'italic', // æ ‡ç­¾å­—体斜体
                        //fontFamily: 'Arial' // æ ‡ç­¾å­—体
                    }
                }
                //#endregion
                //柱状图绑定数据
                var H_X = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];//X轴标题
                var HBadQty = [];       //y轴:不良总数
                var HPPM = [];          //y轴:PPM
                var HTarget = [];       //y轴:目标
                for (let i = 0; i < option.data.length; i++) {
                    //获取不良总数行数值
                    if (option.data[i].统计项 == '不良总数') {
                        for (let j = 1; j <= 12; j++) {
                            HBadQty.push(option.data[i][j + "月"]);
                        }
                    }
                    //获取PPM行数值
                    if (option.data[i].统计项 == 'PPM') {
                        for (let j = 1; j <= 12; j++) {
                            HPPM.push(option.data[i][j + "月"]);
                        }
                    }
                    //获取目标行数值
                    if (option.data[i].统计项 == '目标') {
                        for (let j = 1; j <= 12; j++) {
                            HTarget.push(option.data[i][j + "月"]);
                        }
                    }
                }
                option_mychart = {
                    title: {
                        text: 'PPM统计图表',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['不良总数', 'PPM', '目标'],
                        top: 'bottom',  // å°†å›¾ä¾‹æ”¾ç½®åœ¨å›¾è¡¨çš„下方
                        left: 'center'  // æˆ–者 'right',根据需要调整水平位置
                    },
                    //toolbox: {                            //工具栏
                    //    show: true,
                    //    orient: 'vertical',
                    //    left: 'right',
                    //    top: 'center',
                    //    feature: {
                    //        mark: { show: true },
                    //        dataView: { show: true, readOnly: false },
                    //        magicType: { show: true, type: ['line', 'bar', 'stack'] },
                    //        restore: { show: true },
                    //        saveAsImage: { show: true }
                    //    }
                    //},
                    grid:
                    {
                        left: '5%',
                        right: '5%',
                        bottom: '10%',
                        //top: '10%',
                        containLabel: true
                    },
                    xAxis: [                                //设置x轴坐标
                        {
                            type: 'category',
                            axisTick: { show: true },
                            data: H_X,
                            axisLabel: {
                                formatter: function (value) {
                                    var temp = "";
                                    var temp_len = 5;
                                    for (var i = 0; i < value.length; i = i + temp_len) {
                                        if (i + temp_len <= value.length) {
                                            temp += '\n' + value.slice(i, i + temp_len)
                                        } else {
                                            temp += '\n' + value.slice(i);
                                        }
                                    }
                                    return temp;
                                    // ä½¿ç”¨ '\n' å®žçŽ°æ¢è¡Œ
                                    //return value.length > 5 ? value.slice(0, 5) + '\n' + value.slice(5) : value;
                                },
                                width: 30 // è®¾ç½®åˆ»åº¦æ ‡ç­¾çš„宽度,超过这个宽度会自动换行
                            }
                        }
                    ],
                    yAxis: [                                //设置y轴数据类型
                        {
                            type: 'value',
                            position: 'left',
                            data: [HBadQty] // å·¦ä¾§Y轴的数据
                        }, {
                            type: 'value',
                            position: 'right',
                            data: [HPPM, HTarget], // å³ä¾§Y轴的数据
                            axisLabel: {
                                formatter: '{value}' // å¯ä»¥æ·»åŠ å•ä½
                            }
                        }
                    ],
                    series: [                               //设置y轴数据
                        {
                            name: '不良总数',
                            type: 'bar',
                            barWidth: 30,
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#0066CC' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºè“è‰²
                                    },
                                    color: '#0066CC' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºè“è‰²
                                }
                            },
                            data: HBadQty
                        },
                        {
                            name: 'PPM',
                            type: 'line',
                            yAxisIndex: 1,
                            barWidth: 10,
                            barGap: 0,
                            label: labelOption1,
                            emphasis: {
                                focus: 'series'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#FF8000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºé»„色
                                    },
                                    color: '#FF8000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºé»„色
                                }
                            },
                            data: HPPM
                        },
                        {
                            name: '目标',
                            type: 'line',
                            barWidth: 10,
                            barGap: 0,
                            label: labelOption1,
                            emphasis: {
                                focus: 'series'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºçº¢è‰²
                                    },
                                    color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºçº¢è‰²
                                }
                            },
                            data: HTarget
                        }
                    ]
                };
                option_mychart && myChart.setOption(option_mychart);
                //#endregion
            }
            ////#endregion
            //#endregion
            //#region èŽ·å–é¡¹ç›®å·
            function Get_HProject() {
                //获取项目号
                var HProjectList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_HProject",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HProjectList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HProject").append(HProjectList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region èŽ·å–äº‹ä¸šéƒ¨
            function GetGy_Division() {
                //获取事业部
                var HDivisionList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_Gy_Division",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HDivisionList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HDivisionName").append(HDivisionList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
        //#endregion
        });
        //#endregion
        //以上是layui模块
            //以上是layui模块
        });
        function GetHSupNameValue(obj)  //返回供应商
        {
            $("#HSupName").val(obj[0].供应商名称);
            $("#HSupID").val(obj[0].HItemID);
        }
        //双击返回基础资料数据    è¡¨å¤´
        function GetHDeptNameValue(obj)  //返回部门
        {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
    </script>
</body>
</html>
</html>
WebTM/views/ÖÊÁ¿¹ÜÀí/ÖÊÁ¿Ô¶ÈÄ¿±êµ¥/QC_MonthTarGetBill.html
@@ -42,16 +42,8 @@
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 2px; ">
                        <!--<button type="button" id="btnSearch" style="margin-left: 0px" class="layui-btn layui-btn-normal"  lay-submit="" lay-filter="btnSearch" >预览</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">新增</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">修改</button>-->
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                        <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CheckBill" id="set_CheckBill">审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_AbandonCheck" id="set_AbandonCheck">反审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CloseBill" id="set_CloseBill">关闭</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CancelCloseBill" id="set_CancelCloseBill">反关闭</button>-->
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <h1 style="text-align: center; padding: 10px 0;"><b>质量月度目标单</b></h1>
@@ -120,9 +112,9 @@
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="HProcTarGetVal" id="HProcTarGetVal" autocomplete="off" value="0">
                                            </div>
                                        </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                    <div class="layui-row">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">å¹´</label>
                                            <div class="layui-input-inline">
@@ -264,10 +256,32 @@
                            </div>
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">供应商</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--子表-->
                            <div class="layui-tab-item layui-show">
                                <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                <script type="text/html" id="toolbarDemo">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!--子表表:删除-->
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        var optiondata = [];
        layui.config({
@@ -305,15 +319,13 @@
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            //Organ();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化取样表
                get_InitGrid();
                Organ();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
@@ -334,18 +346,17 @@
                $("#HInspectOrgID").val(sessionStorage["OrganizationID"])
            }
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                    ////禁用组织选项
                    //$("#HInspectOrgID").attr("disabled", true);
                    //初始化项目阶段表
                    Organ();
                    RoadBillMain(linterid);
                }
                //#endregion
                //#endregion
                //初始化取样表
                get_InitGrid();
                Organ();
                RoadBillMain(linterid);
            }
            //#endregion
            //#endregion
                //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
                //#region æ“ä½œæŒ‰é’®è§¦å‘事件
                //#region ä¿å­˜æäº¤
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                if (AllowLoadData(data)) {
                    set_AddNew(data);
@@ -364,18 +375,57 @@
            //#endregion
            //#endregion
            //
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
                parent.location.href = "../../../views/index.html"
                //window.close();//关闭当前页
            })
            //#region ä¾›åº”商送货表初始化
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 100
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupID', title: 'HSupID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupNumber', title: '供应商代码', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupName', title: '供应商名称', edit:'text', event: "HSupName" } //f7
                        , { field: 'HSupQty', title: '送货数量', edit: 'text' }
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单内码', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceBillType', title: '源单类型', hide: true, style: 'background-color: #f9f9f9;' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "HSupID": "0"
                        , "HSupNumber": ""
                        , "HSupName": ""
                        , "HSupQty": "0"
                        , "HRemark": ""
                        , "HSourceInterID": "0"
                        , "HSourceEntryID": "0"
                        , "HSourceBillNo": ""
                        , "HSourceBillType": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
                form.render('select');
            }
            //#endregion
            //选择部门按钮
            form.on('submit(HDeptList)', function () {
                get_checkDept();
            });
            //#region ç›‘听提交
            form.verify({
@@ -390,7 +440,148 @@
            });
            //#endregion
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "HSupID": "0"
                    , "HSupNumber": ""
                    , "HSupName": ""
                    , "HSupQty": "0"
                    , "HRemark": ""
                    , "HSourceInterID": "0"
                    , "HSourceEntryID": "0"
                    , "HSourceBillNo": ""
                    , "HSourceBillType": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        form.render('select');
                        form.render('checkbox');
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            form.render('select');
                            form.render('checkbox');
                        }
                        break;
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        break;
                }
            });
            //#endregion
            //#region å­è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#region å­è¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            for (var i = 0; i < oldData.length; i++) {
                                $('#HReceiveType' + (i + 1)).find("option[value='" + oldData[i].HReceiveType + "']").attr("selected", true);
                            }
                            form.render('select');
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "HSupName") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "物料列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../基础资料/采购基础资料/Gy_Supplier.html?Type=HSup', '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("请选择一条数据");
                                    }
                                    obj.update({
                                        "HSupID": checkStatus.data[0].HItemID
                                        , "HSupNumber": checkStatus.data[0].供应商代码
                                        , "HSupName": checkStatus.data[0].供应商名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    obj.update({
                                        "HSupID": OptionData[0].HItemID
                                        , "HSupNumber": OptionData[0].供应商代码
                                        , "HSupName": OptionData[0].供应商名称
                                    })
                                    OptionData = [];
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#endregion
@@ -444,7 +635,7 @@
                    success: function (result) {    // å½“请求成功时,执行这个函数
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ   // å¦‚果服务器返回的数据中的`count`字段等于1,这可能表示审核操作成功执行
                            var data = result.data;    //从响应数据中获取 data å±žæ€§  èµ‹å€¼ç»™å˜é‡
                            for (var i = 0; i < data.length; i++) {  //  // éåކ data æ•°ç»„
                            for (var i = 0; i < data.length; i++) {  //  // éåކ data æ•°ç»„
                                // å¯¹äºŽæ•°ç»„中的每一项,构建一个 <option> æ ‡ç­¾çš„ HTML å­—符串,并将其追加到 Organization å˜é‡ä¸­ã€‚这个 <option> æ ‡ç­¾åŒ…含组织的 ID ä½œä¸º value å’Œç»„织的名称作为显示文本,且文字颜色被设置为蓝色
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
@@ -476,8 +667,18 @@
                });
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //获取子表数据
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //若为编辑-保存,则更新修改人和修改时间
                if (OperationType == 3) {
                    data.field.HUpdater = sessionStorage["HUserName"];
@@ -487,6 +688,9 @@
                }
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);              //主表数据
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                //记录操作类型
                var refSav = "";
                if (OperationType == 1 || OperationType == 2 || OperationType == 4) {
@@ -496,7 +700,7 @@
                    refSav = "Update";
                }
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + refSav + ";" + sessionStorage["HUserName"];
                var sMainSub = sMainStr + ';' + sSubStr + ';' + refSav + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
@@ -534,6 +738,7 @@
                    data: { "HInterID": linterid },
                    success: function (result) {
                        var tableMain = result.data[0];
                        var tableSub = result.data;
                        var Year = parseInt(new Date().getFullYear());
                        var YearList = '';
                        YearList += '<option  style="color:blue;" value="' + (Year - 2) + '">' + (Year - 2) + '</option>';
@@ -573,6 +778,19 @@
                        });
                        //组织的值HOrgID变化,重新渲染
                        HInspectOrgIDBar = tableMain["HInspectOrgID"]; //修改变量赋值,确保从数组中获取HOrgID
                        //子表  èµ‹å€¼
                        var rowdata = [];
                        for (var i = 0; i < tableSub.length; i++) {
                            rowdata.push(
                                {
                                    "HSupID": tableSub[i].HSupID, "HSupNumber": tableSub[i].供应商代码, "HSupName": tableSub[i].供应商名称 , "HSupQty": tableSub[i].送货数量
                                }
                            )
                        }
                        option.data = rowdata;
                        table.render(option);
                        form.render('checkbox');
                        form.render('select');
                    }
@@ -604,7 +822,10 @@
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //子表f7 ç‰©æ–™ä»£ç 
        function GetHSupNameValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>
WebTM/views/³µ¼ä¹ÜÀí/¹¤Ðò³öÕ¾»ã±¨µ¥/Cj_StationOutBillList.html
@@ -190,6 +190,7 @@
                                <li>操作日志</li>
                                <li class="layui-this">SN序列码</li>
                                <li>操作员清单</li>
                                <li>供应商清单</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item">
@@ -208,6 +209,10 @@
                                    <!--操作员清单-->
                                    <table class="layui-hide" id="mainTable4" lay-filter="mainTable4"></table>
                                </div>
                                <div class="layui-tab-item">
                                    <!--供应商清单-->
                                    <table class="layui-hide" id="mainTable5" lay-filter="mainTable5"></table>
                                </div>
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
@@ -223,6 +228,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-ProcessCheck" id="btn-ProcessCheck">工序检验</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-NoPassProd" id="btn-NoPassProd">下推不良品评审处理单</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-QualityReport" id="btn-QualityReport">下推质量汇报单</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-SupReport" id="btn-SupReport">下推PPM数据录入单</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Print" id="btn-Print"><i class="layui-icon layui-icon-circle"></i>预览</button>-->
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Cell" id="btn-Cell"><i class="layui-icon layui-icon-ok"></i>保存列宽</button>-->
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-RefreshCell" id="btn-RefreshCell"><i class="layui-icon layui-icon-refresh"></i>默认列宽</button>-->
@@ -256,6 +262,11 @@
                            <div class="layui-btn-container">
                                <!--<button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-Delete4" id="btn-Delete4"><i class="layui-icon layui-icon-delete"></i>删除</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="set_HideColumn4" id="set_HideColumn4"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo5">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" style="display:none;" lay-event="btn-Delete5" id="btn-Delete5"><i class="layui-icon layui-icon-delete"></i>删除</button>
                            </div>
                        </script>
                    </form>
@@ -293,6 +304,7 @@
            var option2 = [];
            var option3 = [];
            var option4 = [];
            var option5 = [];
            var page = 1;//分页数据
            var size = 50;
            var ins;  //用于导出excel
@@ -459,6 +471,7 @@
                SelectTechParam(HMainID,"Note");    //操作日志
                SelectTechParam(HMainID, "SN");    //SN序列码
                SelectTechParam(HMainID, "Emp");    //操作员清单
                SelectTechParam(HMainID, "Sup");    //供应商清单
            });
            //查询工艺参数
@@ -506,6 +519,14 @@
                    //明细列设置
                    case 'set_HideColumn4': get_HideColumn_Emp();
                        break;
                };
            });
            //查询供应商清单
            table.on('toolbar(mainTable5)', function (obj) {
                switch (obj.event) {
                    //删除
                    case 'btn-Delete5': btn_Delete5();
                        break;
                };
            });
            //#endregion  ç›‘听网格表体事件
@@ -655,6 +676,23 @@
                                    table.render(option4);
                                    DisPlay_HideColumn_Emp();
                                    break;
                                case "Sup":
                                    //动态显示列名
                                    option5 = {
                                        elem: '#mainTable5'
                                        , toolbar: '#toolbarDemo5'
                                        , cols: [col]
                                        , data: data1.data
                                        , height: 550
                                        , page: true
                                        , totalRow: true
                                        , cellMinWidth: 90
                                        , limit: 50
                                        , limits: [50, 500, 5000, 20000]
                                    }
                                    table.render(option5);
                                    break;
                            }
@@ -823,7 +861,10 @@
                        break;
                    //下推质量汇报单
                    case 'btn-QualityReport': set_QualityReport();
                        break;
                        break;
                    //下推PPM数据录入单
                    case 'btn-SupReport': set_SupReport();
                        break;
                    //预览
                    case 'btn-Cell': layer.msg('预览!');
                        break;
@@ -856,25 +897,7 @@
                        break;
                };
            });
            ////行监听事件
            //table.on('row(mainTable)', function (obj) {
            //    var flag = !obj.tr.find(':checkbox:first').prop('checked');
            //    obj.tr.find(':checkbox').prop('checked', flag);
            //    if (flag) {
            //        obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
            //        $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
            //    } else {
            //        obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
            //        $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
            //    }
            //    //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
            //    layui.each(table.cache.mainTable, function (i, l) {
            //        if (obj.tr.index() == l.LAY_TABLE_INDEX) {
            //            l.LAY_CHECKED = flag;
            //        }
            //    });
            //});
            //条码删除
            function btn_Delete3() {
@@ -909,6 +932,41 @@
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //供应商删除
            function btn_Delete5() {
                var checkStatus = table.checkStatus('mainTable5')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    layer.confirm('确定删除吗?', function (index) {
                        var HInterID = data[0].HInterID;
                        var ajaxLoad = layer.load();
                        //逻辑删除方法
                        $.ajax({
                            url: GetWEBURL() + '/Cj_StationOutBill/PPMSupDelete',
                            type: "GET",
                            data: { "HInterID": HInterID, "user": sessionStorage["HUserName"]},
                            success: function (result) {
                                if (result.count == 1) {
                                    SelectTechParam(HInterID, "Sup");
                                    layer.close(ajaxLoad);
                                } else {
                                    layer.close(ajaxLoad);
                                    layer.alert(result.Message, { icon: 5 });
                                }
                            }, error: function () {
                                layer.close(ajaxLoad);
                                layer.alert("接口请求失败!", { icon: 5 });
                            }
                        });
                        layer.close(index);
                    });
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //隐藏列设置 ä¸»è¡¨
            function get_HideColumn() {
@@ -1790,6 +1848,30 @@
                }
            }
            //下推PPM报表数据录入
            function set_SupReport() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length ==1) {
                    var linterid = data[0].hmainid.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: 'PPM报表数据-录入'
                        , shade: 0.6
                        , maxmin: false
                        , anim: 0
                        , content: ['../../车间管理/工序出站汇报单/Cj_StationOutBill_Sup.html?OperationType=1&linterid=' + linterid.toString() + '&HEntry=', 'yes']
                        , resize: false
                        , cancel: function () {
                            btnIs();
                        }
                    })
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //新增单据
            function set_AddNew() {
                layer.open({
WebTM/views/³µ¼ä¹ÜÀí/¹¤Ðò³öÕ¾»ã±¨µ¥/Cj_StationOutBill_Sup.html
New file
@@ -0,0 +1,411 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>PPM数据录入</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style type="text/css">
        .layui-form-item .layui-inline {
            margin-right: 0;
        }
        html {
            background-color: white;
            color: white;
        }
        .layui-table-cell {
            overflow: visible !important;
        }
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 2px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <h1 style="text-align: center; padding: 10px 0;"><b>PPM数据录入</b></h1>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">PPM录入</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>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!--子表表:删除-->
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        var optiondata = [];
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //记录组织的值
            var HInspectOrgIDBar = 0;      //声明了一个名为 HInspectOrgIDBar çš„变量,并将其初始化为 0
            //模块名
            var HModName = "Cj_StationOutBill_Sup";
            //表格渲染参数
            var option = {};            //项目阶段表渲染参数
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                OperationType = 1;
                //初始化取样表
                get_InitGrid();
            }
            //#endregion
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                }
            });
            //#endregion
            //#region é€€å‡º
            form.on('submit(btnEdit)', function (data) {
                if (params[1] != null) {
                    Pub_Close(1);
                } else if (params[1] == null) {
                    Pub_Close(2);
                }
            });
            //#endregion
            //#endregion
            //#region ä¾›åº”商送货表初始化
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 100
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HInterID', title: 'HInterID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupID', title: 'HSupID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupNumber', title: '供应商代码', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSupName', title: '供应商名称', edit:'text', event: "HSupName" } //f7
                        , { field: 'HWasterQty_Mater', title: '料废数量', edit: 'text' }
                        , { field: 'HBackWorkQty', title: '返工数量', edit: 'text' }
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "HInterID": linterid
                        ,"HSupID": "0"
                        , "HSupNumber": ""
                        , "HSupName": ""
                        , "HWasterQty_Mater": "0"
                        , "HBackWorkQty": "0"
                        , "HRemark": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
                form.render('select');
            }
            //#endregion
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "HInterID": linterid
                    , "HSupID": "0"
                    , "HSupNumber": ""
                    , "HSupName": ""
                    , "HWasterQty_Mater": "0"
                    , "HBackWorkQty": "0"
                    , "HRemark": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        form.render('select');
                        form.render('checkbox');
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            form.render('select');
                            form.render('checkbox');
                        }
                        break;
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        break;
                }
            });
            //#endregion
            //#region å­è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#region å­è¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            for (var i = 0; i < oldData.length; i++) {
                                $('#HReceiveType' + (i + 1)).find("option[value='" + oldData[i].HReceiveType + "']").attr("selected", true);
                            }
                            form.render('select');
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "HSupName") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "物料列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../基础资料/采购基础资料/Gy_Supplier.html?Type=HSup', '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("请选择一条数据");
                                    }
                                    obj.update({
                                        "HSupID": checkStatus.data[0].HItemID
                                        , "HSupNumber": checkStatus.data[0].供应商代码
                                        , "HSupName": checkStatus.data[0].供应商名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    obj.update({
                                        "HSupID": OptionData[0].HItemID
                                        , "HSupNumber": OptionData[0].供应商代码
                                        , "HSupName": OptionData[0].供应商名称
                                    })
                                    OptionData = [];
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //#region èŽ·å–å‚æ•°
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //获取子表数据
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                //记录操作类型
                var refSav = "";
                if (OperationType == 1 || OperationType == 2 || OperationType == 4) {
                    refSav = "Add";
                }
                //拼接序列化的数据
                var sSubStr = sSubStr + ';' + refSav + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Cj_StationOutBill/PPMSupAddBill",
                    async: true,
                    data: { "sSubStr": sSubStr },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) {
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            layer.msg("提交成功");
                        }
                        else {
                            layer.close(index);
                            layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        }
                    },
                    error: function (err) {
                        layer.close(index);
                        layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                });
            }
            //#endregion
            //#region éžç©ºéªŒè¯
            function AllowLoadData(data) {
                return true;
            }
            //#endregion
            //#endregion
        });
        //子表f7 ç‰©æ–™ä»£ç 
        function GetHSupNameValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>