فهرست منبع

按新增期数倒序

MaiXinRong 2 سال پیش
والد
کامیت
bc5e6fa7a0
2فایلهای تغییر یافته به همراه29 افزوده شده و 1 حذف شده
  1. 12 1
      app/public/js/path_tree.js
  2. 17 0
      app/public/js/stage.js

+ 12 - 1
app/public/js/path_tree.js

@@ -146,9 +146,13 @@ class PosData {
     }
 
     resortLedgerPos(ledgerPos) {
+        const sortRule = this.setting.sort || [['porder', 'asc']];
         if (ledgerPos instanceof Array) {
             ledgerPos.sort(function (a, b) {
-                return a.porder - b.porder;
+                for (const sr of sortRule) {
+                    const iSort = sr[1] === 'asc' ? a[sr[0]] - b[sr[0]] : b[sr[0]] - a[sr[0]];
+                    if (iSort) return iSort;
+                }
             })
         }
     }
@@ -162,6 +166,13 @@ class PosData {
             this.setting.calcFun(pos);
         }
     }
+
+    set sort(sort) {
+        this.setting.sort = sort;
+        for (const key in this.ledgerPos) {
+            this.resortLedgerPos(this.ledgerPos[key]);
+        }
+    }
 }
 
 class StagePosData extends PosData {

+ 17 - 0
app/public/js/stage.js

@@ -2198,6 +2198,23 @@ $(document).ready(() => {
                     stagePosSpreadObj.deletePos(spSpread.getActiveSheet());
                 }
             },
+            'sort': {
+                name: '排序',
+                items: {
+                    "addStageReverse": {
+                        name: '按新增期倒序',
+                        icon: 'fa-sort-amount-desc',
+                        callback: function (key, opt) {
+                            stagePos.sort = [['add_stage_order', 'desc'], ['porder', 'asc']];
+                            const spSheet = spSpread.getActiveSheet();
+                            if (spSheet.zh_data) {
+                                spSheet.zh_data.sort((x, y) => { return y.add_stage_order - x.add_stage_order || x.porder - y.porder; });
+                                SpreadJsObj.reLoadSheetData(spSheet);
+                            }
+                        }
+                    }
+                }
+            },
             'merge-peg': {
                 name: '合并起讫桩号',
                 visible: function (key, opt) {