From 3d240d150e6e1a4e2df1a9f87d00ddd03ace4ee5 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期五, 17 一月 2025 10:06:37 +0800
Subject: [PATCH] 增加 BOM层级展开报表,修复全程追溯报表 黑白标页签导出失败,工艺路线的表头查询优化页面排序

---
 WebTM/views/质量管理/质量报表/QC_InspectionFormReport.html | 1282 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 990 insertions(+), 292 deletions(-)

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_InspectionFormReport.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_InspectionFormReport.html"
index abfd8e7..5e2b479 100644
--- "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_InspectionFormReport.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_InspectionFormReport.html"
@@ -15,6 +15,7 @@
     <script src="../../../layuiadmin/PubCustom.js"></script>
     <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
     <script src='../../../layuiadmin/lib/extend/echarts.min.js'></script>
+    <script src="../../../layuiadmin/soulTable.slim.js"></script>
     <style type="text/css">
         input.layui-input.layui-unselect {
             padding-right: 0;
@@ -55,9 +56,11 @@
                                     </div>
                                 </div>
                                 <div class="layui-inline">
-                                    <label class="layui-form-label">宸ュ簭</label>
-                                    <div class="layui-input-block" style="margin-left: 120px;">
-                                        <input type="text" class="layui-input" name="HProcName" id="HProcName">
+                                    <label class="layui-form-label">鏍锋湰鏁�</label>
+                                    <div class="layui-input-block">
+                                        <select name="limit" id="limit" lay-verify="required" lay-search class="layui-input">
+                                            <!--鍔ㄦ�佹覆鏌撹溅闂�-->
+                                        </select>
                                     </div>
                                 </div>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
@@ -69,97 +72,150 @@
                                     <div class="layui-row" style="margin-top:10px;">
                                         <!--鍏朵粬鏉′欢-->
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">鐗╂枡浠g爜</label>
+                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">鐗╂枡浠g爜</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber">
+                                                <input type="hidden" class="layui-input" lay-verify="HMaterID" name="HMaterID" id="HMaterID" value="0">
+                                                <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
+                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMaterID" id="btnHMaterID" style="padding: 0 10px; margin-right: 3px;">
+                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+                                                </button>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">鐗╂枡鍚嶇О</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName">
+                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">瑙勬牸鍨嬪彿</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" name="HMaterModel" id="HMaterModel">
+                                                <input type="text" class="layui-input" name="HMaterModel" id="HMaterModel" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">涓婇檺</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" name="HUpLoad" id="HUpLoad">
+                                                <input type="text" class="layui-input" name="HUpLimit" id="HUpLimit" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
                                     </div>
                                     <div class="layui-row" style="margin-top:5px;">
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">妫�楠岄」鐩�</label>
+                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">妫�楠岄」鐩�</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" name="HCheckItem" id="HCheckItem">
+                                                <input type="hidden" class="layui-input" lay-verify="HQCCheckItemID" name="HQCCheckItemID" id="HQCCheckItemID" value="0">
+                                                <input type="text" class="layui-input" name="HQCCheckItemNumber" id="HQCCheckItemNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
+                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHQCCheckItemID" id="btnHQCCheckItemID" style="padding: 0 10px;margin-right: 3px;">
+                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+                                                </button>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">娴嬮噺鍗曚綅</label>
+                                            <label class="layui-form-label" style="width: 85px;">绌村彿</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" id="HUnitName">
+                                                <input type="text" class="layui-input" id="HMouldNum" name="HMouldNum">
                                             </div>
                                         </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">鏍囧噯鍊�</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" id="HStandard">
+                                                <input type="text" class="layui-input" name="HTargetVal" id="HTargetVal">
                                             </div>
                                         </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 85px;">涓嬮檺</label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
-                                                <input type="text" class="layui-input" id="HDownLoad">
+                                                <input type="text" class="layui-input" name="HDownLimit" id="HDownLimit" style="background-color:#efefef4d;" readonly>
                                             </div>
                                         </div>
                                     </div>
-                                    <div class="layui-row" style="margin: 10px 0 10px;display:none;">
+                                    <div class="layui-row" style="margin-top:5px;">
                                         <div class="layui-inline">
-                                            <label class="layui-form-label">杩囨护</label>
-                                            <div class="layui-input-block">
-                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
-                                                </select>
+                                            <label class="layui-form-label" style="width: 85px;">鍧囧�兼帶鍒朵笂闄�</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HControlUpperLimit_X" id="HControlUpperLimit_X">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline" style="margin-left: 48px;">
+                                            <label class="layui-form-label" style="width: 85px;">鍧囧�兼帶鍒朵笅闄�</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HControlLowerLimit_X" id="HControlLowerLimit_X">
                                             </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
-                                                <option value="0" selected="selected"></option>
-                                                <option value="=">=</option>
-                                                <option value=">=">>=</option>
-                                                <option value=">">></option>
-                                                <option value="<="><=</option>
-                                                <option value="<"><</option>
-                                                <option value="<>"><></option>
-                                                <option value="7">鍖呭惈</option>
-                                                <option value="8">宸﹀寘鍚�</option>
-                                                <option value="9">鍙冲寘鍚�</option>
-                                                <option value="10">涓嶅寘鍚�</option>
-                                            </select>
+                                            <label class="layui-form-label" style="width: 85px;">X涓績绾�</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HCenterline_X" id="HCenterline_X">
+                                            </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
+                                            <label class="layui-form-label" style="width: 85px;">锛帮及锛�</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HPPK" id="HPPK" style="background-color:#efefef4d;" readonly>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-row" style="margin-top:5px;">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">鏋佸樊鎺у埗涓婇檺</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HControlUpperLimit_S" id="HControlUpperLimit_S">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline" style="margin-left: 48px;">
+                                            <label class="layui-form-label" style="width: 85px;">鏋佸樊鎺у埗涓嬮檺</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HControlLowerLimit_S" id="HControlLowerLimit_S">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">S涓績绾�</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HCenterline_S" id="HCenterline_S">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">C P K</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" id="HCPK" name="HCPK" style="background-color:#efefef4d;" readonly>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
                             </div>
                         </div>
-                        <div>
+                        <div class="layui-tab layui-tab-card">
                             <table class="" id="mainTable" lay-filter="mainTable"></table>
-                            <div id="histogram_Avg" style="width:99.5%;height:calc(35vh);margin-top:5px;">
+                            <ul class="layui-tab-title">
+                                <li class="layui-this">x虅绠″埗鍥�</li>
+                                <li>R绠″埗鍥�</li>
+                                <li>妫�娴嬪��</li>
+                            </ul>
+                            <div class="layui-tab-content">
+                                <div class="layui-tab-item layui-show">
+                                    <!--x虅绠″埗鍥�-->
+                                    <div id="histogram_Avg" style="width: 99.5%; height: calc(100vh);">
 
-                            </div>
-                            <div id="histogram_Diff" style="width:99.5%;height:calc(35vh);margin-top:5px;">
+                                    </div>
+                                </div>
+                                <div class="layui-tab-item layui-show">
+                                    <!--R绠″埗鍥�-->
+                                    <div id="histogram_Diff" style="width: 99.5%; height: calc(100vh);">
 
+                                    </div>
+                                </div>
+                                <div class="layui-tab-item layui-show">
+                                    <!--妫�娴嬪��-->
+                                    <div id="histogram_SJZ" style="width: 99.5%; height: calc(100vh);">
+
+                                    </div>
+                                </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_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>瀵煎嚭</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-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>
@@ -175,7 +231,7 @@
             base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
         }).extend({
             index: 'lib/index', //涓诲叆鍙fā鍧�
-        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
+        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable'], function () {
 
             //#region 鍏叡鍙橀噺
             var $ = layui.$
@@ -187,10 +243,16 @@
                 , laypage = layui.laypage
                 , laydate = layui.laydate
                 , util = layui.util
+                , soulTable = layui.soulTable
             //鏌ヨ鏉′欢
             var sWhere = "";
             var option = [];
+            var ins;                //鐢ㄤ簬瀵煎嚭excel
             var HModName = "QC_InspectionFormReport";
+            var optionAVG = [];
+            var optionS = [];
+            var optionSJZ = [];
+            var HQCCheckNum = [];
             //#endregion
 
             //#region 杩涘叆椤甸潰鏃㈠姞杞�
@@ -200,7 +262,7 @@
 
             //#endregion
 
-          
+
 
             //#region 鐐瑰嚮浜嬩欢鍖呮嫭on form浜嬩欢绛�
             //澶村伐鍏锋爮浜嬩欢
@@ -213,8 +275,25 @@
                     case 'HideColumn':
                         get_HideColumn();
                         break;
+                    //瀵煎嚭鎸夐挳
+                    case 'btn_Export': btn_Export();
+                        break;
                 };
             });
+
+            //#region 浜у搧缂栫爜
+            form.on('submit(btnHMaterID)', function (data) {
+                btnHMaterID();
+            });
+            //#endregion
+
+            //#region 妫�楠岄」鐩�
+            form.on('submit(btnHQCCheckItemID)', function (data) {
+                btnCheckProjectList(2);
+                btnHQCCheckItemID();
+            });
+            //#endregion
+
             //閲嶇疆鎸夐挳
             form.on('submit(btnReSearch)', function (data) {
                 set_ClearQuery();
@@ -261,7 +340,7 @@
                     }
                 });
             });
-          
+
             //#endregion
 
             //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
@@ -269,13 +348,12 @@
             //鍒濆鍖栫晫闈�
             function set_ClearBill() {
                 get_Dept();
+                get_Limit();
                 //鍒濆鍖栨椂闂�
                 $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 10), "yyyy-MM-dd"));//寮�濮嬫棩鏈�
                 $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));//缁撴潫鏃ユ湡
                 //鍒濆鍖栬〃鏍�
                 set_InitGrid();
-                //鍔犺浇鏁版嵁鍒扮綉鏍�
-                get_Display();
                 //get_FastQuery();
                 DisPlay_HideColumn();
                 set_Line();
@@ -283,87 +361,61 @@
 
             //鍒濆鍖栬〃鏍�
             function set_InitGrid() {
+                var columns = [];
+
+                //columns.push({ type: 'numbers', title: '搴忓彿' });
+                columns.push({ field: "Id", title: "搴忓彿", width: 70 });
+
+                //鑾峰彇涓や釜鏈堟湡涔嬮棿鐨勭浉宸�
+                var time1 = Date.parse(new Date($("#HBeginDate").val()));//寮�濮嬫椂闂�
+                var time2 = Date.parse(new Date($("#HEndDate").val()));//缁撴潫鏃堕棿
+                var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
+                //鑾峰彇骞�
+                var yyyy = new Date($("#HBeginDate").val()).getFullYear();
+                //鑾峰彇鏈堜唤
+                var MM = new Date($("#HBeginDate").val()).getMonth() + 1;
+                //鑾峰彇寮�濮嬫湀浠界殑鏈�澶уぉ鏁�
+                var SumMonth = new Date(yyyy, MM, 0).getDate(); //鍔ㄦ�佷袱鏈堜箣宸�
+                //鑾峰彇寮�濮嬫棩鏈熺殑澶╂暟
+                var HBEGINDATE = new Date(new Date($("#HBeginDate").val())).getDate(); //鑾峰彇寮�濮嬫棩鏈熷ぉ鏁�
+
+                var k = 0;//鏀堕泦寰幆娆℃暟
+                for (var j = 0; j <= (Days - k); j++) {
+                    columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 120 })
+                    //璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
+                    if (MM == 12 && (HBEGINDATE + j) == 31) {
+                        yyyy += 1;
+                        MM = 1;
+                        SumMonth = new Date(yyyy, MM, 0).getDate();
+                        HBEGINDATE = 0;
+                        k += j;
+                        j = 0;
+                    } else if ((HBEGINDATE + j) == SumMonth) { //璺ㄦ湀 鏈堟暟鍔犱竴  澶╂暟浠庝竴寮�濮�
+                        HBEGINDATE = 0;
+                        MM += 1;
+                        SumMonth = new Date(yyyy, MM, 0).getDate();
+                        k += j;
+                        j = 0;
+                    }
+                }
+
                 option = {
                     elem: '#mainTable'
                     , toolbar: '#toolbarDemo'
-                    , height: 'full-430'
-                    //, page: true
-                    , totalRow: true
-                    , cellMinWidth: 70
-                    , limit: 50
-                    , limits: [50, 500, 5000, 20000]
-                    , cols: [[
-                        { type: 'checkbox', fixed: 'left', totalRowText: '鈭慩' }
-                        ,{ field: 'xh', title: '搴忓彿' }
-                        , { field: '1', title: '1' , totalRow: true}
-                        , { field: '2', title: '2' , totalRow: true}
-                        , { field: '3', title: '3' , totalRow: true}
-                        , { field: '4', title: '4' , totalRow: true}
-                        , { field: '5', title: '5' , totalRow: true}
-                        , { field: '6', title: '6' , totalRow: true}
-                        , { field: '7', title: '7' , totalRow: true}
-                        , { field: '8', title: '8' , totalRow: true}
-                        , { field: '9', title: '9', totalRow: true}
-                        , { field: '10', title: '10' , totalRow: true}
-                        , { field: '11', title: '11' , totalRow: true}
-                        , { field: '12', title: '12' , totalRow: true}
-                        , { field: '13', title: '13' , totalRow: true}
-                        , { field: '14', title: '14' , totalRow: true}
-                        , { field: '15', title: '15' , totalRow: true}
-                        , { field: '16', title: '16' , totalRow: true}
-                        , { field: '17', title: '17' , totalRow: true}
-                        , { field: '18', title: '18' , totalRow: true}
-                        , { field: '19', title: '19' , totalRow: true}
-                        , { field: '20', title: '20' , totalRow: true}
-                        , { field: '21', title: '21' , totalRow: true}
-                        , { field: '22', title: '22' , totalRow: true}
-                        , { field: '23', title: '23' , totalRow: true}
-                        , { field: '24', title: '24' , totalRow: true}
-                        , { field: '25', title: '25', totalRow: true}
-                    ]]
-                    , data: []
-                }
-                var sj = [];
-                for (let i = 0; i < 5; i++) {
-                    var obj = {
-                        xh : i+1,
-                        1: (Math.random() * (15 - 13) ).toFixed(2),
-                        2: (Math.random() * (15 - 13) ).toFixed(2),
-                        3: (Math.random() * (15 - 13) ).toFixed(2),
-                        4: (Math.random() * (15 - 13) ).toFixed(2),
-                        5: (Math.random() * (15 - 13) ).toFixed(2),
-                        6: (Math.random() * (15 - 13) ).toFixed(2),
-                        7: (Math.random() * (15 - 13) ).toFixed(2),
-                        8: (Math.random() * (15 - 13) ).toFixed(2),
-                        9: (Math.random() * (15 - 13) ).toFixed(2),
-                        10: (Math.random() * (15 - 13) ).toFixed(2),
-                        11: (Math.random() * (15 - 13) ).toFixed(2),
-                        12: (Math.random() * (15 - 13) ).toFixed(2),
-                        13: (Math.random() * (15 - 13) ).toFixed(2),
-                        14: (Math.random() * (15 - 13) ).toFixed(2),
-                        15: (Math.random() * (15 - 13) ).toFixed(2),
-                        16: (Math.random() * (15 - 13) ).toFixed(2),
-                        17: (Math.random() * (15 - 13) ).toFixed(2),
-                        18: (Math.random() * (15 - 13) ).toFixed(2),
-                        19: (Math.random() * (15 - 13) ).toFixed(2),
-                        20: (Math.random() * (15 - 13) ).toFixed(2),
-                        21: (Math.random() * (15 - 13) ).toFixed(2),
-                        22: (Math.random() * (15 - 13) ).toFixed(2),
-                        23: (Math.random() * (15 - 13) ).toFixed(2),
-                        24: (Math.random() * (15 - 13) ).toFixed(2),
-                        25: (Math.random() * (15 - 13) ).toFixed(2)
-                    };
-                    sj.push(obj);
-                }
-                option.data = sj;
-
-
+                    , height: 'full-50'
+                    , cellMinWidth: 90
+                    , limit: 500
+                    , loading: false
+                    , cols: [columns]
+                    , done: function (res, curr, count) {
+                        soulTable.render(this);
+                    }
+                };
                 table.render(option);
             }
 
             //鍔犺浇缃戞牸
             function get_Display(sWhere) {
-                sWhere = $("#HYear").val();
                 var wait = layer.load();//閬僵
                 $.ajax({
                     url: GetWEBURL() + '/QC_CustomerAppealReport/QC_InspectionFormReport',
@@ -371,36 +423,35 @@
                     async: false,
                     data: { "sWhere": sWhere, "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 });
-                                    }
-                                }
-                            }
-
-                            option.cols = [col];
-                            option.data = data1.data;
-
-                            table.render(option);
                             layer.close(wait);
+                            var limit = parseInt($("#limit").val());//鏍锋湰鏁�
+                            if (limit > data1.data.length - 3) {
+                                layer.msg("鍙栨牱鏁伴噺瓒呰繃瀹為檯鏁伴噺!", { icon: 5 });
+                            } else {
+                                var data = [];//鍒楀瓧娈垫暟鎹�
+                                var col = [];
+                                var totalArray = [];
+                                //缁欑┖鐨勬暟缁勮祴鍊�
+                                for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+                                    data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+                                }
+                                for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                }
+
+                                option.cols = [col];
+                                option.data = data1.data;
+                                optionSJZ[0] = data1.data[0];
+                                optionAVG[0] = data1.data[limit + 1];
+                                optionS[0] = data1.data[limit + 2];
+                                table.render(option);
+                                ins = table.render(option);
+                                set_PPK();
+                                set_CPK();
+                                set_Line();
+                            }
+
                         } else {
                             layer.close(wait);
                             layer.alert(data1.Message, { icon: 5 });
@@ -412,6 +463,257 @@
                 });
             }
 
+            //PPK璁$畻 x
+            function set_PPK() {
+                var x_AVG = 0;
+                var x_SUM = 0;
+                var x_PPK = 0;
+                var x_CPK = 0;
+                var numCount = 0
+                var c4 = [0.7979, 0.8862, 0.9213, 0.9400, 0.9515, 0.9594, 0.9650, 0.9693, 0.9727, 0.9754, 0.9776, 0.9794, 0.9810, 0.9823, 0.9835, 0.9845, 0.9854, 0.9862, 0.9869, 0.9876, 0.9882, 0.9887, 0.9892, 0.9896];
+
+                for (var j = 1; j < option.cols[0].length; j++) {
+                    if (optionAVG.length != 0 || optionS.length != 0) {
+                        x_AVG = calc(x_AVG, parseFloat(optionAVG[0][option.cols[0][j].field]), "+");
+                    }
+                }
+                x_AVG = calc(x_AVG, (option.cols[0].length - 1), "/");
+                x_AVG = $("#HCenterline_X").val() == "" ? x_AVG : parseFloat($("#HCenterline_X").val());
+                $("#HCenterline_X").val(x_AVG.toFixed(5));
+
+                for (var i = 1; i < option.cols[0].length; i++) {
+                    for (var j = 0; j < option.data.length - 3; j++) {
+                        numCount += 1;
+                        x_SUM = calc(x_SUM, parseFloat(((parseFloat(option.data[j][option.cols[0][i].field]) - x_AVG) ** 2).toFixed(6)), "+")
+
+                    }
+                }
+
+                x_PPK = Math.sqrt(calc(x_SUM, (numCount - 1), "/"));
+                x_CPK = Math.sqrt(calc(x_SUM, numCount, "/"));
+                var limit = $("#limit").val();
+                if (parseInt(limit) >= 9) {
+                    $("#HCenterline_S").val(x_PPK.toFixed(4));
+                }
+
+                //鍧囧�� 鎺у埗涓婇檺 鎺у埗涓嬮檺
+                if (limit == 1) {
+                    $("#HControlUpperLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "+").toFixed(5))
+                    $("#HControlLowerLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "-").toFixed(5))
+
+                    //璁$畻鏍锋湰閲忎负1 鐨� ppk
+                    var min = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(3, x_PPK, "*"), "/");
+                    var max = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(3, x_PPK, "*"), "/");
+                    var DataHCPK = min > max ? max : min;
+                    $("#HPPK").val(DataHCPK);
+
+                    //璁$畻鏍锋湰閲忎负1 鐨� cpk
+                  
+                    var cpkSum = 0;
+                    var CPK_U = 0;
+                    var CPK_N = 0;
+                    for (var i = 1; i < option.cols[0].length; i++) {
+                        for (var j = 0; j < option.data.length - 3; j++) {
+                            if (i == 1) {
+                                CPK_U = option.data[j][option.cols[0][i].field];
+                            } else {
+                                CPK_N = option.data[j][option.cols[0][i].field];
+                                var data_un = CPK_U > CPK_N ? calc(CPK_U, CPK_N, "-") : calc(CPK_N, CPK_U, "-");
+                                cpkSum = calc(cpkSum, data_un, "+");
+                                CPK_U = CPK_N;
+                            }
+                        }
+                    }
+                    cpkSum = calc(cpkSum, option.cols[0].length - 2, "/");
+                    var HAVG_CPK = calc(cpkSum, 1.128, "/");
+
+                    min = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(3, HAVG_CPK, "*"), "/");
+                    max = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(3, HAVG_CPK, "*"), "/");
+                    DataHCPK = min > max ? max : min;
+
+                    $("#HCPK").val(DataHCPK);
+                } else {
+                    //涓婇檺
+                    if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
+                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
+                        $("#HPPK").val(HUpLimit.toFixed(4));
+                    }
+                    //涓嬮檺
+                    else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
+                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
+                        $("#HPPK").val(HDownLimit.toFixed(4));
+                    } else {
+                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
+                        var HDownLimit = (x_AVG - calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+")) / ((3 * x_PPK) / c4[option.data.length - 4]);
+                        $("#HPPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
+                    }
+                }
+            }
+
+            //CPK璁$畻 s
+            function set_CPK() {
+                var x_AVG = 0;
+                var s_AVG = 0;
+                var s_CPK = 0;
+                var d2 = [1.128, 1.693, 2.059, 2.326, 2.534, 2.704, 2.847, 3.078, 3.173, 3.258, 3.336, 3.407, 3.472, 3.532, 3.588, 3.640, 3.689, 3.735, 3.778, 3.819, 3.858, 3.895, 3.931];
+                var A2 = [0,1.880, 1.023, 0.729, 0.577, 0.483, 0.419, 0.373, 0.337, 0.308];
+                var D3 = [0,0.000, 0.000, 0.000, 0.000, 0.000, 0.076, 0.136, 0.184, 0.223];
+                var D4 = [0,3.267, 2.574, 2.282, 2.114, 2.004, 1.924, 1.864, 1.816, 1.777];
+
+                for (var j = 1; j < option.cols[0].length; j++) {
+                    if (optionAVG.length != 0 || optionS.length != 0) {
+                        s_AVG = calc(s_AVG, parseFloat(optionS[0][option.cols[0][j].field]), "+");
+                    }
+                }
+                s_AVG = calc(s_AVG, (option.cols[0].length - 1), "/")
+                s_AVG = $("#HCenterline_S").val() == "" || "0" ? s_AVG : parseFloat($("#HCenterline_S").val());
+                $("#HCenterline_S").val(s_AVG);
+
+                var limit = $("#limit").val();
+                if (parseInt(limit) < 9) {
+                    $("#HCenterline_S").val(s_AVG.toFixed(4));
+                }
+
+                for (var j = 1; j < option.cols[0].length; j++) {
+                    if (optionAVG.length != 0 || optionS.length != 0) {
+                        x_AVG = calc(x_AVG, parseFloat(optionAVG[0][option.cols[0][j].field]), "+");
+                    }
+                }
+                x_AVG = calc(x_AVG, (option.cols[0].length - 1), "/");
+                x_AVG = $("#HCenterline_X").val() == "" ? x_AVG : parseFloat($("#HCenterline_X").val());
+                $("#HCenterline_X").val(x_AVG.toFixed(5));
+
+                s_CPK = calc(s_AVG, d2[option.data.length - 4], "/");
+
+                //鍧囧�� 鎺у埗涓婇檺 鎺у埗涓嬮檺
+                if (limit > 1) {
+                    $("#HControlUpperLimit_X").val(calc(x_AVG, calc(A2[$("#limit").val() - 1], s_AVG, "*"), "+").toFixed(5))
+                    $("#HControlLowerLimit_X").val(calc(x_AVG, calc(A2[$("#limit").val() - 1], s_AVG, "*"), "-").toFixed(5))
+                }
+           
+                //宸�� 鎺у埗涓婇檺 鎺у埗涓嬮檺
+                $("#HControlUpperLimit_S").val(calc(D4[$("#limit").val() - 1], s_AVG, "*").toFixed(5));
+                $("#HControlLowerLimit_S").val(calc(D3[$("#limit").val() - 1], s_AVG, "*").toFixed(5));
+                var limit = $("#limit").val();
+
+                if (limit > 1) {
+                    //涓婇檺
+                    if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
+                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
+                        $("#HCPK").val(HUpLimit.toFixed(4));
+                    }
+                    //涓嬮檺
+                    else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
+                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
+                        $("#HCPK").val(HDownLimit.toFixed(4));
+                    } else {
+                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
+                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
+                        if (s_CPK == 0) {
+                            $("#HCPK").val(0);
+                        } else {
+                            $("#HCPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
+                        }
+
+                    }
+                }
+            }
+
+            function calc(num1, num2, calcStr) {
+                var str1, // 杞崲涓哄瓧绗︿覆鐨勬暟瀛�
+                    str2,
+                    ws1 = 0,// ws1锛寃s2 鐢ㄦ潵瀛樺偍浼犲叆鐨刵um鐨勫皬鏁扮偣鍚庣殑鏁板瓧鐨勪綅鏁�
+                    ws2 = 0,// 璧嬮粯璁ゅ�硷紝瑙e喅褰撴暣鏁板拰灏忔暟杩愮畻鏃跺�嶆暟璁$畻閿欒瀵艰嚧鐨勭粨鏋滆宸�
+                    bigger,// bigger鍜宻maller鐢ㄤ簬鍔狅紝鍑忥紝闄ゆ硶鎵惧嚭灏忕殑閭d釜鏁板瓧锛岀粰鍚庨潰琛�0锛岃В鍐充綅鏁颁笉瀵逛粠鑰岄�犳垚鐨勮绠楅敊璇殑闂锛涗箻娉曢渶瑕佸皢缁撴灉闄や袱涓暟瀛楃殑鍊嶆暟涔嬪拰
+                    smaller,// 渚嬪锛氬姞鍑忛櫎娉曚腑1.001 + 2.03 锛屽鏋滀笉缁�2.03杩涜琛�0锛屾渶鍚庝細鍙樻垚1001+203锛屾暟瀛楅敊浣嶅鑷寸粨鏋滈敊璇紱涔樻硶涓�1.12*1.1浼氭斁澶т负112*11锛屾墍浠ョ粨鏋滈渶瑕侀櫎浠�1000鎵嶄細鏄纭殑缁撴灉锛�112*11/1000=1.232
+                    zeroCount, // 闇�瑕佽ˉ鍏�0鐨勪釜鏁�
+                    isExistDot1, // 浼犲叆鐨勬暟瀛楁槸鍚﹀瓨鍦ㄥ皬鏁扮偣
+                    isExistDot2,
+                    sum,
+                    beishu = 1;
+                // 灏嗘暟瀛楄浆鎹负瀛楃涓�
+                str1 = num1.toString();
+                str2 = num2.toString();
+                // 鏄惁瀛樺湪灏忔暟鐐癸紙鍒ゆ柇闇�瑕佽绠楃殑鏁板瓧鏄笉鏄寘鍚皬鏁帮級
+                isExistDot1 = str1.indexOf('.') != -1 ? true : false;
+                isExistDot2 = str2.indexOf('.') != -1 ? true : false;
+                // 鍙栧皬鏁扮偣鍚庨潰鐨勪綅鏁�
+                if (isExistDot1) {
+                    ws1 = str1.split('.')[1].length;
+                }
+
+                if (isExistDot2) {
+                    ws2 = str2.split('.')[1].length;
+                }
+                // 濡倃s1 鍜� ws2 鏃犻粯璁ゅ�硷紝濡傛灉num1 鎴� num2 涓嶆槸灏忔暟鐨勮瘽鍒� ws1 鎴� ws2 鐨勫�煎皢涓� undefined
+                // bigger 鍜� smaller 鐨勫�间細鍜岄鏈熶笉绗�
+                bigger = ws1 > ws2 ? ws1 : ws2;
+                smaller = ws1 < ws2 ? ws1 : ws2;
+
+                switch (calcStr) {
+                    // 鍔犲噺娉曟壘鍑哄皬鐨勯偅涓暟瀛楋紝缁欏悗闈㈣ˉ0锛岃В鍐充綅鏁颁笉瀵逛粠鑰岄�犳垚鐨勮绠楅敊璇殑闂
+                    // 渚嬪锛�1.001 + 2.03 锛屽鏋滀笉缁�2.03杩涜琛�0锛屾渶鍚庝細鍙樻垚1001+203锛屾暟瀛楅敊浣嶅鑷寸粨鏋滈敊璇�
+                    case "+":
+                    case "-":
+                    case "/":
+                        zeroCount = bigger - smaller;
+                        for (var i = 0; i < zeroCount; i++) {
+                            if (ws1 == smaller) {
+                                str1 += "0";
+                            }
+                            else {
+                                str2 += "0";
+                            }
+                        }
+                        break;
+                    case "*":
+                        // 涔樻硶闇�瑕佸皢缁撴灉闄や袱涓暟瀛楃殑鍊嶆暟涔嬪拰
+                        bigger = bigger + smaller;
+                        break;
+                    default:
+                        return "鏆備笉鏀寔鐨勮绠楃被鍨嬶紝鐜板凡鏀寔鐨勬湁鍔犳硶銆佸噺娉曘�佷箻娉曘�侀櫎娉�";
+                        break;
+                }
+
+                // 鍘婚櫎鏁板瓧涓殑灏忔暟鐐�
+                str1 = str1.replace('.', '');
+                str2 = str2.replace('.', '');
+
+                // 璁$畻鍊嶆暟锛屼緥濡傦細1.001灏忔暟鐐瑰悗鏈変笁浣嶏紝鍒欓渶瑕佷箻 1000 鍙樻垚 1001锛屽彉鎴愭暣鏁板悗绮惧害涓㈠け闂鍒欎笉浼氬瓨鍦�
+                for (var i = 0; i < bigger; i++) {
+                    beishu *= 10; // 绛変环浜巄eishu = beishu * 10;
+                }
+                num1 = parseInt(str1);
+                num2 = parseInt(str2);
+                // 杩涜鏈�缁堣绠楀苟闄ょ浉搴斿�嶆暟
+                switch (calcStr) {
+                    case "+":
+                        sum = (num1 + num2) / beishu;
+                        break;
+                    case "-":
+                        sum = (num1 - num2) / beishu;
+                        break;
+                    case "*":
+                        sum = (num1 * num2) / beishu;
+                        break;
+                    case "/":
+                        sum = num1 / num2;
+                        /* 闄ゆ暟涓庤闄ゆ暟鍚屾椂鏀惧ぇ涓�瀹氬�嶆暟锛屼笉褰卞搷缁撴灉锛�
+                        鎵�浠ュ鏁板瓧杩涜鏀惧ぇ瀵瑰簲鍊嶆暟骞惰繘琛岃ˉ0鎿嶄綔鍚庝笉鐢ㄥ彟瀵瑰�嶆暟鍋氬鐞� */
+                        break;
+                    default:
+                        return "鏆備笉鏀寔鐨勮绠楃被鍨嬶紝鐜板凡鏀寔鐨勬湁鍔犳硶銆佸噺娉曘�佷箻娉曘�侀櫎娉�";
+                }
+
+                return sum;
+            }
+
+            //#region 瀵煎嚭Execel
+            function btn_Export() {
+                table.exportFile(ins.config.id, option.data, "xls");
+            }
+            //#endregion
+
             //鎶樼嚎鍥�
             function set_Line() {
                 //#region銆愭姌绾垮浘銆�
@@ -422,21 +724,50 @@
 
                 let H_X = [];//x杞存爣棰�
                 let HAvg = [];//骞冲潎鍊�
+                let HDifference = [];//宸��
+                let HSJZ = [];//瀹為檯鍊�
 
-                for (let i = 1; i <= 25; i++) {
-                    H_X.push(i);
-                }
+                var judge = spc_judge();
 
-                for (let j = 1; j <= 25; j++) {
-                    var avg = 0;
-                    for (let i = 0; i < option.data.length; i++) {
-                        avg += Number(option.data[i][j]);
+                for (var j = 1; j < option.cols[0].length; j++) {
+                    if (optionAVG.length != 0 || optionS.length != 0) {
+                        if ($.inArray(optionAVG[0][option.cols[0][j].field], judge) != -1) {
+                            var data = { value: optionAVG[0][option.cols[0][j].field], itemStyle: { color: 'red' } };
+                            HAvg.push(data);
+                        } else {
+                            HAvg.push(optionAVG[0][option.cols[0][j].field]);
+                        }
+                      
+                        HDifference.push(optionS[0][option.cols[0][j].field]);
+                        HSJZ.push(optionSJZ[0][option.cols[0][j].field]);
+                    } else {
+                        HAvg.push(0);
+                        HDifference.push(0);
+                        HSJZ.push(0);
                     }
-                    avg = avg / option.data.length;
-                    HAvg.push(avg.toFixed(2));
                 }
+
+                for (let i = 1; i < option.cols[0].length; i++) {
+                    H_X.push(option.cols[0][i].field);
+                }
+                var max = Math.max.apply(null, HSJZ);
+                var min = Math.min.apply(null, HSJZ);
+
+                var sum = 0;
+                $.each(HSJZ, function (index, value) {
+                    sum += value;
+                });
+                var average = sum / HSJZ.length;
+
+                var HAreaValue = calc(calc(parseFloat($("#HControlUpperLimit_X").val()), parseFloat($("#HCenterline_X").val()), "-"), 3, "/").toFixed(5);
+                var HAreaValue_A = HAreaValue * 2;
+                var HAreaValue_B = HAreaValue * 1;
 
                 option_ZXT_Avg = {
+                    title: {
+                        text: 'x虅绠″埗鍥�',
+                        left: 'center'
+                    },
                     grid: {
                         x: '3%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
                         //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
@@ -448,34 +779,59 @@
                         data: H_X
                     },
                     yAxis: {
-                        type: 'value'
+                        type: 'value',
+                        min: parseFloat($("#HDownLimit").val()) != 0 ? calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HDownLimit").val()), 1.1, "*"), "+") : 0, // 璁剧疆鏈�灏忓��
+                        max: calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HUpLimit").val()), 1.1, "*"), "+"), // 璁剧疆鏈�澶у��
+                        interval: calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HDownLimit").val()), "-"), 10, "/"), // 璁剧疆闂磋窛
                     },
                     series: [
                         {
                             data: HAvg,
                             type: 'line',
-                            areaStyle: {//濉厖鐨勯鑹�
-                                color: {//绾挎�ф笎鍙樺墠鍥涗釜鍙傛暟鍒嗗埆鏄� x0, y0, x2, y2, 鑼冨洿浠� 0 - 1锛岀浉褰撲簬鍦ㄥ浘褰㈠寘鍥寸洅涓殑鐧惧垎姣旓紝濡傛灉 globalCoord 涓� `true`锛屽垯璇ュ洓涓�兼槸缁濆鐨勫儚绱犱綅缃�
-                                    type: 'linear',
-                                    x: 0,
-                                    y: 1,
-                                    x2: 0,
-                                    y2: 0,
-                                    colorStops: [{
-                                        offset: 0, color: 'rgba(232,247,247)' // 0% 澶勭殑棰滆壊
-                                    }, {
-                                        offset: 1, color: 'rgba(183,252,252)' // 100% 澶勭殑棰滆壊
-                                    }],
-                                    globalCoord: false// 缂虹渷涓� false
+                            itemStyle: {
+                                normal: {
+                                    label: {
+                                        show: true
+                                    }
                                 }
                             },
                             markLine: {
                                 symbol: 'none',//鍘绘帀绠ご
                                 data: [
-                                    { type: 'max', name: 'Max', lineStyle: { color: 'red' } },
-                                    { type: 'average', name: 'Avg', lineStyle: { color: 'blue' } },
-                                    { type: 'min', name: 'Min', lineStyle: { color: 'green' } },
-                                ]
+                                    {
+                                        name: 'USL', yAxis: parseFloat($("#HTargetVal").val()) + parseFloat($("#HUpLimit").val()), lineStyle: { color: '#FF1D00' }, label: { color: '#FF1D00', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'LSL', yAxis: parseFloat($("#HTargetVal").val()) + parseFloat($("#HDownLimit").val()), lineStyle: { color: '#FF1D00' }, label: { color: '#FF1D00', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'UCL', yAxis: parseFloat($("#HControlUpperLimit_X").val()), lineStyle: { color: '#ff9145' }, label: { color: '#ff9145', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'LCL', yAxis: parseFloat($("#HControlLowerLimit_X").val()), lineStyle: { color: '#ff9145' }, label: { color: '#ff9145', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: 'CL', yAxis: parseFloat($("#HCenterline_X").val()), lineStyle: { color: '#000000' }, label: { color: '#000000', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: 'B', yAxis: parseFloat($("#HCenterline_X").val()) + HAreaValue_A, lineStyle: { color: '#6dadf0' }, label: { color: '#6dadf0', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: '-B', yAxis: parseFloat($("#HCenterline_X").val()) - HAreaValue_A, lineStyle: { color: '#6dadf0' }, label: { color: '#6dadf0', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: 'C', yAxis: parseFloat($("#HCenterline_X").val()) + HAreaValue_B, lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: '-C', yAxis: parseFloat($("#HCenterline_X").val()) - HAreaValue_B, lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                ],
+                                precision: 3
                             },
                         }
                     ]
@@ -487,21 +843,11 @@
                 var myChart = echarts.init(chartDom);
                 var option_ZXT_Diff;
 
-                let HDifference = [];//宸��
-                var HArr = []; //瑁呮楠屽��
-
-                for (let j = 1; j <= 25; j++) {
-                    HArr = [];
-                    for (let i = 0; i < option.data.length; i++) {
-                        HArr.push(option.data[i][j]);
-                    }
-                    var HMaxValue = Math.max(...HArr);//鑾峰彇鏁扮粍涓殑鏈�澶у��
-                    var HMinValue = Math.min(...HArr);//鑾峰彇鏁扮粍涓殑鏈�灏忓��
-                    HDifference.push(Number(HMaxValue) - Number(HMinValue));
-                }
-
-
                 option_ZXT_Diff = {
+                    title: {
+                        text: 'R绠″埗鍥�',
+                        left: 'center'
+                    },
                     grid: {
                         x: '3%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
                         //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
@@ -513,41 +859,344 @@
                         data: H_X
                     },
                     yAxis: {
-                        type: 'value'
+                        type: 'value',
+                        min: 0, // 璁剧疆鏈�灏忓��
+                        max: parseFloat($("#HControlUpperLimit_S").val()) != 0 ? calc(parseFloat($("#HControlUpperLimit_S").val()), 1.1, "*") : 0, // 璁剧疆鏈�澶у��
+                        interval: calc(parseFloat($("#HControlUpperLimit_S").val()).toFixed(5), 10, "/"), // 璁剧疆闂磋窛
                     },
                     series: [
                         {
                             data: HDifference,
                             type: 'line',
-                            areaStyle: {//濉厖鐨勯鑹�
-                                color: {//绾挎�ф笎鍙樺墠鍥涗釜鍙傛暟鍒嗗埆鏄� x0, y0, x2, y2, 鑼冨洿浠� 0 - 1锛岀浉褰撲簬鍦ㄥ浘褰㈠寘鍥寸洅涓殑鐧惧垎姣旓紝濡傛灉 globalCoord 涓� `true`锛屽垯璇ュ洓涓�兼槸缁濆鐨勫儚绱犱綅缃�
-                                    type: 'linear',
-                                    x: 0,
-                                    y: 1,
-                                    x2: 0,
-                                    y2: 0,
-                                    colorStops: [{
-                                        offset: 0, color: 'rgba(255,240,170,0)' // 0% 澶勭殑棰滆壊
-                                    }, {
-                                        offset: 1, color: 'rgba(255,240,170,1)' // 100% 澶勭殑棰滆壊
-                                    }],
-                                    globalCoord: false// 缂虹渷涓� false
-                                }
-                            },
+
+                            itemStyle: { normal: { label: { show: true } } },
                             markLine: {
                                 symbol: 'none',//鍘绘帀绠ご
                                 data: [
-                                    { type: 'max', name: 'Max', lineStyle: { color: 'red' } },
-                                    { type: 'average', name: 'Avg', lineStyle: { color: 'blue' } },
-                                    { type: 'min', name: 'Min', lineStyle: { color: 'green' } },
-                                ]
+                                    {
+                                        name: 'UCL', yAxis: parseFloat($("#HControlUpperLimit_S").val()), lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'LCL', yAxis: parseFloat($("#HControlLowerLimit_S").val()), lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: 'CL', yAxis: parseFloat($("#HCenterline_S").val()), lineStyle: { color: '#6dadf0' }, label: { color: '#6dadf0', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                ],
+                                precision: 3
                             },
                         }
                     ]
                 };
                 option_ZXT_Diff && myChart.setOption(option_ZXT_Diff);
 
-            //#endregion
+                //瀹為檯鍊�
+                var chartDom = document.getElementById('histogram_SJZ');
+                var myChart = echarts.init(chartDom);
+                var option_ZXT_SJZ;
+
+                option_ZXT_SJZ = {
+                    title: {
+                        text: '妫�娴嬪��',
+                        left: 'center'
+                    },
+                    grid: {
+                        x: '3%', //鐩稿綋浜庤窛绂诲乏杈规晥鏋�:padding-left
+                        //y: '5%',  //鐩稿綋浜庤窛绂讳笂杈规晥鏋�:padding-top
+                        bottom: '5%',
+                        containLabel: true
+                    },
+                    xAxis: {
+                        type: 'category',
+                        data: H_X
+                    },
+                    yAxis: {
+                        type: 'value',
+                        min: parseFloat($("#HDownLimit").val()) != 0 ? calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HDownLimit").val()), 1.1, "*"), "+") : 0, // 璁剧疆鏈�灏忓��
+                        max: calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HUpLimit").val()), 1.1, "*"), "+"), // 璁剧疆鏈�澶у��
+                        interval: calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HDownLimit").val()), "-"), 10, "/"), // 璁剧疆闂磋窛
+                    },
+                    series: [
+                        {
+                            data: HSJZ,
+                            type: 'line',
+                            itemStyle: {
+                                normal:
+                                {
+                                    label: {
+                                        show: true
+                                    }
+                                }
+                            },
+                            markLine: {
+                                symbol: 'none',//鍘绘帀绠ご
+                                data: [
+                                    { name: 'USL', yAxis: parseFloat($("#HTargetVal").val()) + parseFloat($("#HUpLimit").val()), lineStyle: { color: '#FF1D00' }, label: { color: '#FF1D00', fontSize: 10 }, label: { formatter: '{b}: {c}' } },
+                                    {
+                                        name: 'LSL', yAxis: parseFloat($("#HTargetVal").val()) + parseFloat($("#HDownLimit").val()), lineStyle: { color: '#FF1D00' }, label: { color: '#FF1D00', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'UCL', yAxis: max, lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    },
+                                    {
+                                        name: 'LCL', yAxis: min, lineStyle: { color: '#2cb615' }, label: { color: '#2cb615', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                    ,
+                                    {
+                                        name: 'CL', yAxis: average.toFixed(5), lineStyle: { color: '#6dadf0' }, label: { color: '#6dadf0', fontSize: 10 }, label: { formatter: '{b}: {c}' }
+                                    }
+                                ],
+                                precision: 3
+                            },
+                        }
+                    ]
+                };
+                option_ZXT_SJZ && myChart.setOption(option_ZXT_SJZ);
+
+                //#endregion
+
+            }
+
+            //璁$畻spc鍏ぇ鍒ゅ畾
+            function spc_judge() {
+                //鍧囧��
+                var HAreaValue = calc(calc(parseFloat($("#HControlUpperLimit_X").val()), parseFloat($("#HCenterline_X").val()), "-"), 3, "/").toFixed(5);
+                //涓婇檺閮ㄥ垎
+                var HAreaValue_A = parseFloat($("#HControlUpperLimit_X").val());
+                var HAreaValue_B = calc(calc(HAreaValue, 2, "*"), parseFloat($("#HCenterline_X").val()), "+").toFixed(5);
+                var HAreaValue_C = calc(calc(HAreaValue, 1, "*"), parseFloat($("#HCenterline_X").val()), "+").toFixed(5);
+                //涓嬮檺閮ㄥ垎
+                var HAreaValue_FA = parseFloat($("#HControlLowerLimit_X").val());
+                var HAreaValue_FB = calc(parseFloat($("#HCenterline_X").val()),calc(HAreaValue, 2, "*"), "-").toFixed(5);
+                var HAreaValue_FC = calc(parseFloat($("#HCenterline_X").val()),calc(HAreaValue, 1, "*"), "-").toFixed(5);
+
+
+                let HAvg = [];//骞冲潎鍊�
+
+                for (var j = 1; j < option.cols[0].length; j++) {
+                    if (optionAVG.length != 0) {
+                        HAvg.push(optionAVG[0][option.cols[0][j].field]);
+                    } 
+                }
+             
+                //杩炵画鍗佷簲涓偣鍦ㄤ腑蹇冪嚎涓や晶鐨凜鍖哄唴
+                var judge_return = [];
+                if (HAvg.length >= 15) {
+                    for (var i = 14; i < HAvg.length; i++) {
+                        if (HAvg[i] >= HAreaValue_FC && HAvg[i] <= HAreaValue_C) {
+                            for (var j = i - 14; j <= i; j++) {
+                                if (HAvg[j] >= HAreaValue_FC && HAvg[j] <= HAreaValue_C) {
+                                    if (i == j) {
+                                        for (var j1 = i; j1 >= i - 14; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                } else {
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
+                //杩炵画14涓偣涓浉閭荤偣浜ゆ浛涓婁笅
+                if (HAvg.length >= 14) {
+                    for (var i = 13; i < HAvg.length; i++) {
+                        var judge = [];
+                        for (var j = i - 13; j < i; j++) {
+                            if (HAvg[j] > HAvg[j + 1]) {
+                                judge.push(1);
+                            } else if (HAvg[j] < HAvg[j + 1]) {
+                                judge.push(-1);
+                            }
+                        }
+                        for (var k = 0; k < judge.length; k++) {
+                            if (judge[k] + judge[k + 1] == 0) {
+                                if ((k + 1) == judge.length) {
+                                    for (var j1 = i; j1 >= i - 13; j1--) {
+                                        if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                            judge_return.push(HAvg[j1]);
+                                        }
+                                    }
+                                }
+                            } else {
+                                break;
+                            }
+                        }
+                    }
+                }
+
+                //杩炵画9涓偣钀藉湪涓績绾跨殑鍚屼竴渚�
+                if (HAvg.length >= 9) {
+                    for (var i = 8; i < HAvg.length; i++) {
+                        var judge = [];
+                        for (var j = i - 8; j <= i; j++) {
+                            if (HAvg[j] > parseFloat($("#HCenterline_X").val())) {
+                                judge.push(1);
+                            } else if (HAvg[j] < parseFloat($("#HCenterline_X").val())) {
+                                judge.push(-1);
+                            }
+                        }
+                        var sum = 0;
+                        for (var k = 0; k < judge.length; k++) {
+                            sum += judge[k];
+                        }
+                        if (sum == 9 || sum == -9) {
+                            for (var j1 = i; j1 >= i - 8; j1--) {
+                                if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                    judge_return.push(HAvg[j1]);
+                                }
+                            }
+                        }
+                    }
+                }
+
+                //杩炵画8鐐硅惤鍦ㄤ腑蹇冪嚎涓や晶涓旀棤涓�鍦–鍖轰互鍐�(鍗冲湪C鍖轰互澶�)
+                if (HAvg.length >= 8) {
+                    for (var i = 7; i < HAvg.length; i++) {
+                        if (HAvg[i] < HAreaValue_FC || HAvg[i] > HAreaValue_C) {
+                            for (var j = i - 7; j <= i; j++) {
+                                if (HAvg[j] < HAreaValue_FC || HAvg[j] > HAreaValue_C) {
+                                    if (j == i) {
+                                        for (var j1 = i; j1 >= i - 7; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                } else {
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
+
+                //杩炵画6鐐归�掑鎴栭�掑噺
+                if (HAvg.length >= 6) {
+                    for (var i = 5; i < HAvg.length; i++) {
+                        var judge = [];
+                        for (var j = i - 5; j < i; j++) {
+                            if (HAvg[j] > HAvg[j + 1]) {
+                                judge.push(1);
+                            } else if (HAvg[j] < HAvg[j + 1]) {
+                                judge.push(-1);
+                            }
+                        }
+                        var sum = 0;
+                        for (var k = 0; k < judge.length; k++) {
+                            sum += judge[k];
+                        }
+                        if (sum == 5 || sum == -5) {
+                            for (var j1 = i; j1 >= i - 5; j1--) {
+                                if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                    judge_return.push(HAvg[j1]);
+                                }
+                            }
+                        }
+                    }
+                }
+
+                //杩炵画5鐐逛腑鏈�4鐐硅惤鍦ㄤ腑蹇冪嚎鍚屼竴渚х殑C鍖哄
+                if (HAvg.length >= 5) {
+                    for (var i = 4; i < HAvg.length; i++) {
+                        var judge = [];
+                        if (HAvg[i] > parseFloat($("#HCenterline_X").val()) && HAvg[i] > HAreaValue_C) {
+                            for (var j = i - 4; j <= i; j++) {
+                                var record = [];
+                                if (HAvg[j] > parseFloat($("#HCenterline_X").val()) && HAvg[j] > HAreaValue_C) {
+                                    record.push(HAvg[j]);
+                                    if (record.length >= 4) {
+                                        for (var j1 = i; j1 >= i - 4; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                }
+                                
+                            }
+                        }
+                        else if (HAvg[i] < parseFloat($("#HCenterline_X").val()) && HAvg[i] < HAreaValue_FC) {
+                            for (var j = i - 4; j <= i; j++) {
+                                var record = [];
+                                if (HAvg[j] < parseFloat($("#HCenterline_X").val()) && HAvg[j] < HAreaValue_FC) {
+                                    record.push(HAvg[j]);
+                                    if (record.length >= 4) {
+                                        for (var j1 = i; j1 >= i - 4; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+
+                    }
+                }
+
+
+                //杩炵画3鐐逛腑鏈�2鐐硅惤鍦ㄤ腑蹇冪嚎鍚屼竴渚х殑B鍖哄
+                if (HAvg.length >= 3) {
+                    for (var i = 2; i < HAvg.length; i++) {
+                        var judge = [];
+                        if (HAvg[i] > parseFloat($("#HCenterline_X").val()) && HAvg[i] > HAreaValue_B) {
+                            for (var j = i - 2; j <= i; j++) {
+                                var record = [];
+                                if (HAvg[j] > parseFloat($("#HCenterline_X").val()) && HAvg[j] > HAreaValue_B) {
+                                    record.push(HAvg[j]);
+                                    if (record.length >= 2) {
+                                        for (var j1 = i; j1 >= i - 2; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                }
+
+                            }
+                        }
+                        else if (HAvg[i] < parseFloat($("#HCenterline_X").val()) && HAvg[i] < HAreaValue_FB) {
+                            for (var j = i - 2; j <= i; j++) {
+                                var record = [];
+                                if (HAvg[j] < parseFloat($("#HCenterline_X").val()) && HAvg[j] < HAreaValue_FB) {
+                                    record.push(HAvg[j]);
+                                    if (record.length >= 2) {
+                                        for (var j1 = i; j1 >= i - 2; j1--) {
+                                            if ($.inArray(HAvg[j1], judge_return) == -1) {
+                                                judge_return.push(HAvg[j1]);
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+
+                    }
+                }
+
+
+                //1涓偣钀藉湪A鍖轰互澶�
+                if (HAvg.length >= 0) {
+                    for (var i = 0; i < HAvg.length; i++) {
+                        var judge = [];
+                        if (HAvg[i] > HAreaValue_A) {
+                            if ($.inArray(HAvg[i], judge_return) == -1) {
+                                judge_return.push(HAvg[i]);
+                            }
+                        }
+                        else if (HAvg[i] < HAreaValue_FA) {
+                            if ($.inArray(HAvg[i], judge_return) == -1) {
+                                judge_return.push(HAvg[i]);
+                            }
+                        }
+                    }
+                }
+
+                return judge_return;
 
             }
 
@@ -563,18 +1212,8 @@
                     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++) {
-                                    HDeptName += '<option  style="color:blue;"  value="' + data[i].HItemID + '" >' + data[i].HName + '</option>';
-                                }
+                            for (var i = 0; i < data.length; i++) {
+                                HDeptName += '<option  style="color:blue;"  value="' + data[i].HItemID + '" >' + data[i].HName + '</option>';
                             }
 
                             $("#HDeptName").append(HDeptName);
@@ -585,70 +1224,155 @@
                 })
             }
 
+            //鏍锋湰鏁伴噺
+            function get_Limit() {
+                var limit = "";
+                for (var i = 1; i <= 50; i++) {
+                    limit += '<option  style="color:blue;"  value="' + i + '" >' + i + '</option>';
+                }
+                $("#limit").append(limit);
+                form.render('select');
+            }
+
             //蹇�熻繃婊�
             function get_FastQuery() {
                 var HBeginDate = $("#HBeginDate").val();//涓嬭揪鏃ユ湡 寮�濮嬫棩鏈�
                 var HEndDate = $("#HEndDate").val();//缁撴潫鏃ユ湡
-                var HBillNo = $("#HBillNo").val();//娴佽浆鍗″彿
-                var HICMOBillNo = $("#HICMOBillNo").val(); //鎵瑰彿
-                var HWorkShopID = $("#HDeptName").val();//杞﹂棿
-                var F_BSV_WYID = $("#F_BSV_WYID").val();//鍞竴ID
-                var HMaterNumber = $("#HMaterNumber").val();//鐗╂枡浠g爜
-                var HState = $("#HState").val();//鐘舵��
-                var HSTATUS = $("#HSTATUS").val();//鐢熶骇璁㈠崟鐘舵��
-                var HOrgID = sessionStorage["OrganizationID"];
-                var checkWRuku = $("input[name='checkWRuku']").prop("checked");//澶嶉�夋
-                var ColName = $("#ColName").val();//澶嶉�夋
-                var Comparator = $("#Comparator").val()
-                var ColContent = $("#ColContent").val();
-                var sWhere1 = "";
-                if (ColName != 0 && Comparator != 0) {
-                    var com = "";
-                    switch (Comparator) {
-                        case "7":
-                            com = "like''%" + ColContent + "%''";
-                            break;
-                        case "8":
-                            com = "like''%" + ColContent + "''";
-                            break;
-                        case "9":
-                            com = "like''" + ColContent + "%''";
-                            break;
-                        case "10":
-                            com = "not like''%" + ColContent + "%''";
-                            break;
-                        default:
-                            com = "" + Comparator + "''" + ColContent + "''";
-                            break;
-                    }
-                    sWhere1 += " and " + ColName + " " + com;
+                var HDeptID = $("#HDeptName").val();//杞﹂棿
+                var limit = $("#limit").val();//鏍锋湰鏁�
+                var HMaterID = $("#HMaterID").val();//鐗╂枡
+                var HQCCheckItemID = $("#HQCCheckItemID").val();//妫�楠岄」鐩�
+                var HMouldNum = $("#HMouldNum").val();//绌村彿
+
+                if (limit == 0) {
+                    return layer.msg("鏍锋湰鏁伴噺涓嶈兘涓�0!");
                 }
 
-                if (checkWRuku) {
-                    checkWRuku = 1;
-                } else {
-                    checkWRuku = 0;
+                if (HMaterID == 0) {
+                    return layer.msg("鐗╂枡涓嶈兘涓虹┖!");
+                }
+
+                if (HQCCheckItemID == 0) {
+                    return layer.msg("妫�楠岄」鐩笉鑳戒负绌�!");
                 }
 
                 sWhere = {
                     HBeginDate: HBeginDate
                     , HEndDate: HEndDate
-                    , HICMOBillNo: HICMOBillNo
-                    , HWorkShopID: HWorkShopID
-                    , F_BSV_WYID: F_BSV_WYID
-                    , HMaterNumber: HMaterNumber
-                    , HOrgID: HOrgID
-                    , HBillNo: HBillNo
-                    , IsTrue: checkWRuku
-                    , HState: HState
-                    , HSTATUS: HSTATUS
-                    , sWhere1: sWhere1
+                    , HDeptID: HDeptID
+                    , limit: limit
+                    , HMaterID: HMaterID
+                    , HQCCheckItemID: HQCCheckItemID
+                    , HMouldNum: HMouldNum
                 }
-
-                //get_Display(JSON.stringify(sWhere));
+                //鍒濆鍖栬〃鏍�
+                set_InitGrid();
+                get_Display(JSON.stringify(sWhere));
                 //璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
                 sWhere = "";
             }
+
+            //鐗╂枡鍒楄〃
+            function btnHMaterID() {
+                layer.open({
+                    type: 2 //绫诲瀷
+                    , skin: 'layui-layer-rim'//鍔犱笂杈规
+                    , area: ['90%', '90%']//澶у皬
+                    , title: '鐗╂枡鍒楄〃'//鏍囬
+                    , shift: 2//寮瑰嚭鍔ㄧ敾
+                    , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_Material.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('璇烽�夋嫨鏁版嵁');
+                        }
+                        //鑾峰彇鏁版嵁
+                        $("#HMaterID").val(checkStatus.data[0].HItemID);
+                        $("#HMaterNumber").val(checkStatus.data[0].鐗╂枡浠g爜);
+                        $("#HMaterName").val(checkStatus.data[0].鐗╂枡鍚嶇О);
+                        $("#HMaterModel").val(checkStatus.data[0].瑙勬牸鍨嬪彿);
+                        layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                    }
+                    , btn2: function (index, layero) { }
+                })
+            }
+
+            //妫�楠岄」鐩垪琛�
+            function btnHQCCheckItemID() {
+                layer.open({
+                    type: 2 //绫诲瀷
+                    , skin: 'layui-layer-rim'//鍔犱笂杈规
+                    , area: ['90%', '90%']//澶у皬
+                    , title: '妫�楠岄」鐩垪琛�'//鏍囬
+                    , shift: 2//寮瑰嚭鍔ㄧ敾
+                    , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_CheckItem.html?Type=SPC&ID=' + HQCCheckNum.toString(), '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('璇烽�夋嫨鏁版嵁');
+                        }
+                        //鑾峰彇鏁版嵁
+                        $("#HQCCheckItemID").val(checkStatus.data[0].HItemID);
+                        $("#HQCCheckItemNumber").val(checkStatus.data[0].浠g爜);
+
+                        btnCheckProjectList(1);
+
+                        layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                    }
+                    , btn2: function (index, layero) { }
+                })
+            }
+
+            //妫�楠屾柟妗�
+            function btnCheckProjectList(Type) {
+                HQCCheckNum = [];
+                //Type 1 鏍规嵁閫変腑鐨勬楠岄」鐩幓鏌ヨ鏁版嵁
+                //Type 2 鏍规嵁閫変腑鐨勭墿鏂欏幓鏌ヨ鏁版嵁
+                var sWheres = "";
+                if (Type == 1) {
+                    sWheres = " and 妫�楠岄」鐩唬鐮�='" + $("#HQCCheckItemNumber").val() + "' and 鐗╂枡浠g爜='" + $("#HMaterNumber").val() + "'";
+                }
+                if (Type == 2) {
+                    sWheres = " and 鐗╂枡浠g爜='" + $("#HMaterNumber").val() + "'";
+                }
+
+                var wait = layer.load();//閬僵
+                $.ajax({
+                    url: GetWEBURL() + '/QC_Management/MES_QC_CheckProjectListProjectDetaiList',
+                    type: "GET",
+                    async: false,
+                    data: { "sWhere": sWheres, "user": sessionStorage["HUserName"] },
+                    success: function (data1) {
+                        if (data1.count == 1) {
+                            layer.close(wait);
+
+                            if (Type == 1) {
+                                $("#HUpLimit").val(data1.data[0].涓婇檺鍊�);
+                                $("#HDownLimit").val(data1.data[0].涓嬮檺鍊�);
+                                $("#HTargetVal").val(data1.data[0].鐩爣鍊�);
+                            }
+                            if (Type == 2) {
+                                for (var i = 0; i < data1.data.length; i++) {
+                                    HQCCheckNum.push(data1.data[i]["妫�楠岄」鐩甀D"]);
+                                }
+                            }
+                            //$("#HControlUpperLimit").val(data1.data[0].鎺у埗涓婇檺);
+                            //$("#HControlLowerLimit").val(data1.data[0].鎺у埗涓嬮檺);
+                        } else {
+                            layer.close(wait);
+                            layer.alert(data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(wait);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
             //閲嶇疆杩囨护鏉′欢
             function set_ClearQuery() {
                 $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 10), "yyyy-MM-dd"));//寮�濮嬫棩鏈�
@@ -666,32 +1390,6 @@
                 $("input[name='checkWRuku']").prop("checked", false);
                 form.render()
                 sWhere = "";
-            }
-
-            //鐗╂枡
-            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('璇烽�夋嫨鏁版嵁');
-                        }
-                        $("#HMaterID").val(checkStatus.data[0].HItemID);
-                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);
-                        layer.close(layer.index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
-                    }
-                })
             }
 
             //闅愯棌鍒楄缃�

--
Gitblit v1.9.1