feat: 添加挂载文件菜单(直接列出所有挂载文件), 优化搜索选项
This commit is contained in:
parent
a0993eaf0f
commit
007475bce6
@ -3,7 +3,14 @@
|
|||||||
<div class="search-option-wrapper">
|
<div class="search-option-wrapper">
|
||||||
<div class="search-option-result">
|
<div class="search-option-result">
|
||||||
<div>
|
<div>
|
||||||
<span>搜索 <span class="search-scope">{{searchScope}}</span>:</span>
|
<span>
|
||||||
|
搜索
|
||||||
|
<span class="search-scope" v-if="searchScope">
|
||||||
|
<el-tooltip class="item" effect="dark" :content="searchScope" placement="top">
|
||||||
|
<i class="el-icon-warning-outline"></i>
|
||||||
|
</el-tooltip>
|
||||||
|
</span>:
|
||||||
|
</span>
|
||||||
<span>{{ keyword }}</span>
|
<span>{{ keyword }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -189,6 +196,10 @@ export default {
|
|||||||
type: Object,
|
type: Object,
|
||||||
default: function() {}
|
default: function() {}
|
||||||
},
|
},
|
||||||
|
queryCondition: {
|
||||||
|
type: Object,
|
||||||
|
default: function() {}
|
||||||
|
},
|
||||||
searchPath: {
|
searchPath: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '/'
|
default: '/'
|
||||||
@ -212,9 +223,30 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
searchScope() {
|
searchScope() {
|
||||||
const queryTagId = this.$route.query.tagId
|
const queryTagId = this.$route.query.tagId
|
||||||
const path = this.$route.query.path;
|
const isRootPath = this.$route.query.path === '/';
|
||||||
if (queryTagId && path === '/') {
|
if (queryTagId && isRootPath) {
|
||||||
return '(当前标签)'
|
return '搜索范围: 仅包含标签文件, 不含子文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.isMount && isRootPath) {
|
||||||
|
return '搜索范围: 挂载目录里的所有文件, 不含挂载目录本身'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.isFavorite && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含收藏文件, 不含子文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.audio && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含音频文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.video && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含视频文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.document && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含文档文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.image && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含图片文件'
|
||||||
|
}
|
||||||
|
if (this.queryCondition.recently && isRootPath) {
|
||||||
|
return '搜索范围: 仅包含文件, 不含目录'
|
||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
},
|
},
|
||||||
|
|||||||
@ -186,6 +186,7 @@
|
|||||||
:has-search-conditions-param.sync="hasSearchFilterOption"
|
:has-search-conditions-param.sync="hasSearchFilterOption"
|
||||||
:keyword.sync="searchFileName"
|
:keyword.sync="searchFileName"
|
||||||
:filter-option-param.sync="filterOption"
|
:filter-option-param.sync="filterOption"
|
||||||
|
:query-condition="queryCondition"
|
||||||
:search-path="currentDirectory"
|
:search-path="currentDirectory"
|
||||||
:search-result-count="pagination['total']"
|
:search-result-count="pagination['total']"
|
||||||
@filter-change="searchFilterChange" >
|
@filter-change="searchFilterChange" >
|
||||||
@ -979,7 +980,7 @@ export default {
|
|||||||
queryCondition: {
|
queryCondition: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: function() {
|
default: function() {
|
||||||
return { isFolder: null }
|
return { isFolder: null, isMount: null }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
singleMenus: {
|
singleMenus: {
|
||||||
@ -2966,6 +2967,7 @@ export default {
|
|||||||
this.vmode
|
this.vmode
|
||||||
}&path=${path}${keyword}${searchOpenFolder}${queryTagId}${basePath}${folder}`
|
}&path=${path}${keyword}${searchOpenFolder}${queryTagId}${basePath}${folder}`
|
||||||
)
|
)
|
||||||
|
|
||||||
api.searchFile({
|
api.searchFile({
|
||||||
userId: this.$store.state.user.userId,
|
userId: this.$store.state.user.userId,
|
||||||
username: this.$store.state.user.name,
|
username: this.$store.state.user.name,
|
||||||
@ -2987,6 +2989,7 @@ export default {
|
|||||||
querySizeMin: this.filterOption.sizeMin,
|
querySizeMin: this.filterOption.sizeMin,
|
||||||
querySizeMax: this.filterOption.sizeMax,
|
querySizeMax: this.filterOption.sizeMax,
|
||||||
searchMount: this.filterOption.searchMount,
|
searchMount: this.filterOption.searchMount,
|
||||||
|
isMount: this.queryCondition.isMount,
|
||||||
searchOverall: this.filterOption.searchOverall,
|
searchOverall: this.filterOption.searchOverall,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.loadData(res, onLoad)
|
this.loadData(res, onLoad)
|
||||||
@ -3083,6 +3086,7 @@ export default {
|
|||||||
order: this.sortable.order,
|
order: this.sortable.order,
|
||||||
isFolder: this.queryCondition.isFolder,
|
isFolder: this.queryCondition.isFolder,
|
||||||
isFavorite: this.queryCondition.isFavorite,
|
isFavorite: this.queryCondition.isFavorite,
|
||||||
|
isMount: this.queryCondition.isMount,
|
||||||
isTrash: this.queryCondition.isTrash,
|
isTrash: this.queryCondition.isTrash,
|
||||||
tagId: this.queryCondition.tagId,
|
tagId: this.queryCondition.tagId,
|
||||||
queryCondition: this.queryCondition,
|
queryCondition: this.queryCondition,
|
||||||
@ -3546,7 +3550,6 @@ export default {
|
|||||||
},
|
},
|
||||||
// 鼠标右击
|
// 鼠标右击
|
||||||
rowContextmenu(row) {
|
rowContextmenu(row) {
|
||||||
console.log('rowContextmenu', row, row.userId, this.$store.getters.userId)
|
|
||||||
if (this.selectFile) {
|
if (this.selectFile) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,8 @@ export default {
|
|||||||
prop: 'updateDate', order: 'descending'
|
prop: 'updateDate', order: 'descending'
|
||||||
},
|
},
|
||||||
queryCondition: {
|
queryCondition: {
|
||||||
isFolder:false
|
isFolder:false,
|
||||||
|
audio: true
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{ label: '查看', operation: 'viewMode' ,child: [
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
|||||||
@ -26,7 +26,8 @@ export default {
|
|||||||
prop: 'updateDate', order: 'descending'
|
prop: 'updateDate', order: 'descending'
|
||||||
},
|
},
|
||||||
queryCondition: {
|
queryCondition: {
|
||||||
isFolder: false
|
isFolder: false,
|
||||||
|
document: true
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{ label: '查看', operation: 'viewMode' ,child: [
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
|||||||
@ -25,7 +25,8 @@ export default {
|
|||||||
prop: 'updateDate', order: 'descending'
|
prop: 'updateDate', order: 'descending'
|
||||||
},
|
},
|
||||||
queryCondition: {
|
queryCondition: {
|
||||||
isFolder: false
|
isFolder: false,
|
||||||
|
image: true
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{ label: '查看', operation: 'viewMode' ,child: [
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
|||||||
@ -26,7 +26,8 @@ export default {
|
|||||||
prop: 'updateDate', order: 'descending'
|
prop: 'updateDate', order: 'descending'
|
||||||
},
|
},
|
||||||
queryCondition: {
|
queryCondition: {
|
||||||
isFolder: false
|
isFolder: false,
|
||||||
|
video: true
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{ label: '查看', operation: 'viewMode' ,child: [
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
|||||||
56
src/views/mount/index.vue
Normal file
56
src/views/mount/index.vue
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<show-file
|
||||||
|
:isCollectView="true"
|
||||||
|
:defaultGrid="true"
|
||||||
|
:sortable="sortable"
|
||||||
|
:orderCustom="true"
|
||||||
|
:showClipboard="true"
|
||||||
|
:defaultSort="sortable"
|
||||||
|
:queryCondition="queryCondition"
|
||||||
|
:contextMenus="contextMenus"
|
||||||
|
homeHidden
|
||||||
|
>
|
||||||
|
</show-file>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ShowFile from "@/components/ShowFile/ShowFile";
|
||||||
|
import { createFiles, fileArrangements } from '@/utils/file-operations'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {ShowFile},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
sortable: {
|
||||||
|
prop: 'name', order: 'ascending'
|
||||||
|
},
|
||||||
|
queryCondition: {
|
||||||
|
isMount: true
|
||||||
|
},
|
||||||
|
contextMenus: [
|
||||||
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
{ iconClass: this.grid?'':'menu-point', label: '列表', operation: 'vmode-list'},
|
||||||
|
{ iconClass: this.grid?'menu-point':'', label: '缩略图', operation: 'vmode-grid'},
|
||||||
|
{ label: '显示文件夹大小', operation: 'show-folder-size'},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ label: '排列方式', operation: 'arrangement' ,child: fileArrangements
|
||||||
|
},
|
||||||
|
{ label: '刷新', operation: 'refresh'},
|
||||||
|
{ divider: true, operation: 'divider' },
|
||||||
|
{ label: '新建', operation: 'create' , homeDisable: true, child: createFiles
|
||||||
|
},
|
||||||
|
{ divider: true, operation: 'divider' },
|
||||||
|
{ label: '写文章', operation: 'createMarkdownFile'},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
@ -24,7 +24,8 @@
|
|||||||
prop: 'uploadDate', order: 'descending'
|
prop: 'uploadDate', order: 'descending'
|
||||||
},
|
},
|
||||||
queryCondition: {
|
queryCondition: {
|
||||||
isFolder:false
|
isFolder: false,
|
||||||
|
recently: true
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{ label: '查看', operation: 'viewMode' ,child: [
|
{ label: '查看', operation: 'viewMode' ,child: [
|
||||||
|
|||||||
@ -392,4 +392,7 @@ export default {
|
|||||||
>>>.box-card {
|
>>>.box-card {
|
||||||
max-width: 1440px;
|
max-width: 1440px;
|
||||||
}
|
}
|
||||||
|
>>> .el-table .cell.el-tooltip {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user