|
@@ -1146,20 +1146,42 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
sortChange(params) {
|
|
|
- this.shipmentListData.sort((a, b) => {
|
|
|
- for (var key in params) {
|
|
|
- if(params[key]){
|
|
|
- if (params[key] === "asc") {
|
|
|
- return a[key] - b[key];
|
|
|
- } else if (params[key] === "desc") {
|
|
|
- return b[key] - a[key];
|
|
|
- } else {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
+ this.shipmentListData.sort((a, b) => {
|
|
|
+ for (var key in params) {
|
|
|
+ if(params[key]){
|
|
|
+ if (params[key] === "asc") {
|
|
|
+ if (!isNaN(a[key]) && !isNaN(b[key])) {
|
|
|
+ // 如果都是数字,按数字排序
|
|
|
+ return a[key] - b[key];
|
|
|
+ } else if (!isNaN(a[key]) || !isNaN(b[key])) {
|
|
|
+ // 如果一个是数字一个是字母,数字排在后面
|
|
|
+ return isNaN(a[key]) ? 1 : -1;
|
|
|
+ } else {
|
|
|
+ const nameA = a[key].toUpperCase(); // 转换为大写以便统一处理数字和字母
|
|
|
+ const nameB = b[key].toUpperCase();
|
|
|
+ // 都是字母,按字母排序
|
|
|
+ return nameA.localeCompare(nameB);
|
|
|
+ }
|
|
|
+ } else if (params[key] === "desc") {
|
|
|
+ if (!isNaN(a[key]) && !isNaN(b[key])) {
|
|
|
+ // 如果都是数字,按数字排序
|
|
|
+ return b[key] - a[key]
|
|
|
+ } else if (!isNaN(a[key]) || !isNaN(b[key])) {
|
|
|
+ // 如果一个是数字一个是字母,数字排在前面
|
|
|
+ return isNaN(a[key]) ? -1 : 1;
|
|
|
+ } else {
|
|
|
+ const nameA = a[key].toUpperCase(); // 转换为大写以便统一处理数字和字母
|
|
|
+ const nameB = b[key].toUpperCase();
|
|
|
+ // 都是字母,按字母排序
|
|
|
+ return nameB.localeCompare(nameA);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
|
|
|
// 推送
|