This commit is contained in:
owenchen committed 2026-09-10 13:13:17 +08:00
1 parent 59f2260f0f
commit ead11ace52
6 files changed
+2491 -61

No files matched your search

+37 -53
View File
@@ -4,55 +4,75 @@
<a-row>
<a-col flex="400px">
<a-row justify="start">
<a-col :span="3" style="margin-left: 8px">
<a-col :span="2" style="margin-left: 8px">
<a-tooltip title="新建文件夹">
<a-button v-if="canCreate" class="nav-btn" :icon="h(FolderAddOutlined)"
@click="$emit('create-folder')"></a-button>
</a-tooltip>
</a-col>
<a-col :span="3">
<a-col :span="2">
<a-tooltip title="上传文件">
<a-button v-if="canCreate" :icon="h(UploadOutlined)" type="primary" class="nav-btn"
@click="triggerUpload">
</a-button> </a-tooltip></a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem">
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem">
<a-tooltip title="下载">
<a-button class="nav-btn" :icon="h(DownloadOutlined)" :disabled="!canAmend"
@click="onDownload"></a-button>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem">
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem">
<a-tooltip title="共享">
<a-button class="nav-btn" :icon="h(ShareAltOutlined)" @click="onShare"></a-button>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem">
<a-col :span="2" v-if="isSingleItem">
<a-tooltip title="重命名">
<a-button class="nav-btn" :icon="h(EditOutlined)" :disabled="!canAmend"
@click="$emit('rename', selectedItems)"></a-button>
</a-tooltip>
</a-col>
<a-col :span="2" v-if="isSingleItem">
<a-tooltip title="移动">
<a-button class="nav-btn" :icon="h(RotateRightOutlined)" :disabled="!canAmend"
@click="$emit('move', selectedItems)"></a-button>
</a-tooltip>
</a-col>
<a-col :span="2" v-if="hasSelection">
<a-tooltip title="删除">
<a-popconfirm title="确定是否删除?" ok-text="是" cancel-text="否" @confirm="$emit('delete', selectedItems)">
<a-button class="nav-btn" :icon="h(DeleteOutlined, { style: { color: 'red' } })"
:disabled="!canDelete"></a-button>
</a-popconfirm>
</a-tooltip>
</a-col>
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem">
<a-tooltip :title="publishTooltip">
<a-button class="nav-btn" :icon="h(NotificationOutlined)" @click="onPublish"></a-button>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem">
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem">
<a-tooltip :title="previewTooltip">
<a-button class="nav-btn" @click="onViewPreview"><cust-icon-font size="16"
type="icon-qingbaojiankong" /></a-button>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem && isSingleVideo">
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem && isSingleVideo">
<a-tooltip title="播放">
<a-button class="nav-btn" @click="onPlayVideo"><cust-icon-font size="16"
type="icon-foldervideo" /></a-button>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem && isSingleAudio" style="margin-left: 4px">
<a-col :span="2" v-if="!isDirectorySelected && isSingleItem && isSingleAudio" style="margin-left: 4px">
<a-tooltip v-if="selectedItem.IsPlay != 'Y'" title="播放">
<a-button class="nav-btn" :icon="h(PlayCircleOutlined, { style: { color: 'red' } })"
@click="onPlayAudio"></a-button>
</a-tooltip>
<a-tooltip v-else-if="selectedItem.IsPause != 'Y'" title="暂停">
<a-button class="nav-btn" :icon="h(PauseCircleOutlined)" @click="onPauseAudio"></a-button>
<a-button class="nav-btn" :icon="h(PauseCircleOutlined)" @click="onPauseAudio"></a-button>
</a-tooltip>
<a-tooltip v-else title="继续">
<a-button class="nav-btn" :icon="h(PlayCircleOutlined, { style: { color: 'red' } })"
<a-button class="nav-btn" :icon="h(PlayCircleOutlined, { style: { color: 'red' } })"
@click="onContinueAudio"></a-button>
</a-tooltip>
</a-col>
@@ -60,52 +80,15 @@
</a-col>
</a-row>
</a-col>
<a-col :span="8" flex="none">
<a-dropdown >
<a-button style="margin-right: 8px; width:100px;" class="nav-btn">
更多
<DownOutlined />
</a-button>
<template #overlay>
<a-menu v-if="isSingleItem">
<a-menu-item key="preview" v-if="isImage(selectedOrderKey) && isSingleItem" :disabled="!canAmend"
@click="$emit('preview', selectedItems)">
<EyeOutlined /> 预览
</a-menu-item>
<a-menu-item key="rename" v-if="isSingleItem" :disabled="!canAmend" @click="$emit('rename', selectedItems)">
<EditOutlined /> 重命名
</a-menu-item>
<a-menu-divider />
<a-menu-item key="move" v-if="isSingleItem" :disabled="!canView" @click="$emit('move', selectedItems)">
<ScissorOutlined /> 移动
</a-menu-item>
<a-menu-divider />
<a-menu-item key="delete" :disabled="!canDelete" @click="$emit('delete', selectedItems)">
<DeleteOutlined /> 删除
</a-menu-item>
</a-menu>
<a-menu v-else-if="hasSelection">
<a-menu-item key="delete" :disabled="!canDelete" @click="$emit('delete', selectedItems)">
<DeleteOutlined /> 删除
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
<a-col :span="8" flex="none">
</a-col>
</a-row>
<div style="display: none">
<a-upload
v-if="canCreate"
v-model:file-list="fileList"
name="file"
:before-upload="onBeforeUpload"
:headers="headers"
:show-upload-list="false"
:action="uploadUrl"
ref="uploadRef"
>
</a-upload>
</div>
<a-upload v-if="canCreate" v-model:file-list="fileList" name="file" :before-upload="onBeforeUpload"
:headers="headers" :show-upload-list="false" :action="uploadUrl" ref="uploadRef">
</a-upload>
</div>
</template>
<script setup lang="ts">
@@ -123,6 +106,7 @@ import {
EditOutlined,
ScissorOutlined,
DeleteOutlined,
RotateRightOutlined,
DownOutlined,
} from "@ant-design/icons-vue";
import { DmsFileUploadViewDisplayData } from "@/data/auto/dmsFileUploadViewDisplayData";
@@ -18,8 +18,9 @@
</a-col>
<a-col :span="3" v-if="hasSelection">
<a-tooltip title="删除">
<a-popconfirm title="确定是否删除?" ok-text="是" cancel-text="否" @confirm="$emit('delete', selectedItems)">
<a-button class="nav-btn" :icon="h(DeleteOutlined)" style="color:red;"
:disabled="!canCreate" @click="$emit('delete', selectedItems)"></a-button>
:disabled="!canCreate" ></a-button></a-popconfirm>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem && isSingleVideo">
@@ -18,8 +18,9 @@
</a-col>
<a-col :span="3" v-if="hasSelection">
<a-tooltip title="删除">
<a-button class="nav-btn" :icon="h(DeleteOutlined)" style="color:red;"
@click="$emit('delete', selectedItems)"></a-button>
<a-popconfirm title="确定是否删除?" ok-text="是" cancel-text="否" @confirm="$emit('delete', selectedItems)">
<a-button class="nav-btn" :icon="h(DeleteOutlined)" style="color:red;"></a-button>
</a-popconfirm>
</a-tooltip>
</a-col>
<a-col :span="3" v-if="!isDirectorySelected && isSingleItem && isSingleVideo">