|
|
|
@ -202,31 +202,20 @@ const luckysheetDropCell = { |
|
|
|
return isChnNumber; |
|
|
|
}, |
|
|
|
isExtendNumber: function(txt){ |
|
|
|
let reg = /[0-9]/; |
|
|
|
let isExtendNumber; |
|
|
|
if(reg.test(txt.substr(txt.length - 1, 1))){ |
|
|
|
isExtendNumber = true; |
|
|
|
} |
|
|
|
else{ |
|
|
|
isExtendNumber = false; |
|
|
|
} |
|
|
|
let reg = /0|([1-9]+[0-9]*)/g; |
|
|
|
let isExtendNumber = reg.test(txt); |
|
|
|
|
|
|
|
if(isExtendNumber){ |
|
|
|
let str = txt.split(""); |
|
|
|
str.reverse(); |
|
|
|
|
|
|
|
let len = 0; |
|
|
|
for(let i = 0; i < str.length; i++){ |
|
|
|
if(!reg.test(str[i])){ |
|
|
|
len = i; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
let match = txt.match(reg); |
|
|
|
let matchTxt = match[match.length - 1]; |
|
|
|
let matchIndex = txt.lastIndexOf(matchTxt); |
|
|
|
let beforeTxt = txt.substr(0, matchIndex); |
|
|
|
let afterTxt = txt.substr(matchIndex + matchTxt.length); |
|
|
|
|
|
|
|
return [isExtendNumber, txt.substr(0, txt.length - len), txt.substr(txt.length - len, len)]; |
|
|
|
return [isExtendNumber, Number(matchTxt), beforeTxt, afterTxt]; |
|
|
|
} |
|
|
|
else{ |
|
|
|
return [isExtendNumber]; |
|
|
|
else { |
|
|
|
return [isExtendNumber] |
|
|
|
} |
|
|
|
}, |
|
|
|
isChnWeek1: function(txt){ |
|
|
|
@ -913,7 +902,8 @@ const luckysheetDropCell = { |
|
|
|
let arrData = []; |
|
|
|
let arrIndex = []; |
|
|
|
let text = ""; |
|
|
|
let extendNumberStr = null; |
|
|
|
let extendNumberBeforeStr = null; |
|
|
|
let extendNumberAfterStr = null; |
|
|
|
let isSameStr = true; |
|
|
|
|
|
|
|
for(let b = b1; b <= b2; b++){ |
|
|
|
@ -931,49 +921,60 @@ const luckysheetDropCell = { |
|
|
|
if(!!data && !!data["v"] && data["f"] == null){ |
|
|
|
if(!!data["ct"] && data["ct"]["t"] == "n"){ |
|
|
|
str = "number"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
else if(!!data["ct"] && data["ct"]["t"] == "d"){ |
|
|
|
str = "date"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
else if(_this.isExtendNumber(data["m"])[0]){ |
|
|
|
str = "extendNumber"; |
|
|
|
|
|
|
|
if(extendNumberStr == null){ |
|
|
|
let isExtendNumber = _this.isExtendNumber(data["m"]); |
|
|
|
|
|
|
|
if(extendNumberBeforeStr == null || extendNumberAfterStr == null){ |
|
|
|
isSameStr = true; |
|
|
|
extendNumberStr = _this.isExtendNumber(data["m"])[1]; |
|
|
|
extendNumberBeforeStr = isExtendNumber[2]; |
|
|
|
extendNumberAfterStr = isExtendNumber[3]; |
|
|
|
} |
|
|
|
else{ |
|
|
|
if(_this.isExtendNumber(data["m"])[1] != extendNumberStr){ |
|
|
|
else { |
|
|
|
if(isExtendNumber[2] != extendNumberBeforeStr || isExtendNumber[3] != extendNumberAfterStr){ |
|
|
|
isSameStr = false; |
|
|
|
extendNumberStr = _this.isExtendNumber(data["m"])[1]; |
|
|
|
extendNumberBeforeStr = isExtendNumber[2]; |
|
|
|
extendNumberAfterStr = isExtendNumber[3]; |
|
|
|
} |
|
|
|
else{ |
|
|
|
else { |
|
|
|
isSameStr = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if(_this.isChnNumber(data["m"])){ |
|
|
|
str = "chnNumber"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
else if(_this.isChnWeek2(data["m"])){ |
|
|
|
str = "chnWeek2"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
else if(_this.isChnWeek3(data["m"])){ |
|
|
|
str = "chnWeek3"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
else{ |
|
|
|
str = "other"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
} |
|
|
|
else{ |
|
|
|
str = "other"; |
|
|
|
extendNumberStr = null; |
|
|
|
extendNumberBeforeStr = null; |
|
|
|
extendNumberAfterStr = null; |
|
|
|
} |
|
|
|
|
|
|
|
if(str == "extendNumber"){ |
|
|
|
@ -1439,7 +1440,7 @@ const luckysheetDropCell = { |
|
|
|
applyData = _this.FillSeries(data, len, direction); |
|
|
|
} |
|
|
|
else if(dataType == "extendNumber"){ |
|
|
|
//扩展数字(一串字符最后面的是数字)
|
|
|
|
//扩展数字
|
|
|
|
if(data.length == 1){ |
|
|
|
let step; |
|
|
|
if(direction == "down" || direction == "right"){ |
|
|
|
@ -1456,7 +1457,7 @@ const luckysheetDropCell = { |
|
|
|
|
|
|
|
for(let i = 0; i < data.length; i++){ |
|
|
|
let txt = data[i]["m"]; |
|
|
|
dataNumArr.push(Number(_this.isExtendNumber(txt)[2])); |
|
|
|
dataNumArr.push(Number(_this.isExtendNumber(txt)[1])); |
|
|
|
} |
|
|
|
|
|
|
|
if(direction == "up" || direction == "left"){ |
|
|
|
@ -2315,30 +2316,22 @@ const luckysheetDropCell = { |
|
|
|
let _this = this; |
|
|
|
|
|
|
|
let applyData = []; |
|
|
|
let reg = /0|([1-9]+[0-9]*)/g; |
|
|
|
|
|
|
|
for(let i = 1; i <= len; i++){ |
|
|
|
let index = (i - 1) % data.length; |
|
|
|
let d = $.extend(true, {}, data[index]); |
|
|
|
|
|
|
|
let last = data[data.length - 1]["m"]; |
|
|
|
let lastTxt = _this.isExtendNumber(last)[1]; |
|
|
|
let lastNum = _this.isExtendNumber(last)[2]; |
|
|
|
|
|
|
|
if(lastNum==""){ |
|
|
|
let num = Math.abs(Number(lastTxt) + step * i); |
|
|
|
if(lastTxt.substr(0,1)=="0"){ |
|
|
|
if(lastTxt.length>num.toString().length){ |
|
|
|
num = "0" + num.toString(); |
|
|
|
} |
|
|
|
} |
|
|
|
d["v"] = num.toString(); |
|
|
|
d["m"] = num.toString(); |
|
|
|
} |
|
|
|
else{ |
|
|
|
let num = Math.abs(Number(lastNum) + step * i); |
|
|
|
d["v"] = lastTxt + num.toString(); |
|
|
|
d["m"] = lastTxt + num.toString(); |
|
|
|
} |
|
|
|
let match = last.match(reg) |
|
|
|
let lastTxt = match[match.length -1]; |
|
|
|
|
|
|
|
let num = Math.abs(Number(lastTxt) + step * i); |
|
|
|
let lastIndex = last.lastIndexOf(lastTxt); |
|
|
|
let valueTxt = last.substr(0, lastIndex) + num.toString() + last.substr(lastIndex + lastTxt.length); |
|
|
|
|
|
|
|
d["v"] = valueTxt; |
|
|
|
d["m"] = valueTxt; |
|
|
|
|
|
|
|
applyData.push(d); |
|
|
|
} |
|
|
|
|