Explorar el Código

fix(client): 新增基数名称带“+”,影响正常计算、影响正则解析。

chenshilong hace 3 años
padre
commit
4eca68b061
Se han modificado 2 ficheros con 5 adiciones y 4 borrados
  1. 1 1
      package.json
  2. 4 3
      web/building_saas/main/js/models/calc_base.js

+ 1 - 1
package.json

@@ -62,7 +62,7 @@
     "server": "pm2-docker pm2_server.json",
     "socket": "node socket.js",
     "import": "pm2-docker pm2_import.json",
-    "dev_server": "SET NODE_ENV=qa&& node server.js",
+    "dev_server": "SET NODE_ENV=uat&& node server.js",
     "dev_socket": "SET NODE_ENV=qa&& node socket.js",
     "dev_import": "SET NODE_ENV=qa&& node importserver.js"
   }

+ 4 - 3
web/building_saas/main/js/models/calc_base.js

@@ -1539,9 +1539,9 @@ let cbAnalyzer = {
     if (!this.arithmeticLegal(exp)) {
       throw "表达式含有无效字符";
     }
-    if (!this.baseLegal(cbTools.getFigure(node), exp)) {
-      throw "清单基数不合法";
-    }
+    // if (!this.baseLegal(cbTools.getFigure(node), exp)) {
+    //   throw "清单基数不合法";
+    // }
     if (!this.fLegal(calcBase.project.mainTree.items, exp)) {
       throw "行引用不合法";
     }
@@ -1771,6 +1771,7 @@ let cbParser = {
       exps[i].compileExp = "$CBC.base('" + exps[i].orgExp + "')";
       let regStr = exps[i].orgExp.replace(/\(/g, "\\(");
       regStr = regStr.replace(/\)/g, "\\)");
+      regStr = regStr.replace(/\+/g, "\\+");
       v = v.replace(new RegExp(regStr, "g"), exps[i].compileExp);
     }
     //去{}