11
2021
08

Setting Refer from Internal Remark

~async function (){ 
  delay = (ms) => { 
return new Promise(function(resolve){
setTimeout(resolve,ms);
    }); }; 
 
var No_of_Components = parseInt(document.querySelector("#divDetail > span:nth-child(1)").textContent.match(/([\d]+)\,/)[1]);
var referList = document.querySelector("#ctl00_maincontent_cbpReferMaster_lblReferJobNo").textContent.match(/\: (.*)/)[1].split(",");
 
if(referList[0]=="") {
  console.log("Please enter refer job number")
  return;
}
 
console.log(No_of_Components);
console.log(referList);
console.log("Refer Setting, Press Space to end function");

try { 
  while (parseInt(document.querySelector("#divDetail > span:nth-child(1) > label:nth-child(2)").textContent)==1) {
  document.querySelector("#divDetail > span:nth-child(1) > label:nth-child(2)").click();
  delay(1000);
  }
  } catch (e) {
      console.log(e)
      }
 
var count = 1;
var nextPage = false;
stopFunction = false;
 
document.addEventListener("keydown"function(event) { if (event.keyCode == 32) { console.log("Space down, Stopping function");
stopFunction = true;} })
 
for(var i=0i<No_of_Componentsi++) {
  if(stopFunction
    break
 
  if(nextPage && No_of_Components<=60) {
    await goToNextPage(delay);
    nextPage = false;
  }
  
  if(nextPage && No_of_Components>60) {
    await goToNextPage2(count,delay);
    count++
    nextPage = false;
  }
  
  if(i%30+3==32
    nextPage = true;
 
  if(document.querySelector("#tableEntry > tbody > tr:nth-child("+(i%30+3)+") > td:nth-child(2) > button").disabled)
    continue;
   
  var Number = parseInt(document.querySelector("#tableEntry > tbody > tr:nth-child("+(i%30+3)+") > td:nth-child(1) > label").textContent);
  var internalRemark = "#tbInternalRemarks_" + Number;
  var referIndicator = "lblReferIndicator_" + Number;
 
  if(document.getElementsByName(referIndicator)[0].innerText!="")
    continue;
   
  var referJobNumber = document.querySelector(internalRemark).value.split(";")[0].split("-")[0].toString().trim();  
  var element = document.querySelector(internalRemark).value.split(";")[0].split("-")[1];
 
  try {
    var element = parseInt(element.split(",")[0].toString().trim());
    } catch (e) {
        var element = "";
      }
 
  if(element.length!=0
    await setRefer(i,Number,referJobNumber,element,referList,delay);  
  }
 
console.log("finished");
    
}();
 
async function setRefer(i,Number,referJobNumber,element,referList,delay) {  
  await step1(i,Number,referJobNumber,element,delay)  
  await step2(delay)  
  await step3(referJobNumber,referList,delay)  
  await step4(referJobNumber,referList,delay)  
  await step5(element,delay)  
  await step6(delay)
}
 
async function step1(i,Number,referJobNumber,element,delay) {  
  console.log("component "+Number+" set refer to "+referJobNumber+"-"+element);
 
  await document.querySelector("#tableEntry > tbody > tr:nth-child("+(i%30+3)+") > td:nth-child(2) > button").click();
  await delay(1500);
}
 
async function step2(delay) {
  var downarrow = document.querySelector("#ctl00_maincontent_pucReferIndicator_fmReferIndicator_cbRefJobNo_I");
  
  mousedownEventdocument.createEvent('MouseEvents'); 
  mousedownEvent.initEvent ('mousedown'truetrue); 
  await downarrow.dispatchEvent (mousedownEvent);
 
  await delay(1000);
}
 
async function step3(referJobNumber,referList,delay) {
  var index = referList.indexOf(referJobNumber);
  var movePoint = document.querySelector("#ctl00_maincontent_pucReferIndicator_fmReferIndicator_cbRefJobNo_DDD_L_LBI"+index+"T0");
  
  mouseMoveEvent = document.createEvent('MouseEvents'); 
  mouseMoveEvent.initEvent('mousemove'truetrue);
  await movePoint.dispatchEvent (mouseMoveEvent);
 
  await delay(500);
}
 
async function step4(referJobNumber,referList,delay) {
  var index = referList.indexOf(referJobNumber);
  var mouseUp = document.querySelector("#ctl00_maincontent_pucReferIndicator_fmReferIndicator_cbRefJobNo_DDD_L_LBI"+index+"T0");
 
  mouseUpEvent = document.createEvent('MouseEvents'); 
  mouseUpEvent.initEvent('mouseup'truetrue); 
  await mouseUp.dispatchEvent (mouseUpEvent);
 
  await delay(1000);
}
 
async function step5(element,delay) {
  document.querySelector("#ctl00_maincontent_pucReferIndicator_fmReferIndicator_txtRefCompNo_I").value = element;
  await delay(500);
}
 
async function step6(delay) {
  await document.querySelector("#ctl00_maincontent_pucReferIndicator_btnSetDescReferAndClose_CD > span").click();
  await delay(3500);
}
 
async function goToNextPage(delay) {
  console.log("Going to page 2");
  do {
    await document.querySelector("#divDetail > span:nth-child(1) > label").click();
    await delay(100);
    } while (document.querySelector("#divDetail > span:nth-child(1) > label").textContent==2); 
  delay (2000);
}
 
async function goToNextPage2(count,delay) {
  console.log("Going to page " + (count+1));
  do {    
    var page = "#divDetail > span:nth-child(1) > label:nth-child("+(count+1)+")";
    await document.querySelector(page).click();
    await delay(100);
    } while (document.querySelector(page).textContent==(count+1));
  delay (2000);
 
 
 
 
 




« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。