|
|
@@ -188,6 +188,7 @@ let feeItemObj = {
|
|
|
if(!me.isDef(feeItem)){
|
|
|
me.workBook.focus(true);
|
|
|
me.currentFeeItem = null;
|
|
|
+ se.cache= [];
|
|
|
return;
|
|
|
}
|
|
|
fr.addObj = null;
|
|
|
@@ -202,7 +203,7 @@ let feeItemObj = {
|
|
|
},
|
|
|
onSelectionChanged: function (sender, info) {
|
|
|
let me = feeItemObj;
|
|
|
- if(info.oldSelections.length === 0 && info.newSelections.length > 0 || info.oldSelections[0].row !== info.newSelections[0].row){
|
|
|
+ if(!info.oldSelections || info.oldSelections.length === 0 && info.newSelections.length > 0 || info.oldSelections[0].row !== info.newSelections[0].row){
|
|
|
let row = info.newSelections[0].row;
|
|
|
let node = me.cache[row];
|
|
|
me.initSelection(node);
|
|
|
@@ -262,7 +263,7 @@ let feeItemObj = {
|
|
|
me.updateFeeItem([updateObj]);
|
|
|
},
|
|
|
onClipboardPasting: function (sender, info) {
|
|
|
- let me = this;
|
|
|
+ let me = feeItemObj;
|
|
|
if(info.cellRange.col + info.cellRange.colCount > me.setting.header.length){
|
|
|
info.cancel = true;
|
|
|
}
|
|
|
@@ -657,7 +658,7 @@ let feeRuleObj = {
|
|
|
this.buildHeader();
|
|
|
this.sheet.setRowCount();
|
|
|
|
|
|
-
|
|
|
+ this.sheet.options.allowCellOverflow = false;
|
|
|
sheetCommonObj.bindEscKey(this.workBook, [{sheet: this.sheet, editStarting: this.onEditStarting, editEnded: this.onEditEnded}])
|
|
|
this.setOptions(this.workBook, this.setting.options);
|
|
|
this.sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;
|
|
|
@@ -713,35 +714,44 @@ let feeRuleObj = {
|
|
|
validPasteData: function (data) {
|
|
|
//插入须有编码
|
|
|
if(!this.isDef(data.code)){
|
|
|
+ alert('粘贴时,编码不能为空,或者粘贴的数据中需包含编码');
|
|
|
return false;
|
|
|
}
|
|
|
//编码须唯一
|
|
|
if(this.isDef(data.code) && this.hasCode(data)){
|
|
|
+ alert('编码须唯一!');
|
|
|
return false;
|
|
|
}
|
|
|
//基数要合法
|
|
|
if(this.isDef(data.base) && this.setting.comboItems.base.indexOf(data.base) < 0){
|
|
|
+ alert('基数不正确!');
|
|
|
return false;
|
|
|
}
|
|
|
//费率、人工、材料、机械,须数字
|
|
|
if(this.isDef(data.feeRate) && isNaN(data.feeRate)){
|
|
|
+ alert('费率须为数字!');
|
|
|
return false;
|
|
|
}
|
|
|
if(this.isDef(data.labour) && isNaN(data.labour)){
|
|
|
+ alert('人工须为数字!');
|
|
|
return false;
|
|
|
}
|
|
|
if(this.isDef(data.material) && isNaN(data.material)){
|
|
|
+ alert('材料须为数字!');
|
|
|
return false;
|
|
|
}
|
|
|
if(this.isDef(data.machine) && isNaN(data.machine)){
|
|
|
+ alert('机械须为数字!');
|
|
|
return false;
|
|
|
}
|
|
|
//基数为分别按人材机时,费率须为空
|
|
|
if(this.isDef(data.base) && data.base === this.base.RCJ && this.isDef(data.feeRate) && data.feeRate !== ''){
|
|
|
+ alert("基数为分别按人材机时,费率须为空!");
|
|
|
return false;
|
|
|
}
|
|
|
//基数为 人工、材料、机械时 三者之和须为100
|
|
|
if(this.isDef(data.base) && data.base !== this.base.RCJ && this.validRCJ(data)){
|
|
|
+ alert("基数为 人工、材料、机械时 三者之和须为100");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
@@ -991,12 +1001,10 @@ let feeRuleObj = {
|
|
|
if(me.validPasteData(tempObj)){
|
|
|
me.decimalPasteData(tempObj);
|
|
|
//front
|
|
|
- feeRule = tempObj;
|
|
|
+ me.cache[row] = tempObj;
|
|
|
me.toUpdate = true;
|
|
|
}
|
|
|
- }
|
|
|
- //insert
|
|
|
- else{
|
|
|
+ } else{// //insert
|
|
|
if(me.validPasteData(items[i])){
|
|
|
me.decimalPasteData(items[i]);
|
|
|
items[i].ID = uuid.v1();
|