Prechádzať zdrojové kódy

定位至章节debug

zhongzewei 6 rokov pred
rodič
commit
b564ed3b1d

+ 25 - 13
web/building_saas/complementary_ration_lib/js/ration.js

@@ -576,12 +576,13 @@ let rationOprObj = {
         me.saveInString(updateArr);
         CommonAjax.post('api/mixUpdateRationItems', {sectionId: me.currentSectionId, updateItems: updateArr, addItems: addArr, removeIds: removeIds}, function (rstData) {
             let cacheSection = me.updateCache(addArr, updateArr, removeIds, rstData);
-            cacheSection.sort(function(a, b){
+            me.sortByCode(cacheSection);
+            /*cacheSection.sort(function(a, b){
                 let rst = 0;
                 if (a.code > b.code) rst = 1
                 else if (a.code < b.code) rst = -1;
                 return rst;
-            });
+            });*/
             //add
             let curRow = me.workBook.getActiveSheet().getActiveRowIndex();
             me.rationSelInit(curRow);
@@ -705,19 +706,30 @@ let rationOprObj = {
         sectionTreeObj.workBook.focus(true);
     },
     sortByCode: function(arr){
-        function compare(){
-            return function (a, b) {
-                let rst = 0;
-                if (a.code > b.code) {
-                    rst = 1;
-                }
-                else if (a.code < b.code) {
-                    rst = -1;
+        arr.sort(function (a, b) {
+            let rst = 0;
+            let splitA = a.code.split('-'),
+                splitB = b.code.split('-');
+            if(splitA[0] > splitB[0]){
+                rst = 1;
+            }
+            else if(splitA[0] < splitB[0]){
+                rst = -1;
+            }
+            else {
+                if(splitA[1] && splitB[1]){
+                    let floatA = parseFloat(splitA[1]),
+                        floatB = parseFloat(splitB[1]);
+                    if(floatA > floatB){
+                        rst = 1;
+                    }
+                    else if(floatA < floatB){
+                        rst = -1;
+                    }
                 }
-                return rst;
             }
-        }
-        arr.sort(compare());
+            return rst;
+        });
     },
     saveInString(datas){
         for(let i = 0, len = datas.length; i < len; i++){

+ 6 - 5
web/building_saas/main/js/views/std_ration_lib.js

@@ -561,27 +561,28 @@ $('#rationSearch').click(function () {
                                 },
                                 icon: "fa-arrow-left",
                                 callback: function (key, opt) {
-                                    let data = rationLibObj.resultCache[target.row];
+                                    let data = rationLibObj.resultCache[target.row],
+                                        libId = data.rationRepId ? data.rationRepId : rationLibObj.compleRationLibId;
                                     $('#rationSearchResult').hide();
                                     $(".main-data-side-search", $('#rationSearchResult')).height(0);
                                     autoFlashHeight();
                                     rationLibObj.refreshSpread();
                                     switchRationSearchMode(0);
-                                    if($('#stdRationLibSelect').select().val() != data.rationRepId){
+                                    if($('#stdRationLibSelect').select().val() != libId){
                                         let libOpts = $('#stdRationLibSelect').find('option');
                                         for(let libOpt of libOpts){
-                                            if($(libOpt).val() == data.rationRepId){
+                                            if($(libOpt).val() == libId){
                                                 $(libOpt).prop('selected', 'selected');
                                                 break;
                                             }
                                         }
                                         $('#stdRationLibSelect').change();
                                         rationLibObj.doAfterGetRationTree = function () {
-                                            this.locateAtRation(data.rationRepId, data.code);
+                                            this.locateAtRation(libId, data.code);
                                             this.doAfterGetRationTree = null;
                                         };
                                     } else {
-                                        rationLibObj.locateAtRation(data.rationRepId, data.code);
+                                        rationLibObj.locateAtRation(libId, data.code);
                                     }
                                 }}
                         }