From 943c5db18d6f64e71005a5d3a69c8d97b9c6f54a Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期二, 12 十二月 2023 13:52:59 +0800
Subject: [PATCH] 报工台合并产量汇报单生成生产汇报单;新增报表:生产订单领料状态报表;库存库龄分析报表;生产不良原因统计分析报表;不良原因总体统计分析报表;质量追溯报表;质量预警报表;直通率报表;直通率周报表;

---
 WebTM/views/设备管理/设备报表/Sb_EquipRepairWorkBillReport.html    |  717 ++++++
 WebTM/views/质量管理/质量报表/QC_FirstPassRateReport.html          |  578 ++++
 WebTM/views/质量管理/质量报表/QC_ProdBadReasonStatistics.html      |  581 ++++
 WebTM/views/设备管理/设备报表/Sb_EquipConkBookBillReport.html      |  717 ++++++
 WebTM/views/生产管理/生产汇报单/Sc_Add_ICMOReportBillList.html      |  146 +
 WebTM/views/生产管理/生产报表/Sc_ProdOrderPickingStatusReport.html |  415 +++
 WebTM/views/设备管理/设备报表/Sb_EquipMaintainBillReport.html      |  717 ++++++
 WebTM/views/质量管理/质量报表/QC_FirstPassRateWeekReport.html      |  555 ++++
 WebTM/views/质量管理/质量报表/QC_ProdBadReasonStatistics_Sum.html  |  581 ++++
 WebTM/views/生产管理/产量汇报单/Sc_ProductReportBillList.html       |   33 
 WebTM/views/设备管理/设备报表/Sb_EquipDotCheckBillReport.html      |  717 ++++++
 WebTM/views/质量管理/质量报表/QC_ProductQtyWarningReport.html      |  361 +++
 WebTM/views/质量管理/质量报表/QC_QualityTraceabilityReport.html    |  521 ++++
 WebTM/views/生产管理/生产报表/Sc_InventoryAgeReport.html           |  386 +++
 WebTM/WebTM.csproj                                         |   12 
 15 files changed, 7,010 insertions(+), 27 deletions(-)

diff --git a/WebTM/WebTM.csproj b/WebTM/WebTM.csproj
index e67d41e..247781f 100644
--- a/WebTM/WebTM.csproj
+++ b/WebTM/WebTM.csproj
@@ -305,6 +305,8 @@
     <Content Include="views\鐢熶骇绠$悊\鏃ヨ鍒掓姤琛╘MaterialShorAnalysisReport.html" />
     <Content Include="views\鐢熶骇绠$悊\鐢熶骇宸ヤ綅\Gy_SourceWorkStationSet.html" />
     <Content Include="views\鐢熶骇绠$悊\鐢熶骇宸ヤ綅\Gy_SourceWorkStationSetList.html" />
+    <Content Include="views\鐢熶骇绠$悊\鐢熶骇鎶ヨ〃\Sc_InventoryAgeReport.html" />
+    <Content Include="views\鐢熶骇绠$悊\鐢熶骇鎶ヨ〃\Sc_ProdOrderPickingStatusReport.html" />
     <Content Include="views\鐢熶骇绠$悊\鐢熶骇璁″垝骞冲彴\Sc_ShopCalendar.html" />
     <Content Include="views\鐢熶骇绠$悊\璁㈠崟鐘舵�佸垎甯僜Sc_OrderStateDistribution.html" />
     <Content Include="views\鐢熶骇绠$悊\榻愬鍒嗘瀽\JIT_CompleteMaterlDetailList.html" />
@@ -330,9 +332,19 @@
     <Content Include="views\璁惧绠$悊\Sb_EquipMaintainBill_PDA.html" />
     <Content Include="views\璁惧绠$悊\Sb_EquipRepairCheckBillList_PDA.html" />
     <Content Include="views\璁惧绠$悊\Sb_EquipRepairCheckBill_PDA.html" />
+    <Content Include="views\璁惧绠$悊\璁惧鎶ヨ〃\Sb_EquipConkBookBillReport.html" />
+    <Content Include="views\璁惧绠$悊\璁惧鎶ヨ〃\Sb_EquipRepairWorkBillReport.html" />
+    <Content Include="views\璁惧绠$悊\璁惧鎶ヨ〃\Sb_EquipDotCheckBillReport.html" />
+    <Content Include="views\璁惧绠$悊\璁惧鎶ヨ〃\Sb_EquipMaintainBillReport.html" />
     <Content Include="views\璁惧绠$悊\璁惧瑙勭▼鍗昞Sb_EquipDotCheckRuleList_PDA.html" />
     <Content Include="views\璐ㄩ噺绠$悊\宸ュ簭妫�楠屽崟\MES_ProcessCheckBillList_PDA.html" />
     <Content Include="views\璐ㄩ噺绠$悊\宸ュ簭妫�楠屽崟\MES_ProcessCheckBill_PDA.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_FirstPassRateReport.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_FirstPassRateWeekReport.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_ProdBadReasonStatistics.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_ProductQtyWarningReport.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_QualityTraceabilityReport.html" />
+    <Content Include="views\璐ㄩ噺绠$悊\璐ㄩ噺鎶ヨ〃\QC_ProdBadReasonStatistics_Sum.html" />
     <Content Include="views\杞﹂棿绠$悊\鍗曞搧杩囩珯\BadQueryReport.html" />
     <Content Include="views\璐ㄩ噺绠$悊\棣栦欢妫�楠屽崟\QC_Add_Edit_FirstPieceCheckBill - 澶嶅埗.html" />
     <Content Include="views\杞﹂棿绠$悊\鍗曞搧杩囩珯\Cj_CollectionOfSingleProductDefects.html" />
diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\344\272\247\351\207\217\346\261\207\346\212\245\345\215\225/Sc_ProductReportBillList.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\344\272\247\351\207\217\346\261\207\346\212\245\345\215\225/Sc_ProductReportBillList.html"
index 2bf10a0..9ded15c 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\344\272\247\351\207\217\346\261\207\346\212\245\345\215\225/Sc_ProductReportBillList.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\344\272\247\351\207\217\346\261\207\346\212\245\345\215\225/Sc_ProductReportBillList.html"
@@ -32,11 +32,10 @@
                         <button type="button" class="layui-btn" lay-submit="" lay-filter="Delete" id="Delete"><i class="layui-icon layui-icon-add"></i>鍒犻櫎</button>
                         <button type="button" class="layui-btn" lay-submit="" lay-filter="AskReport" id="AskReport"><i class="layui-icon layui-icon-add"></i>鐢宠妫�楠�</button>
                         <button type="button" class="layui-btn" lay-submit="" lay-filter="Exit" id="Exit"><i class="layui-icon layui-icon-add"></i>閫�鍑�</button>
-                        <span  id="top-title">浜ч噺姹囨姤</span>
+                        <button type="button" class="layui-btn" lay-submit="" lay-filter="ProdReport" id="ProdReport"><i class="layui-icon layui-icon-add"></i>鐢熶骇姹囨姤</button>
+                        <span id="top-title">浜ч噺姹囨姤</span>
                     </div>
                     <div class="layui-card-body" style="padding: 1px;">
-
-
                         <div class="layui-collapse">
                             <div class="layui-colla-item">
                                 <div class="layui-colla-title layui-inline">
@@ -343,6 +342,34 @@
                     });
             })
 
+            //鐢熶骇姹囨姤
+            form.on('submit(ProdReport)', function (data) {
+                var checkStatus = table.checkStatus('mainTable');
+                var TabData = checkStatus.data;
+                var HInterID = [];
+
+                for (let i = 0; i < TabData.length;i++) {
+                    HInterID.push(TabData[i].HInterID);
+                }
+
+                layer.open({
+                    type: 2
+                    , area: ['100%', '100%']
+                    , title: '鐢熶骇姹囨姤鍗�-缂栬緫'
+                    , shade: 0.6
+                    , maxmin: false
+                    , anim: 0
+                    , content: ['../鐢熶骇姹囨姤鍗�/Sc_Add_ICMOReportBillList.html?OperationType=2&linterid=' + HInterID.toString() + '&HSouceBillType=' + 3724, 'yes']
+                    , resize: false
+                    , cancel: function () {
+                    }
+                    , end: function () {
+
+                    }
+                })
+               
+            })
+            
             //閫�鍑�
             form.on('submit(Exit)', function (data)
             {
diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_InventoryAgeReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_InventoryAgeReport.html"
new file mode 100644
index 0000000..322c1b9
--- /dev/null
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_InventoryAgeReport.html"
@@ -0,0 +1,386 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>搴撳瓨搴撻緞鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/zgqCustom/zgqCustom.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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-row">
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">浠撳簱鍚嶇О</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HWhName" style="width:190px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鎵规鍙�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HLot" style="width:190px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鐗╂枡缂栫爜</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HMaterNumber" style="width:190px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鐗╂枡鍚嶇О</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HMaterName" style="width:190px;">
+                                        </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 class="layui-row" style="margin-top:5px;">                                    
+                                    
+                                </div>
+                                                             
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row">
+                                       
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <table class="" 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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sc_InventoryAgeReport";
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //鐗╂枡
+            form.on('submit(btnHMaterID)', function (data) {//閫夋嫨鐗╂枡
+                get_btnHMaterID();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-70'
+                };
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var wait = layer.load();//閬僵               
+                var HWhName = $("#HWhName").val();
+                var HLot = $("#HLot").val();
+                var HMaterNumber = $("#HMaterNumber").val();
+                var HMaterName = $("#HMaterName").val();
+                $.ajax({
+                    url: GetWEBURL() + '/Sc_Report/InventoryAge',
+                    type: "GET",
+                    data: { "HWhName": HWhName, "HLot": HLot, "HMaterNumber": HMaterNumber, "HMaterName": HMaterName },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option.cols = [col];
+                            option.data = data1.data;
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {                
+                var HWhName = $("#HWhName").val();
+                var HLot = $("#HLot").val();
+                var HMaterNumber = $("#HMaterNumber").val();
+                var HMaterName = $("#HMaterName").val();
+
+                sWhere = "'" + HWhName + "','" + HMaterNumber + "','" + HMaterName + "','" + HLot + "'"
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {             
+                $("#HWhName").val("");
+                $("#HLot").val("");
+                $("#HMaterNumber").val("");
+                $("#HMaterName").val("");
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //鐗╂枡
+            function get_btnHMaterID() {
+                layer.open({
+                    type: 2
+                    , area: ['80%', '80%']
+                    , title: '鐗╂枡'
+                    , shade: 0.6 //閬僵閫忔槑搴�
+                    //, maxmin: true //鍏佽鍏ㄥ睆鏈�灏忓寲
+                    , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
+                    , content: ['../../Baseset/鍩虹璧勬枡/Gy_MaterialList.html', 'yes']
+                    , btn: ['纭畾', '鍙栨秷']
+                    , btn1: function (index, layero) {
+
+                        //鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
+                        var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
+                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//鑾峰彇table鐨別lem:"#test"
+                        if (checkStatus.data.length === 0) {
+                            return layer.msg('璇烽�夋嫨鏁版嵁');
+                        }
+                        $("#HMaterName").val(checkStatus.data[0].HName);
+                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);
+                        $("#HMaterModel").val(checkStatus.data[0].HModel);
+                        layer.close(layer.index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                    }
+                })
+            }
+
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html"
new file mode 100644
index 0000000..a3e0e26
--- /dev/null
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\212\245\350\241\250/Sc_ProdOrderPickingStatusReport.html"
@@ -0,0 +1,415 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>鐢熶骇璁㈠崟棰嗘枡鐘舵�佹姤琛�</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/zgqCustom/zgqCustom.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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-row">
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label" style="width: 85px;">寮�濮嬫棩鏈�</label>
+                                        <div class="layui-input-block" style="margin-left: 120px;">
+                                            <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 75px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label" style="width: 85px;">缁撴潫鏃ユ湡</label>
+                                        <div class="layui-input-block" style="margin-left: 120px;">
+                                            <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 75px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鐢熶骇璁㈠崟鍙�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HICMOBillNo" style="width:190px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">閮ㄩ棬</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HDeptName" style="width:190px;">
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-row" style="margin-top:5px;">                                    
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鐗╂枡浠g爜</label>
+                                        <div class="layui-input-inline">
+                                            <input type="text" class="layui-input" lay-verify="HMaterNumber" name="HMaterNumber" id="HMaterNumber" value="" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;">
+                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMaterID" id="btnHMaterID" style="width: 40px;">
+                                                <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">鐗╂枡鍚嶇О</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HMaterName" style="width:190px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">瑙勬牸鍨嬪彿</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HMaterModel" style="width:190px;">
+                                        </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 class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row">
+                                       
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <table class="" 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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sc_ProdOrderPickingStatusReport";
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //鐗╂枡
+            form.on('submit(btnHMaterID)', function (data) {//閫夋嫨鐗╂枡
+                get_btnHMaterID();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-70'
+                };
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var wait = layer.load();//閬僵
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+                var HICMOBillNo = $("#HICMOBillNo").val();
+                var HDeptName = $("#HDeptName").val();
+                var HMaterNumber = $("#HMaterNumber").val();
+                var HMaterName = $("#HMaterName").val();
+                var HMaterModel = $("#HMaterModel").val();
+                $.ajax({
+                    url: GetWEBURL() + '/Sc_Report/ProdOrderPickingStatus',
+                    type: "GET",
+                    data: { "HBeginDate": HBeginDate, "HEndDate": HEndDate, "HICMOBillNo": HICMOBillNo, "HDeptName": HDeptName, "HMaterNumber": HMaterNumber, "HMaterName": HMaterName, "HMaterModel": HMaterModel},
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option.cols = [col];
+                            option.data = data1.data;
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+                var HICMOBillNo = $("#HICMOBillNo").val();
+                var HDeptName = $("#HDeptName").val();
+                var HMaterNumber = $("#HMaterNumber").val();
+                var HMaterName = $("#HMaterName").val();
+                var HMaterModel = $("#HMaterModel").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "','" + HICMOBillNo + "','" + HMaterNumber + "','" + HMaterName + "','" + HMaterModel + "','" + HDeptName + "'"
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                $("#HICMOBillNo").val("");
+                $("#HDeptName").val("");
+                $("#HMaterNumber").val("");
+                $("#HMaterName").val("");
+                $("#HMaterModel").val("");
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //鐗╂枡
+            function get_btnHMaterID() {
+                layer.open({
+                    type: 2
+                    , area: ['80%', '80%']
+                    , title: '鐗╂枡'
+                    , shade: 0.6 //閬僵閫忔槑搴�
+                    //, maxmin: true //鍏佽鍏ㄥ睆鏈�灏忓寲
+                    , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
+                    , content: ['../../Baseset/鍩虹璧勬枡/Gy_MaterialList.html', 'yes']
+                    , btn: ['纭畾', '鍙栨秷']
+                    , btn1: function (index, layero) {
+
+                        //鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
+                        var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
+                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//鑾峰彇table鐨別lem:"#test"
+                        if (checkStatus.data.length === 0) {
+                            return layer.msg('璇烽�夋嫨鏁版嵁');
+                        }
+                        $("#HMaterName").val(checkStatus.data[0].HName);
+                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);
+                        $("#HMaterModel").val(checkStatus.data[0].HModel);
+                        layer.close(layer.index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                    }
+                })
+            }
+
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\261\207\346\212\245\345\215\225/Sc_Add_ICMOReportBillList.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\261\207\346\212\245\345\215\225/Sc_Add_ICMOReportBillList.html"
index 4987811..c6d5185 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\261\207\346\212\245\345\215\225/Sc_Add_ICMOReportBillList.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\346\261\207\346\212\245\345\215\225/Sc_Add_ICMOReportBillList.html"
@@ -227,7 +227,22 @@
                             </div>
                         </div>
                     </div>
-                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
+                    <div class="layui-tab layui-tab-card">
+                        <ul class="layui-tab-title">
+                            <li class="layui-this">鐢熶骇姹囨姤鍗�</li>
+                            <li>浜ч噺姹囨姤鍗曟槑缁�</li>
+                        </ul>
+                        <div class="layui-tab-content">
+                            <div class="layui-tab-item layui-show">
+                                <!--鐢熶骇姹囨姤鍗曟槑缁�-->
+                                <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
+                            </div>
+                            <div class="layui-tab-item">
+                                <!--浜ч噺姹囨姤鍗�-->
+                                <table class="layui-hide" id="mainTable_prodReport" lay-filter="mainTable_prodReport"></table>
+                            </div>
+                        </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-AddLine" id="btn-AddLine"><i class="layui-icon layui-icon-form"></i>澧炲姞涓�琛�</button>
@@ -254,8 +269,8 @@
         }).extend({
             index: 'lib/index' //涓诲叆鍙fā鍧�
         }).use(['index', 'form', 'laydate', 'table', 'element', 'upload'], function () {
-            
-        //#region 鍏敤鍙橀噺
+
+            //#region 鍏敤鍙橀噺
             var $ = layui.$
                 , admin = layui.admin
                 , layer = layui.layer
@@ -265,17 +280,18 @@
                 , laydate = layui.laydate
                 , element = layui.element;
             var option;
+            var option_prodReport;
             var sBillType = "3711";
             //var TabRow = {
             //    "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-            //    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+            //    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0,"HBadQty":0, "HRemark": ""
             //};
             var Sctag = "0";
             var columns = "";
-        //#endregion
+            //#endregion
 
 
-        //#region 杩涘叆椤甸潰鍗冲姞杞�
+            //#region 杩涘叆椤甸潰鍗冲姞杞�
 
             //鍒ゆ柇鏄惁鐧诲綍 鏈櫥褰曞垯璺冲埌鐧诲綍椤�
             get_LoginIs();
@@ -314,10 +330,10 @@
             }
 
 
-        //#endregion
+            //#endregion
 
 
-        //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+            //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
 
             //#region 澶村伐鍏锋爮浜嬩欢
             table.on('toolbar(mainTable)', function (obj) {
@@ -327,7 +343,7 @@
                 var AddRow = table.cache['mainTable'];
                 var NewRow = {
                     "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
                 };
                 switch (obj.event) {
                     //鏂板涓�琛�
@@ -412,7 +428,7 @@
                     , btn1: function (index, layero) {
                         option.data = [{
                             "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                            "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+                            "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
                         }];
                         table.render(option);
                         //鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
@@ -442,7 +458,7 @@
                                     //var NewRow = { "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "", "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": "" };
                                     table.cache["mainTable"].push({
                                         "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                                        "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+                                        "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
                                     });
                                     option.data = table.cache["mainTable"];
                                     table.render(option);
@@ -490,10 +506,10 @@
             //#region 鎻愪氦淇濆瓨
             form.on('submit(Saver)', function (data) {//淇濆瓨
                 var refSav = "";
-                if (linterid == "" || linterid == null) {
+                if (OperationType == 1 || OperationType == 2) {
                     refSav = "Add";
                 }
-                if (linterid != "" && linterid != null) {
+                if (linterid == 3) {
                     refSav = "Update";
                 }
                 data.field.HMaker = sessionStorage["HUserName"];//鍒跺崟浜�
@@ -566,10 +582,10 @@
             });
             //#endregion
 
-        //#endregion
+            //#endregion
 
 
-        //#region 鏈〉闈㈡墍鏈夎璋冪敤鐨勬柟娉�
+            //#region 鏈〉闈㈡墍鏈夎璋冪敤鐨勬柟娉�
 
             //#region 鍒濆鍖栬〃鍗�
             function set_InitFrom() {
@@ -822,6 +838,7 @@
                     , { field: 'HWorkerCode', title: '鎿嶄綔鍛樹唬鐮�', edit: 'text', event: 'HWorkerCode', width: 100 }
                     , { field: 'HWorkerName', title: '鎿嶄綔鍛樺悕绉�', edit: 'text', width: 100 }
                     , { field: 'HQty', title: '鐢熶骇鏁伴噺', edit: 'text', width: 100 }
+                    , { field: 'HBadQty', title: '涓嶈壇鏁伴噺', edit: 'text', width: 100 }
                     , { field: 'HRemark', title: '琛ㄤ綋澶囨敞', edit: 'text', width: 100 }
                     , { fixed: 'right', title: '鎿嶄綔', toolbar: '#barDemo', width: 150 }
                 ];
@@ -833,6 +850,37 @@
                     , cellMinWidth: 120
                     , height: 500
                     , cols: [columns]
+                    , done: function (res, curr, count) {
+
+                    }
+                };
+
+                columns_prodReport = [
+                    { type: 'checkbox', fixed: 'left' }
+                    , { templet: '#xuhao', title: '搴忓彿', sort: true, fixed: 'left', event: "qwe", width: 100 }
+                    , { field: 'HMaterID', title: 'HMaterID', edit: 'text', width: 100, hide: true }
+                    , { field: 'HMaterCode', title: '鐗╂枡浠g爜', edit: 'text', event: 'HMaterCode', width: 100 }
+                    , { field: 'HMaterName', title: '鐗╂枡鍚嶇О', edit: 'text', width: 100 }
+                    , { field: 'HMaterSpec', title: '瑙勬牸鍨嬪彿', edit: 'text', width: 100 }
+                    , { field: 'HSourceID', title: 'HSourceID', edit: 'text', width: 100, hide: true }
+                    , { field: 'HSourceCode', title: '璧勬簮浠g爜', edit: 'text', event: 'HSourceCode', width: 100 }
+                    , { field: 'HSourceName', title: '璧勬簮鍚嶇О', edit: 'text', width: 100 }
+                    , { field: 'HWorkerid', title: 'HWorkerid', edit: 'text', width: 100, hide: true }
+                    , { field: 'HWorkerCode', title: '鎿嶄綔鍛樹唬鐮�', edit: 'text', event: 'HWorkerCode', width: 100 }
+                    , { field: 'HWorkerName', title: '鎿嶄綔鍛樺悕绉�', edit: 'text', width: 100 }
+                    , { field: 'HQty', title: '鐢熶骇鏁伴噺', edit: 'text', width: 100 }
+                    , { field: 'HBadQty', title: '涓嶈壇鏁伴噺', edit: 'text', width: 100 }
+                    , { field: 'HICMOBillNo', title: '鐢熶骇璁㈠崟', edit: 'text', width: 100 }
+                    , { field: 'HRemark', title: '琛ㄤ綋澶囨敞', edit: 'text', width: 100 }
+                    , { fixed: 'right', title: '鎿嶄綔', toolbar: '#barDemo', width: 150 }
+                ];
+                option_prodReport = {
+                    id: 'mainTable_prodReport'
+                    , elem: '#mainTable_prodReport'
+                    , page: false
+                    , cellMinWidth: 120
+                    , height: 500
+                    , cols: [columns_prodReport]
                     , done: function (res, curr, count) {
 
                     }
@@ -878,7 +926,7 @@
                 $('#get_PrintReport').addClass("layui-btn-disabled").attr("disabled", true);
                 option.data = [{
                     "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
                 }];
                 table.render(option);
             }
@@ -888,11 +936,61 @@
             function set_AddNew() {
                 //鑾峰彇鏈�澶у崟鎹彿
                 get_MAXNum();
-                option.data = [{
-                    "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
-                }];
-                table.render(option);
+                if (linterid.length > 0 && HSouceBillType == 3724) {
+                    var arr = [];
+                    var arr_detail = [];
+                    $.ajax({
+                        url: GetWEBURL() + "Sc_ICMOReportBill/GetProdReportBillList",
+                        type: "GET",
+                        data: {
+                            "HInterID": linterid,
+                            "user": sessionStorage["HUserName"]
+                        },
+                        async: false,
+                        success: function (result) {
+                            if (result.code == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                                var data = result.data.h_p_Sc_ICMOBillWorkQtyStatus_TmpList1; //姹囨�讳俊鎭�
+                                var data_detail = result.data.h_p_Sc_ICMOBillWorkQtyStatus_TmpList; //鏄庣粏淇℃伅
+
+                                for (let i = 0; i < data.length; i++) {
+                                    arr.push({
+                                        "HMaterID": data[i].鐗╂枡ID, "HMaterCode": data[i].鐗╂枡浠g爜, "HMaterName": data[i].鐗╂枡鍚嶇О, "HMaterSpec": data[i].瑙勬牸鍨嬪彿,
+                                        "HUnitID": 0, "HUnitCode": "", "HUnitName": "", "HSourceID": data[i].鐢熶骇璧勬簮ID, "HSourceCode": data[i].鐢熶骇璧勬簮浠g爜,
+                                        "HSourceName": data[i].鐢熶骇璧勬簮鍚嶇О, "HWorkerid": data[i].鎿嶄綔鍛業D, "HWorkerCode": data[i].鎿嶄綔鍛樹唬鐮�,
+                                        "HWorkerName": data[i].鎿嶄綔鍛樺悕绉�, "HQty": data[i].浜ч噺, "HBadQty": data[i].涓嶈壇鏁伴噺, "HRemark": ""
+                                    });
+                                }
+
+                                for (let j = 0; j < data_detail.length; j++) {
+                                    arr_detail.push({
+                                        "HMaterID": data_detail[j].鐗╂枡ID, "HMaterCode": data_detail[j].鐗╂枡浠g爜, "HMaterName": data_detail[j].鐗╂枡鍚嶇О,
+                                        "HMaterSpec": data_detail[j].瑙勬牸鍨嬪彿, "HUnitID": 0, "HUnitCode": "", "HUnitName": "", "HSourceID": data_detail[j].鐢熶骇璧勬簮ID,
+                                        "HSourceCode": data_detail[j].鐢熶骇璧勬簮浠g爜, "HSourceName": data_detail[j].鐢熶骇璧勬簮鍚嶇О, "HWorkerid": data_detail[j].鎿嶄綔鍛業D,
+                                        "HWorkerCode": data_detail[j].鎿嶄綔鍛樹唬鐮�, "HWorkerName": data_detail[j].鎿嶄綔鍛樺悕绉�, "HQty": data_detail[j].浜ч噺,
+                                        "HBadQty": data_detail[j].涓嶈壇鏁伴噺, "HICMOBillNo": data_detail[j].鐢熶骇璁㈠崟鍙�, "HRemark": ""
+                                    })
+                                }
+                            } else {
+                                layer.alert(result.msg, { icon: 5, btn: ['閫�鍑�'], time: 100000, offset: 't' });
+                            }
+                        }, error: function () {
+                            layer.alert("鍙戠敓閿欒!", { icon: 5 });
+                        }
+                    });
+
+                    option.data = arr;
+                    table.render(option);
+
+                    option_prodReport.data = arr_detail;
+                    table.render(option_prodReport);
+                } else {
+                    option.data = [{
+                        "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
+                        "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
+                    }];
+                    table.render(option);
+                }
+
             }
             //#endregion
 
@@ -902,7 +1000,7 @@
                 set_EditGrid(linterid);  //缂栬緫鑾峰彇琛ㄤ綋
                 option.data = [{
                     "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HUnitID": 0, "HUnitCode": "", "HUnitName": "",
-                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HRemark": ""
+                    "HSourceID": 0, "HSourceCode": "", "HSourceName": "", "HWorkerid": 0, "HWorkerCode": "", "HWorkerName": "", "HQty": 0, "HBadQty": 0, "HRemark": ""
                 }];
                 table.render(option);
             }
@@ -1094,7 +1192,7 @@
                     , area: ['90%', '90%']//澶у皬
                     , title: '鑱屽憳鍒楄〃'//鏍囬
                     , shift: 2//寮瑰嚭鍔ㄧ敾
-                    ,content: ['../../PublicPage/UserInformation.html', 'yes']
+                    , content: ['../../PublicPage/UserInformation.html', 'yes']
                     , btn: ['纭畾', '鍙栨秷']
                     , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
                         var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
@@ -1241,7 +1339,7 @@
 
 
 
-        //#endregion
+            //#endregion
 
 
 
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipConkBookBillReport.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipConkBookBillReport.html"
new file mode 100644
index 0000000..fc65498
--- /dev/null
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipConkBookBillReport.html"
@@ -0,0 +1,717 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璁惧鏁呴殰缁熻鍒嗘瀽</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞翠唤锛�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </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: 85px;">
+                                        <select name="HType" id="HType" lay-verify="HType">
+                                            <option style="color:blue;" value="璁惧">璁惧</option>
+                                            <option style="color:blue;" value="鏁呴殰鍘熷洜">鏁呴殰鍘熷洜</option>
+                                            <option style="color:blue;" value="杞﹂棿">杞﹂棿</option>
+                                            <option style="color:blue;" value="璐d换浜�">璐d换浜�</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-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row" style="margin-top:10px;">
+                                        <!--鍏朵粬鏉′欢-->
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div style="width:99.5%;height:calc(70vh);margin-top:10px;">
+                                <div id="histogram" style="width:60%;height:calc(70vh);float:left">
+
+                                </div>
+                                <div id="PieChart" style="width:39%;height:calc(70vh);float:left;margin-left:5px;">
+
+                                </div>
+                            </div>
+                            <div style="width:99%;height:calc(50vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sb_EquipConkBookBillReport"; 
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+            //#endregion
+
+            //#region 銆愬浘褰€��
+            function set_Graphics() {
+                //#region 銆愭煴鐘跺浘銆�
+                var app = {};
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+                //#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'
+                };
+                //#endregion
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var HXTitle = [];//X杞存爣棰樺悕绉�
+                var HJanuary = []; //涓�鏈堜唤鏁版嵁
+                var HFebruary = []; //浜屾湀浠芥暟鎹�
+                var HMarch = []; //涓夋湀浠芥暟鎹�
+                var HApril = []; //鍥涙湀浠芥暟鎹�
+                var HMay = []; //浜旀湀浠芥暟鎹�
+                var HJune = []; //鍏湀浠芥暟鎹�
+                var HJuly = []; //涓冩湀浠芥暟鎹�
+                var HAugust = []; //鍏湀浠芥暟鎹�
+                var HSeptember = []; //涔濇湀浠芥暟鎹�
+                var HOctober = []; //鍗佹湀浠芥暟鎹�
+                var HNovember = []; //鍗佷竴鏈堜唤鏁版嵁
+                var HDecember = []; //鍗佷簩鏈堜唤鏁版嵁
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            HXTitle.push(option.data[i].璁惧);
+                            break;
+                        case '淇濆吇椤圭洰':
+                            HXTitle.push(option.data[i].淇濆吇椤圭洰);
+                            break;
+                        case '杞﹂棿':
+                            HXTitle.push(option.data[i].杞﹂棿);
+                            break;
+                        case '璐d换浜�':
+                            HXTitle.push(option.data[i].璐d换浜�);
+                            break;
+                    }
+                   
+                    HJanuary.push(option.data[i]['1鏈�']);
+                    HFebruary.push(option.data[i]['2鏈�']);
+                    HMarch.push(option.data[i]['3鏈�']);
+                    HApril.push(option.data[i]['4鏈�']);
+                    HMay.push(option.data[i]['5鏈�']);
+                    HJune.push(option.data[i]['6鏈�']);
+                    HJuly.push(option.data[i]['7鏈�']);
+                    HAugust.push(option.data[i]['8鏈�']);
+                    HSeptember.push(option.data[i]['9鏈�']);
+                    HOctober.push(option.data[i]['10鏈�']);
+                    HNovember.push(option.data[i]['11鏈�']);
+                    HDecember.push(option.data[i]['12鏈�']);
+                }
+                option_ZZT = {
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+                    },
+                    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: true },
+                            data: HXTitle
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value'
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '1鏈�',
+                            type: 'bar',
+                            barGap: 0,
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJanuary
+                        },
+                        {
+                            name: '2鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HFebruary
+                        },
+                        {
+                            name: '3鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMarch
+                        },
+                        {
+                            name: '4鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HApril
+                        },
+                        {
+                            name: '5鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMay
+                        },
+                        {
+                            name: '6鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJune
+                        },
+                        {
+                            name: '7鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJuly
+                        },
+                        {
+                            name: '8鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HAugust
+                        },
+                        {
+                            name: '9鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HSeptember
+                        },
+                        {
+                            name: '10鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HOctober
+                        },
+                        {
+                            name: '11鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HNovember
+                        },
+                        {
+                            name: '12鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HDecember
+                        }
+                    ]
+                };
+                option_ZZT && myChart.setOption(option_ZZT);
+                //#endregion
+
+                //#region 銆愰ゼ鍥俱��
+                var chartDom = document.getElementById('PieChart');
+                var myChart = echarts.init(chartDom);
+                var option_BT;
+
+                var option_BT_XData = [];
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璁惧 });
+                            break;
+                        case '淇濆吇椤圭洰':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].淇濆吇椤圭洰 });
+                            break;
+                        case '杞﹂棿':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].杞﹂棿 });
+                            break;
+                        case '璐d换浜�':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璐d换浜� });
+                            break;
+                    }
+                    
+                }
+
+                option_BT = {
+                    title: {
+                        text: $("#HYear").val() + '骞�' + (Number(new Date().getMonth()) + Number(1)) + '鏈�' + $("#HType").val() + '鍒嗗竷鍥�',
+                        left: 'center'
+                    },
+                    tooltip: {
+                        trigger: 'item'
+                    },
+                    legend: {
+                        top: 'bottom'
+                    },
+                    series: [
+                        {
+                            name: '淇濆吇娆℃暟',
+                            type: 'pie',
+                            radius: '50%',
+                            data: option_BT_XData,
+                            emphasis: {
+                                itemStyle: {
+                                    shadowBlur: 10,
+                                    shadowOffsetX: 0,
+                                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                                }
+                            }
+                        }
+                    ]
+                };
+
+                option_BT && myChart.setOption(option_BT);
+            //#endregion
+            }           
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-320'
+                    , page: true
+                    , totalRow: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(DateYear) {
+                DateYear = $("#HYear").val();
+                var HType = $("#HType").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/Sb_EquipConkBookReport/Statistics',
+                    type: "GET",
+                    async: false,
+                    data: { "DateYear": DateYear, "HType": HType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true , width: 120 });
+                                    }
+                                }
+                            }
+                           
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipDotCheckBillReport.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipDotCheckBillReport.html"
new file mode 100644
index 0000000..3d3d3b6
--- /dev/null
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipDotCheckBillReport.html"
@@ -0,0 +1,717 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璁惧鐐规缁熻鍒嗘瀽</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞翠唤锛�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </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: 85px;">
+                                        <select name="HType" id="HType" lay-verify="HType">
+                                            <option style="color:blue;" value="璁惧">璁惧</option>
+                                            <option style="color:blue;" value="鐐规椤圭洰">鐐规椤圭洰</option>
+                                            <option style="color:blue;" value="杞﹂棿">杞﹂棿</option>
+                                            <option style="color:blue;" value="璐d换浜�">璐d换浜�</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-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row" style="margin-top:10px;">
+                                        <!--鍏朵粬鏉′欢-->
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div style="width:99.5%;height:calc(70vh);margin-top:10px;">
+                                <div id="histogram" style="width:60%;height:calc(70vh);float:left">
+
+                                </div>
+                                <div id="PieChart" style="width:39%;height:calc(70vh);float:left;margin-left:5px;">
+
+                                </div>
+                            </div>
+                            <div style="width:99%;height:calc(50vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sb_EquipDotCheckBillReport"; 
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+            //#endregion
+
+            //#region 銆愬浘褰€��
+            function set_Graphics() {
+                //#region 銆愭煴鐘跺浘銆�
+                var app = {};
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+                //#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'
+                };
+                //#endregion
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var HXTitle = [];//X杞存爣棰樺悕绉�
+                var HJanuary = []; //涓�鏈堜唤鏁版嵁
+                var HFebruary = []; //浜屾湀浠芥暟鎹�
+                var HMarch = []; //涓夋湀浠芥暟鎹�
+                var HApril = []; //鍥涙湀浠芥暟鎹�
+                var HMay = []; //浜旀湀浠芥暟鎹�
+                var HJune = []; //鍏湀浠芥暟鎹�
+                var HJuly = []; //涓冩湀浠芥暟鎹�
+                var HAugust = []; //鍏湀浠芥暟鎹�
+                var HSeptember = []; //涔濇湀浠芥暟鎹�
+                var HOctober = []; //鍗佹湀浠芥暟鎹�
+                var HNovember = []; //鍗佷竴鏈堜唤鏁版嵁
+                var HDecember = []; //鍗佷簩鏈堜唤鏁版嵁
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            HXTitle.push(option.data[i].璁惧);
+                            break;
+                        case '淇濆吇椤圭洰':
+                            HXTitle.push(option.data[i].淇濆吇椤圭洰);
+                            break;
+                        case '杞﹂棿':
+                            HXTitle.push(option.data[i].杞﹂棿);
+                            break;
+                        case '璐d换浜�':
+                            HXTitle.push(option.data[i].璐d换浜�);
+                            break;
+                    }
+                   
+                    HJanuary.push(option.data[i]['1鏈�']);
+                    HFebruary.push(option.data[i]['2鏈�']);
+                    HMarch.push(option.data[i]['3鏈�']);
+                    HApril.push(option.data[i]['4鏈�']);
+                    HMay.push(option.data[i]['5鏈�']);
+                    HJune.push(option.data[i]['6鏈�']);
+                    HJuly.push(option.data[i]['7鏈�']);
+                    HAugust.push(option.data[i]['8鏈�']);
+                    HSeptember.push(option.data[i]['9鏈�']);
+                    HOctober.push(option.data[i]['10鏈�']);
+                    HNovember.push(option.data[i]['11鏈�']);
+                    HDecember.push(option.data[i]['12鏈�']);
+                }
+                option_ZZT = {
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+                    },
+                    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: true },
+                            data: HXTitle
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value'
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '1鏈�',
+                            type: 'bar',
+                            barGap: 0,
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJanuary
+                        },
+                        {
+                            name: '2鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HFebruary
+                        },
+                        {
+                            name: '3鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMarch
+                        },
+                        {
+                            name: '4鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HApril
+                        },
+                        {
+                            name: '5鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMay
+                        },
+                        {
+                            name: '6鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJune
+                        },
+                        {
+                            name: '7鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJuly
+                        },
+                        {
+                            name: '8鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HAugust
+                        },
+                        {
+                            name: '9鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HSeptember
+                        },
+                        {
+                            name: '10鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HOctober
+                        },
+                        {
+                            name: '11鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HNovember
+                        },
+                        {
+                            name: '12鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HDecember
+                        }
+                    ]
+                };
+                option_ZZT && myChart.setOption(option_ZZT);
+                //#endregion
+
+                //#region 銆愰ゼ鍥俱��
+                var chartDom = document.getElementById('PieChart');
+                var myChart = echarts.init(chartDom);
+                var option_BT;
+
+                var option_BT_XData = [];
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璁惧 });
+                            break;
+                        case '淇濆吇椤圭洰':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].淇濆吇椤圭洰 });
+                            break;
+                        case '杞﹂棿':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].杞﹂棿 });
+                            break;
+                        case '璐d换浜�':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璐d换浜� });
+                            break;
+                    }
+                    
+                }
+
+                option_BT = {
+                    title: {
+                        text: $("#HYear").val() + '骞�' + (Number(new Date().getMonth()) + Number(1)) + '鏈�' + $("#HType").val() + '鍒嗗竷鍥�',
+                        left: 'center'
+                    },
+                    tooltip: {
+                        trigger: 'item'
+                    },
+                    legend: {
+                        top: 'bottom'
+                    },
+                    series: [
+                        {
+                            name: '淇濆吇娆℃暟',
+                            type: 'pie',
+                            radius: '50%',
+                            data: option_BT_XData,
+                            emphasis: {
+                                itemStyle: {
+                                    shadowBlur: 10,
+                                    shadowOffsetX: 0,
+                                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                                }
+                            }
+                        }
+                    ]
+                };
+
+                option_BT && myChart.setOption(option_BT);
+            //#endregion
+            }           
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-320'
+                    , page: true
+                    , totalRow: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(DateYear) {
+                DateYear = $("#HYear").val();
+                var HType = $("#HType").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/Sb_EquipDotCheckReport/Statistics',
+                    type: "GET",
+                    async: false,
+                    data: { "DateYear": DateYear, "HType": HType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true , width: 120 });
+                                    }
+                                }
+                            }
+                           
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipMaintainBillReport.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipMaintainBillReport.html"
new file mode 100644
index 0000000..9252c76
--- /dev/null
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipMaintainBillReport.html"
@@ -0,0 +1,717 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璁惧淇濆吇缁熻鍒嗘瀽</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞翠唤锛�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </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: 85px;">
+                                        <select name="HType" id="HType" lay-verify="HType">
+                                            <option style="color:blue;" value="璁惧">璁惧</option>
+                                            <option style="color:blue;" value="淇濆吇椤圭洰">淇濆吇椤圭洰</option>
+                                            <option style="color:blue;" value="杞﹂棿">杞﹂棿</option>
+                                            <option style="color:blue;" value="璐d换浜�">璐d换浜�</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-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row" style="margin-top:10px;">
+                                        <!--鍏朵粬鏉′欢-->
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div style="width:99.5%;height:calc(70vh);margin-top:10px;">
+                                <div id="histogram" style="width:60%;height:calc(70vh);float:left">
+
+                                </div>
+                                <div id="PieChart" style="width:39%;height:calc(70vh);float:left;margin-left:5px;">
+
+                                </div>
+                            </div>
+                            <div style="width:99%;height:calc(50vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sb_EquipMaintainBillReport"; 
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+            //#endregion
+
+            //#region 銆愬浘褰€��
+            function set_Graphics() {
+                //#region 銆愭煴鐘跺浘銆�
+                var app = {};
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+                //#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'
+                };
+                //#endregion
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var HXTitle = [];//X杞存爣棰樺悕绉�
+                var HJanuary = []; //涓�鏈堜唤鏁版嵁
+                var HFebruary = []; //浜屾湀浠芥暟鎹�
+                var HMarch = []; //涓夋湀浠芥暟鎹�
+                var HApril = []; //鍥涙湀浠芥暟鎹�
+                var HMay = []; //浜旀湀浠芥暟鎹�
+                var HJune = []; //鍏湀浠芥暟鎹�
+                var HJuly = []; //涓冩湀浠芥暟鎹�
+                var HAugust = []; //鍏湀浠芥暟鎹�
+                var HSeptember = []; //涔濇湀浠芥暟鎹�
+                var HOctober = []; //鍗佹湀浠芥暟鎹�
+                var HNovember = []; //鍗佷竴鏈堜唤鏁版嵁
+                var HDecember = []; //鍗佷簩鏈堜唤鏁版嵁
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            HXTitle.push(option.data[i].璁惧);
+                            break;
+                        case '淇濆吇椤圭洰':
+                            HXTitle.push(option.data[i].淇濆吇椤圭洰);
+                            break;
+                        case '杞﹂棿':
+                            HXTitle.push(option.data[i].杞﹂棿);
+                            break;
+                        case '璐d换浜�':
+                            HXTitle.push(option.data[i].璐d换浜�);
+                            break;
+                    }
+                   
+                    HJanuary.push(option.data[i]['1鏈�']);
+                    HFebruary.push(option.data[i]['2鏈�']);
+                    HMarch.push(option.data[i]['3鏈�']);
+                    HApril.push(option.data[i]['4鏈�']);
+                    HMay.push(option.data[i]['5鏈�']);
+                    HJune.push(option.data[i]['6鏈�']);
+                    HJuly.push(option.data[i]['7鏈�']);
+                    HAugust.push(option.data[i]['8鏈�']);
+                    HSeptember.push(option.data[i]['9鏈�']);
+                    HOctober.push(option.data[i]['10鏈�']);
+                    HNovember.push(option.data[i]['11鏈�']);
+                    HDecember.push(option.data[i]['12鏈�']);
+                }
+                option_ZZT = {
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+                    },
+                    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: true },
+                            data: HXTitle
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value'
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '1鏈�',
+                            type: 'bar',
+                            barGap: 0,
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJanuary
+                        },
+                        {
+                            name: '2鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HFebruary
+                        },
+                        {
+                            name: '3鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMarch
+                        },
+                        {
+                            name: '4鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HApril
+                        },
+                        {
+                            name: '5鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMay
+                        },
+                        {
+                            name: '6鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJune
+                        },
+                        {
+                            name: '7鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJuly
+                        },
+                        {
+                            name: '8鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HAugust
+                        },
+                        {
+                            name: '9鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HSeptember
+                        },
+                        {
+                            name: '10鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HOctober
+                        },
+                        {
+                            name: '11鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HNovember
+                        },
+                        {
+                            name: '12鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HDecember
+                        }
+                    ]
+                };
+                option_ZZT && myChart.setOption(option_ZZT);
+                //#endregion
+
+                //#region 銆愰ゼ鍥俱��
+                var chartDom = document.getElementById('PieChart');
+                var myChart = echarts.init(chartDom);
+                var option_BT;
+
+                var option_BT_XData = [];
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璁惧 });
+                            break;
+                        case '淇濆吇椤圭洰':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].淇濆吇椤圭洰 });
+                            break;
+                        case '杞﹂棿':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].杞﹂棿 });
+                            break;
+                        case '璐d换浜�':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璐d换浜� });
+                            break;
+                    }
+                    
+                }
+
+                option_BT = {
+                    title: {
+                        text: $("#HYear").val() + '骞�' + (Number(new Date().getMonth()) + Number(1)) + '鏈�' + $("#HType").val() + '鍒嗗竷鍥�',
+                        left: 'center'
+                    },
+                    tooltip: {
+                        trigger: 'item'
+                    },
+                    legend: {
+                        top: 'bottom'
+                    },
+                    series: [
+                        {
+                            name: '淇濆吇娆℃暟',
+                            type: 'pie',
+                            radius: '50%',
+                            data: option_BT_XData,
+                            emphasis: {
+                                itemStyle: {
+                                    shadowBlur: 10,
+                                    shadowOffsetX: 0,
+                                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                                }
+                            }
+                        }
+                    ]
+                };
+
+                option_BT && myChart.setOption(option_BT);
+            //#endregion
+            }           
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-320'
+                    , page: true
+                    , totalRow: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(DateYear) {
+                DateYear = $("#HYear").val();
+                var HType = $("#HType").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/Sb_EquipMaintainReport/Statistics',
+                    type: "GET",
+                    async: false,
+                    data: { "DateYear": DateYear, "HType": HType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true , width: 120 });
+                                    }
+                                }
+                            }
+                           
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipRepairWorkBillReport.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipRepairWorkBillReport.html"
new file mode 100644
index 0000000..13483b2
--- /dev/null
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipRepairWorkBillReport.html"
@@ -0,0 +1,717 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璁惧缁翠慨缁熻鍒嗘瀽</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞翠唤锛�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </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: 85px;">
+                                        <select name="HType" id="HType" lay-verify="HType">
+                                            <option style="color:blue;" value="璁惧">璁惧</option>
+                                            <option style="color:blue;" value="缁翠慨椤圭洰">缁翠慨椤圭洰</option>
+                                            <option style="color:blue;" value="杞﹂棿">杞﹂棿</option>
+                                            <option style="color:blue;" value="璐d换浜�">璐d换浜�</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-colla-content" style="padding: 0px; margin-left: 6%;">
+                                    <div class="layui-row" style="margin-top:10px;">
+                                        <!--鍏朵粬鏉′欢-->
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div style="width:99.5%;height:calc(70vh);margin-top:10px;">
+                                <div id="histogram" style="width:60%;height:calc(70vh);float:left">
+
+                                </div>
+                                <div id="PieChart" style="width:39%;height:calc(70vh);float:left;margin-left:5px;">
+
+                                </div>
+                            </div>
+                            <div style="width:99%;height:calc(50vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "Sb_EquipRepairWorkBillReport"; 
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+            //#endregion
+
+            //#region 銆愬浘褰€��
+            function set_Graphics() {
+                //#region 銆愭煴鐘跺浘銆�
+                var app = {};
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+                //#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'
+                };
+                //#endregion
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var HXTitle = [];//X杞存爣棰樺悕绉�
+                var HJanuary = []; //涓�鏈堜唤鏁版嵁
+                var HFebruary = []; //浜屾湀浠芥暟鎹�
+                var HMarch = []; //涓夋湀浠芥暟鎹�
+                var HApril = []; //鍥涙湀浠芥暟鎹�
+                var HMay = []; //浜旀湀浠芥暟鎹�
+                var HJune = []; //鍏湀浠芥暟鎹�
+                var HJuly = []; //涓冩湀浠芥暟鎹�
+                var HAugust = []; //鍏湀浠芥暟鎹�
+                var HSeptember = []; //涔濇湀浠芥暟鎹�
+                var HOctober = []; //鍗佹湀浠芥暟鎹�
+                var HNovember = []; //鍗佷竴鏈堜唤鏁版嵁
+                var HDecember = []; //鍗佷簩鏈堜唤鏁版嵁
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            HXTitle.push(option.data[i].璁惧);
+                            break;
+                        case '淇濆吇椤圭洰':
+                            HXTitle.push(option.data[i].淇濆吇椤圭洰);
+                            break;
+                        case '杞﹂棿':
+                            HXTitle.push(option.data[i].杞﹂棿);
+                            break;
+                        case '璐d换浜�':
+                            HXTitle.push(option.data[i].璐d换浜�);
+                            break;
+                    }
+                   
+                    HJanuary.push(option.data[i]['1鏈�']);
+                    HFebruary.push(option.data[i]['2鏈�']);
+                    HMarch.push(option.data[i]['3鏈�']);
+                    HApril.push(option.data[i]['4鏈�']);
+                    HMay.push(option.data[i]['5鏈�']);
+                    HJune.push(option.data[i]['6鏈�']);
+                    HJuly.push(option.data[i]['7鏈�']);
+                    HAugust.push(option.data[i]['8鏈�']);
+                    HSeptember.push(option.data[i]['9鏈�']);
+                    HOctober.push(option.data[i]['10鏈�']);
+                    HNovember.push(option.data[i]['11鏈�']);
+                    HDecember.push(option.data[i]['12鏈�']);
+                }
+                option_ZZT = {
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
+                    },
+                    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: true },
+                            data: HXTitle
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value'
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '1鏈�',
+                            type: 'bar',
+                            barGap: 0,
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJanuary
+                        },
+                        {
+                            name: '2鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HFebruary
+                        },
+                        {
+                            name: '3鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMarch
+                        },
+                        {
+                            name: '4鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HApril
+                        },
+                        {
+                            name: '5鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HMay
+                        },
+                        {
+                            name: '6鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJune
+                        },
+                        {
+                            name: '7鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HJuly
+                        },
+                        {
+                            name: '8鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HAugust
+                        },
+                        {
+                            name: '9鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HSeptember
+                        },
+                        {
+                            name: '10鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HOctober
+                        },
+                        {
+                            name: '11鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HNovember
+                        },
+                        {
+                            name: '12鏈�',
+                            type: 'bar',
+                            label: labelOption,
+                            emphasis: {
+                                focus: 'series'
+                            },
+                            data: HDecember
+                        }
+                    ]
+                };
+                option_ZZT && myChart.setOption(option_ZZT);
+                //#endregion
+
+                //#region 銆愰ゼ鍥俱��
+                var chartDom = document.getElementById('PieChart');
+                var myChart = echarts.init(chartDom);
+                var option_BT;
+
+                var option_BT_XData = [];
+                for (let i = 0; i < option.data.length; i++) {
+                    switch ($("#HType").val()) {
+                        case '璁惧':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璁惧 });
+                            break;
+                        case '淇濆吇椤圭洰':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].淇濆吇椤圭洰 });
+                            break;
+                        case '杞﹂棿':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].杞﹂棿 });
+                            break;
+                        case '璐d换浜�':
+                            option_BT_XData.push({ value: option.data[i][(Number(new Date().getMonth()) + Number(1)) + "鏈�"], name: option.data[i].璐d换浜� });
+                            break;
+                    }
+                    
+                }
+
+                option_BT = {
+                    title: {
+                        text: $("#HYear").val() + '骞�' + (Number(new Date().getMonth()) + Number(1)) + '鏈�' + $("#HType").val() + '鍒嗗竷鍥�',
+                        left: 'center'
+                    },
+                    tooltip: {
+                        trigger: 'item'
+                    },
+                    legend: {
+                        top: 'bottom'
+                    },
+                    series: [
+                        {
+                            name: '淇濆吇娆℃暟',
+                            type: 'pie',
+                            radius: '50%',
+                            data: option_BT_XData,
+                            emphasis: {
+                                itemStyle: {
+                                    shadowBlur: 10,
+                                    shadowOffsetX: 0,
+                                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                                }
+                            }
+                        }
+                    ]
+                };
+
+                option_BT && myChart.setOption(option_BT);
+            //#endregion
+            }           
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-320'
+                    , page: true
+                    , totalRow: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(DateYear) {
+                DateYear = $("#HYear").val();
+                var HType = $("#HType").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/Sb_EquipRepairWorkReport/Statistics',
+                    type: "GET",
+                    async: false,
+                    data: { "DateYear": DateYear, "HType": HType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true , width: 120 });
+                                    }
+                                }
+                            }
+                           
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_FirstPassRateReport.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_FirstPassRateReport.html"
new file mode 100644
index 0000000..034fe1c
--- /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_FirstPassRateReport.html"
@@ -0,0 +1,578 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>鐩撮�氱巼鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <div class="layui-colla-item">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </select>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <!--<label class="layui-form-label">鐢熶骇杞﹂棿</label>
+                                    <div class="layui-input-block">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input">-->
+
+                                            <!--鍔ㄦ�佹覆鏌撹溅闂�-->
+                                        <!--</select>
+                                    </div>-->
+
+                                    <label class="layui-form-label" style="width: 85px;">鐢熶骇杞﹂棿</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 120px;">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="HDeptName">
+                                            <option style="color:blue;" value="缁曠嚎鑷姩杞﹂棿">缁曠嚎鑷姩杞﹂棿</option>
+                                            <option style="color:blue;" value="瑁呴厤鑷姩杞﹂棿">瑁呴厤鑷姩杞﹂棿</option>
+                                            <option style="color:blue;" value="骞虫澘杞﹂棿">骞虫澘杞﹂棿</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>
+                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn-exit" id="btn-exit" style="padding:0 5px">閫�鍑�</button>
+    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn" style="padding:0 5px">闅愯棌鍒楄缃�</button>-->
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;">
+
+                            </div>
+                            <div style="width:99%;height:calc(30vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "QC_FirstPassRateReport";
+            var HDeptID = 0;
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+
+            //#region 銆愭煴鐘跺浘銆�
+            function set_Graphics() {
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var H_X = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'];//X杞存爣棰�
+                var HProcSumNum = [];//鐢熶骇鎬绘暟閲�
+                var HQualifiedNum = [];//鍚堟牸鎬绘暟閲�
+                var HFirstPassRate = [];//鐩撮�氱巼
+                var HTitle = "";//鍥惧舰鏍囬
+                if (option.data.length>0) {
+                    for (let i = 1; i <= 12; i++) {
+                        HProcSumNum.push(option.data[0][i + "鏈�"]);
+                        HQualifiedNum.push(option.data[1][i + "鏈�"]);
+                        HFirstPassRate.push(option.data[3][i + "鏈�"].replace('%', ''));
+                    }
+                }
+
+                switch ($("#HDeptName").val()) {
+                    case '缁曠嚎鑷姩杞﹂棿':
+                        HTitle = '姝ヨ繘鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        break;
+                    case '瑁呴厤鑷姩杞﹂棿':
+                        HTitle = '鍚屾鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        break;
+                }
+
+                option_ZZT = {
+                    title: {
+                        text: HTitle,
+                        left: 'center'
+                    },
+                    grid: {
+                        x: '5%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
+                        //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
+                        bottom: '5%',
+                        containLabel: true
+                    },
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'cross',
+                            crossStyle: {
+                                color: '#999'
+                            }
+                        }
+                    },
+                    toolbox: {
+                        feature: {
+                            dataView: { show: true, readOnly: false },
+                            magicType: { show: true, type: ['line', 'bar'] },
+                            restore: { show: true },
+                            saveAsImage: { show: true }
+                        },
+                        x: 'right',
+                        orient: "vertical",//宸ュ叿鏍廼con鐨勫竷灞�鏈濆悜鈥榟orizontal鈥�'vertical'
+                    },
+                    legend: {
+                        data: ['鐢熶骇鎬绘暟', '鍚堟牸鎬绘暟', '鐩撮�氱巼'],
+                        top: 'bottom'
+                    },
+                    xAxis: [
+                        {
+                            type: 'category',
+                            data: H_X,
+                            axisPointer: {
+                                type: 'shadow'
+                            }
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value',
+                            name: '鐢熶骇鏁伴噺',
+                            //min: 0,
+                            //max: 150,
+                            //interval: 50,
+                            //axisLabel: {
+                            //    formatter: '{value}'
+                            //}
+                        },
+                        {
+                            type: 'value',
+                            name: '鐩撮�氱巼%',
+                            min: 0,
+                            max: 100,
+                            interval: 10,
+                            axisLabel: {
+                                formatter: '{value} ' + '%'
+                            }
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '鐢熶骇鎬绘暟',
+                            type: 'bar',
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value;
+                                }
+                            },
+                            data: HProcSumNum
+                        },
+                        {
+                            name: '鍚堟牸鎬绘暟',
+                            type: 'bar',
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value;
+                                }
+                            },
+                            data: HQualifiedNum
+                        },
+                        {
+                            name: '鐩撮�氱巼',
+                            type: 'line',
+                            yAxisIndex: 1,
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value + ' ';
+                                }
+                            },
+                            data: HFirstPassRate
+                        }
+                    ]
+                };
+
+                option_ZZT && myChart.setOption(option_ZZT);
+            }
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btn-exit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //DeptName();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鐢熶骇杞﹂棿
+            function DeptName() {
+                //鑾峰彇杞﹂棿鍒�
+                var HDeptName = '<option value="0" style="color:red;" selected>鍏ㄩ儴杞﹂棿</option>';
+                $.ajax({
+                    type: "get",
+                    url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
+                    async: false,
+                    data: { "HOrgID": sessionStorage["OrganizationID"] },
+                    success: function (result) {
+                        if (result.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                            var data = result.data;
+                            if (sessionStorage["OrganizationID"] == 100014) {
+                                HDeptName += '<option  style="color:blue;"  value="2679633" >姘寸涓�鏉℃祦</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592361" >閮ㄤ欢娌瑰喎鍣ㄥ反</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592371" >灏忚溅瑁呰姱宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592374" >灏忚溅鎬绘垚宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1743766" >鍗¤溅瑁呰姱宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1743767" >鍗¤溅鎬绘垚宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="2679647" >鍗¤溅姘寸涓�鏉℃祦</option>';
+                            } else {
+                                for (var i = 0; i < data.length; i++) {
+                                    if (i == 0)
+                                        HDeptName += '<option  style="color:blue;"  value="' + data[i].HItemID + '" >' + data[i].HName + '</option>';
+                                    else
+                                        HDeptName += '<option  style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>';
+
+                                }
+                            }
+                            $("#HDeptName").append(HDeptName);
+                            if (!isNaN(HDeptID)) {
+                                $("#HDeptName").val(HDeptID);
+                            }
+                            form.render('select');
+                        }
+                        layer.closeAll("loading");
+                    }
+                })
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-490'
+                    , page: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var Year = $("#HYear").val();
+                var DeptName = $("#HDeptName").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/FirstPassRate',
+                    type: "GET",
+                    async: false,
+                    data: { "Year": Year, "DeptName": DeptName ,"user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+                                    }
+                                }
+                            }
+                            if (data1.data.length>0) {
+                                for (let i = 1; i <= 12; i++) {
+                                    if (data1.data[0][i + "鏈�"] != 0) {
+                                        data1.data[3][i + "鏈�"] = (data1.data[3][i + "鏈�"]).toFixed(2) + '%'
+                                    }
+                                    else {
+                                        data1.data[3][i + "鏈�"] = (0.00).toFixed(2) + '%'
+                                    }
+                                }
+                                data1.data[3].鍚堣 = (data1.data[3].鍚堣).toFixed(2) + '%'
+                            }
+
+
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_FirstPassRateWeekReport.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_FirstPassRateWeekReport.html"
new file mode 100644
index 0000000..467aa39
--- /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_FirstPassRateWeekReport.html"
@@ -0,0 +1,555 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>鐩撮�氱巼鍛ㄦ姤琛�</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <div class="layui-colla-item">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">骞�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
+                                        <select name="HYear" id="HYear" lay-verify="HYear">
+                                            <!--鍔ㄦ�佹覆鏌撳勾浠�-->
+                                        </select>
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <!--<label class="layui-form-label">鐢熶骇杞﹂棿</label>
+                                    <div class="layui-input-block">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input">-->
+                                    <!--鍔ㄦ�佹覆鏌撹溅闂�-->
+                                    <!--</select>
+                                    </div>-->
+
+                                    <label class="layui-form-label" style="width: 85px;">鐢熶骇杞﹂棿</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 120px;">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="HDeptName">
+                                            <option style="color:blue;" value="绾垮寘杞﹂棿">绾垮寘杞﹂棿</option>
+                                            <option style="color:blue;" value="鍚屾杞﹂棿">鍚屾杞﹂棿</option>
+                                            <!--<option style="color:blue;" value="骞虫澘杞﹂棿">骞虫澘杞﹂棿</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>
+                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn-exit" id="btn-exit" style="padding:0 5px">閫�鍑�</button>
+                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn" style="padding:0 5px">闅愯棌鍒楄缃�</button>-->
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;">
+
+                            </div>
+                            <div style="width:99%;height:calc(30vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "QC_FirstPassRateWeekReport";
+            var HDeptID = 0;
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+
+            //#region 銆愭煴鐘跺浘銆�
+            function set_Graphics() {
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var H_X = [];//X杞存爣棰�
+                var HProcSumNum = [];//鐢熶骇鎬绘暟閲�
+                var HQualifiedNum = [];//鍚堟牸鎬绘暟閲�
+                var HFirstPassRate = [];//鐩撮�氱巼
+                var HTitle = "";//鍥惧舰鏍囬
+                if (option.data.length > 0) {
+                    for (let i = 0; i < option.data.length; i++) {
+                        H_X.push(option.data[i].鍛� + "鍛�");
+                        HProcSumNum.push(option.data[i].鐢熶骇鏁伴噺);
+                        HFirstPassRate.push(option.data[i].鐩撮�氱巼)
+                    }                   
+                }
+
+                switch ($("#HDeptName").val()) {
+                    case '绾垮寘杞﹂棿':
+                        HTitle = '姝ヨ繘鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        break;
+                    case '鍚屾杞﹂棿':
+                        HTitle = '鍚屾鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        break;
+                }
+
+                option_ZZT = {
+                    title: {
+                        text: HTitle,
+                        left: 'center'
+                    },
+                    grid: {
+                        x: '5%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
+                        //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
+                        bottom: '5%',
+                        containLabel: true
+                    },
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'cross',
+                            crossStyle: {
+                                color: '#999'
+                            }
+                        }
+                    },
+                    toolbox: {
+                        feature: {
+                            dataView: { show: true, readOnly: false },
+                            magicType: { show: true, type: ['line', 'bar'] },
+                            restore: { show: true },
+                            saveAsImage: { show: true }
+                        },
+                        x: 'right',
+                        orient: "vertical",//宸ュ叿鏍廼con鐨勫竷灞�鏈濆悜鈥榟orizontal鈥�'vertical'
+                    },
+                    legend: {
+                        data: ['鐢熶骇鎬绘暟', '鐩撮�氱巼'],
+                        top: 'bottom'
+                    },
+                    xAxis: [
+                        {
+                            type: 'category',
+                            data: H_X,
+                            axisPointer: {
+                                type: 'shadow'
+                            }
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value',
+                            name: '鐢熶骇鏁伴噺',
+                            //min: 0,
+                            //max: 150,
+                            //interval: 50,
+                            //axisLabel: {
+                            //    formatter: '{value}'
+                            //}
+                        },
+                        {
+                            type: 'value',
+                            name: '鐩撮�氱巼%',
+                            min: 0,
+                            max: 100,
+                            interval: 10,
+                            axisLabel: {
+                                formatter: '{value} ' + '%'
+                            }
+                        }
+                    ],
+                    series: [
+                        {
+                            name: '鐢熶骇鎬绘暟',
+                            type: 'bar',
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value;
+                                }
+                            },
+                            data: HProcSumNum
+                        },                       
+                        {
+                            name: '鐩撮�氱巼',
+                            type: 'line',
+                            yAxisIndex: 1,
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value + ' ';
+                                }
+                            },
+                            data: HFirstPassRate
+                        }
+                    ]
+                };
+
+                option_ZZT && myChart.setOption(option_ZZT);
+            }
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btn-exit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                Year();
+                //DeptName();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //骞�
+            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)
+                form.render('select');
+            }
+
+            //鐢熶骇杞﹂棿
+            function DeptName() {
+                //鑾峰彇杞﹂棿鍒�
+                var HDeptName = '<option value="0" style="color:red;" selected>鍏ㄩ儴杞﹂棿</option>';
+                $.ajax({
+                    type: "get",
+                    url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
+                    async: false,
+                    data: { "HOrgID": sessionStorage["OrganizationID"] },
+                    success: function (result) {
+                        if (result.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                            var data = result.data;
+                            if (sessionStorage["OrganizationID"] == 100014) {
+                                HDeptName += '<option  style="color:blue;"  value="2679633" >姘寸涓�鏉℃祦</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592361" >閮ㄤ欢娌瑰喎鍣ㄥ反</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592371" >灏忚溅瑁呰姱宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1592374" >灏忚溅鎬绘垚宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1743766" >鍗¤溅瑁呰姱宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="1743767" >鍗¤溅鎬绘垚宸�</option>';
+                                HDeptName += '<option  style="color:blue;"  value="2679647" >鍗¤溅姘寸涓�鏉℃祦</option>';
+                            } else {
+                                for (var i = 0; i < data.length; i++) {
+                                    if (i == 0)
+                                        HDeptName += '<option  style="color:blue;"  value="' + data[i].HItemID + '" >' + data[i].HName + '</option>';
+                                    else
+                                        HDeptName += '<option  style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>';
+
+                                }
+                            }
+                            $("#HDeptName").append(HDeptName);
+                            if (!isNaN(HDeptID)) {
+                                $("#HDeptName").val(HDeptID);
+                            }
+                            form.render('select');
+                        }
+                        layer.closeAll("loading");
+                    }
+                })
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-490'
+                    , page: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var Year = $("#HYear").val();
+                var DeptName = $("#HDeptName").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/FirstPassRateWeek',
+                    type: "GET",
+                    async: false,
+                    data: { "Year": Year, "DeptName": DeptName ,"user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, 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>" });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true });
+                                    }
+                                }
+                            }
+                           
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_ProdBadReasonStatistics.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_ProdBadReasonStatistics.html"
new file mode 100644
index 0000000..413fe0f
--- /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_ProdBadReasonStatistics.html"
@@ -0,0 +1,581 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>鐢熶骇涓嶈壇鍘熷洜缁熻鍒嗘瀽鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <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="date" class="layui-input" name="HBeginDate" id="HBeginDate">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label">缁撴潫鏃堕棿</label>
+                                    <div class="layui-input-block">
+                                        <input type="date" class="layui-input" name="HEndDate" id="HEndDate">
+                                    </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: 120px;">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="HDeptName">
+                                            <option style="color:blue;" value="绾垮寘杞﹂棿">绾垮寘杞﹂棿</option>
+                                            <option style="color:blue;" value="鍚屾杞﹂棿">鍚屾杞﹂棿</option>
+                                            <!--<option style="color:blue;" value="鍔犲伐杞﹂棿">鍔犲伐杞﹂棿</option>-->
+                                        </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: 120px;">
+                                        <input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo">                                        
+                                    </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: 120px;">
+                                        <input type="text" class="layui-input" name="HSourceName" id="HSourceName">
+                                    </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>
+                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn-exit" id="btn-exit" style="padding:0 5px">閫�鍑�</button>
+    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn" style="padding:0 5px">闅愯棌鍒楄缃�</button>-->
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;">
+
+                            </div>
+                            <div style="width:99%;height:calc(30vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "QC_ProdBadReasonStatistics";
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+
+            //#region 銆愭煴鐘跺浘銆�
+            function set_Graphics() {
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var H_X = [];//X杞存爣棰�
+                var HBadReason_ZJ = [0];//鍖濋棿涓嶈壇
+                var HBadReason_DZ = [0];//鐢甸樆涓嶈壇
+                var HBadReason_HXH = [0];//鎶ょ嚎鐩掍笉鑹�
+                var HBadReason_NY = 0;//鑰愬帇
+                var HBadReason_TY = 0;//鍚煶
+                var HBadReason_YZ = 0;//鎽囪酱
+                var HBadReason_WG = 0;//澶栬
+                var data_t = [];
+                var HTitle = "";//鍥惧舰鏍囬
+                var arrmax = [];
+                if (option.data.length>0) {
+                    for (let i = 0; i < option.data.length; i++) {
+                        HBadReason_ZJ = Number(HBadReason_ZJ) + Number(option.data[i].鍖濋棿涓嶈壇);
+                        HBadReason_DZ = Number(HBadReason_DZ)+ Number(option.data[i].鐢甸樆涓嶈壇);
+                        HBadReason_HXH = Number(HBadReason_HXH) + Number(option.data[i].鎶ょ嚎鐩掍笉鑹�);
+                    }
+
+                    arrmax.push(HBadReason_ZJ);
+                    arrmax.push(HBadReason_DZ);
+                    arrmax.push(HBadReason_HXH);
+                }
+
+                if (arrmax.length > 0) {
+                    var HMax = Math.max.apply(null, arrmax);
+                    var HMax_Index = arrmax.indexOf(HMax);
+                    switch (HMax_Index) {
+                        case '0':
+                            H_X.push('鍖濋棿涓嶈壇');
+                            break;
+                        case '1':
+                            H_X.push('鐢甸樆涓嶈壇');
+                            break;
+                        case '2':
+                            H_X.push('鎶ょ嚎鐩掍笉鑹�');
+                            break;
+                    }
+                }
+                console.log(H_X);
+                data_t.push(HBadReason_ZJ);
+                data_t.push(HBadReason_DZ);
+                data_t.push(HBadReason_HXH);
+                switch ($("#HDeptName").val()) {
+                    case '绾垮寘杞﹂棿':
+                        HTitle = '姝ヨ繘鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+
+                        H_X = ["鍖濋棿涓嶈壇", "鐢甸樆涓嶈壇", "鎶ょ嚎鐩掍笉鑹�"];
+                        data_t.push(HBadReason_ZJ);
+                        data_t.push(HBadReason_DZ);
+                        data_t.push(HBadReason_HXH);
+                        break;
+                    case '鍚屾杞﹂棿':
+                        HTitle = '鍚屾鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        H_X = ["鑰愬帇", "鍚煶", "鎽囪酱", "澶栬"];
+                        break;
+                    default:
+                        H_X = ["鍖濋棿涓嶈壇", "鐢甸樆涓嶈壇", "鎶ょ嚎鐩掍笉鑹�"];
+                        break;
+                }
+
+                option_ZZT = {
+                    title: {
+                        text: HTitle,
+                        left: 'center'
+                    },
+                    grid: {
+                        x: '5%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
+                        //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
+                        bottom: '5%',
+                        containLabel: true
+                    },
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'cross',
+                            crossStyle: {
+                                color: '#999'
+                            }
+                        }
+                    },
+                    toolbox: {
+                        feature: {
+                            dataView: { show: true, readOnly: false },
+                            magicType: { show: true, type: ['line', 'bar'] },
+                            restore: { show: true },
+                            saveAsImage: { show: true }
+                        },
+                        x: 'right',
+                        orient: "vertical",//宸ュ叿鏍廼con鐨勫竷灞�鏈濆悜鈥榟orizontal鈥�'vertical'
+                    },
+                    //legend: {
+                    //    data: ['鍖濋棿涓嶈壇', '鐢甸樆涓嶈壇', '鎶ょ嚎鐩掍笉鑹�','涓嶈壇鍗犳瘮'],
+                    //    top: 'bottom'
+                    //},
+                    xAxis: [
+                        {
+                            type: 'category',
+                            data: H_X,
+                            axisPointer: {
+                                type: 'shadow'
+                            }
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value',
+                            name: '涓嶈壇鍝佹暟閲�',
+                            //min: 0,
+                            //max: 150,
+                            //interval: 50,
+                            //axisLabel: {
+                            //    formatter: '{value}'
+                            //}
+                        },
+                        {
+                            type: 'value',
+                            name: '涓嶈壇鍗犳瘮%',
+                            min: 0,
+                            max: 100,
+                            interval: 10,
+                            axisLabel: {
+                                formatter: '{value} ' + '%'
+                            }
+                        }
+                    ],
+                    series: [
+                        {
+                            data: data_t,
+                            type: 'bar',
+                            name: "涓嶈壇鏁�",
+                        },
+                        {
+                            data: [65, 80, 99],
+                            type: 'line',
+                            name: "涓嶈壇鍗犳瘮",
+                        }
+                        //{
+                        //    name: '鍖濋棿涓嶈壇',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [1]
+                        //},
+                        //{
+                        //    name: '鐢甸樆涓嶈壇',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [2]
+                        //},
+                        //{
+                        //    name: '鎶ょ嚎鐩掍笉鑹�',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [4]
+                        //},
+                        //{
+                        //    name: '涓嶈壇鍗犳瘮',
+                        //    type: 'line',
+                        //    yAxisIndex: 1,
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value + ' ';
+                        //        }
+                        //    },
+                        //    data: [50,60,70]
+                        //}
+                    ]
+                };
+
+                option_ZZT && myChart.setOption(option_ZZT);
+            }
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btn-exit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//寮�濮嬫棩鏈�
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));//缁撴潫鏃ユ湡
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-490'
+                    , page: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var BeginDate = $("#HBeginDate").val();
+                var EndDate = $("#HEndDate").val();
+                var DeptName = $("#HDeptName").val();
+                var ICMOBillNo = $("#HICMOBillNo").val();
+                var SourceName = $("#HSourceName").val();
+                var DeptType = '缁曠嚎杞﹂棿';
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/ProdBadReason',
+                    type: "GET",
+                    async: false,
+                    data: { "BeginDate": BeginDate, "EndDate": EndDate, "DeptName": DeptName, "ICMOBillNo": ICMOBillNo, "SourceName": SourceName, "DeptType": DeptType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+                                    }
+                                }
+                            }
+
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_ProdBadReasonStatistics_Sum.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_ProdBadReasonStatistics_Sum.html"
new file mode 100644
index 0000000..ce766bd
--- /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_ProdBadReasonStatistics_Sum.html"
@@ -0,0 +1,581 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>鐢熶骇涓嶈壇鍘熷洜缁熻鍒嗘瀽鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <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="date" class="layui-input" name="HBeginDate" id="HBeginDate">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label">缁撴潫鏃堕棿</label>
+                                    <div class="layui-input-block">
+                                        <input type="date" class="layui-input" name="HEndDate" id="HEndDate">
+                                    </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: 120px;">
+                                        <select name="HDeptName" id="HDeptName" lay-verify="HDeptName">
+                                            <option style="color:blue;" value="绾垮寘杞﹂棿">绾垮寘杞﹂棿</option>
+                                            <option style="color:blue;" value="鍚屾杞﹂棿">鍚屾杞﹂棿</option>
+                                            <!--<option style="color:blue;" value="鍔犲伐杞﹂棿">鍔犲伐杞﹂棿</option>-->
+                                        </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: 120px;">
+                                        <input type="text" class="layui-input" name="HICMOBillNo" id="HICMOBillNo">
+                                    </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: 120px;">
+                                        <input type="text" class="layui-input" name="HSourceName" id="HSourceName">
+                                    </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>
+                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btn-exit" id="btn-exit" style="padding:0 5px">閫�鍑�</button>
+                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn" style="padding:0 5px">闅愯棌鍒楄缃�</button>-->
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;">
+
+                            </div>
+                            <div style="width:99%;height:calc(30vh);">
+                                <table class="" id="mainTable" lay-filter="mainTable"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "QC_ProdBadReasonStatistics";
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+
+            //#region 銆愭煴鐘跺浘銆�
+            function set_Graphics() {
+                var chartDom = document.getElementById('histogram');
+                var myChart = echarts.init(chartDom);
+                var option_ZZT;
+
+                //鏌辩姸鍥剧粦瀹氭暟鎹�
+                var H_X = [];//X杞存爣棰�
+                var HBadReason_ZJ = [0];//鍖濋棿涓嶈壇
+                var HBadReason_DZ = [0];//鐢甸樆涓嶈壇
+                var HBadReason_HXH = [0];//鎶ょ嚎鐩掍笉鑹�
+                var HBadReason_NY = 0;//鑰愬帇
+                var HBadReason_TY = 0;//鍚煶
+                var HBadReason_YZ = 0;//鎽囪酱
+                var HBadReason_WG = 0;//澶栬
+                var data_t = [];
+                var HTitle = "";//鍥惧舰鏍囬
+                var arrmax = [];
+                if (option.data.length > 0) {
+                    for (let i = 0; i < option.data.length; i++) {
+                        HBadReason_ZJ = Number(HBadReason_ZJ) + Number(option.data[i].鍖濋棿涓嶈壇);
+                        HBadReason_DZ = Number(HBadReason_DZ) + Number(option.data[i].鐢甸樆涓嶈壇);
+                        HBadReason_HXH = Number(HBadReason_HXH) + Number(option.data[i].鎶ょ嚎鐩掍笉鑹�);
+                    }
+
+                    arrmax.push(HBadReason_ZJ);
+                    arrmax.push(HBadReason_DZ);
+                    arrmax.push(HBadReason_HXH);
+                }
+
+                if (arrmax.length > 0) {
+                    var HMax = Math.max.apply(null, arrmax);
+                    var HMax_Index = arrmax.indexOf(HMax);
+                    switch (HMax_Index) {
+                        case '0':
+                            H_X.push('鍖濋棿涓嶈壇');
+                            break;
+                        case '1':
+                            H_X.push('鐢甸樆涓嶈壇');
+                            break;
+                        case '2':
+                            H_X.push('鎶ょ嚎鐩掍笉鑹�');
+                            break;
+                    }
+                }
+                console.log(H_X);
+                data_t.push(HBadReason_ZJ);
+                data_t.push(HBadReason_DZ);
+                data_t.push(HBadReason_HXH);
+                switch ($("#HDeptName").val()) {
+                    case '绾垮寘杞﹂棿':
+                        HTitle = '姝ヨ繘鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+
+                        H_X = ["鍖濋棿涓嶈壇", "鐢甸樆涓嶈壇", "鎶ょ嚎鐩掍笉鑹�"];
+                        data_t.push(HBadReason_ZJ);
+                        data_t.push(HBadReason_DZ);
+                        data_t.push(HBadReason_HXH);
+                        break;
+                    case '鍚屾杞﹂棿':
+                        HTitle = '鍚屾鐢垫満鐩撮�氱巼瓒嬪娍鍥�';
+                        H_X = ["鑰愬帇", "鍚煶", "鎽囪酱", "澶栬"];
+                        break;
+                    default:
+                        H_X = ["鍖濋棿涓嶈壇", "鐢甸樆涓嶈壇", "鎶ょ嚎鐩掍笉鑹�"];
+                        break;
+                }
+
+                option_ZZT = {
+                    title: {
+                        text: HTitle,
+                        left: 'center'
+                    },
+                    grid: {
+                        x: '5%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
+                        //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
+                        bottom: '5%',
+                        containLabel: true
+                    },
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'cross',
+                            crossStyle: {
+                                color: '#999'
+                            }
+                        }
+                    },
+                    toolbox: {
+                        feature: {
+                            dataView: { show: true, readOnly: false },
+                            magicType: { show: true, type: ['line', 'bar'] },
+                            restore: { show: true },
+                            saveAsImage: { show: true }
+                        },
+                        x: 'right',
+                        orient: "vertical",//宸ュ叿鏍廼con鐨勫竷灞�鏈濆悜鈥榟orizontal鈥�'vertical'
+                    },
+                    //legend: {
+                    //    data: ['鍖濋棿涓嶈壇', '鐢甸樆涓嶈壇', '鎶ょ嚎鐩掍笉鑹�','涓嶈壇鍗犳瘮'],
+                    //    top: 'bottom'
+                    //},
+                    xAxis: [
+                        {
+                            type: 'category',
+                            data: H_X,
+                            axisPointer: {
+                                type: 'shadow'
+                            }
+                        }
+                    ],
+                    yAxis: [
+                        {
+                            type: 'value',
+                            name: '涓嶈壇鍝佹暟閲�',
+                            //min: 0,
+                            //max: 150,
+                            //interval: 50,
+                            //axisLabel: {
+                            //    formatter: '{value}'
+                            //}
+                        },
+                        {
+                            type: 'value',
+                            name: '涓嶈壇鍗犳瘮%',
+                            min: 0,
+                            max: 100,
+                            interval: 10,
+                            axisLabel: {
+                                formatter: '{value} ' + '%'
+                            }
+                        }
+                    ],
+                    series: [
+                        {
+                            data: data_t,
+                            type: 'bar',
+                            name: "涓嶈壇鏁�",
+                        },
+                        {
+                            data: [65, 80, 99],
+                            type: 'line',
+                            name: "涓嶈壇鍗犳瘮",
+                        }
+                        //{
+                        //    name: '鍖濋棿涓嶈壇',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [1]
+                        //},
+                        //{
+                        //    name: '鐢甸樆涓嶈壇',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [2]
+                        //},
+                        //{
+                        //    name: '鎶ょ嚎鐩掍笉鑹�',
+                        //    type: 'bar',
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value;
+                        //        }
+                        //    },
+                        //    data: [4]
+                        //},
+                        //{
+                        //    name: '涓嶈壇鍗犳瘮',
+                        //    type: 'line',
+                        //    yAxisIndex: 1,
+                        //    tooltip: {
+                        //        valueFormatter: function (value) {
+                        //            return value + ' ';
+                        //        }
+                        //    },
+                        //    data: [50,60,70]
+                        //}
+                    ]
+                };
+
+                option_ZZT && myChart.setOption(option_ZZT);
+            }
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btn-exit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//寮�濮嬫棩鏈�
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));//缁撴潫鏃ユ湡
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-490'
+                    , page: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var BeginDate = $("#HBeginDate").val();
+                var EndDate = $("#HEndDate").val();
+                var DeptName = $("#HDeptName").val();
+                var ICMOBillNo = $("#HICMOBillNo").val();
+                var SourceName = $("#HSourceName").val();
+                var DeptType = '缁曠嚎杞﹂棿';
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/ProdBadReason_Sum',
+                    type: "GET",
+                    async: false,
+                    data: { "BeginDate": BeginDate, "EndDate": EndDate, "DeptName": DeptName, "ICMOBillNo": ICMOBillNo, "SourceName": SourceName, "DeptType": DeptType, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+                                    }
+                                }
+                            }
+
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+                //鍔犺浇鏌辩姸鍥�
+                set_Graphics();
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_ProductQtyWarningReport.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_ProductQtyWarningReport.html"
new file mode 100644
index 0000000..b692496
--- /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_ProductQtyWarningReport.html"
@@ -0,0 +1,361 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璐ㄩ噺棰勮鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <div class="layui-colla-item">
+                                <div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>
+                                <div class="layui-row">
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label" style="width: 85px;">寮�濮嬫棩鏈�</label>
+                                        <div class="layui-input-block" style="margin-left: 120px;">
+                                            <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 75px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label" style="width: 85px;">缁撴潫鏃ユ湡</label>
+                                        <div class="layui-input-block" style="margin-left: 120px;">
+                                            <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 75px;">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">閮ㄩ棬</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HDeptName" style="width:190px;">
+                                        </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 class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <table class="" 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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option = [];
+            var HModName = "QC_ProductQtyWarningReport";
+            var HDeptID = 0;
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btn-exit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //DeptName();
+                //鍒濆鍖栨棩鏈�
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();                
+           }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                //option = {
+                //    elem: '#mainTable'
+                //    , toolbar: '#toolbarDemo'
+                //    , cellMinWidth: 120
+                //    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                //    , height: 'full-70'
+                //};
+                option = {
+                    elem: '#mainTable'
+                    , toolbar: '#toolbarDemo'
+                    , height: 'full-90'
+                    , page: true
+                    , cellMinWidth: 90
+                    , limit: 50
+                    , limits: [50, 500, 5000, 20000]
+
+                }
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display(sWhere) {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+                var DeptName = $("#HDeptName").val();
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/ProductQtyWarning',
+                    type: "GET",
+                    async: false,
+                    data: { "HBeginDate": HBeginDate, "HEndDate": HEndDate, "DeptName": DeptName },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '姹囨��' });
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+                                    }
+                                }
+                            }                         
+
+                            option.cols = [col];
+                            option.data = data1.data;
+
+                            table.render(option);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HBeginDate = $("#HBeginDate").val();
+                var HEndDate = $("#HEndDate").val();
+
+                sWhere = "'" + HBeginDate + "','" + HEndDate + "'";
+
+                get_Display(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";               
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                sWhere = " ";
+                get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
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_QualityTraceabilityReport.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_QualityTraceabilityReport.html"
new file mode 100644
index 0000000..e4ac29b
--- /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_QualityTraceabilityReport.html"
@@ -0,0 +1,521 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>璐ㄩ噺杩芥函鎶ヨ〃</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/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/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" style="width:100%;height:100%;">
+        <div class="layui-col-md12" style="width:100%;height:100%;">
+            <div class="layui-card" style="padding: 1px;width:100%;height:100%;">
+                <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;">
+                    <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;">
+                        <div class="layui-collapse">
+                            <div class="layui-colla-item">
+                                <!--<div class="layui-colla-title layui-inline">
+                                    <div class="layui-inline">
+                                        <span>鏇村</span>
+                                    </div>
+                                </div>-->
+                                <div class="layui-row">
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">鐢熶骇璁㈠崟鍙�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" class="layui-input" id="HICMOBillNo" style="width:190px;">
+                                            <input type="text" class="layui-input" id="HType" value="" style="width:190px;display:none;">
+                                        </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>
+                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExit" id="btnExit" style="padding:0 5px">閫�鍑�</button>
+                                </div>
+                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+
+                                </div>
+                            </div>
+                        </div>
+                        <div>
+                            <div style="width:99%;height:calc(35vh);">
+                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">棣栦欢妫�楠屽崟</span></div>
+                                <table class="" id="mainTable_SJ" lay-filter="mainTable_SJ"></table>
+                            </div>
+                            <div style="width:99%;height:calc(35vh);">
+                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">杩囩▼妫�楠屽崟</span></div>
+                                <table class="" id="mainTable_GXJ" lay-filter="mainTable_GXJ"></table>
+                            </div>
+                            <div style="width:99%;height:calc(35vh);">
+                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">鐢熶骇姹囨姤鍗�</span></div>
+                                <table class="" id="mainTable_SC" lay-filter="mainTable_SC"></table>
+                            </div>
+                            <div style="width:99%;height:calc(35vh);">
+                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">璐ㄩ噺姹囨姤鍗�</span></div>
+                                <table class="" id="mainTable_ZL" lay-filter="mainTable_ZL"></table>
+                            </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-exit"><i class="layui-icon layui-icon-return"></i>閫�鍑�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><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'], 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
+                , util = layui.util
+            //鏌ヨ鏉′欢
+            var sWhere = "";
+            var option_SJ = [];//棣栦欢妫�楠�
+            var option_GCJ = [];//杩囩▼妫�楠�
+            var option_SC = [];//鐢熶骇姹囨姤
+            var option_ZL = [];//璐ㄩ噺姹囨姤
+            var HModName = "QC_QualityTraceabilityReport";
+            //#endregion
+
+            //#region 杩涘叆椤甸潰鏃㈠姞杞�
+
+            //鍒濆鍖栫晫闈�
+            set_ClearBill();
+
+            //#endregion
+
+            //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
+            //澶村伐鍏锋爮浜嬩欢
+            table.on('toolbar(mainTable)', function (obj) {
+                switch (obj.event) {
+                    //閫�鍑�
+                    case 'btn-exit': Pub_Close(2);
+                        break;
+                    //闅愯棌鍒楄缃�
+                    case 'HideColumn':
+                        get_HideColumn();
+                        break;
+                };
+            });
+            //閲嶇疆鎸夐挳
+            form.on('submit(btnReSearch)', function (data) {
+                set_ClearQuery();
+            });
+
+            //鏌ヨ鎸夐挳
+            form.on('submit(btnSearch)', function (data) {
+                get_FastQuery();
+            });
+
+            //閫�鍑烘寜閽�
+            form.on('submit(btnExit)', function (data) {
+                Pub_Close(2);
+            });
+
+            //鍒楄缃寜閽�
+            form.on('submit(HideColumn)', function (data) {
+                get_HideColumn();
+            });
+            //#endregion
+
+            //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
+
+            //鍒濆鍖栫晫闈�
+            function set_ClearBill() {
+                //鍒濆鍖栨椂闂�
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                //鍔犺浇鏁版嵁鍒扮綉鏍�
+                get_FastQuery();
+                //DisPlay_HideColumn();
+           }
+
+            //鍒濆鍖栬〃鏍�
+            function set_InitGrid() {
+                option_SJ = {
+                    elem: '#mainTable_SJ'
+                    //, toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-490'
+                };
+                option_GCJ = {
+                    elem: '#mainTable_GXJ'
+                    //, toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-490'
+                };
+                option_SC = {
+                    elem: '#mainTable_SC'
+                    //, toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-490'
+                };
+                option_ZL = {
+                    elem: '#mainTable_ZL'
+                    //, toolbar: '#toolbarDemo'
+                    , cellMinWidth: 120
+                    , limit: Number.MAX_VALUE // 鏁版嵁琛ㄦ牸榛樿鍏ㄩ儴鏄剧ず
+                    , height: 'full-490'
+                };
+            }
+
+            //鍔犺浇缃戞牸
+            function get_Display1(sWhere) {
+                var wait = layer.load();//閬僵
+                var HICMOBillNo = $("#HICMOBillNo").val();
+
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/QualityTraceability1',
+                    type: "GET",
+                    data: { "HICMOBillNo": HICMOBillNo, "HType": "" },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option_SJ.cols = [col];
+                            option_SJ.data = data1.data;
+                            table.render(option_SJ);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+            //鍔犺浇缃戞牸
+            function get_Display2(sWhere) {
+                var wait = layer.load();//閬僵
+                var HICMOBillNo = $("#HICMOBillNo").val();
+
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/QualityTraceability2',
+                    type: "GET",
+                    data: { "HICMOBillNo": HICMOBillNo, "HType": "" },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option_GCJ.cols = [col];
+                            option_GCJ.data = data1.data;
+                            table.render(option_GCJ);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+            //鍔犺浇缃戞牸
+            function get_Display3(sWhere) {
+                var wait = layer.load();//閬僵
+                var HICMOBillNo = $("#HICMOBillNo").val();
+
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/QualityTraceability3',
+                    type: "GET",
+                    data: { "HICMOBillNo": HICMOBillNo, "HType": "" },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option_SC.cols = [col];
+                            option_SC.data = data1.data;
+                            table.render(option_SC);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+            //鍔犺浇缃戞牸
+            function get_Display4(sWhere) {
+                var wait = layer.load();//閬僵
+                var HICMOBillNo = $("#HICMOBillNo").val();
+
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Report/QualityTraceability4',
+                    type: "GET",
+                    data: { "HICMOBillNo": HICMOBillNo, "HType": "" },
+                    success: function (data1) {
+                        var col = [];
+                        if (data1.count == 1) {
+                            var data = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍒ゆ柇鏄惁鏄函鑻辨枃
+                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
+                            for (var i = 0; i < data.length; i++) {
+                                if (!patrn.test(data[i].name)) {
+                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //闅愯棌鍒�
+                                }
+                                else {
+                                    switch (data[i].Type) {
+                                        case 'DateTime':
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option_ZL.cols = [col];
+                            option_ZL.data = data1.data;
+                            table.render(option_ZL);
+                            layer.close(wait);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+
+            //蹇�熻繃婊�
+            function get_FastQuery() {
+                var HICMOBillNo = $("#HICMOBillNo").val();
+             
+                sWhere = "'" + HICMOBillNo + "'" 
+
+                get_Display1(sWhere);
+                get_Display2(sWhere);
+                get_Display3(sWhere);
+                get_Display4(sWhere);
+                //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
+                sWhere = "";
+            }
+
+            //閲嶇疆杩囨护鏉′欢
+            function set_ClearQuery() {
+                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
+                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
+                $("#HICMOBillNo").val("");
+                sWhere = " ";
+                //get_FastQuery();
+            }
+
+            //闅愯棌鍒楄缃�
+            function get_HideColumn() {
+                var colName = "";
+                for (var i = 1; i < option.cols[0].length - 1; i++) {
+                    colName += option.cols[0][i]["title"] + ",";
+                }
+
+                colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+                layer.open({
+                    type: 2
+                    , skin: "layui-layer-rim" //鍔犱笂杈规
+                    , title: "闅愯棌鍒楄缃�"  //鏍囬
+                    , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+                    , shift: 2 //寮瑰嚭鍔ㄧ敾
+                    , area: ["50%", "90%"] //绐椾綋澶у皬
+                    , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+                    , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+                    , btn: ["纭畾", "鍙栨秷"]
+                    , btn1: function (index, laero) {
+                        //鍒锋柊琛ㄦ牸鏁版嵁
+                        DisPlay_HideColumn();
+                        //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+                        layer.close(index);//鍏抽棴寮圭獥
+                    }
+                })
+            }
+
+            //鏄剧ず鍒楁暟鎹�
+            function DisPlay_HideColumn() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+                    type: "GET",
+                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.data.length != 0) {
+
+                            var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                            var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+
+                            dataCol = data1.data[0].HGridString.split(',');
+
+                            for (var i = 0; i < option.cols[0].length - 2; i++) {
+                                var dataCols = dataCol[i].split('|');
+                                //闅愯棌鍒�
+                                if (dataCols[1] == 1) {
+                                    option.cols[0][i + 1]["hide"] = true;
+                                }
+                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                if (data1.data[0].HFontSize != 0) {
+                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                } else {
+                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                }
+                                //璁剧疆鍒楀
+                                if (dataCols[3] > 0) {
+                                    option.cols[0][i + 1]["width"] = dataCols[3];
+                                }
+                                //鏄剧ず鍒�
+                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
+                                    option.cols[0][i + 1]["hide"] = false;
+                                }
+                                //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                                switch (dataCols[2]) {
+                                    case "L":
+                                        option.cols[0][i + 1]["align"] = "left";
+                                        break;
+                                    case "M":
+                                        option.cols[0][i + 1]["align"] = "center";
+                                        break;
+                                    case "R":
+                                        option.cols[0][i + 1]["align"] = "right";
+                                        break;
+                                }
+                            }
+
+                            //鍙栨秷鍐荤粨鍒�
+                            for (var i = 1; i < option.cols[0].length - 1; i++) {
+                                if (option.cols[0][i]["fixed"] != null) {
+                                    option.cols[0][i]["fixed"] = null;
+                                }
+                                else {
+                                    break;
+                                }
+                            }
+                            //鍐荤粨鍒�
+                            if (data1.data[0].HFixCols != 0) {
+                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
+                                        data1.data[0].HFixCols += 1;
+                                    }
+                                    option.cols[0][i + 1]["fixed"] = "left";
+                                }
+                            }
+                            table.render(option);
+                        } else {
+                            table.render(option);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                })
+            }
+
+            //#endregion
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1