Pārlūkot izejas kodu

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/YangHuOperation

TonyKang 6 gadi atpakaļ
vecāks
revīzija
8d75be4c9f

+ 24 - 12
web/maintain/ration_repository/js/ration.js

@@ -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;
         }
     },

+ 3 - 2
web/maintain/std_glj_lib/js/glj.js

@@ -741,10 +741,11 @@ let repositoryGljObj = {
     onCellEditEnd: function(sender, args) {
         let me = repositoryGljObj, that = gljComponentOprObj,
             updateArr = [], addArr = [], updateBasePrcArr = [];
-        let deESCFields = ['code', 'name', 'specs'];//消除转义字符
+        // 输入编号、名称、规格时,如果输入回车符或粘贴回车符,提交时应转换为空格。
+        let deESCFields = ['code', 'name', 'specs'];
         let dataCode = me.setting.header[args.col].dataCode;
         if(deESCFields.includes(dataCode)){
-            args.editingText = me.isDef(args.editingText) ? args.editingText.toString().replace(/[\r, \n]/g, '') : '';
+            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.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me);