|
@@ -171,6 +171,9 @@ let rationOprObj = {
|
|
|
isInt: function (num) {
|
|
|
return !isNaN(num) && num % 1 === 0;
|
|
|
},
|
|
|
+ isDef: function (v) {
|
|
|
+ return v !== undefined && v !== null;
|
|
|
+ },
|
|
|
getCache: function() {
|
|
|
let me = this, rst = me.currentRations["_SEC_ID_" + me.currentSectionId];
|
|
|
if (!(rst)) {
|
|
@@ -427,13 +430,17 @@ let rationOprObj = {
|
|
|
}
|
|
|
},
|
|
|
onCellEditEnd: function(sender, args) {
|
|
|
- let edV = args.sheet.getValue(args.row, args.col);
|
|
|
- if(edV){
|
|
|
- args.sheet.setValue(args.row, args.col, edV.toString().trim());
|
|
|
- }
|
|
|
- let me = rationOprObj, rObj = sheetsOprObj.combineRationRowData(me.workBook.getSheet(0), me.setting, args.row),
|
|
|
- updateArr = [], addArr = [];
|
|
|
+ let me = rationOprObj;
|
|
|
+ // 输入编号、名称、单位时,如果输入回车符或粘贴回车符,提交时应转换为空格。
|
|
|
let dataCode = me.setting.header[args.col].dataCode;
|
|
|
+ let deESCFields = ['code', 'name', 'unit'];
|
|
|
+ if(deESCFields.includes(dataCode)){
|
|
|
+ args.editingText = me.isDef(args.editingText) ? args.editingText.toString().replace(/[\r, \n]/g, ' ') : '';
|
|
|
+ args.sheet.setValue(args.row, args.col, args.editingText);
|
|
|
+ }
|
|
|
+ let rObj = sheetsOprObj.combineRationRowData(me.workBook.getSheet(0), me.setting, args.row),
|
|
|
+ updateArr = [],
|
|
|
+ addArr = [];
|
|
|
me.editingRowIdx = args.row;
|
|
|
if (me.currentEditingRation["ID"]) {
|
|
|
if((!args.editingText || args.editingText.toString().trim().length === 0) && args.col === 0){
|
|
@@ -505,16 +512,21 @@ let rationOprObj = {
|
|
|
}
|
|
|
},
|
|
|
canPasted: function (beginCol, maxCol) {
|
|
|
- let rst = false;
|
|
|
- if(maxCol < 3 || beginCol > 6){
|
|
|
- rst = true;
|
|
|
- }
|
|
|
- return rst;
|
|
|
+ let me = rationOprObj;
|
|
|
+ // 粘贴的列不可包含不可编辑的“基价”列
|
|
|
+ // 粘贴的最大列不可超出表格的最大列
|
|
|
+ if (me.canRations &&
|
|
|
+ (maxCol < 3 ||
|
|
|
+ (beginCol > 3 && maxCol <= me.setting.header.length - 1))
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
},
|
|
|
onClipboardPasting: function(sender, args) {
|
|
|
let me = rationOprObj;
|
|
|
let maxCol = args.cellRange.col + args.cellRange.colCount -1;
|
|
|
- if(!me.canRations || !me.canPasted(args.cellRange.col, maxCol) || maxCol > me.setting.header.length - 1){
|
|
|
+ if (!me.canPasted(args.cellRange.col, maxCol)) {
|
|
|
args.cancel = true;
|
|
|
}
|
|
|
},
|