瀏覽代碼

调差bug修复1

laiguoran 5 年之前
父節點
當前提交
ad132538c0
共有 1 個文件被更改,包括 88 次插入32 次删除
  1. 88 32
      app/public/js/material.js

+ 88 - 32
app/public/js/material.js

@@ -257,7 +257,7 @@ $(document).ready(() => {
                         return;
                     }
                     const num = parseFloat(validText);
-                    if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) {
+                    if (validText !== null && (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num))) {
                         toastr.error('请输入大于0并且小于3位小数的浮点数');
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                         return;
@@ -270,7 +270,7 @@ $(document).ready(() => {
                         return;
                     }
                     const num = parseFloat(validText);
-                    if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) {
+                    if (validText !== null && (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num))) {
                         toastr.error('请输入大于0并且小于3位小数的浮点数');
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                         return;
@@ -284,7 +284,7 @@ $(document).ready(() => {
                         return;
                     }
                     const num = parseFloat(validText);
-                    if (num < 0 || num > 100 || !/^\d+$/.test(num)) {
+                    if (validText !== null && (num < 0 || num > 100 || !/^\d+$/.test(num))) {
                         toastr.error('只能输入0-100的正整数');
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                         return;
@@ -298,7 +298,7 @@ $(document).ready(() => {
                         return;
                     }
                     const num = parseFloat(validText);
-                    if (num < 0 || num > 100 || !/^\d+$/.test(num)) {
+                    if (validText !== null && (num < 0 || num > 100 || !/^\d+$/.test(num))) {
                         toastr.error('只能输入0-100的正整数');
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                         return;
@@ -326,46 +326,102 @@ $(document).ready(() => {
                 });
             }
         },
-        // clipboardPasting(e, info) {
+        // clipboardPasted(e, info) {
+        //     console.log(info)
         //     if (info.sheet.zh_setting) {
-        //         const sortData = info.sheet.zh_data;
-        //         const range = info.cellRange;
-        //         const validField = ['code', 'name', 'unit', 'spec', 'basic_price', 'basic_times', 'msg_tp', 'msg_times', 'm_up_risk', 'm_down_risk', 'remark'];
-        //         for (let iCol = range.col; iCol < range.col + range.colCount; iCol++) {
-        //             const col = info.sheet.zh_setting.cols[iCol];
-        //             // if (col.type === 'Number') {
-        //             //     const num = _.toNumber(newData[col.field]);
-        //             //     if (num) {
-        //             //         newData[col.field] = num;
-        //             //     } else {
-        //             //         try {
-        //             //             newData[col.field] = math.evaluate(transExpr(newData[col.field]));
-        //             //         } catch(err) {
-        //             //             toastr.error('输入的表达式非法');
-        //             //             stagePosSpreadObj.loadCurPosData();
-        //             //             return;
-        //             //
-        //             //         }
-        //             //     }
-        //             // }
-        //             if (validField.indexOf(col.field) === -1) {
-        //                 toastr.error('不可修改此数据');
-        //                 info.cancel = true;
+        //         const select = SpreadJsObj.getSelectObject(info.sheet);
+        //         const col = info.sheet.zh_setting.cols[info.col];
+        //         // 未改变值则不提交
+        //         const validText = info.editingText ? trimInvalidChar(info.editingText) : null;
+        //         console.log(validText);
+        //         const orgValue = select[col.field];
+        //         if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) {
+        //             SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //             return;
+        //         }
+        //         // 判断部分值是否输入的是数字判断和数据计算
+        //         if (col.field === 'basic_price') {
+        //             if (isNaN(validText)) {
+        //                 toastr.error('不能输入其它非数字类型字符');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //             const num = parseFloat(validText);
+        //             if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) {
+        //                 toastr.error('请输入大于0并且小于3位小数的浮点数');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //         }
+        //         if (col.field === 'msg_tp') {
+        //             if (isNaN(validText)) {
+        //                 toastr.error('不能输入其它非数字类型字符');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //             const num = parseFloat(validText);
+        //             if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) {
+        //                 toastr.error('请输入大于0并且小于3位小数的浮点数');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
         //                 return;
         //             }
         //         }
+        //         if (col.field === 'm_up_risk') {
+        //             // 只能输入正整数
+        //             if (isNaN(validText)) {
+        //                 toastr.error('不能输入其它非数字类型字符');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //             const num = parseFloat(validText);
+        //             if (num < 0 || num > 100 || !/^\d+$/.test(num)) {
+        //                 toastr.error('只能输入0-100的正整数');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //         }
+        //         if (col.field === 'm_down_risk') {
+        //             // 只能输入正整数
+        //             if (isNaN(validText)) {
+        //                 toastr.error('不能输入其它非数字类型字符');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //             const num = parseFloat(validText);
+        //             if (num < 0 || num > 100 || !/^\d+$/.test(num)) {
+        //                 toastr.error('只能输入0-100的正整数');
+        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //                 return;
+        //             }
+        //         }
+        //         if (col.field === 't_type') {
+        //             if (validText === 1) {
+        //                 select.quantity = null;
+        //                 select.expr = null;
+        //                 select.m_tp = null;
+        //             }
+        //         }
+        //         select[col.field] = validText;
+        //         select.msg_spread = materialCol.getValue.msg_spread(select);
+        //         select.m_spread = materialCol.getValue.m_spread(select);
+        //         select.m_tp = materialCol.getValue.m_tp(select);
+        //         // 更新至服务器
+        //         postData(window.location.pathname + '/save', { type:'update', updateData: select }, function (result) {
+        //             m_tp = result.m_tp;
+        //             resetTpTable();
+        //             SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //         }, function () {
+        //             select[col.field] = orgValue;
+        //             SpreadJsObj.reLoadRowData(info.sheet, info.row);
+        //         });
         //     }
         // },
-        // clipboardPasted(e, info) {
-        //     // console.log(e, info);
-        // },
         setReadOnly: function(readOnly) {
             SpreadJsObj.resetFieldReadOnly(materialSpread.getActiveSheet(), 'msg_spread', 'm_spread', 'm_tp', 'pre_tp', readOnly);
         }
     };
     materialSpreadObj.refreshActn();
     materialSpread.bind(spreadNS.Events.SelectionChanged, materialSpreadObj.selectionChanged);
-    // materialSpread.bind(spreadNS.Events.ClipboardPasting, materialSpreadObj.clipboardPasting);
     // materialSpread.bind(spreadNS.Events.ClipboardPasted, materialSpreadObj.clipboardPasted);
     // const sheet = materialSpread.getActiveSheet();
     // sheet.suspendPaint();