zhangweicheng 6 سال پیش
والد
کامیت
8992288dbe
3فایلهای تغییر یافته به همراه18 افزوده شده و 10 حذف شده
  1. 8 6
      modules/complementary_ration_lib/models/compleRationModel.js
  2. 6 1
      public/gljUtil.js
  3. 4 3
      public/web/gljUtil.js

+ 8 - 6
modules/complementary_ration_lib/models/compleRationModel.js

@@ -12,6 +12,7 @@ import async from 'async';
 let stdRationModel = require ('../../ration_repository/models/ration_item').Model;
 let counter = require('../../../public/counter/counter');
 const scMathUtil = require('../../../public/scMathUtil').getUtil();
+let gljUtil = require('../../../public/gljUtil');
 
 class CompleRatoinDao {
     async updateRation(userID, compilationId, updateData, callback){
@@ -157,8 +158,8 @@ class CompleRatoinDao {
             if(comGljIds.length > 0) {
                 comGljs = await complementaryGljModel.find({userId: userId, ID: {$in: comGljIds}});
             }
-            let gljDatas = stdGljs.concat(comGljs);
-            gljDatas.sort(function (a, b) {
+            let gljDatas = gljUtil.sortRationGLJ(stdGljs.concat(comGljs),true);
+          /*  gljDatas.sort(function (a, b) {
                 let aV = a.gljType + a.code,
                     bV = b.gljType + b.code;
                 if(aV > bV) {
@@ -167,7 +168,7 @@ class CompleRatoinDao {
                     return -1;
                 }
                 return 0;
-            });
+            });*/
             if(ration.jobContent && ration.jobContent.toString().trim() !== ''){
                 hintsArr.push(`<label class="nomargin font_blue">工作内容:`);
                 hintsArr = hintsArr.concat(ration.jobContent.split('\n'));
@@ -245,8 +246,8 @@ class CompleRatoinDao {
             if(stdGljIds.length > 0) {
                 stdGljs = await stdGljModel.find({ID: {$in: stdGljIds}});
             }
-            let gljDatas = stdGljs;
-            gljDatas.sort(function (a, b) {
+            let gljDatas =  gljUtil.sortRationGLJ(stdGljs,true);
+        /*    gljDatas.sort(function (a, b) {
                 let aV = a.gljType + a.code,
                     bV = b.gljType + b.code;
                 if(aV > bV) {
@@ -255,7 +256,8 @@ class CompleRatoinDao {
                     return -1;
                 }
                 return 0;
-            });
+            });*/
+            gljDatas = gljUtil.sortRationGLJ(gljDatas,true);
             if(ration.jobContent && ration.jobContent.toString().trim() !== ''){
                 hintsArr.push(`<label class="nomargin font_blue">工作内容:`);
                 hintsArr = hintsArr.concat(ration.jobContent.split('\n'));

+ 6 - 1
public/gljUtil.js

@@ -16,7 +16,8 @@ module.exports = {
     getMarketPrice:getMarketPrice,
     getBasePrice:getBasePrice,
     getAdjustPrice:getAdjustPrice,
-    getGljTypeSeq:getGljTypeSeq
+    getGljTypeSeq:getGljTypeSeq,
+    sortRationGLJ:sortRationGLJ
 };
 
 function calcProjectGLJQuantity(projectGLJDatas,rationGLJDatas,rationDatas,billsDatas,q_decimal) {
@@ -45,4 +46,8 @@ function calcPriceDiff(glj,calcOptions) {
 
 function getGljTypeSeq() {
     return gljNodeUtil.getGljTypeSeq();
+}
+
+function sortRationGLJ(list,std) {
+    return gljNodeUtil.sortRationGLJ(list,std);
 }

+ 4 - 3
public/web/gljUtil.js

@@ -302,10 +302,11 @@ let gljUtil = {
                 gljType.MACHINE_COMPOSITION,gljType.MACHINE_LABOUR,gljType.FUEL_POWER_FEE,gljType.DEPRECIATION_FEE,gljType.INSPECTION_FEE,gljType.MAINTENANCE,
                 gljType.DISMANTLING_FREIGHT_FEE,gljType.VERIFICATION_FEE,gljType.OTHER_FEE,gljType.EQUIPMENT,gljType.MANAGEMENT_FEE,gljType.PROFIT,gljType.GENERAL_RISK_FEE]
     },
-    sortRationGLJ:function (list) {
+    sortRationGLJ:function (list,std) {
         list = _.sortByAll(list, [function (item) {
-            return _.indexOf(gljTypeSeq,item.type)
-        }, "code"])
+            let typeField = std == true?"gljType":"type";
+            return _.indexOf(gljUtil.getGljTypeSeq(),item[typeField])
+        }, "code"]);
         return list;
     },
     getTotalQuantity:function(glj,ration,rd,gd){