You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
561 lines
26 KiB
561 lines
26 KiB
import formula from '../global/formula';
|
|
import editor from '../global/editor';
|
|
import {luckysheetupdateCell} from './updateCell';
|
|
import { modelHTML } from './constant';
|
|
import { replaceHtml } from '../utils/util';
|
|
import Store from '../store';
|
|
import locale from '../locale/locale';
|
|
|
|
//if公式生成器
|
|
const ifFormulaGenerator = {
|
|
singleRangeFocus: false,
|
|
init: function(){
|
|
let _this = this;
|
|
const _locale = locale();
|
|
const locale_formula = _locale.formula;
|
|
const locale_button = _locale.button;
|
|
//点击选择单元格
|
|
$(document).off("focus.IFcompareValue").on("focus.IFcompareValue", "#luckysheet-ifFormulaGenerator-dialog #compareValue", function(){
|
|
$("#luckysheet-modal-dialog-mask").hide();
|
|
_this.singleRangeFocus = true;
|
|
});
|
|
$(document).off("click.IFsingRange").on("click.IFsingRange", "#luckysheet-ifFormulaGenerator-dialog .singRange", function(){
|
|
let value = $("#luckysheet-ifFormulaGenerator-dialog #compareValue").val().trim();
|
|
|
|
if(formula.iscelldata(value)){
|
|
_this.singleRangeDialog(value);
|
|
}
|
|
else{
|
|
_this.singleRangeDialog();
|
|
}
|
|
});
|
|
$(document).off("click.IFsingRangeConfirm").on("click.IFsingRangeConfirm", "#luckysheet-ifFormulaGenerator-singleRange-confirm", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
|
|
$("#luckysheet-ifFormulaGenerator-singleRange-dialog").hide();
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
|
|
let value = $(this).parents("#luckysheet-ifFormulaGenerator-singleRange-dialog").find("input").val().trim();
|
|
$("#luckysheet-ifFormulaGenerator-dialog #compareValue").val(value);
|
|
|
|
_this.singleRangeFocus = false;
|
|
});
|
|
$(document).off("click.IFsingRangeCancel").on("click.IFsingRangeCancel", "#luckysheet-ifFormulaGenerator-singleRange-cancel", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
|
|
$("#luckysheet-ifFormulaGenerator-singleRange-dialog").hide();
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
|
|
_this.singleRangeFocus = false;
|
|
});
|
|
$(document).off("click.IFsingRangeClose").on("click.IFsingRangeClose", "#luckysheet-ifFormulaGenerator-singleRange-dialog .luckysheet-modal-dialog-title-close", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
|
|
_this.singleRangeFocus = false;
|
|
});
|
|
|
|
//点击选择范围
|
|
$(document).off("click.IFmultiRange").on("click.IFmultiRange", "#luckysheet-ifFormulaGenerator-dialog .multiRange", function(){
|
|
_this.multiRangeDialog();
|
|
|
|
_this.singleRangeFocus = false;
|
|
});
|
|
$(document).off("click.IFmultiRangeConfirm").on("click.IFmultiRangeConfirm", "#luckysheet-ifFormulaGenerator-multiRange-confirm", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
$("#luckysheet-row-count-show").hide();
|
|
$("#luckysheet-column-count-show").hide();
|
|
|
|
$("#luckysheet-ifFormulaGenerator-multiRange-dialog").hide();
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
|
|
let value = $(this).parents("#luckysheet-ifFormulaGenerator-multiRange-dialog").find("input").val().trim();
|
|
let cellrange = formula.getcellrange(value);
|
|
let str_r = cellrange["row"][0],
|
|
end_r = cellrange["row"][1],
|
|
str_c = cellrange["column"][0],
|
|
end_c = cellrange["column"][1];
|
|
let d = editor.deepCopyFlowData(Store.flowdata);//取数据
|
|
let arr = [];
|
|
|
|
//获取范围内所有数值
|
|
for(let r = str_r; r <= end_r; r++){
|
|
for(let c = str_c; c <= end_c; c++){
|
|
if(d[r] != null && d[r][c] != null && d[r][c]["ct"] != null && d[r][c]["ct"]["t"] == "n"){
|
|
arr.push(d[r][c]["v"]);
|
|
}
|
|
}
|
|
}
|
|
|
|
//从大到小排序
|
|
for(let j = 0; j < arr.length; j++){
|
|
for(let k = 0; k < arr.length - 1 - j; k++){
|
|
if(arr[k] < arr[k + 1]){
|
|
let temp = arr[k];
|
|
arr[k] = arr[k + 1];
|
|
arr[k + 1] = temp;
|
|
}
|
|
}
|
|
}
|
|
|
|
let largeNum = arr[0];
|
|
let smallNum = arr[arr.length - 1];
|
|
|
|
//赋值
|
|
$("#luckysheet-ifFormulaGenerator-dialog #smallRange").val(smallNum);
|
|
$("#luckysheet-ifFormulaGenerator-dialog #largeRange").val(largeNum);
|
|
});
|
|
$(document).off("click.IFmultiRangeCancel").on("click.IFmultiRangeCancel", "#luckysheet-ifFormulaGenerator-multiRange-cancel", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
$("#luckysheet-row-count-show").hide();
|
|
$("#luckysheet-column-count-show").hide();
|
|
|
|
$("#luckysheet-ifFormulaGenerator-multiRange-dialog").hide();
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
});
|
|
$(document).off("click.IFmultiRangeClose").on("click.IFmultiRangeClose", "#luckysheet-ifFormulaGenerator-multiRange-dialog .luckysheet-modal-dialog-title-close", function(){
|
|
$("#luckysheet-formula-functionrange-select").hide();
|
|
$("#luckysheet-row-count-show").hide();
|
|
$("#luckysheet-column-count-show").hide();
|
|
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").show();
|
|
});
|
|
|
|
//选择 划分方式
|
|
$(document).on("change", "#DivisionMethod", function(){
|
|
let value = $(this).find("option:selected").val();
|
|
|
|
if(value == "2"){
|
|
$("#DivisionMethodVal").hide();
|
|
}
|
|
else{
|
|
$("#DivisionMethodVal").show();
|
|
}
|
|
|
|
$("#luckysheet-ifFormulaGenerator-dialog .ifList").empty();
|
|
});
|
|
|
|
//点击 生成 按钮
|
|
$(document).off("click.IFcreateBtn").on("click.IFcreateBtn", "#luckysheet-ifFormulaGenerator-dialog #createBtn", function(){
|
|
let compareValue = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find("#compareValue").val().trim();
|
|
if(compareValue == ""){
|
|
_this.info(locale_formula.ifGenTipNotNullValue);
|
|
return;
|
|
}
|
|
|
|
let method = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find("#DivisionMethod option:selected").val();
|
|
if(method == "2"){
|
|
let itemHtml = '<div class="item">'+
|
|
'<input type="number" class="smallNum formulaInputFocus"/>'+
|
|
'<select class="operator">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1"> < </option>'+
|
|
'</select>'+
|
|
'<span class="compareValue">'+ compareValue +'</span>'+
|
|
'<select class="operator2">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1" selected="selected"> < </option>'+
|
|
'</select>'+
|
|
'<input type="number" class="largeNum formulaInputFocus"/>'+
|
|
'<span>'+locale_formula.ifGenTipLableTitile+':</span>'+
|
|
'<input type="text" class="markText formulaInputFocus" value="">'+
|
|
'<i class="fa fa-remove" aria-hidden="true"></i>'+
|
|
'</div>';
|
|
$("#luckysheet-ifFormulaGenerator-dialog .ifList").append(itemHtml);
|
|
}
|
|
else{
|
|
let smallRange = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find("#smallRange").val().trim();
|
|
let largeRange = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find("#largeRange").val().trim();
|
|
let DivisionMethodVal = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find("#DivisionMethodVal").val().trim();
|
|
|
|
if(smallRange == "" || largeRange == ""){
|
|
_this.info(locale_formula.ifGenTipRangeNotforNull);
|
|
return;
|
|
}
|
|
else if(DivisionMethodVal == ""){
|
|
_this.info(locale_formula.ifGenTipCutValueNotforNull);
|
|
return;
|
|
}
|
|
|
|
_this.getIfList(compareValue, smallRange, largeRange, method, DivisionMethodVal);
|
|
}
|
|
});
|
|
|
|
//点击 删除条件
|
|
$(document).on("click", "#luckysheet-ifFormulaGenerator-dialog .item .fa-remove", function(){
|
|
$(this).parents(".item").remove();
|
|
});
|
|
|
|
//点击 确认 按钮
|
|
$(document).off("click.IFconfirmBtn").on("click.IFconfirmBtn", "#luckysheet-ifFormulaGenerator-dialog-confirm", function(){
|
|
let $item = $(this).parents("#luckysheet-ifFormulaGenerator-dialog").find(".ifList .item");
|
|
let str = '';
|
|
|
|
$($item.toArray().reverse()).each(function(i, e){
|
|
let smallNum = $(e).find(".smallNum").val().trim();
|
|
let largeNum = $(e).find(".largeNum").val().trim();
|
|
let operator = $(e).find(".operator option:selected").val();
|
|
let operator2 = $(e).find(".operator2 option:selected").val();
|
|
let compareValue = $(e).find(".compareValue").text();
|
|
|
|
let markText = $(e).find(".markText").val().trim();
|
|
if(markText == ""){
|
|
markText = locale_formula.ifGenTipLableTitile + (i + 1);
|
|
}
|
|
|
|
if(smallNum == "" && largeNum == ""){
|
|
return true;
|
|
}
|
|
|
|
let s;
|
|
if(operator == "0"){
|
|
s = compareValue + ">=" + smallNum;
|
|
}
|
|
else{
|
|
s = compareValue + ">" + smallNum;
|
|
}
|
|
|
|
let l;
|
|
if(operator2 == "0"){
|
|
l = compareValue + "<=" + largeNum;
|
|
}
|
|
else{
|
|
l = compareValue + "<" + largeNum;
|
|
}
|
|
|
|
let a;
|
|
if(i == 0 && largeNum == ""){
|
|
a = s;
|
|
}
|
|
else if(i == ($item.length - 1) && smallNum == ""){
|
|
a = l;
|
|
}
|
|
else{
|
|
a = "and("+s+","+l+")";
|
|
}
|
|
|
|
if(i == 0){
|
|
str = 'if('+ a +',"'+ markText +'")';
|
|
}
|
|
else{
|
|
str = 'if('+ a +',"'+ markText +'",'+ str +')';
|
|
}
|
|
})
|
|
|
|
if(str.length == 0){
|
|
_this.info(locale_formula.ifGenTipNotGenCondition);
|
|
return;
|
|
}
|
|
|
|
$("#luckysheet-modal-dialog-mask").hide();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").hide();
|
|
|
|
let last = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];
|
|
let row_index = last["row_focus"],
|
|
col_index = last["column_focus"];
|
|
|
|
luckysheetupdateCell(row_index, col_index, Store.flowdata);
|
|
|
|
$("#luckysheet-rich-text-editor").html("=" + str);
|
|
$("#luckysheet-functionbox-cell").html($("#luckysheet-rich-text-editor").html());
|
|
|
|
$("#luckysheet-wa-functionbox-confirm").click();
|
|
});
|
|
|
|
//info
|
|
$(document).on("click", "#luckysheet-ifFormulaGenerator-info .luckysheet-model-close-btn", function(){
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
});
|
|
$(document).on("click", "#luckysheet-ifFormulaGenerator-info .luckysheet-modal-dialog-title-close", function(){
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
});
|
|
},
|
|
ifFormulaDialog: function(fp){
|
|
let _this = this;
|
|
|
|
const _locale = locale();
|
|
const locale_formula = _locale.formula;
|
|
const locale_button = _locale.button;
|
|
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").remove();
|
|
|
|
let compareValue = "";
|
|
let ifListHtml = '';
|
|
|
|
if(!!fp){
|
|
let arr = fp.split("if(");
|
|
|
|
for(let i = 1; i < arr.length; i++){
|
|
let txt = arr[i].replace("and(","").replace(/\)/g,"").replace(/\"/g,"");
|
|
let arr2 = txt.split(",");
|
|
arr2 = _this.clearArr(arr2);
|
|
|
|
compareValue = _this.splitTxt(arr2[0])[0];
|
|
|
|
let smallNum, largeNum, markText;
|
|
if(arr2.length == 3){
|
|
smallNum = _this.splitTxt(arr2[0])[1];
|
|
largeNum = _this.splitTxt(arr2[1])[2];
|
|
markText = arr2[2];
|
|
}
|
|
else{
|
|
smallNum = _this.splitTxt(arr2[0])[1];
|
|
largeNum = _this.splitTxt(arr2[0])[2];
|
|
markText = arr2[1];
|
|
}
|
|
|
|
let itemHtml = '<div class="item">'+
|
|
'<input type="number" class="smallNum formulaInputFocus" value="'+ smallNum +'"/>'+
|
|
'<select class="operator">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1"> < </option>'+
|
|
'</select>'+
|
|
'<span class="compareValue">'+ compareValue +'</span>'+
|
|
'<select class="operator2">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1" selected="selected"> < </option>'+
|
|
'</select>'+
|
|
'<input type="number" class="largeNum formulaInputFocus" value="'+ largeNum +'"/>'+
|
|
'<span>'+locale_formula.ifGenTipLableTitile+':</span>'+
|
|
'<input type="text" class="markText formulaInputFocus" value="'+ markText +'">'+
|
|
'<i class="fa fa-remove" aria-hidden="true"></i>'+
|
|
'</div>';
|
|
ifListHtml += itemHtml;
|
|
}
|
|
}
|
|
|
|
let content = '<div class="ifAttr">'+
|
|
'<div class="attrBox">'+
|
|
'<label for="compareValue"> '+ locale_formula.ifGenCompareValueTitle +' </label>'+
|
|
'<div class="inpBox">'+
|
|
'<input id="compareValue" class="formulaInputFocus" value="'+ compareValue +'"/>'+
|
|
'<i class="singRange fa fa-table" aria-hidden="true" title="'+ locale_formula.ifGenSelectCellTitle +'"></i>'+
|
|
'</div>'+
|
|
'</div>'+
|
|
'<div class="attrBox">'+
|
|
'<label for="smallRange"> '+ locale_formula.ifGenRangeTitle +' </label>'+
|
|
'<input type="number" id="smallRange" class="formulaInputFocus"/>'+
|
|
'<span class="text"> '+ locale_formula.ifGenRangeTo +' </span>'+
|
|
'<input type="number" id="largeRange" class="formulaInputFocus"/>'+
|
|
'<div id="rangeAssess">'+
|
|
'<span> '+ locale_formula.ifGenRangeEvaluate +' </span>'+
|
|
'<i class="multiRange fa fa-table" aria-hidden="true" title="'+ locale_formula.ifGenSelectRangeTitle +'"></i>'+
|
|
'</div>'+
|
|
'</div>'+
|
|
'<div class="attrBox">'+
|
|
'<label for="DivisionMethod"> '+ locale_formula.ifGenCutWay +' </label>'+
|
|
'<select id="DivisionMethod">'+
|
|
'<option value="0"> '+ locale_formula.ifGenCutSame +' </option>'+
|
|
'<option value="1"> '+ locale_formula.ifGenCutNpiece +' </option>'+
|
|
'<option value="2"> '+ locale_formula.ifGenCutCustom +' </option>'+
|
|
'</select>'+
|
|
'<input id="DivisionMethodVal" class="formulaInputFocus"/>'+
|
|
'<div id="createBtn"> '+ locale_formula.ifGenCutSame +' </div>'+
|
|
'</div>'+
|
|
'</div>'+
|
|
'<div class="ifList">'+ifListHtml+'</div>';
|
|
|
|
$("body").append(replaceHtml(modelHTML, {
|
|
"id": "luckysheet-ifFormulaGenerator-dialog",
|
|
"addclass": "luckysheet-ifFormulaGenerator-dialog",
|
|
"title": locale_formula.ifGenerate,
|
|
"content": content,
|
|
"botton": '<button id="luckysheet-ifFormulaGenerator-dialog-confirm" class="btn btn-primary">'+locale_button.confirm+'</button><button class="btn btn-default luckysheet-model-close-btn">'+locale_button.cancel+'</button>',
|
|
"style": "z-index:100003"
|
|
}));
|
|
let $t = $("#luckysheet-ifFormulaGenerator-dialog").find(".luckysheet-modal-dialog-content").css("min-width", 590).end(),
|
|
myh = $t.outerHeight(),
|
|
myw = $t.outerWidth();
|
|
let winw = $(window).width(), winh = $(window).height();
|
|
let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").css({ "left": (winw + scrollLeft - myw) / 2, "top": (winh + scrollTop - myh) / 3 }).show();
|
|
},
|
|
clearArr: function(arr){
|
|
for(let i = 0; i < arr.length; i++){
|
|
if(arr[i] == "" || arr[i] == null || arr[i] == undefined){
|
|
arr.splice(i, 1);
|
|
}
|
|
}
|
|
|
|
return arr;
|
|
},
|
|
splitTxt: function(txt){
|
|
let compareValue, smallNum, largeNum;
|
|
|
|
if(txt.indexOf(">=") != -1){
|
|
compareValue = txt.split(">=")[0];
|
|
smallNum = txt.split(">=")[1];
|
|
|
|
return [compareValue, smallNum, largeNum];
|
|
}
|
|
else if(txt.indexOf(">") != -1){
|
|
compareValue = txt.split(">")[0];
|
|
smallNum = txt.split(">")[1];
|
|
|
|
return [compareValue, smallNum, largeNum];
|
|
}
|
|
else if(txt.indexOf("<=") != -1){
|
|
compareValue = txt.split("<=")[0];
|
|
largeNum = txt.split("<=")[1];
|
|
|
|
return [compareValue, smallNum, largeNum];
|
|
}
|
|
else if(txt.indexOf("<") != -1){
|
|
compareValue = txt.split("<")[0];
|
|
largeNum = txt.split("<")[1];
|
|
|
|
return [compareValue, smallNum, largeNum];
|
|
}
|
|
},
|
|
singleRangeDialog: function(value){
|
|
$("#luckysheet-modal-dialog-mask").hide();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").hide();
|
|
$("#luckysheet-ifFormulaGenerator-singleRange-dialog").remove();
|
|
|
|
const _locale = locale();
|
|
const locale_formula = _locale.formula;
|
|
const locale_button = _locale.button;
|
|
|
|
if(value == null){
|
|
value = "";
|
|
}
|
|
|
|
$("body").append(replaceHtml(modelHTML, {
|
|
"id": "luckysheet-ifFormulaGenerator-singleRange-dialog",
|
|
"addclass": "luckysheet-ifFormulaGenerator-singleRange-dialog",
|
|
"title": locale_formula.ifGenTipSelectCell,
|
|
"content": '<input readonly="readonly" placeholder="'+locale_formula.ifGenTipSelectCellPlace+'" value="'+ value +'">',
|
|
"botton": '<button id="luckysheet-ifFormulaGenerator-singleRange-confirm" class="btn btn-primary">'+locale_button.confirm+'</button><button id="luckysheet-ifFormulaGenerator-singleRange-cancel" class="btn btn-default">'+locale_button.cancel+'</button>',
|
|
"style": "z-index:100003"
|
|
}));
|
|
let $t = $("#luckysheet-ifFormulaGenerator-singleRange-dialog").find(".luckysheet-modal-dialog-content").css("min-width", 400).end(),
|
|
myh = $t.outerHeight(),
|
|
myw = $t.outerWidth();
|
|
let winw = $(window).width(), winh = $(window).height();
|
|
let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop();
|
|
$("#luckysheet-ifFormulaGenerator-singleRange-dialog").css({ "left": (winw + scrollLeft - myw) / 2, "top": (winh + scrollTop - myh) / 3 }).show();
|
|
},
|
|
multiRangeDialog: function(){
|
|
$("#luckysheet-modal-dialog-mask").hide();
|
|
$("#luckysheet-ifFormulaGenerator-dialog").hide();
|
|
$("#luckysheet-ifFormulaGenerator-multiRange-dialog").remove();
|
|
|
|
const _locale = locale();
|
|
const locale_formula = _locale.formula;
|
|
const locale_button = _locale.button;
|
|
|
|
$("body").append(replaceHtml(modelHTML, {
|
|
"id": "luckysheet-ifFormulaGenerator-multiRange-dialog",
|
|
"addclass": "luckysheet-ifFormulaGenerator-multiRange-dialog",
|
|
"title": locale_formula.ifGenTipSelectRange,
|
|
"content": '<input readonly="readonly" placeholder="'+locale_formula.ifGenTipSelectRangePlace+'" value="">',
|
|
"botton": '<button id="luckysheet-ifFormulaGenerator-multiRange-confirm" class="btn btn-primary">'+locale_button.confirm+'</button><button id="luckysheet-ifFormulaGenerator-multiRange-cancel" class="btn btn-default">'+locale_button.cancel+'</button>',
|
|
"style": "z-index:100003"
|
|
}));
|
|
let $t = $("#luckysheet-ifFormulaGenerator-multiRange-dialog").find(".luckysheet-modal-dialog-content").css("min-width", 400).end(),
|
|
myh = $t.outerHeight(),
|
|
myw = $t.outerWidth();
|
|
let winw = $(window).width(), winh = $(window).height();
|
|
let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop();
|
|
$("#luckysheet-ifFormulaGenerator-multiRange-dialog").css({ "left": (winw + scrollLeft - myw) / 2, "top": (winh + scrollTop - myh) / 3 }).show();
|
|
},
|
|
getIfList: function(compareValue, smallRange, largeRange, method, methodVal){
|
|
const locale_formula = locale().formula;
|
|
|
|
$("#luckysheet-ifFormulaGenerator-dialog .ifList").empty();
|
|
|
|
smallRange = parseInt(smallRange);
|
|
largeRange = parseInt(largeRange);
|
|
methodVal = parseInt(methodVal);
|
|
|
|
let arr = [];
|
|
|
|
if(method == "0"){
|
|
let len = Math.ceil((largeRange - smallRange) / methodVal);
|
|
for(let i = 0; i <= len; i++){
|
|
let num = smallRange + methodVal * i;
|
|
if(i == 0 || num >= largeRange){
|
|
arr.push("");
|
|
}
|
|
else{
|
|
arr.push(num);
|
|
}
|
|
}
|
|
|
|
}
|
|
else if(method == "1"){
|
|
let addnum = Math.ceil((largeRange - smallRange) / methodVal);
|
|
for(let i = 0; i <= methodVal; i++){
|
|
let num = smallRange + addnum * i;
|
|
if(i == 0 || num >= largeRange){
|
|
arr.push("");
|
|
}
|
|
else{
|
|
arr.push(num);
|
|
}
|
|
}
|
|
}
|
|
for(let j = 0; j < arr.length - 1; j++){
|
|
let markText;
|
|
if(j == 0){
|
|
markText = "小于" + arr[j + 1];
|
|
}
|
|
else if(j == arr.length - 2){
|
|
markText = "大于等于" + arr[j];
|
|
}
|
|
else{
|
|
markText = arr[j] + "到" + arr[j + 1];
|
|
}
|
|
|
|
let itemHtml = '<div class="item">'+
|
|
'<input type="number" class="smallNum formulaInputFocus" value="'+ arr[j] +'"/>'+
|
|
'<select class="operator">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1"> < </option>'+
|
|
'</select>'+
|
|
'<span class="compareValue">'+ compareValue +'</span>'+
|
|
'<select class="operator2">'+
|
|
'<option value="0"> <= </option>'+
|
|
'<option value="1" selected="selected"> < </option>'+
|
|
'</select>'+
|
|
'<input type="number" class="largeNum formulaInputFocus" value="'+ arr[j + 1] +'"/>'+
|
|
'<span>'+locale_formula.ifGenTipLableTitile+':</span>'+
|
|
'<input type="text" class="markText formulaInputFocus" value="'+ markText +'">'+
|
|
'<i class="fa fa-remove" aria-hidden="true"></i>'+
|
|
'</div>';
|
|
$("#luckysheet-ifFormulaGenerator-dialog .ifList").append(itemHtml);
|
|
}
|
|
},
|
|
info: function(title){
|
|
$("#luckysheet-modal-dialog-mask").show();
|
|
$("#luckysheet-ifFormulaGenerator-info").remove();
|
|
|
|
const _locale = locale();
|
|
const locale_button = _locale.button;
|
|
|
|
$("body").append(replaceHtml(modelHTML, {
|
|
"id": "luckysheet-ifFormulaGenerator-info",
|
|
"addclass": "",
|
|
"title": title,
|
|
"content": "",
|
|
"botton": '<button class="btn btn-default luckysheet-model-close-btn"> '+locale_button.close+' </button>',
|
|
"style": "z-index:100003"
|
|
}));
|
|
let $t = $("#luckysheet-ifFormulaGenerator-info").find(".luckysheet-modal-dialog-content").css("min-width", 300).end(),
|
|
myh = $t.outerHeight(),
|
|
myw = $t.outerWidth();
|
|
let winw = $(window).width(), winh = $(window).height();
|
|
let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop();
|
|
$("#luckysheet-ifFormulaGenerator-info").css({ "left": (winw + scrollLeft - myw) / 2, "top": (winh + scrollTop - myh) / 3 }).show();
|
|
}
|
|
}
|
|
|
|
export default ifFormulaGenerator;
|