From c58e1010f0e561c1d056285b9b2499171589b957 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期三, 28 八月 2024 16:41:36 +0800
Subject: [PATCH] 新增制程质量门逃逸趋势图报表模块

---
 WebTM/views/质量管理/质量报表/QC_QualityMonthSumReport.html |  817 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 WebTM/layuiadmin/Scripts/webConfig.js               |   41 +-
 WebTM/WebTM.csproj                                  |    1 
 3 files changed, 835 insertions(+), 24 deletions(-)

diff --git a/WebTM/WebTM.csproj b/WebTM/WebTM.csproj
index ef8df50..b41507f 100644
--- a/WebTM/WebTM.csproj
+++ b/WebTM/WebTM.csproj
@@ -483,6 +483,7 @@
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_MoistureContentDataLedger.html" />
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_QualityStatisticsDailyReport.html" />
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_PPMReport.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_QualityMonthSumReport.html" />
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_TechnologyParameterClass.html" />
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_SkillExamMonthSumReport.html" />
     <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\SB_TechnologyParameterList.html" />
diff --git a/WebTM/layuiadmin/Scripts/webConfig.js b/WebTM/layuiadmin/Scripts/webConfig.js
index 09faaad..89218a7 100644
--- a/WebTM/layuiadmin/Scripts/webConfig.js
+++ b/WebTM/layuiadmin/Scripts/webConfig.js
@@ -1,36 +1,29 @@
 锘�
 function GetWEBURL() {
-    //var WEBURL = "http://192.168.16.80:8011/";          //鍔炲叕瀹ゆ湇鍔″櫒
-    //var WEBURL = "http://localhost:8081/SWEAPI/";       //ch鏈湴*/
-    //var WEBURL = "http://61.164.86.218:8099/ABAPI/";
-    /*var WEBURL = "http://localhost/API/";   */          //棰滄檽鍐涙湰鍦伴厤缃�
-    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //鏉ㄤ箰鏈湴閰嶇疆
-   /* var WEBURL = "http://localhost:8082/API/"; */   //鏉滆春鏈湴閰嶇疆
-     /*var WEBURL = "http://localhost/API/";   //娼樻禉娓告湰鍦伴厤缃�  */
-    //var WEBURL = "http://localhost:8082/API/";    //鏉滆春鏈湴閰嶇疆
-    /*var WEBURL = "http://localhost/API/";*/    //娼樻禉娓告湰鍦伴厤缃�  
-    /*var WEBURL = "http://localhost:8082/API/";    //鏉滆春鏈湴閰嶇疆*/
-    //var WEBURL = "http://localhost:81/API/";    //鐜嬪浆鏈湴閰嶇疆
-    /*var WEBURL = "http://localhost:8083/API/";  //闄堥洴闈欐湰鍦伴厤缃�*/
-    //var WEBURL = "http://localhost:8082/API/";    //寮犵憺骞挎湰鍦伴厤缃�
-    var WEBURL = "http://localhost:81/API/"    //缈佹稕娑涙湰鍦伴厤缃�
+    //var WEBURL = "http://47.96.97.237/API/";          //鏅轰簯鏈嶅姟鍣�
+    var WEBURL = "http://localhost/API/";             //棰滄檽鍐涙湰鍦伴厤缃�
+    //var WEBURL = "http://localhost:8082/LuBaoAPI/";   //鏉ㄤ箰鏈湴閰嶇疆
     //var WEBURL = "http://localhost:8082/LuBaoAPI/";   //浣欐�濇澃鏈湴閰嶇疆
-    //var WEBURL = "http://localhost:8088/ARAPI/";    //浣欐�濇澃鏈湴閰嶇疆(瀹夌憺)
-    //var WEBURL = "http://10.1.4.155/API/";   //姹熶赴瀹㈡埛NEW
-   /* var WEBURL = "http://47.96.97.237/API/";   //鏅轰簯鏈嶅姟鍣�*/
+    //var WEBURL = "http://localhost:8088/ARAPI/";      //浣欐�濇澃鏈湴閰嶇疆(瀹夌憺)
+    //var WEBURL = "http://localhost:8082/API/";        //鏉滆春鏈湴閰嶇疆
+    //var WEBURL = "http://localhost:8082/API/";        //寮犵憺骞挎湰鍦伴厤缃�
+    //var WEBURL = "http://localhost:81/API/"           //缈佹稕娑涙湰鍦伴厤缃�
+    //var WEBURL = "http://localhost:81/API/";          //鐜嬪浆鏈湴閰嶇疆
+    //var WEBURL = "http://localhost/API/";             //娼樻禉娓告湰鍦伴厤缃�
+    //var WEBURL = "http://61.164.86.218:8099/ABAPI/";  //濂ラ偊
+    //var WEBURL = "http://10.1.4.155/API/";            //姹熶赴瀹㈡埛NEW
     //var WEBURL = "http://183.129.128.86:9090/API/";   //鍑礉濂堢壒瀹㈡埛鏈嶅姟鍣ㄥ缃�
-    //var WEBURL = "http://192.168.1.253:8080/API/";   //鍑礉濂堢壒瀹㈡埛鏈嶅姟鍣ㄥ唴缃�
-    //var WEBURL = "http://220.189.218.154:8092/API/";   //涓镐簳鍥涚淮灏旀湇鍔″櫒
-    //var WEBURL = "http://192.168.0.214/API/";   //鐟炰笌绁烘湇鍔″櫒
-    //var WEBURL = "http://192.168.10.66/API/";   //妫シ鏈嶅姟鍣�
-    //var WEBURL = "http://localhost/API/"; 
+    //var WEBURL = "http://192.168.1.253:8080/API/";    //鍑礉濂堢壒瀹㈡埛鏈嶅姟鍣ㄥ唴缃�
+    //var WEBURL = "http://220.189.218.154:8092/API/";  //涓镐簳鍥涚淮灏旀湇鍔″櫒
+    //var WEBURL = "http://192.168.0.214/API/";         //鐟炰笌绁烘湇鍔″櫒
+    //var WEBURL = "http://192.168.10.66/API/";         //妫シ鏈嶅姟鍣�
     //var WEBURL = "http://192.168.80.90:9090/API/";    //瀹夌憺鏈嶅姟鍣�
     //var WEBURL = "http://192.168.16.53:8081/API/";    //榫欏北姹介厤
-    //var WEBURL = "http://122.227.158.218:8090/API/";    //榫欏北姹介厤澶栫綉
+    //var WEBURL = "http://122.227.158.218:8090/API/";  //榫欏北姹介厤澶栫綉
     //var WEBURL = "http://192.168.0.244:8082/API/";    //甯呭▉鍐呯綉
     //var WEBURL = "http://192.168.1.237:9003/API";     //澶忓疂鍐呯綉
     //var WEBURL = "http://60.190.4.42:9003/API";       //澶忓疂澶栫綉
-    //var WEBURL = "http://192.168.60.12/API";       //涓帶
+    //var WEBURL = "http://192.168.60.12/API";          //涓帶
     return WEBURL
 }
 
diff --git "a/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityMonthSumReport.html" "b/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityMonthSumReport.html"
new file mode 100644
index 0000000..8c64471
--- /dev/null
+++ "b/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityMonthSumReport.html"
@@ -0,0 +1,817 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <title>鍒剁▼璐ㄩ噺闂ㄩ�冮�歌秼鍔垮浘</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <!--寮曠敤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/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>
+                                </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">
+                                            鍔ㄦ�佹覆鏌撶粍缁�
+                                        </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>
+                        </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>
+                        </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>
+                            </div>
+                        </script>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+    <script>
+        layui.config({
+            base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+        }).extend({
+            index: 'lib/index', //涓诲叆鍙fā鍧�
+        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable'], function () {
+            //#region 鍏叡鍙橀噺
+            var $ = layui.$
+                , admin = layui.admin
+                , layer = layui.layer
+                , table = layui.table
+                , form = layui.form
+                , element = layui.element
+                , laypage = layui.laypage
+                , laydate = layui.laydate
+                , soulTable = layui.soulTable
+            var HModName = "QC_QualityMonthSumReport";
+            var HBillType = "QC_QualityMonthSumReport";
+            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 = [];     //涓嶉渶瑕佹樉绀虹殑瀛楁
+            //#endregion
+
+            //#region 銆愬姩鎬佽幏鍙栨ā鍧楀悕绉般��
+            //閫氳繃鍗曟嵁绫诲瀷锛屼粠鏁版嵁搴撳姩鎬佽幏鍙栧崟鎹ā鍧楀懡鍚�,寮曠敤js鏂囦欢 PageTitle.js
+            var HPageTitle = get_PageTitle(HBillType) == "" ? document.title : get_PageTitle(HBillType);
+            //#endregion
+            var totalArray = [];
+
+            //#region 杩涘叆椤甸潰鍗冲姞杞�
+
+            //#region 鍒濆鍖栫晫闈�
+
+            set_ClearBill();
+
+            function set_ClearBill() {
+                //鑾峰彇缁勭粐
+                //set_StockOrg();
+                //鍒濆鍖栬〃鍗曟椂闂�
+                set_InitDate();
+                //鍒濆鍖栬〃鏍�
+                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鐢ㄤ簬鎺у埗锛坒alse锛夊悓姝ュ拰锛坱rue锛夊紓姝ワ紝榛樿鐨勬槸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);
+                    }
+                };
+            }
+            //#endregion
+
+            //#region 鐐瑰嚮琛岄�変腑楂樹寒
+            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 涓鸿〃鏍糏D   娉ㄦ剰姝ゅ濡傛灉ID涓嶆纭皢瀵艰嚧浣犲湪鐩戝惉澶嶉�夋鏃惰幏鍙栦笉鍒颁綘閫夋嫨鐨勬暟鎹紝鍓嶉潰鐨勫彧鏄坊鍔犳垨鍒犻櫎閫変腑鏈�変腑鏍峰紡浠ュ強璁剧疆鑳屾櫙鑹诧紝瀛椾綋棰滆壊
+                layui.each(table.cache.mainTable, function (i, l) {
+                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
+                        l.LAY_CHECKED = flag;
+                    }
+                });
+            })
+            //#endregion
+
+            //#region 鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    type: "GET",
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    async: false,
+                    data: { "HModName": HModName, "user": HMaker },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+
+                            var totalArray = [];
+
+                            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('|');
+                                }
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+
+                        //鍒锋柊鎸夐挳鏄剧ず
+                        var btns = document.getElementsByTagName("button");     //鑾峰彇鏈〉鎵�鏈夋寜閽璞�
+                        Display_HideButton(btns, HBillType, HModName, HMaker);
+
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+            //#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); //鍏抽棴寮圭獥  瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                    }
+                    , 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() {
+                sDate = $("#HDate").val();                  //鏃ユ湡
+                get_Display(sWhere);
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //#endregion
+
+            //#region 鍒楄〃鍒锋柊
+            function get_Display(sWhere) {
+                var HDate = sDate;          //鏃ユ湡
+                //鏂囨湰妗嗕负绌烘椂锛屾竻绌哄搴擨D
+                if ($("#HDeptName").val() == '') {
+                    $("#HDeptID").val("0");
+                }
+                var HDeptID = $("#HDeptID").val()
+
+                var ajaxLoad = layer.load();
+                $.ajax({
+                    type: "GET",
+                    url: GetWEBURL() + '/QC_QualityReportsController/GetQC_QualityMonthSumReport_Json',
+                    async: false,    //async鐢ㄤ簬鎺у埗锛坒alse锛夊悓姝ュ拰锛坱rue锛夊紓姝ワ紝榛樿鐨勬槸true锛屽嵆璇锋眰榛樿鐨勬槸寮傛璇锋眰
+                    data: { "HYear": HDate, "HDeptID": HDeptID },
+                    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:
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'left', sort: true, width: 200 });
+                                    }
+                                }
+                            }
+                            //鍔ㄦ�佹樉绀哄垪鍚�
+                            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 HAverage = [];      //y杞达細璐ㄩ噺闂ㄩ�冮�哥巼
+                var HTarget = [];       //y杞达細涓婇檺鍊�
+                for (let i = 0; i < option.data.length; i++) {
+                    //鑾峰彇璐ㄩ噺闂ㄩ�冮�哥巼琛屾暟鍊�
+                    if (option.data[i].椤圭洰 == '璐ㄩ噺闂ㄩ�冮�哥巼') {
+                        for (let j = 1; j <= 12; j++) {
+                            HAverage.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: '璐ㄩ噺闂ㄩ�冮�哥巼缁熻琛�',
+                        left: 'center'
+                    },
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['璐ㄩ噺闂ㄩ�冮�哥巼', '涓婇檺鍊�'],
+                        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'
+                        }
+                    ],
+                    series: [                               //璁剧疆y杞存暟鎹�
+                        {
+                            name: '璐ㄩ噺闂ㄩ�冮�哥巼',
+                            type: 'line',
+                            barWidth: 30,
+                            barGap: 0,
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            itemStyle: {
+                                normal: {
+                                    lineStyle: {
+                                        color: '#8E8E8E' // 璁剧疆绾挎潯棰滆壊涓虹伆鑹�
+                                    },
+                                    color: '#8E8E8E' // 璁剧疆绾挎潯棰滆壊涓虹伆鑹�
+                                }
+                            },
+                            data: HAverage
+                        },
+                        {
+                            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
+
+        });
+
+        //#endregion
+        //浠ヤ笂鏄痩ayui妯″潡
+
+        //鍙屽嚮杩斿洖鍩虹璧勬枡鏁版嵁    琛ㄥご
+        function GetHDeptNameValue(obj)  //杩斿洖閮ㄩ棬
+        {
+            $("#HDeptName").val(obj[0].閮ㄩ棬鍚嶇О);
+            $("#HDeptID").val(obj[0].HItemID);
+        }
+    </script>
+
+</body>
+</html>

--
Gitblit v1.9.1