| | |
| | | </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(100vh);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(100vh);margin-top:15px;"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-tab-item layui-show"> |
| | | <!--R管å¶å¾--> |
| | | <div id="histogram_Diff" style="width: 99.5%; height: calc(100vh);"> |
| | | |
| | | </div> |
| | | <div id="histogram_SJZ" style="width:99.5%;height:calc(100vh);margin-top:15px;"> |
| | | </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> |
| | |
| | | //æ¥è¯¢æ¡ä»¶ |
| | | var sWhere = ""; |
| | | var option = []; |
| | | var ins; //ç¨äºå¯¼åºexcel |
| | | var HModName = "QC_InspectionFormReport"; |
| | | var optionAVG = []; |
| | | var optionS = []; |
| | |
| | | //éèå设置 |
| | | case 'HideColumn': |
| | | get_HideColumn(); |
| | | break; |
| | | //å¯¼åºæé® |
| | | case 'btn_Export': btn_Export(); |
| | | break; |
| | | }; |
| | | }); |
| | |
| | | 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(); |
| | |
| | | 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]; |
| | | |
| | |
| | | } |
| | | 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); |
| | | $("#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++) { |
| | |
| | | } |
| | | |
| | | 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, "*"), "+")) |
| | | $("#HControlLowerLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "-")) |
| | | } |
| | | $("#HControlUpperLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "+").toFixed(5)) |
| | | $("#HControlLowerLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "-").toFixed(5)) |
| | | |
| | | //ä¸é |
| | | 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)); |
| | | //è®¡ç®æ ·æ¬é为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 { |
| | | 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)); |
| | | //ä¸é |
| | | 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)); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | 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); |
| | | $("#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, "*"), "+")) |
| | | $("#HControlLowerLimit_X").val(calc(x_AVG, calc(A2[$("#limit").val() - 1], s_AVG, "*"), "-")) |
| | | $("#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, "*")); |
| | | $("#HControlLowerLimit_S").val(calc(D3[$("#limit").val() - 1], s_AVG, "*")) |
| | | $("#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 ($("#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)); |
| | | 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)); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | return sum; |
| | | } |
| | | |
| | | //#region 导åºExecel |
| | | function btn_Export() { |
| | | table.exportFile(ins.config.id, option.data, "xls"); |
| | | } |
| | | //#endregion |
| | | |
| | | //æçº¿å¾ |
| | | function set_Line() { |
| | | //#regionãæçº¿å¾ã |
| | |
| | | let HDifference = [];//å·®å¼ |
| | | let HSJZ = [];//å®é
å¼ |
| | | |
| | | var judge = spc_judge(); |
| | | |
| | | for (var j = 1; j < option.cols[0].length; j++) { |
| | | if (optionAVG.length != 0 || optionS.length != 0) { |
| | | HAvg.push(optionAVG[0][option.cols[0][j].field]); |
| | | 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 { |
| | |
| | | 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: { |
| | |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | min: parseFloat($("#HDownLimit").val()) != 0 ? calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HDownLimit").val()), 1.3, "*"), "+") : 0, // 设置æå°å¼ |
| | | max: calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HUpLimit").val()), 1.3, "*"), "+"), // 设置æå¤§å¼ |
| | | 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', |
| | | |
| | | itemStyle: { normal: { label: { show: true } } }, |
| | | itemStyle: { |
| | | normal: { |
| | | label: { |
| | | show: true |
| | | } |
| | | } |
| | | }, |
| | | markLine: { |
| | | symbol: 'none',//廿ç®å¤´ |
| | | data: [ |
| | |
| | | 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: '#2cb615' }, label: { color: '#2cb615', 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: '#2cb615' }, label: { color: '#2cb615', 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: '#6dadf0' }, label: { color: '#6dadf0', 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 |
| | |
| | | yAxis: { |
| | | type: 'value', |
| | | min: 0, // 设置æå°å¼ |
| | | max: parseFloat($("#HControlUpperLimit_S").val()) != 0 ? calc(parseFloat($("#HControlUpperLimit_S").val()), 0.01, "+") : 0, // 设置æå¤§å¼ |
| | | interval: calc(parseFloat($("#HControlUpperLimit_S").val()), 10, "/"), // 设置é´è· |
| | | max: parseFloat($("#HControlUpperLimit_S").val()) != 0 ? calc(parseFloat($("#HControlUpperLimit_S").val()), 1.1, "*") : 0, // 设置æå¤§å¼ |
| | | interval: calc(parseFloat($("#HControlUpperLimit_S").val()).toFixed(5), 10, "/"), // 设置é´è· |
| | | }, |
| | | series: [ |
| | | { |
| | |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | min: parseFloat($("#HDownLimit").val()) != 0 ? calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HDownLimit").val()), 1.3, "*"), "+") : 0, // 设置æå°å¼ |
| | | max: calc(parseFloat($("#HTargetVal").val()), calc(parseFloat($("#HUpLimit").val()), 1.3, "*"), "+"), // 设置æå¤§å¼ |
| | | 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 } } }, |
| | | 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]); |
| | | } |
| | | } |
| | | |
| | | //è¿ç»åäºä¸ªç¹å¨ä¸å¿çº¿ä¸¤ä¾§çCåºå
|
| | | 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åºä»¥å
(å³å¨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; |
| | | |
| | | } |
| | | |
| | |
| | | //Type 2 æ ¹æ®éä¸çç©æå»æ¥è¯¢æ°æ® |
| | | var sWheres = ""; |
| | | if (Type == 1) { |
| | | sWheres = " and æ£éªé¡¹ç®ä»£ç ='" + $("#HQCCheckItemNumber").val() + "'"; |
| | | sWheres = " and æ£éªé¡¹ç®ä»£ç ='" + $("#HQCCheckItemNumber").val() + "' and ç©æä»£ç ='" + $("#HMaterNumber").val() + "'"; |
| | | } |
| | | if (Type == 2) { |
| | | sWheres = " and ç©æä»£ç ='" + $("#HMaterNumber").val() + "'"; |