|
|
@ -30,21 +30,21 @@ import { |
|
|
|
} from 'naive-ui' |
|
|
|
} from 'naive-ui' |
|
|
|
import { useI18n } from 'vue-i18n' |
|
|
|
import { useI18n } from 'vue-i18n' |
|
|
|
import { SearchOutlined } from '@vicons/antd' |
|
|
|
import { SearchOutlined } from '@vicons/antd' |
|
|
|
import Card from '@/components/card' |
|
|
|
|
|
|
|
import { useTable } from './table/use-table' |
|
|
|
import { useTable } from './table/use-table' |
|
|
|
import { useFileState } from './use-file' |
|
|
|
import { useFileState } from './use-file' |
|
|
|
import ResourceFolderModal from './folder' |
|
|
|
|
|
|
|
import ResourceUploadModal from './upload' |
|
|
|
|
|
|
|
import ResourceRenameModal from './rename' |
|
|
|
|
|
|
|
import { BreadcrumbItem, IRenameFile } from './types' |
|
|
|
import { BreadcrumbItem, IRenameFile } from './types' |
|
|
|
import type { Router } from 'vue-router' |
|
|
|
|
|
|
|
import styles from './index.module.scss' |
|
|
|
|
|
|
|
import { useFileStore } from '@/store/file/file' |
|
|
|
import { useFileStore } from '@/store/file/file' |
|
|
|
import { |
|
|
|
import { |
|
|
|
queryCurrentResourceById, |
|
|
|
queryCurrentResourceById, |
|
|
|
queryResourceById |
|
|
|
queryResourceById |
|
|
|
} from '@/service/modules/resources' |
|
|
|
} from '@/service/modules/resources' |
|
|
|
import { ResourceFile } from '@/service/modules/resources/types' |
|
|
|
import Card from '@/components/card' |
|
|
|
|
|
|
|
import ResourceFolderModal from './folder' |
|
|
|
|
|
|
|
import ResourceUploadModal from './upload' |
|
|
|
|
|
|
|
import ResourceRenameModal from './rename' |
|
|
|
|
|
|
|
import styles from './index.module.scss' |
|
|
|
|
|
|
|
import type { ResourceFile } from '@/service/modules/resources/types' |
|
|
|
|
|
|
|
import type { Router } from 'vue-router' |
|
|
|
|
|
|
|
|
|
|
|
export default defineComponent({ |
|
|
|
export default defineComponent({ |
|
|
|
name: 'File', |
|
|
|
name: 'File', |
|
|
@ -255,49 +255,39 @@ export default defineComponent({ |
|
|
|
} = this |
|
|
|
} = this |
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<div> |
|
|
|
<NSpace vertical> |
|
|
|
<Card style={{ marginBottom: '8px' }}> |
|
|
|
<Card> |
|
|
|
<div class={styles['conditions-model']}> |
|
|
|
<NSpace justify='space-between'> |
|
|
|
|
|
|
|
<NButtonGroup size='small'> |
|
|
|
|
|
|
|
<NButton |
|
|
|
|
|
|
|
onClick={handleCreateFolder} |
|
|
|
|
|
|
|
class='btn-create-directory' |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{t('resource.file.create_folder')} |
|
|
|
|
|
|
|
</NButton> |
|
|
|
|
|
|
|
<NButton onClick={handleCreateFile} class='btn-create-file'> |
|
|
|
|
|
|
|
{t('resource.file.create_file')} |
|
|
|
|
|
|
|
</NButton> |
|
|
|
|
|
|
|
<NButton onClick={handleUploadFile} class='btn-upload-file'> |
|
|
|
|
|
|
|
{t('resource.file.upload_files')} |
|
|
|
|
|
|
|
</NButton> |
|
|
|
|
|
|
|
</NButtonGroup> |
|
|
|
<NSpace> |
|
|
|
<NSpace> |
|
|
|
<NButtonGroup> |
|
|
|
<NInput |
|
|
|
<NButton |
|
|
|
size='small' |
|
|
|
onClick={handleCreateFolder} |
|
|
|
allowInput={this.trim} |
|
|
|
class='btn-create-directory' |
|
|
|
placeholder={t('resource.file.enter_keyword_tips')} |
|
|
|
> |
|
|
|
v-model={[this.searchRef, 'value']} |
|
|
|
{t('resource.file.create_folder')} |
|
|
|
/> |
|
|
|
</NButton> |
|
|
|
<NButton size='small' type='primary' onClick={handleConditions}> |
|
|
|
<NButton onClick={handleCreateFile} class='btn-create-file'> |
|
|
|
<NIcon> |
|
|
|
{t('resource.file.create_file')} |
|
|
|
<SearchOutlined /> |
|
|
|
</NButton> |
|
|
|
</NIcon> |
|
|
|
<NButton onClick={handleUploadFile} class='btn-upload-file'> |
|
|
|
</NButton> |
|
|
|
{t('resource.file.upload_files')} |
|
|
|
|
|
|
|
</NButton> |
|
|
|
|
|
|
|
</NButtonGroup> |
|
|
|
|
|
|
|
</NSpace> |
|
|
|
</NSpace> |
|
|
|
<div class={styles.right}> |
|
|
|
</NSpace> |
|
|
|
<div class={styles['form-box']}> |
|
|
|
|
|
|
|
<div class={styles.list}> |
|
|
|
|
|
|
|
<NButton onClick={handleConditions}> |
|
|
|
|
|
|
|
<NIcon> |
|
|
|
|
|
|
|
<SearchOutlined /> |
|
|
|
|
|
|
|
</NIcon> |
|
|
|
|
|
|
|
</NButton> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class={styles.list}> |
|
|
|
|
|
|
|
<NInput |
|
|
|
|
|
|
|
allowInput={this.trim} |
|
|
|
|
|
|
|
placeholder={t('resource.file.enter_keyword_tips')} |
|
|
|
|
|
|
|
v-model={[this.searchRef, 'value']} |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</Card> |
|
|
|
</Card> |
|
|
|
<Card |
|
|
|
<Card title={t('resource.file.file_manage')}> |
|
|
|
title={t('resource.file.file_manage')} |
|
|
|
|
|
|
|
class={styles['table-card']} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{{ |
|
|
|
{{ |
|
|
|
'header-extra': () => ( |
|
|
|
'header-extra': () => ( |
|
|
|
<NBreadcrumb separator='>' class={styles['breadcrumb']}> |
|
|
|
<NBreadcrumb separator='>' class={styles['breadcrumb']}> |
|
|
@ -319,7 +309,7 @@ export default defineComponent({ |
|
|
|
</NBreadcrumb> |
|
|
|
</NBreadcrumb> |
|
|
|
), |
|
|
|
), |
|
|
|
default: () => ( |
|
|
|
default: () => ( |
|
|
|
<div> |
|
|
|
<NSpace vertical> |
|
|
|
<NDataTable |
|
|
|
<NDataTable |
|
|
|
remote |
|
|
|
remote |
|
|
|
columns={columnsRef} |
|
|
|
columns={columnsRef} |
|
|
@ -330,7 +320,7 @@ export default defineComponent({ |
|
|
|
row-class-name='items' |
|
|
|
row-class-name='items' |
|
|
|
scrollX={tableWidth} |
|
|
|
scrollX={tableWidth} |
|
|
|
/> |
|
|
|
/> |
|
|
|
<div class={styles.pagination}> |
|
|
|
<NSpace justify='center'> |
|
|
|
<NPagination |
|
|
|
<NPagination |
|
|
|
v-model:page={this.pagination.page} |
|
|
|
v-model:page={this.pagination.page} |
|
|
|
v-model:pageSize={this.pagination.pageSize} |
|
|
|
v-model:pageSize={this.pagination.pageSize} |
|
|
@ -341,8 +331,8 @@ export default defineComponent({ |
|
|
|
show-quick-jumper |
|
|
|
show-quick-jumper |
|
|
|
show-size-picker |
|
|
|
show-size-picker |
|
|
|
/> |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</NSpace> |
|
|
|
</div> |
|
|
|
</NSpace> |
|
|
|
) |
|
|
|
) |
|
|
|
}} |
|
|
|
}} |
|
|
|
</Card> |
|
|
|
</Card> |
|
|
@ -361,7 +351,7 @@ export default defineComponent({ |
|
|
|
description={this.renameInfo.description} |
|
|
|
description={this.renameInfo.description} |
|
|
|
onUpdateList={this.updateList} |
|
|
|
onUpdateList={this.updateList} |
|
|
|
/> |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</NSpace> |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|