|
@@ -344,7 +344,25 @@ $(document).ready(function() {
|
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
|
const curCol = info.cellRange.col + iCol;
|
|
const curCol = info.cellRange.col + iCol;
|
|
|
const colSetting = info.sheet.zh_setting.cols[curCol];
|
|
const colSetting = info.sheet.zh_setting.cols[curCol];
|
|
|
- data[colSetting.field] = trimInvalidChar(pasteData[iRow-filterRow][iCol]);
|
|
|
|
|
|
|
+ if (datas.length > 0) if (datas[0][colSetting.field] === undefined) continue;
|
|
|
|
|
+
|
|
|
|
|
+ const newText = trimInvalidChar(pasteData[iRow-filterRow][iCol]);
|
|
|
|
|
+ if (colSetting.type === 'Number') {
|
|
|
|
|
+ const num = _.toNumber(newText);
|
|
|
|
|
+ if (!_.isFinite(num)) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ data[colSetting.field] = ZhCalc.mathCalcExpr(transExpr(newText));
|
|
|
|
|
+ } catch (err) {
|
|
|
|
|
+ toastr.error('粘贴的计算式非法');
|
|
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ data[colSetting.field] = num;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ data[colSetting.field] = newText;
|
|
|
|
|
+ }
|
|
|
bPaste = true;
|
|
bPaste = true;
|
|
|
}
|
|
}
|
|
|
if (bPaste) {
|
|
if (bPaste) {
|
|
@@ -504,12 +522,17 @@ $(document).ready(function() {
|
|
|
const updateData = { book_id: detailData.book_id, detail_id: detailData.id, ledger_id: detailData.ledger_id };
|
|
const updateData = { book_id: detailData.book_id, detail_id: detailData.id, ledger_id: detailData.ledger_id };
|
|
|
if (col.type === 'Number') {
|
|
if (col.type === 'Number') {
|
|
|
const num = _.toNumber(newText);
|
|
const num = _.toNumber(newText);
|
|
|
- if (!_.isFinite(num)) {
|
|
|
|
|
- toastr.error('输入的数字非法');
|
|
|
|
|
- SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ if (_.isFinite(num)) {
|
|
|
|
|
+ updateData[col.field] = num;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ try {
|
|
|
|
|
+ updateData[col.field] = ZhCalc.mathCalcExpr(transExpr(newText));
|
|
|
|
|
+ } catch(err) {
|
|
|
|
|
+ toastr.error('输入的表达式非法');
|
|
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- updateData[col.field] = num;
|
|
|
|
|
} else {
|
|
} else {
|
|
|
updateData[col.field] = newText;
|
|
updateData[col.field] = newText;
|
|
|
}
|
|
}
|
|
@@ -570,7 +593,7 @@ $(document).ready(function() {
|
|
|
let filterRow = 0;
|
|
let filterRow = 0;
|
|
|
for (let iRow = 0; iRow < info.cellRange.rowCount; iRow ++) {
|
|
for (let iRow = 0; iRow < info.cellRange.rowCount; iRow ++) {
|
|
|
const curRow = info.cellRange.row + iRow;
|
|
const curRow = info.cellRange.row + iRow;
|
|
|
- const node = tree.nodes[curRow];
|
|
|
|
|
|
|
+ const node = info.sheet.zh_data[curRow];
|
|
|
if (!node) continue;
|
|
if (!node) continue;
|
|
|
|
|
|
|
|
let bPaste = false;
|
|
let bPaste = false;
|
|
@@ -578,8 +601,9 @@ $(document).ready(function() {
|
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
|
const curCol = info.cellRange.col + iCol;
|
|
const curCol = info.cellRange.col + iCol;
|
|
|
const colSetting = info.sheet.zh_setting.cols[curCol];
|
|
const colSetting = info.sheet.zh_setting.cols[curCol];
|
|
|
- const value = trimInvalidChar(pasteData[iRow-filterRow][iCol]);
|
|
|
|
|
|
|
+ if (datas.length > 0) if (datas[0][colSetting.field] === undefined) continue;
|
|
|
|
|
|
|
|
|
|
+ const value = trimInvalidChar(pasteData[iRow-filterRow][iCol]);
|
|
|
if (colSetting.type === 'Number') {
|
|
if (colSetting.type === 'Number') {
|
|
|
const num = _.toNumber(value);
|
|
const num = _.toNumber(value);
|
|
|
if (num) {
|
|
if (num) {
|