Merge pull request #342 from jamebal/dev

perf: 上传文件保留源文件的最后修改时间
This commit is contained in:
jmal 2024-12-26 18:24:50 +08:00 committed by GitHub
commit 3d815d5e98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 62 additions and 57 deletions

View File

@ -222,6 +222,23 @@
<span>大小</span> <span>大小</span>
</span> </span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item command="orderUploadDate">
<span
:class="{
'al-file-sort-item': true,
active: sortable.prop === 'uploadDate',
}"
>
<i
:class="{
'al-file-sort-item-icon': true,
'el-icon-top': sortable.order === 'ascending',
'el-icon-bottom': sortable.order === 'descending',
}"
></i>
<span>上传时间</span>
</span>
</el-dropdown-item>
<el-dropdown-item command="orderUpdateDate"> <el-dropdown-item command="orderUpdateDate">
<span <span
:class="{ :class="{
@ -236,7 +253,7 @@
'el-icon-bottom': sortable.order === 'descending', 'el-icon-bottom': sortable.order === 'descending',
}" }"
></i> ></i>
<span>日期</span> <span>修改时间</span>
</span> </span>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@ -489,7 +506,7 @@
'名称:' + '名称:' +
item.name + item.name +
'\r\n' + '\r\n' +
'创建时间:' + '上传时间:' +
item.uploadDate + item.uploadDate +
'\r\n' + '\r\n' +
'修改时间:' + '修改时间:' +
@ -1150,7 +1167,9 @@ export default {
case 'size': case 'size':
return '大小' return '大小'
case 'updateDate': case 'updateDate':
return '日期' return '修改时间'
case 'uploadDate':
return '上传时间'
default: default:
return '名称' return '名称'
} }
@ -3056,9 +3075,10 @@ export default {
} }
}) })
// 重新加上排序高亮 // 重新加上排序高亮
let order = let order = this.sortable.order === 'ascending' ? 'descending' : 'ascending'
this.sortable.order === 'ascending' ? 'descending' : 'ascending' if (headerIndex > -1) {
this.addClass(tableHeader.children[headerIndex], order) this.addClass(tableHeader.children[headerIndex], order)
}
this.orderCustom = true this.orderCustom = true
this.sortChange({ prop: prop, order: order }) this.sortChange({ prop: prop, order: order })
}, },
@ -3528,13 +3548,16 @@ export default {
this.getFileListEnter() this.getFileListEnter()
break break
case 'orderName': case 'orderName':
this.sortChangeOfMenu('name', 2) this.sortChangeOfMenu('name', 1)
break break
case 'orderSize': case 'orderSize':
this.sortChangeOfMenu('size', 5) this.sortChangeOfMenu('size', 2)
break break
case 'orderUpdateDate': case 'orderUpdateDate':
this.sortChangeOfMenu('updateDate', 6) this.sortChangeOfMenu('updateDate', 3)
break
case 'orderUploadDate':
this.sortChangeOfMenu('uploadDate', -1)
break break
case 'refresh': case 'refresh':
this.getFileListEnter() this.getFileListEnter()

View File

@ -392,6 +392,7 @@ export default {
Object.assign(this.uploader.opts, { Object.assign(this.uploader.opts, {
query: { query: {
isFolder: false, isFolder: false,
lastModified: file.file.lastModified,
...this.params ...this.params
} }
}) })
@ -458,7 +459,8 @@ export default {
username: this.params.username, username: this.params.username,
userId: this.params.userId, userId: this.params.userId,
totalSize: file.size, totalSize: file.size,
isFolder: file.isFolder isFolder: file.isFolder,
lastModified: file.file.lastModified
}).then(() => { }).then(() => {
// console.log('文件合并成功', res) // console.log('文件合并成功', res)
// 文件合并成功 // 文件合并成功

View File

@ -82,7 +82,7 @@
<el-form-item label="位置:" class="details-position"> <el-form-item label="位置:" class="details-position">
<a :href="'/?path=' + file.path + '&highlight=' + file.name">{{ file.path }}</a> <a :href="'/?path=' + file.path + '&highlight=' + file.name">{{ file.path }}</a>
</el-form-item> </el-form-item>
<el-form-item label="创建时间:"> <el-form-item label="上传时间:">
<span>{{ file.uploadDate }}</span> <span>{{ file.uploadDate }}</span>
</el-form-item> </el-form-item>
<el-form-item label="修改时间:"> <el-form-item label="修改时间:">

View File

@ -7,3 +7,10 @@ export const fileOperations = {
rename: { iconClass: 'menu-rename', label: '重命名', operation: 'rename', shortcut: ['F2'] }, rename: { iconClass: 'menu-rename', label: '重命名', operation: 'rename', shortcut: ['F2'] },
copyOnly: { iconClass: 'menu-copy', label: '复制', operation: 'copyOnly', shortcut: [navigator.platform.startsWith('Mac') ? '⌘' : 'Ctrl', 'C'] }, copyOnly: { iconClass: 'menu-copy', label: '复制', operation: 'copyOnly', shortcut: [navigator.platform.startsWith('Mac') ? '⌘' : 'Ctrl', 'C'] },
} }
export const fileArrangements = [
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '上传日期', operation: 'orderUploadDate', orderProp: 'uploadDate'},
{ label: '修改日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]

View File

@ -17,6 +17,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -35,11 +36,7 @@
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -16,6 +16,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -34,11 +35,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -16,6 +16,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -34,11 +35,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -15,6 +15,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -33,11 +34,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -16,6 +16,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -34,11 +35,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -12,6 +12,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -27,11 +28,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -14,13 +14,14 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
data() { data() {
return { return {
sortable: { sortable: {
prop: 'updateDate', order: 'descending' prop: 'uploadDate', order: 'descending'
}, },
queryCondition: { queryCondition: {
isFolder:false isFolder:false
@ -32,11 +33,7 @@
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -16,6 +16,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -34,11 +35,7 @@ export default {
{ label: '显示文件夹大小', operation: 'show-folder-size'}, { label: '显示文件夹大小', operation: 'show-folder-size'},
] ]
}, },
{ label: '排列方式', operation: 'arrangement' ,child: [ { label: '排列方式', operation: 'arrangement' ,child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name'},
{ label: '大小', operation: 'orderSize', orderProp: 'size'},
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate'},
]
}, },
{ label: '刷新', operation: 'refresh'}, { label: '刷新', operation: 'refresh'},
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },

View File

@ -18,6 +18,7 @@
<script> <script>
import ShowFile from "@/components/ShowFile/ShowFile"; import ShowFile from "@/components/ShowFile/ShowFile";
import { fileArrangements } from '@/utils/file-operations'
export default { export default {
components: {ShowFile}, components: {ShowFile},
@ -39,11 +40,7 @@ export default {
] ]
}, },
{ {
label: '排列方式', operation: 'arrangement', child: [ label: '排列方式', operation: 'arrangement', child: fileArrangements
{ label: '名称', operation: 'orderName', orderProp: 'name' },
{ label: '大小', operation: 'orderSize', orderProp: 'size' },
{ label: '日期', operation: 'orderUpdateDate', orderProp: 'updateDate' },
]
}, },
{ label: '刷新', operation: 'refresh' }, { label: '刷新', operation: 'refresh' },
{ divider: true, operation: 'divider' }, { divider: true, operation: 'divider' },