let 总行数 = 0, 价位段行数 = 0, 商品行数 = 0,renNum = 0;
let yanPage = document.querySelector('[class="list-center"]').children
let list = 烟页取列表(yanPage);
//console.log(list);
if (校验列表(list) !== 1) throw new Error('列表校验失败:\n' + list);
for (let i = 0; i < yanPage.length; i++){
if (list[i] === '商品行') 显示可订量(yanPage[i]);
}
for (let i = 0; i < yanPage.length; i++){
if (list[i] === '价格段行'){
let a = new Array (7);
a[0] = list[i];
a[1] = '?组';
a[2] = '商品名称';
a[3] = '批发价';
a[4] = '建议零售价';
a[5] = '可用量';
a[6] = 价格段行取可订量(yanPage[i]);
list[i] = a;
continue;
}
if (list[i] === '商品行'){
let a = new Array (7);
a[0] = list[i];
a[1] = '?组';
a[2] = 获取烟名(yanPage[i]);
a[3] = 获取批发价(yanPage[i]);
a[4] = 获取零售价(yanPage[i]);
a[5] = 获取可订量(yanPage[i]);
a[6] = '';
list[i] = a;
//list[i] = list[i] + 获取烟名(yanPage[i]);
continue;
}
}
console.log(list);
arrayToClipput(list);
function arrayToClipput(data){
if (Array.isArray(data) === false) throw new Error ('传入的值非数组');
let t = '';
for (let i = 0; i < data.length; i++){
t += data[i].join('\t') + '\n';
}
let a = document.createElement('textarea');
a.value = t;
document.body.appendChild(a);
a.select();
document.execCommand('copy');
a.remove();
}
function 显示可订量(obj){
obj.querySelector('[class="list-item-input-add"]').click();
obj.querySelector('[class="list-item-input-del"]').click();
}
function 价格段行取可订量(obj){
return obj.children[2].textContent.trim();
}
function 烟页取列表(obj){
let flag = 0;
let list = new Array(obj.length);
for (let i = 0; i < obj.length; i++){
flag = obj[i].children.length;
if (flag == 6){
list[i] = '价格段行';
}else if (flag == 1){
list[i] = '商品行';
}else{
list[i] = '未知行';
}
}
return(list);
}
function 校验列表(list){
if (Array.isArray(list) === false) return -1;
if (list.includes('未知行') === true) return -2; //不允许有未知行
for (let i = 0; i < list.length - 1; i++){
if (list[i] === '价格段行' && list[i+1] === '价格段行') return -3; //不允许连续出现价格段行
}
if (list[list.length - 1] === '价格段行') return -4; //不允许最后一行是价格段行
if (list[0] === '商品行' && list.includes('价格段行') === true) return -5; //开始是商品行则不允许出现价格段行
return 1;
}
function 获取烟名(Obj){
return Obj.children[0].children[1].querySelector('[class="list-item-name"]').textContent.trim();
}
function 获取批发价(Obj){
return Obj.children[0].children[2].textContent.trim();
}
function 获取零售价(Obj){
return Obj.children[0].children[3].textContent.trim();
}
function 获取可订量(Obj){
return Obj.children[0].children[6].textContent.trim();
}
/*
烟名:Yan[0].children[0].children[1].querySelector('[class="list-item-name"]').innerText;
批发价:Yan[0].children[0].children[2].innerText
零售价:Yan[0].children[0].children[3].innerText
可用量:Yan[0].children[0].children[6].innerText
*/
/*
for (let i = 0; i < 总行数; i++){
renNum = Yan[i].children.length;
if (renNum == 6){
List[i] = "价位段行";
价位段行数++;
}else if (renNum == 1){
//List[i] = "商品行";
let A = new Array(6);
A[0] = '商品行';
A[1] = 获取烟名(Yan[i]);
A[2] = 获取批发价(Yan[i]);
A[3] = 获取零售价(Yan[i]);
A[4] = 获取可订量(Yan[i]);
A[5] = '这组可订?条';
List[i] = A
商品行数++;
}else{
List[i] = "未知行";
}
}
console.log(' 总行数:'+总行数);
console.log("价位段行数:" + 价位段行数);
console.log(" 商品行数:" + 商品行数);
console.log(List);
*/
/*for (let i = 0; i < 1000; i++){
let t = new Array(getRandom());
for (let j = 0; j < t.length; j++){
if (Math.floor(Math.random() * 2) === 0){
t[j] = '价格段行';
}else{
t[j] = '商品行';
}
}
if (校验列表(t) === 1) {
console.log(t);
break;
}
}
function getRandom(){
return Math.floor(Math.random() * 50) + 1;
}
throw new Error("脚本执行已手动终止");
*/
/*T(yanPage);
async function T(obj){
for (let i = 0; i < obj.length; i++){
if (list[i] === '商品行') 显示可订量(obj[i]);
console.log('准备开始暂停');
setTimeout(1000);
console.log('已经结束暂停');
}
}*/
console