From 4646e7db78e9622a01f6e74b557bc1eff808f28a Mon Sep 17 00:00:00 2001 From: xiaoQQya <46475319+xiaoQQya@users.noreply.github.com> Date: Sun, 18 May 2025 15:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=96=B0=E5=A2=9E=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=80=89=E6=8B=A9=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20(#88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/templates/index.html | 56 +++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/app/templates/index.html b/app/templates/index.html index 788ced6..86b0e52 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -307,7 +307,7 @@
- +
@@ -322,7 +322,7 @@
- +
@@ -332,7 +332,7 @@
- +
@@ -353,7 +353,7 @@
- +
@@ -468,12 +468,24 @@ - - + + @@ -562,6 +574,8 @@ selectDir: true, selectShare: true, previewRegex: false, + sortBy: "updated_at", + sortOrder: "desc" }, }, filters: { @@ -984,7 +998,8 @@ axios.get('/get_savepath_detail', { params: params }).then(response => { - this.fileSelect.fileList = response.data.data.list + this.fileSelect.fileList = response.data.data.list; + this.sortFileList(this.fileSelect.sortBy, this.fileSelect.sortOrder); if (response.data.data.paths?.length > 0) { this.fileSelect.paths = response.data.data.paths } @@ -1017,6 +1032,7 @@ }).then(response => { if (response.data.success) { this.fileSelect.fileList = response.data.data.list; + this.sortFileList(this.fileSelect.sortBy, this.fileSelect.sortOrder); this.fileSelect.paths = response.data.data.paths; this.fileSelect.stoken = response.data.data.stoken; } else { @@ -1090,6 +1106,26 @@ shareurl = `${shareurl}#/list/share/${dir.fid}-${dir.name?.replace('-', '*101')}` } return shareurl; + }, + sortFileList(column, order) { + if (this.fileSelect.sortBy === column && !order) { + this.fileSelect.sortOrder = this.fileSelect.sortOrder === "asc" ? "desc" : "asc"; + } else { + this.fileSelect.sortBy = column; + this.fileSelect.sortOrder = order || "asc"; + } + + this.fileSelect.fileList.sort((a, b) => { + let valA = a[this.fileSelect.sortBy]; + let valB = b[this.fileSelect.sortBy]; + + if (typeof valA === "string") valA = valA.toLowerCase(); + if (typeof valB === "string") valB = valB.toLowerCase(); + + if (valA < valB) return this.fileSelect.sortOrder === "asc" ? -1 : 1; + if (valA > valB) return this.fileSelect.sortOrder === "asc" ? 1 : -1; + return 0; + }); } } });
文件名正则处理 + 文件名 + {{ fileSelect.sortOrder === "asc" ? "↑" : "↓" }} + + 正则处理 +