Commit 80bee0ac authored by liuyanfang's avatar liuyanfang

发货易新增弹窗

parent e168472b
{ {
"name": "菜芽-自动约单", "name": "菜芽-自动约单",
"version": "1.0.10", "version": "1.1.1",
"description": "辅助手机壳厂家打印发货易的快递单", "description": "辅助手机壳厂家打印发货易的快递单",
"manifest_version": 2, "manifest_version": 2,
......
...@@ -22,7 +22,11 @@ let domEle = { ...@@ -22,7 +22,11 @@ let domEle = {
reauthDialogTitle: document.querySelector("#reauthDialog .modal-title") as HTMLDivElement,//店铺授权 reauthDialogTitle: document.querySelector("#reauthDialog .modal-title") as HTMLDivElement,//店铺授权
shopName: document.querySelector("#reauthDialog .shopName") as HTMLDivElement,//店铺授权 shopName: document.querySelector("#reauthDialog .shopName") as HTMLDivElement,//店铺授权
reauthDialogClose:document.querySelector("#reauthDialog .btn-default") as HTMLButtonElement, reauthDialogClose:document.querySelector("#reauthDialog .btn-default") as HTMLButtonElement,
} // 电子面单获取失败
miandanbootBox:(): any => document.querySelector('.bootbox'),
// 发货中弹窗
sendProModal:()=>document.querySelector("div#shipDialog") as HTMLDivElement,
}
async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) { async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) {
let checkOptionObj = platformObj let checkOptionObj = platformObj
chrome.storage.local.get({ checkOptionObj: platformObj }, function (res) { chrome.storage.local.get({ checkOptionObj: platformObj }, function (res) {
...@@ -101,7 +105,7 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) { ...@@ -101,7 +105,7 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) {
if (rowResult.indexOf("打印失败") > -1) { if (rowResult.indexOf("打印失败") > -1) {
printReslut.fail++; printReslut.fail++;
rowObject.success = 0; rowObject.success = 0;
if(domEle.tableResult.rows[rowIter].cells[2].innerText.includes('电子面单余额不足')){ if(domEle.tableResult.rows[rowIter].cells[2].innerText.includes('电子面单账户余额不足')){
result.msg = '电子面单余额不足' result.msg = '电子面单余额不足'
} }
} else { } else {
...@@ -129,6 +133,13 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) { ...@@ -129,6 +133,13 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) {
domEle.btnClose.click(); domEle.btnClose.click();
} }
} }
for (let i = 0; i < 20; i++) {
await delayDate(1000)
if(domEle.sendProModal().style.display==='none'){
                        //发货中
return result
}
}
return result; return result;
}else{ }else{
//取消打印 //取消打印
...@@ -147,6 +158,7 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) { ...@@ -147,6 +158,7 @@ async function booking(wayCompanyId: string, orderNo: string,fhy_type:Number) {
result.msg = "未匹配快递单模板"; result.msg = "未匹配快递单模板";
result.status = 3; result.status = 3;
result.data=printError result.data=printError
domEle.btnDialogCancel.click();
return result; return result;
} }
...@@ -219,10 +231,9 @@ async function waitPrintResult() { ...@@ -219,10 +231,9 @@ async function waitPrintResult() {
msg: "获取打印结果超时", msg: "获取打印结果超时",
data: [], data: [],
} }
for (let i = 0; i < 30; i++) { for (let i = 0; i < 100; i++) {
await delayDate(1000); await delayDate(1000);
if (domEle.reauthDialog&&domEle.reauthDialog.style.display==='block') { if (domEle.reauthDialog&&domEle.reauthDialog.style.display==='block') {
await delayDate(1000)
console.log('店铺授权',domEle.shopName.innerText); console.log('店铺授权',domEle.shopName.innerText);
result.status = 5; result.status = 5;
result.msg=`获取${domEle.shopName.innerText}店铺授权失败`; result.msg=`获取${domEle.shopName.innerText}店铺授权失败`;
...@@ -234,12 +245,18 @@ async function waitPrintResult() { ...@@ -234,12 +245,18 @@ async function waitPrintResult() {
result.msg = "" result.msg = ""
return result; return result;
} }
if (domEle.miandanbootBox()&&domEle.miandanbootBox().style.display === 'block') {
domEle.printErrorConfirm().click();
result.msg = '获取电子面单失败'
return result
}
if(domEle.printErrorModal() && domEle.printErrorModal().innerText==' 获取电子面单失败,从9月1日起淘宝平台开启付费解密虚拟号方案(查看详情),因此不支持非菜鸟电子面单打印,请尽量使用菜鸟电子面单打印,如需付费解密虚拟号打印非菜鸟电子面单请联系发货易客服咨询'){ if(domEle.printErrorModal() && domEle.printErrorModal().innerText==' 获取电子面单失败,从9月1日起淘宝平台开启付费解密虚拟号方案(查看详情),因此不支持非菜鸟电子面单打印,请尽量使用菜鸟电子面单打印,如需付费解密虚拟号打印非菜鸟电子面单请联系发货易客服咨询'){
result.msg="获取电子面单失败"; result.msg="获取电子面单失败";
console.log('获取电子面单失败',domEle.printErrorModal()); console.log('获取电子面单失败',domEle.printErrorModal());
domEle.printErrorConfirm().click(); domEle.printErrorConfirm().click();
return result; return result;
} }
} }
return result; return result;
} }
......
import { PlatformCode } from './index'
import { platformObj } from '../types'
import {PlatformCode} from "./index"
import { platformObj } from "../types";
let domEle = { let domEle = {
divNav:document.getElementsByClassName("nav-link") as HTMLCollection, divNav: document.getElementsByClassName('nav-link') as HTMLCollection,
inputOrderId: "#originalIds", inputOrderId: '#originalIds',
btnSearch: "#root > section > main > div > div > div > div.order-main > div.order-table-container > div.order-search-pane > div > div > div:nth-child(2) > button:nth-child(2)", btnSearch:
checkBoxSelectAll: "div.bottom-operation-bar > span input.ant-checkbox-input", '#root > section > main > div > div > div > div.order-main > div.order-table-container > div.order-search-pane > div > div > div:nth-child(2) > button:nth-child(2)',
btnPrint: ".ec-print-waybill-button", checkBoxSelectAll: 'div.bottom-operation-bar > span input.ant-checkbox-input',
modalTips:"ant-modal-confirm-title", btnPrint: '.ec-print-waybill-button',
btnTipsConfirm:"div.ant-modal-confirm-body-wrapper > div > button.ant-btn-primary", modalTips: 'ant-modal-confirm-title',
spanWaybillTemplate: ():any=>document.getElementsByClassName("ant-modal-body")[0].getElementsByClassName("ant-select-selector")[0] , btnTipsConfirm:
divWaybillTemplateList: ():any=>document.getElementsByClassName("rc-virtual-list-holder-inner")[0] , 'div.ant-modal-confirm-body-wrapper > div > button.ant-btn-primary',
radioGetNewWaybill: ():any=>document.querySelector(".ant-modal-body input.ant-radio-input") , spanWaybillTemplate: (): any =>
inputWaybillNoOnly: ():any=>document.querySelector("#isGenerateWaybillNoOnly") , document
btnDialogPrint: ():any=>document.querySelector("div.ant-modal-footer button"), .getElementsByClassName('ant-modal-body')[0]
modalResult: "#printEwaybillResultDialog", .getElementsByClassName('ant-select-selector')[0],
tableResult: ():any=>document.querySelector("#ewaybill-result-table > div > div.ant-table-body > table"), divWaybillTemplateList: (): any =>
btnClose: ():any=>document.querySelector("div.ant-modal-footer button:nth-child(3)") , document.getElementsByClassName('rc-virtual-list-holder-inner')[0],
btnDeliver: ():any=>document.querySelector("div.ant-modal-footer button:nth-child(2)") , radioGetNewWaybill: (): any =>
deliverResult:():any=>document.querySelector(".ant-modal-body>div.ant-table-wrapper .ant-table-tbody"), document.querySelector('.ant-modal-body input.ant-radio-input'),
deliverClose: ():any=>document.querySelector("div.ant-modal-footer button") , inputWaybillNoOnly: (): any =>
reauthDialog: ():any=>document.querySelector("#reauthDialog") , document.querySelector('#isGenerateWaybillNoOnly'),
reauthDialogTitle: ():any=>document.querySelector("#reauthDialog modal-title") , btnDialogPrint: (): any =>
shopName: ():any=>document.querySelector("#reauthDialog shopName") , document.querySelector('div.ant-modal-footer button'),
} btnDialogPrintClose: (): any =>
async function booking(waybillTemplateTitle: string, orderNo: string,shopId:string,fhy_type:number) { document.querySelector('div.ant-modal-footer button:nth-child(2)'),
let checkOptionObj = platformObj modalResult: '#printEwaybillResultDialog',
chrome.storage.local.get({ checkOptionObj: platformObj }, function (res) { tableResult: (): any =>
checkOptionObj = res.checkOptionObj document.querySelector(
'#ewaybill-result-table > div > div.ant-table-body > table'
),
// btnClose: ():any=>document.querySelector("div.ant-modal-footer button:nth-child(3)") ,
// btnDeliver: ():any=>document.querySelector("div.ant-modal-footer button:nth-child(2)") ,
btnClose: (): any => {
let targetBtn = null
document.querySelectorAll('div.ant-modal-footer button').forEach((btn) => {
if (btn.textContent === '等会再发货') targetBtn = btn
}) })
let result = { return targetBtn
status: 4, },
msg: "未找到店铺", btnDeliver: (): any => {
data: [], let targetBtn = null
} document.querySelectorAll('div.ant-modal-footer button').forEach((btn) => {
let printError: any = orderNo if (btn.textContent === '马上发货') targetBtn = btn
result = await waitreauthDialog(); })
if (result.status > 0) { return targetBtn
result.data=printError },
return result; deliverResult: (): any =>
} document.querySelector(
for(let navIter=0;navIter<domEle.divNav.length;navIter++){ '.ant-modal-body>div.ant-table-wrapper .ant-table-tbody'
let aNav = domEle.divNav[navIter] as HTMLLinkElement; ),
deliverClose: (): any =>
if(aNav.href.indexOf(shopId)>-1){ document.querySelector('div.ant-modal-footer button'),
result.status=0; reauthDialog: (): any => document.querySelector('#reauthDialog'),
result.msg=""; reauthDialogTitle: (): any =>
if(aNav.className.indexOf("active")==-1){ document.querySelector('#reauthDialog modal-title'),
aNav.click(); shopName: (): any => document.querySelector('#reauthDialog shopName'),
} rcDialogTitle49:(): any => document.querySelector('.rcDialogTitle49'),
break; rcDialogClose:(): any => document.querySelector('.ant-modal-close'),
} // 电子面单获取失败
} miandanbootBox:(): any => document.querySelector('.bootbox'),
miandanbootBoxClose:(): any => document.querySelector('.bootbox-close-button'),
if (result.status > 0) { }
result.data=printError async function booking(
return result; waybillTemplateTitle: string,
} orderNo: string,
result = await waitOrder(); shopId: string,
if (result.status > 0) { fhy_type: number
result.data=printError ) {
return result; let checkOptionObj = platformObj
} chrome.storage.local.get({ checkOptionObj: platformObj }, function (res) {
changeReactInputValue(document.querySelector(domEle.inputOrderId),orderNo) checkOptionObj = res.checkOptionObj
})
let result = {
status: 4,
msg: '未找到店铺',
data: [],
}
let printError: any = orderNo
result = await waitreauthDialog()
if (result.status > 0) {
result.data = printError
return result
}
for (let navIter = 0; navIter < domEle.divNav.length; navIter++) {
let aNav = domEle.divNav[navIter] as HTMLLinkElement
simulateMouseClick(document.querySelector(domEle.btnSearch)); if (aNav.href.indexOf(shopId) > -1) {
result = await waitOrder(); result.status = 0
if (result.status > 0) { result.msg = ''
result.data=printError if (aNav.className.indexOf('active') == -1) {
return result; aNav.click()
}
break
} }
}
if (result.status > 0) {
result.data = printError
return result
}
result = await waitOrder()
if (result.status > 0) {
result.data = printError
return result
}
changeReactInputValue(document.querySelector(domEle.inputOrderId), orderNo)
simulateMouseClick(document.querySelector(domEle.checkBoxSelectAll)); simulateMouseClick(document.querySelector(domEle.btnSearch))
simulateMouseClick(document.querySelector(domEle.btnPrint)); result = await waitOrder()
await delayDate(500); if (result.status > 0) {
result.data = printError
return result
}
if(document.getElementsByClassName(domEle.modalTips).length>0){ simulateMouseClick(document.querySelector(domEle.checkBoxSelectAll))
simulateMouseClick(document.querySelector(domEle.btnPrint))
simulateMouseClick(document.querySelector(domEle.btnTipsConfirm)); await delayDate(500)
}
result = await waitDialog();
if (result.status > 0) {
result.data=printError
return result;
}
if (document.getElementsByClassName(domEle.modalTips).length > 0) {
simulateMouseClick(document.querySelector(domEle.btnTipsConfirm))
}
simulateMouseClick(domEle.spanWaybillTemplate()); result = await waitDialog()
let waybillTemplateList= domEle.divWaybillTemplateList(); if (result.status > 0) {
console.log(111111111,waybillTemplateList); result.data = printError
for (let i = 0; i < waybillTemplateList.childNodes.length; i++) { return result
console.log(2222,waybillTemplateList.childNodes); }
let divItem = waybillTemplateList.childNodes[i] as any;
if (divItem.innerText.includes(waybillTemplateTitle) ) {
console.log(333333,waybillTemplateTitle);
simulateMouseClick(divItem);
simulateMouseClick(domEle.radioGetNewWaybill());
if (domEle.inputWaybillNoOnly().checked == false) simulateMouseClick(domEle.inputWaybillNoOnly());
if(!domEle.inputWaybillNoOnly().checked ){
result.status=5;
result.msg="未选择仅获取电子面单";
result.data=printError
return result;
}
simulateMouseClick(domEle.btnDialogPrint()); simulateMouseClick(domEle.spanWaybillTemplate())
result = await waitPrintResult(); let waybillTemplateList = domEle.divWaybillTemplateList()
console.log(111111111, waybillTemplateList)
for (let i = 0; i < waybillTemplateList.childNodes.length; i++) {
console.log(2222, waybillTemplateList.childNodes)
let divItem = waybillTemplateList.childNodes[i] as any
if (divItem.innerText.includes(waybillTemplateTitle)) {
console.log(333333, waybillTemplateTitle)
simulateMouseClick(divItem)
simulateMouseClick(domEle.radioGetNewWaybill())
if (result.status == 0) { if (domEle.inputWaybillNoOnly().checked == false)
let printReslut: any = { simulateMouseClick(domEle.inputWaybillNoOnly())
success: 0,
count: domEle.tableResult().rows.length-1,
fail: 0,
list: []
}
let chooseIndex = 0
let rowResultList:any = []
for (let rowIter = 1; rowIter < domEle.tableResult().rows.length; rowIter++) {
let rowResult = domEle.tableResult().rows[rowIter].cells[2].innerText;
let rowResultHTML = domEle.tableResult().rows[rowIter].cells[2].innerHTML
let rowInfo = domEle.tableResult().rows[rowIter].cells[1].childNodes[0].childNodes[0].childNodes[1].textContent;
let rowObject = {
info: rowInfo,
msg: rowResult,
orderNo:'',
success: 1,
}
if(rowIter===0){
rowObject.orderNo = orderNo
}
rowResultList.push(rowResultHTML)
if (domEle.tableResult().rows[rowIter].cells[2].innerHTML.indexOf('class="text-error"') > -1) {
printReslut.fail++;
rowObject.success = 0;
if(domEle.tableResult().rows[rowIter].cells[2].innerHTML.includes('电子面单余额不足')){
result.msg = '电子面单余额不足'
}
} else {
printReslut.success++;
}
printReslut.list.push(rowObject)
}
result.data = printReslut;
// console.log(result,rowResultList);
// 如果所有的订单都打印失败则,等会再发货,关闭弹窗
if(rowResultList.every((item:any)=>item.includes('class="text-error"'))){
chooseIndex = -1
}
// 等会再发货
if(chooseIndex===-1){
console.log('等会再发货1');
simulateMouseClick(domEle.btnClose());
}else{
console.log('发货',fhy_type,checkOptionObj);
if((fhy_type===30&&checkOptionObj['xin-taobao'])||(fhy_type===40&&checkOptionObj['xin-pdd'])||(fhy_type===50&&checkOptionObj['xin-dy']||(fhy_type===60&&checkOptionObj['xin-other']))){
// 马上发货
console.log('马上发货');
simulateMouseClick(domEle.btnDeliver());
}else{
console.log('等会再发货2');
simulateMouseClick(domEle.btnClose());
}
}
await delayDate(1000);
// console.log('xxxx',domEle.deliverResult(),domEle.deliverClose());
if(domEle.deliverResult()){
// 关闭
simulateMouseClick(domEle.deliverClose());
}
// for (let rowIter = 1; rowIter < domEle.deliverResult().rows.length; rowIter++) {
// let rowDeliverHTML = domEle.tableResult().rows[rowIter].cells[3].innerHTML
// rowDeliverList.push(rowDeliverHTML)
// }
return result;
}
if (!domEle.inputWaybillNoOnly().checked) {
result.status = 5
result.msg = '未选择仅获取电子面单'
result.data = printError
return result
}
break; simulateMouseClick(domEle.btnDialogPrint())
result = await waitPrintResult()
if (result.status == 0) {
let printReslut: any = {
success: 0,
count: domEle.tableResult().rows.length - 1,
fail: 0,
list: [],
} }
} let chooseIndex = 0
let rowResultList: any = []
for (
let rowIter = 1;
rowIter < domEle.tableResult().rows.length;
rowIter++
) {
let rowResult = domEle.tableResult().rows[rowIter].cells[2].innerText
let rowResultHTML =
domEle.tableResult().rows[rowIter].cells[2].innerHTML
let rowInfo =
domEle.tableResult().rows[rowIter].cells[1].childNodes[0]
.childNodes[0].childNodes[1].textContent
let rowObject = {
info: rowInfo,
msg: rowResult,
orderNo: '',
success: 1,
}
if (rowIter === 0) {
rowObject.orderNo = orderNo
}
rowResultList.push(rowResultHTML)
if (
domEle
.tableResult()
.rows[rowIter].cells[2].innerHTML.indexOf('class="text-error"') >
-1
) {
printReslut.fail++
rowObject.success = 0
if (
domEle
.tableResult()
.rows[rowIter].cells[2].innerHTML.includes('电子面单账户余额不足')
) {
result.msg = '电子面单余额不足'
}
} else {
printReslut.success++
}
printReslut.list.push(rowObject)
}
result.data = printReslut
// console.log(result,rowResultList);
// 如果所有的订单都打印失败则,等会再发货,关闭弹窗
if (
rowResultList.every((item: any) =>
item.includes('class="text-error"')
)
) {
chooseIndex = -1
}
// 等会再发货
if (chooseIndex === -1) {
console.log('等会再发货1')
simulateMouseClick(domEle.btnClose())
} else {
console.log('发货', fhy_type, checkOptionObj)
if (
(fhy_type === 30 && checkOptionObj['xin-taobao']) ||
(fhy_type === 40 && checkOptionObj['xin-pdd']) ||
(fhy_type === 50 && checkOptionObj['xin-dy']) ||
(fhy_type === 60 && checkOptionObj['xin-other'])
) {
// 马上发货
console.log('马上发货')
simulateMouseClick(domEle.btnDeliver())
} else {
console.log('等会再发货2')
simulateMouseClick(domEle.btnClose())
}
}
await delayDate(1000)
// console.log('xxxx',domEle.deliverResult(),domEle.deliverClose());
if (domEle.deliverResult()) {
// 关闭
simulateMouseClick(domEle.deliverClose())
}
if(domEle.rcDialogTitle49()){
console.log('49',domEle.rcDialogTitle49());
// domEle.rcDialogTitle49().innerText==='备注打印失败订单'
simulateMouseClick(domEle.rcDialogClose())
}
return result
                   
// for (let rowIter = 1; rowIter < domEle.deliverResult().rows.length; rowIter++) {
// let rowDeliverHTML = domEle.tableResult().rows[rowIter].cells[3].innerHTML
// rowDeliverList.push(rowDeliverHTML)
// }
}
result.msg = "未匹配快递单模板"; break
result.status = 3; }
result.data=printError }
return result;
result.msg = '未匹配快递单模板'
result.status = 3
result.data = printError
simulateMouseClick(domEle.btnDialogPrintClose())
return result
} }
async function waitreauthDialog() { async function waitreauthDialog() {
let result = { let result = {
status: 5, status: 5,
msg: "获取店铺授权", msg: '获取店铺授权',
data: [], data: [],
}
for (let i = 0; i < 10; i++) {
await delayDate(1000)
if (
domEle.reauthDialog() &&
domEle.reauthDialog().style.display === 'block'
) {
await delayDate(1000)
result.msg = `获取${domEle.shopName().innerText}店铺授权失败`
return result
} else {
result.status = 0
result.msg = ''
return result
} }
for (let i = 0; i < 10; i++) { }
await delayDate(1000); return result
if (domEle.reauthDialog()&&domEle.reauthDialog().style.display) {
await delayDate(1000);
result.msg=`获取${domEle.shopName().innerText}店铺授权失败`;
return result;
}else {
result.status = 0;
result.msg = ""
return result;
}
}
return result;
} }
async function waitOrder() { async function waitOrder() {
let result = { let result = {
status: 4, status: 4,
msg: "获取订单超时", msg: '获取订单超时',
data: [], data: [],
} }
for (let i = 0; i < 30; i++) { for (let i = 0; i < 30; i++) {
await delayDate(1000); await delayDate(1000)
let loadingMask = document.querySelector("#root > section > main > div > div > div > div.order-main > div.order-table-container > div.loading-mark-container > div") as any; let loadingMask = document.querySelector(
if (loadingMask.style.display=="none" ) { '#root > section > main > div > div > div > div.order-main > div.order-table-container > div.loading-mark-container > div'
) as any
if (document.querySelector("#root > section > main > div > div > div > div.order-main > div.order-table-container > div.loading-mark-container > table > tbody > tr > td > div > div.mb10 > p")) { if (loadingMask.style.display == 'none') {
//无订单 if (
result.status = 2; document.querySelector(
result.msg = "无相关订单" '#root > section > main > div > div > div > div.order-main > div.order-table-container > div.loading-mark-container > table > tbody > tr > td > div > div.mb10 > p'
return result; )
} else { ) {
result.status = 0; //无订单
result.msg = "" result.status = 2
return result; result.msg = '无相关订单'
} return result
} } else {
result.status = 0
result.msg = ''
return result
}
} }
return result; }
return result
} }
async function waitDialog() { async function waitDialog() {
let result = { let result = {
status: 4, status: 4,
msg: "获取打印按钮超时", msg: '获取打印按钮超时',
data: [], data: [],
}
for (let i = 0; i < 30; i++) {
await delayDate(1000)
if (document.getElementsByClassName('ant-modal-content').length) {
result.status = 0
result.msg = ''
return result
} }
for (let i = 0; i < 30; i++) { }
await delayDate(1000); return result
if (document.getElementsByClassName("ant-modal-content").length) {
result.status = 0;
result.msg = ""
return result;
}
}
return result;
} }
async function waitPrintResult() { async function waitPrintResult() {
let result = { let result = {
status: 4, status: 4,
msg: "获取打印结果超时", msg: '获取打印结果超时',
data: [], data: [],
}
for (let i = 0; i < 100; i++) {
await delayDate(1000)
if (domEle.tableResult()) {
result.status = 0
result.msg = ''
return result
} }
for (let i = 0; i < 30; i++) { if (
await delayDate(1000); domEle.reauthDialog() &&
if (domEle.tableResult()) { domEle.reauthDialog().style.display === 'block'
result.status = 0; ) {
result.msg = "" result.status = 5
return result; result.msg = `获取${domEle.shopName().innerText}店铺授权失败`
} return result
if (domEle.reauthDialog()&&domEle.reauthDialog().style.display) {
await delayDate(1000);
result.status = 5
result.msg=`获取${domEle.shopName().innerText}店铺授权失败`
return result
}
} }
return result; if (domEle.miandanbootBox()&&domEle.miandanbootBox().style.display === 'block') {
simulateMouseClick(domEle.miandanbootBoxClose())
result.status = 6
result.msg = '获取电子面单失败'
return result
}
}
return result
} }
function delayDate(time: number) { function delayDate(time: number) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
setTimeout(() => { setTimeout(() => {
//console.log(‘开始执行‘) //console.log(‘开始执行‘)
resolve("success"); resolve('success')
}, time); }, time)
}); })
} }
function changeReactInputValue(inputDom:any,newText:string){ function changeReactInputValue(inputDom: any, newText: string) {
let lastValue = inputDom.value; let lastValue = inputDom.value
inputDom.value = newText; inputDom.value = newText
let event = new Event('input', { bubbles: true }); let event = new Event('input', { bubbles: true })
// @ts-ignore // @ts-ignore
event.simulated = true; event.simulated = true
let tracker = inputDom._valueTracker; let tracker = inputDom._valueTracker
if (tracker) { if (tracker) {
tracker.setValue(lastValue); tracker.setValue(lastValue)
} }
inputDom.dispatchEvent(event); inputDom.dispatchEvent(event)
} }
const mouseClickEvents = ['mousedown', 'click', 'mouseup']
const mouseClickEvents = ['mousedown', 'click', 'mouseup']; function simulateMouseClick(element: any) {
function simulateMouseClick(element:any){ if (!element) return
if(!element) return mouseClickEvents.forEach((mouseEventType) =>
mouseClickEvents.forEach(mouseEventType =>
element.dispatchEvent( element.dispatchEvent(
new MouseEvent(mouseEventType, { new MouseEvent(mouseEventType, {
view: window, view: window,
bubbles: true, bubbles: true,
cancelable: true, cancelable: true,
buttons: 1 buttons: 1,
}) })
) )
); )
} }
export default { export default {
booking booking,
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment