|
@@ -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 {
|