Browse Source

1. 中间计量,总量控制,计量单元,生成数据后,排序
2. 中间计量,提交草图,不影响其他数据

MaiXinRong 5 years ago
parent
commit
aa204719e2
2 changed files with 32 additions and 5 deletions
  1. 30 3
      app/public/js/stage_im.js
  2. 2 2
      app/view/stage/index.ejs

+ 30 - 3
app/public/js/stage_im.js

@@ -254,7 +254,7 @@ const stageIm = (function () {
         });
         if (cd) {
             _.assignInWith(im, cd, function (oV, sV, key) {
-                return imFields.indexOf(key) > -1 && sV !== undefined ? sV : oV;
+                return imFields.indexOf(key) > -1 && sV !== undefined && sV !== null ? sV : oV;
             });
         }
     }
@@ -295,6 +295,31 @@ const stageIm = (function () {
             if (!im.bgl_drawing_code || im.bgl_drawing_code === '') im.bgl_drawing_code = new_code.join(';');
         }
     }
+    function compareCode(str1, str2, symbol = '-') {
+        if (!str1) {
+            return -1;
+        } else if (!str2) {
+            return 1;
+        }
+
+        const path1 = str1.split(symbol);
+        const path2 = str2.split(symbol);
+        const reg = /^[0-9]*$/;
+        for (let i = 0, iLen = Math.min(path1.length, path2.length); i < iLen; i++) {
+            if (reg.test(path1[i]) && reg.test(path2[i])) {
+                const num1 = parseInt(path1[i]);
+                const num2 = parseInt(path2[i]);
+                if (num1 !== num2)  {
+                    return num1 - num2;
+                }
+            } else if (path1[i] < path2[i]) {
+                return -1;
+            } else if (path1[i] > path2[i]) {
+                return 1;
+            }
+        }
+        return path1.length - path2.length;
+    }
 
     function generateTzPosData(node, gclBills) {
         if (!gclBills.pos) {
@@ -604,8 +629,10 @@ const stageIm = (function () {
             getCalcMemo(im);
             getChangeInfo(im);
         }
-        if (stage.im_type !== imType.zl.value) {
-            stage.im_type
+        if (stage.im_type !== imType.tz.value) {
+            ImData.sort(function (x, y) {
+                return compareCode(x.code, y.code);
+            });
         }
         return ImData;
     }

+ 2 - 2
app/view/stage/index.ejs

@@ -185,7 +185,7 @@
                                 </div>
                                 <div class="form-group">
                                     <label>计算式说明:</label>
-                                    <textarea class="form-control"></textarea>
+                                    <textarea class="form-control" id="calc-memo"></textarea>
                                 </div>
                                 <div class="form-group">
                                     <div class="d-flex justify-content-between my-3">
@@ -367,7 +367,7 @@
                                 </div>
                                 <div class="card-body p-2">
                                     <p class="card-text">
-                                        <textarea name="" class="form-control"></textarea>
+                                        <textarea name="" class="form-control form-control-sm"></textarea>
                                     </p>
                                     <div class="d-flex justify-content-end"><button type="button" class="btn btn-sm btn-outline-success"><i class="fa fa-check"></i> 确定</button>&nbsp;<button type="button" class="btn btn-sm btn-outline-danger"><i class="fa fa-close"></i>  取消</button></div>
                                 </div>