| | |
| | | <input type="text" class="layui-input" name="HBarCode_Set" id="HBarCode_Set"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-inline" style="display:none;"> |
| | | <div class="layui-input-block" style="margin-left: 0px;"> |
| | | <input type="checkbox" name="checkbox_isAVI" id="checkbox_isAVI" lay-skin="primary" lay-filter="checkbox_isAVI" checked title="AVI"> |
| | | <input type="hidden" value="true" name="isAVI" id="isAVI" lay-verify="isAVI"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-block" style="margin-left: 0px;"> |
| | | <input type="checkbox" name="checkbox_HBatchDeleteFlag" id="checkbox_HBatchDeleteFlag" lay-skin="primary" lay-filter="checkbox_HBatchDeleteFlag" title="æ¹éååºå¯å¨æ è®°"> |
| | | <input type="hidden" value="false" name="HBatchDeleteFlag" id="HBatchDeleteFlag" lay-verify="HBatchDeleteFlag"> |
| | | <button type="button" id="HBatchDelete_submit" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBatchDelete_submit">æ¹éååº</button> |
| | | </div> |
| | | </div> |
| | | <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch"> |
| | |
| | | </button> |
| | | <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">éç½®</button> |
| | | </div> |
| | | </div> |
| | | <div id="HBadLabelNameList"> |
| | | </div> |
| | | <div id="HistogramReport" style = "background-color: black; height: 2000px; width: 100%; display: flex; flex-direction: column; align-items:center;"> |
| | | |
| | |
| | | var HBarCode_PNL_Note = ""; //è®°å½æ¥è¯¢åçPNLæ¡ç ç¼å· |
| | | var HLayOut_PNL = []; //PNLå¸å±ä¿¡æ¯æ°æ® |
| | | var HPCSNoList = []; //è®°å½å¸å±ä¸å·²ç»å å
¥çPCSå· |
| | | |
| | | var HBatchDeletePCSList = []; //æ¹éååºPCSå表 |
| | | |
| | | var HBadLabelNameList = ["AOI1", "AOI2", "AOI3", "AOI4", "AVI", "MRB", "çµæµ"]; //æ£éªç«å«æ ç¾åç§°æ°ç» |
| | | var HBadInfo = {}; //æ£éªç«å«å¯¹åºä¸è¯æ°é |
| | | for (var i = 0; i < HBadLabelNameList.length; i++) { |
| | | HBadInfo[HBadLabelNameList[i]] = 0; |
| | | } |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢å³å è½½ |
| | |
| | | }); |
| | | //#endregion |
| | | |
| | | //#region æ¹éååº |
| | | form.on('submit(HBatchDelete_submit)', function (data) { |
| | | batchDelete(); |
| | | }); |
| | | //#endregion |
| | | |
| | | //#region AVIå¤éæ¡ |
| | | form.on('checkbox(checkbox_isAVI)', function (data) { |
| | | $("#isAVI").val(data.elem.checked); |
| | | }); |
| | | //#endregion |
| | | //#region æ¬é¡µé¢ææè¢«è°ç¨çæ¹æ³ |
| | | |
| | | //#region æ¹éååºå¯å¨æ è®° å¤éæ¡ |
| | | form.on('checkbox(checkbox_HBatchDeleteFlag)', function (data) { |
| | | $("#HBatchDeleteFlag").val(data.elem.checked); |
| | | |
| | | if (data.elem.checked) { |
| | | $('#HBatchDelete_submit').removeClass("layui-btn-disabled").attr("disabled", false); |
| | | } else { |
| | | HBatchDeletePCSList = []; |
| | | $("#btnSearch").trigger('click'); |
| | | $('#HBatchDelete_submit').addClass("layui-btn-disabled").attr("disabled", true); |
| | | } |
| | | }); |
| | | //#endregion |
| | | |
| | | //#endregion |
| | | |
| | | //#region æ¬é¡µé¢ææè¢«è°ç¨çæ¹æ³ |
| | | //#region åå§åçé¢ |
| | | function set_ClearBill() { |
| | | //æ¥è¯¢ |
| | | get_FastQuery(1); |
| | | //Organ(); |
| | | |
| | | $('#HBatchDelete_submit').addClass("layui-btn-disabled").attr("disabled", true); |
| | | } |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | |
| | | //#region æ¥è¯¢ |
| | | function get_Display(sql) { |
| | | var ModRightNameCheck = ""; |
| | |
| | | |
| | | //æ¸
空PNLå¸å±æ°æ® |
| | | HLayOut_PNL = []; |
| | | |
| | | //æ¸
空æ¹éååºPCSæ¸
å |
| | | HBatchDeletePCSList = []; |
| | | |
| | | //å
³éå è½½é®ç½© |
| | | layer.close(ajaxLoad); |
| | |
| | | //å°åç´¢å¼å®¹å¨æ·»å å°set容å¨å¯¹è±¡ä¸ |
| | | HContainerElement_Set.appendChild(HContainerElement_RowIndex); |
| | | } |
| | | |
| | | if (j == data.length - 1) { |
| | | var HBrElement_PCS = document.createElement('br'); |
| | | HContainerElement_Set.appendChild(HBrElement_PCS); |
| | | break; |
| | | } |
| | | |
| | | } else { |
| | | var HBrElement_PCS = document.createElement('br'); |
| | | HContainerElement_Set.appendChild(HBrElement_PCS); |
| | |
| | | HButtonElement_PCS.setAttribute('lay-filter', data[i]["HPCSNo"] + "_Button"); |
| | | HButtonElement_PCS.type = "button"; |
| | | HButtonElement_PCS.className = "layui-btn layuiadmin-btn-order"; |
| | | if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "ç¬æ£®VRSå
å±") { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:" + data[i]["HColorStr"] + ";"; |
| | | } |
| | | else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "ç¬æ£®VRSå¤å±") { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:orange;"; |
| | | } |
| | | else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "AVI") { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:yellow;"; |
| | | } |
| | | else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "çµæµ") { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:green;"; |
| | | } |
| | | else { |
| | | |
| | | if (data[i]["HIsBadFlag"] == "1") { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:" + data[i]["HPCSColor"] + ";"; |
| | | |
| | | //ç»è®¡æ£éªç«å«å¯¹åºä¸è¯æ°é |
| | | if (typeof (HBadInfo[data[i]["HCheckProcName"]]) != "undefined") { |
| | | HBadInfo[data[i]["HCheckProcName"]] += 1; |
| | | } |
| | | } else { |
| | | HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:black;"; |
| | | } |
| | | |
| | | |
| | | //if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "ç¬æ£®VRSå
å±") { |
| | | // HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:" + data[i]["HColorStr"] + ";"; |
| | | //} |
| | | //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "ç¬æ£®VRSå¤å±") { |
| | | // HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:orange;"; |
| | | //} |
| | | //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "AVI") { |
| | | // HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:yellow;"; |
| | | //} |
| | | //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "çµæµ") { |
| | | // HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:green;"; |
| | | //} |
| | | //else { |
| | | // HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:black;"; |
| | | //} |
| | | |
| | | ////å°PCSæ°æ®ç»´æ¤æé®æ·»å å°PCS容å¨å¯¹è±¡ä¸ |
| | | HContainerElement_PCS.appendChild(HButtonElement_PCS); |
| | |
| | | HPosition_x = data[i]["HPosition_x"]; |
| | | } |
| | | }; |
| | | |
| | | //设置 æ£éªç«å«æ ç¾ |
| | | setBadInfoLabel(); |
| | | } |
| | | //#endregion |
| | | |
| | |
| | | if (element == null) { |
| | | continue; |
| | | } else { |
| | | // 为å
ç´ æ·»å contextmenu å·¦å» äºä»¶çå¬å¨ |
| | | element.addEventListener('click', function (event) { |
| | | var PCSNo_Button = event.currentTarget.id; //è·å触åäºä»¶çå
ç´ çID |
| | | var PCSElement_Button = document.getElementById(PCSNo_Button); //è·åPCSæé®å
ç´ |
| | |
| | | |
| | | var title = "PNLæ¡ç ç¼å·ï¼" + HBarCode_PNL_Note + "ï¼setå·ï¼" + SetNo + "ï¼PCSå·ï¼" + PCSNo; |
| | | |
| | | var isAVI = $("#isAVI").val(); |
| | | var HBatchDeleteFlag = $("#HBatchDeleteFlag").val(); |
| | | |
| | | if (isAVI=="true") { |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'AVIæ°å¢ï¼' + title + ')', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../è´¨é管ç/PNLæ£éªä¿¡æ¯/QC_CheckNote_PNL_TempEdit.html?OperationType=6&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo, |
| | | end: function () { |
| | | //å·æ°é¡µé¢, |
| | | get_FastQuery(); |
| | | if (HBatchDeleteFlag == "true") { |
| | | var temp = { |
| | | "HBarCode": HBarCode_PNL_Note |
| | | , "HSetNo": SetNo |
| | | , "HPCSNo": PCSNo |
| | | , "title": "PNLæ¡ç ç¼å·ï¼" + HBarCode_PNL_Note + "ï¼setå·ï¼" + SetNo + "ï¼PCSå·ï¼" + PCSNo |
| | | } |
| | | for (var i = 0; i < HBatchDeletePCSList.length; i++) { |
| | | if (temp.title == HBatchDeletePCSList[i].title) { |
| | | HBatchDeletePCSList.splice(i, 1); |
| | | $('#' + PCSNo_Button).removeClass("layui-btn-disabled"); |
| | | return; |
| | | } |
| | | }); |
| | | } |
| | | HBatchDeletePCSList.push(temp); |
| | | $('#' + PCSNo_Button).addClass("layui-btn-disabled"); |
| | | } else { |
| | | layer.open({ |
| | | type: 2 |
| | |
| | | }) |
| | | } |
| | | }); |
| | | |
| | | // 为å
ç´ æ·»å contextmenu å³å» äºä»¶çå¬å¨ |
| | | element.addEventListener('contextmenu', function (event) { |
| | | // 黿¢é»è®¤çä¸ä¸æèåæ¾ç¤º |
| | | event.preventDefault(); |
| | | |
| | | var PCSNo_Button = event.currentTarget.id; //è·å触åäºä»¶çå
ç´ çID |
| | | var PCSElement_Button = document.getElementById(PCSNo_Button); //è·åPCSæé®å
ç´ |
| | | var PCSElement_Div = PCSElement_Button.parentElement; //è·åPCSæé®å
ç´ æå¨çPCS容å¨å
ç´ |
| | | var SetElement_Div = PCSElement_Div.parentElement; //è·åPCS容å¨å
ç´ æå¨çset容å¨å
ç´ |
| | | var PCSNo = PCSElement_Div.id; //PCSå· |
| | | var SetNo = SetElement_Div.id; //setå· |
| | | |
| | | var title = "PNLæ¡ç ç¼å·ï¼" + HBarCode_PNL_Note + "ï¼setå·ï¼" + SetNo + "ï¼PCSå·ï¼" + PCSNo; |
| | | |
| | | |
| | | //夿¬¡å³å»æ¶ï¼å»é¤ä¸ä¸æ¬¡çselectç»ä»¶ |
| | | var HSelectElement_old = document.getElementById("HBadReason"); |
| | | if (HSelectElement_old != null) { |
| | | document.body.removeChild(HSelectElement_old); |
| | | } |
| | | // ä¾å¦ï¼å建ä¸ä¸ªèªå®ä¹èå |
| | | var HSelectElement = document.createElement('select'); |
| | | HSelectElement.style.width = "100px"; |
| | | HSelectElement.style.height = "20px"; |
| | | HSelectElement.style.position = 'absolute'; |
| | | HSelectElement.style.left = event.pageX + 'px'; |
| | | HSelectElement.style.top = event.pageY + 'px'; |
| | | HSelectElement.id = "HBadReason"; |
| | | HSelectElement.name = "HBadReason"; |
| | | HSelectElement.setAttribute('lay-filter', 'HBadReason'); |
| | | HSelectElement.className = "layui-fluid layui-col-md12 layui-card-body layui-form layui-collapse layui-colla-item ayui-input-inline"; |
| | | document.body.appendChild(HSelectElement); |
| | | setInitSelect_BadReason(); |
| | | |
| | | //ä¸è¯åå éæ©æ§ä»¶ å¼ååçå¬ |
| | | const selectElement = document.getElementById('HBadReason'); |
| | | selectElement.addEventListener('change', function () { |
| | | var HBadReason = $("#HBadReason").val(); |
| | | if (HBadReason == "") { |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | return; |
| | | } |
| | | |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'AVIæ°å¢ï¼' + title + ')', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../è´¨é管ç/PNLæ£éªä¿¡æ¯/QC_CheckNote_PNL_TempEdit.html?OperationType=7&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo + "&HBadReason=" + encodeURIComponent(HBadReason), |
| | | end: function () { |
| | | //å·æ°é¡µé¢, |
| | | get_FastQuery(); |
| | | } |
| | | }); |
| | | |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | }); |
| | | |
| | | //ä¸è¯åå éæ©æ§ä»¶ å¤±ç¦æ¶ç§»é¤æ§ä»¶ |
| | | selectElement.focus(); |
| | | selectElement.addEventListener('blur', function () { |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | //#endregion |
| | | }); |
| | | |
| | | //#endregion |
| | | |
| | | //#region 设置ä¸è¯æ ç¾ |
| | | function setBadInfoLabel() { |
| | | //è·åæ ç¾å®¹å¨ |
| | | var HBadLabelNameListElement = document.getElementById("HBadLabelNameList"); |
| | | if (HBadLabelNameListElement != null) { |
| | | // éåæ ç¾å®¹å¨å¯¹è±¡ä¸çææåå
ç´ å¹¶ä»DOMä¸ç§»é¤ |
| | | while (HBadLabelNameListElement.firstChild) { |
| | | HBadLabelNameListElement.removeChild(HBadLabelNameListElement.firstChild); |
| | | } |
| | | |
| | | for (var i = 0; i < HBadLabelNameList.length; i++) { |
| | | //setå®¹å¨ |
| | | var labelElement= document.createElement('div'); //æ ç¾ |
| | | labelElement.id = HBadLabelNameList[i]; //æ ç¾çid |
| | | labelElement.style = "font-size: 20px; color: red;margin-left:50px;display: inline;"; |
| | | labelElement.innerHTML = HBadLabelNameList[i] + "ï¼" + HBadInfo[HBadLabelNameList[i]]; |
| | | |
| | | //å°æ ç¾æ·»å å°æ ç¾å®¹å¨å¯¹è±¡ä¸ |
| | | HBadLabelNameListElement.appendChild(labelElement); |
| | | } |
| | | } |
| | | |
| | | for (var i = 0; i < HBadLabelNameList.length; i++) { |
| | | HBadInfo[HBadLabelNameList[i]] = 0; |
| | | } |
| | | } |
| | | //#endregion |
| | | |
| | | //#region ä¸è¯åå 䏿å表åå§å |
| | | function setInitSelect_BadReason() { |
| | | //è·åç»å½é¡µç»ç»å |
| | | var ModRightNameCheck = ""; |
| | | var sql = "select * from Gy_BadReason where HCheckEmp <> '' and ISNULL(HStopEmp,'') = '' "; |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/CommonModel/searchMethod', |
| | | async: false, |
| | | type: "GET", |
| | | data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": ModRightNameCheck }, |
| | | success: function (result) { |
| | | if (result.count == 1) { // 说æéªè¯æåäºï¼ |
| | | var data = result.data; |
| | | |
| | | var Organization = ""; |
| | | Organization += '<option style="color:blue;" value=""></option>'; |
| | | for (var i = 0; i < data.length; i++) { |
| | | Organization += '<option style="color:blue;" value="' + data[i].HName + '">' + data[i].HName + '</option>'; |
| | | } |
| | | $("#HBadReason").append(Organization); |
| | | form.render('select'); |
| | | } |
| | | layer.closeAll("loading"); |
| | | } |
| | | }); |
| | | } |
| | | //#endregion |
| | | |
| | | //#region æ¹éååº |
| | | function batchDelete() { |
| | | if (HBatchDeletePCSList.length > 0) { |
| | | ////夿¬¡æ¹éååºæ¶ï¼å»é¤ä¸ä¸æ¬¡çselectç»ä»¶ |
| | | //var HSelectElement_old = document.getElementById("HBadReason"); |
| | | //if (HSelectElement_old != null) { |
| | | // document.body.removeChild(HSelectElement_old); |
| | | //} |
| | | |
| | | // ä¾å¦ï¼å建ä¸ä¸ªèªå®ä¹èå |
| | | var HSelectElement = document.createElement('select'); |
| | | HSelectElement.style.width = "100px"; |
| | | HSelectElement.style.height = "20px"; |
| | | HSelectElement.style.position = 'absolute'; |
| | | HSelectElement.style.left = event.pageX + 'px'; |
| | | HSelectElement.style.top = event.pageY + 'px'; |
| | | HSelectElement.id = "HBadReason"; |
| | | HSelectElement.name = "HBadReason"; |
| | | HSelectElement.setAttribute('lay-filter', 'HBadReason'); |
| | | HSelectElement.className = "layui-fluid layui-col-md12 layui-card-body layui-form layui-collapse layui-colla-item ayui-input-inline"; |
| | | document.body.appendChild(HSelectElement); |
| | | setInitSelect_BadReason(); |
| | | |
| | | //ä¸è¯åå éæ©æ§ä»¶ å¼ååçå¬ |
| | | const selectElement = document.getElementById('HBadReason'); |
| | | selectElement.addEventListener('change', function () { |
| | | var HBadReason = $("#HBadReason").val(); |
| | | if (HBadReason == "") { |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | layer.alert("æ¹éä½åºå¤±è´¥ï¼æªéæ©ä¸è¯é¡¹ç®!!!", { icon: 5 }); |
| | | return; |
| | | } |
| | | |
| | | for (var i = 0; i < HBatchDeletePCSList.length; i++) { |
| | | var title = HBatchDeletePCSList[i].title; |
| | | var HBarCode_PNL_Note = HBatchDeletePCSList[i].HBarCode; |
| | | var SetNo = HBatchDeletePCSList[i].HSetNo; |
| | | var PCSNo = HBatchDeletePCSList[i].HPCSNo; |
| | | |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'AVIæ°å¢ï¼' + title + ')', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['1px', '1px'], |
| | | maxmin: true, |
| | | content: '../../è´¨é管ç/PNLæ£éªä¿¡æ¯/QC_CheckNote_PNL_TempEdit.html?OperationType=8&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo + "&HBadReason=" + encodeURIComponent(HBadReason), |
| | | end: function () { |
| | | $("#btnSearch").trigger('click'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | HBatchDeletePCSList = []; |
| | | $("#btnSearch").trigger('click'); |
| | | |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | }); |
| | | |
| | | //ä¸è¯åå éæ©æ§ä»¶ å¤±ç¦æ¶ç§»é¤æ§ä»¶ |
| | | selectElement.focus(); |
| | | selectElement.addEventListener('blur', function () { |
| | | var HSelectElement = document.getElementById("HBadReason"); |
| | | if (HSelectElement != null) { |
| | | document.body.removeChild(HSelectElement); |
| | | } |
| | | }); |
| | | } else { |
| | | layer.alert("å½åæªéä¸éè¦ååºçPCS!!!", { icon: 5 }); |
| | | } |
| | | } |
| | | //#endregion |
| | | //#endregion |
| | | }); |
| | | </script> |
| | | |
| | | </body> |