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