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