Bläddra i källkod

优化生成工料机编号代码,定额人材机下拉选项排序

zhangweicheng 6 år sedan
förälder
incheckning
f7f2d4c7e6

+ 14 - 1
modules/glj/models/unit_price_model.js

@@ -128,13 +128,26 @@ class UnitPriceModel extends BaseModel {
         }
         }
 
 
         if (unitPriceData&&unitPriceData.length>0&&operation!='add') {// 如果原始编码能找到,但不存在一样的编号,名称,单位.型号等,更改code和添加新增标记,新增的时候除外。新增的情况下能到这一步说明有存在编码一致但其它属性不一致的情况,所以不用更改编码
         if (unitPriceData&&unitPriceData.length>0&&operation!='add') {// 如果原始编码能找到,但不存在一样的编号,名称,单位.型号等,更改code和添加新增标记,新增的时候除外。新增的情况下能到这一步说明有存在编码一致但其它属性不一致的情况,所以不用更改编码
-            insertData.code = data.original_code+"-"+unitPriceData.length;
+            //insertData.code = data.original_code+"-"+unitPriceData.length;
+            insertData.code = data.original_code+"-"+this.getLastNumber(data.original_code,unitPriceData);
             insertData.is_add=1;
             insertData.is_add=1;
         }
         }
         let addPriceResult = await this.add(insertData);
         let addPriceResult = await this.add(insertData);
         return [addPriceResult, true];
         return [addPriceResult, true];
     }
     }
+     getLastNumber(original_code,unitPriceData){
+        let codeArray = _.map(unitPriceData,'code');
+        let last = 1;
+        while (true){
+            if(_.includes(codeArray,original_code+"-"+last)){
+                last +=1
+            }else {
+                break;
+            }
+        }
+        return last;
 
 
+     }
     /**
     /**
      * 新增记录
      * 新增记录
      *
      *

+ 1 - 1
web/building_saas/main/js/views/glj_view.js

@@ -659,7 +659,7 @@ var gljOprObj = {
             if( codeMap[preCode]) options = codeMap[preCode];
             if( codeMap[preCode]) options = codeMap[preCode];
             if(options.length>0) _.remove(options,{'value':gljOprObj.getIndex(recode, gljKeyArray)})//去掉本身
             if(options.length>0) _.remove(options,{'value':gljOprObj.getIndex(recode, gljKeyArray)})//去掉本身
         }
         }
-        return options;
+        return _.sortBy(options,'text');
     },
     },
     filterGljByRation: function (ration, datas) {
     filterGljByRation: function (ration, datas) {
         var gljList = [];
         var gljList = [];