|
|
@@ -34,16 +34,19 @@
|
|
|
<div class="table-content">
|
|
|
<el-table v-loading="loading" :data="versionPackageList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column label="" align="center" prop="" width="10"/>
|
|
|
- <el-table-column label="版本名称" align="left" prop="versionName"/>
|
|
|
- <el-table-column label="版本号" align="left" prop="versionCode"/>
|
|
|
- <el-table-column label="文件大小" align="center" prop="fileSize"/>
|
|
|
- <el-table-column label="文件名称" align="center" prop="fileName"/>
|
|
|
- <el-table-column label="下载路径" align="center" prop="fileUrl"/>
|
|
|
- <el-table-column label="MD5" align="center" prop="md5"/>
|
|
|
- <el-table-column label="所属分类" align="center" prop="treeId"/>
|
|
|
- <el-table-column label="创建时间" align="center" prop="createTime" width="180"/>
|
|
|
- <el-table-column label="备注" align="center" prop="remark"/>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <el-table-column label="版本名称" align="left" prop="versionName" width="120" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="版本号" align="left" prop="versionCode" width="140" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="文件大小" align="center" prop="fileSize" width="100" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="文件名称" align="left" prop="fileName" width="200" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="下载路径" align="left" prop="fileUrl" width="250" :show-overflow-tooltip="true">
|
|
|
+ <template #default="scope">
|
|
|
+ <span class="download-link" @click="handleDownloadClick(scope.row)">{{ scope.row.fileUrl }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column> <el-table-column label="MD5" align="left" prop="md5" width="200" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="所属分类" align="left" prop="treeName" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="备注" align="left" prop="remark" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="创建时间" align="left" prop="createTime" width="160"/>
|
|
|
+ <el-table-column label="操作" align="center" width="100" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
<el-tooltip content="删除" placement="top">
|
|
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
|
|
@@ -165,6 +168,9 @@ const getList = async () => {
|
|
|
loading.value = true;
|
|
|
const res = await listVersionPackage(queryParams.value);
|
|
|
versionPackageList.value = res.rows;
|
|
|
+ versionPackageList.value.forEach((item) => {
|
|
|
+ item.fileSize = parseFloat(item.fileSize / 1024).toFixed(3) + 'MB';
|
|
|
+ });
|
|
|
total.value = res.total;
|
|
|
loading.value = false;
|
|
|
}
|
|
|
@@ -216,7 +222,27 @@ const handleUpdate = async (row?: VersionPackageVO) => {
|
|
|
dialog.visible = true;
|
|
|
dialog.title = "修改";
|
|
|
}
|
|
|
+/** 处理下载点击事件 */
|
|
|
+const handleDownloadClick = (row: VersionPackageVO) => {
|
|
|
+ if (!row.fileUrl) {
|
|
|
+ proxy?.$modal.msgWarning("下载路径不存在");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+ proxy?.$modal.confirm(`确定要下载文件 "${row.fileName || row.fileUrl}" 吗?`).then(() => {
|
|
|
+ // 用户确认下载,执行下载操作
|
|
|
+ const link = document.createElement('a');
|
|
|
+ link.href = row.fileUrl;
|
|
|
+ link.download = row.fileName || '';
|
|
|
+ link.target = '_blank';
|
|
|
+ document.body.appendChild(link);
|
|
|
+ link.click();
|
|
|
+ document.body.removeChild(link);
|
|
|
+ }).catch(() => {
|
|
|
+ // 用户取消下载,不执行任何操作
|
|
|
+ console.log('用户取消下载');
|
|
|
+ });
|
|
|
+};
|
|
|
/** 提交按钮 */
|
|
|
const submitForm = () => {
|
|
|
versionPackageFormRef.value?.validate(async (valid: boolean) => {
|
|
|
@@ -272,3 +298,14 @@ onMounted(() => {
|
|
|
getTreeselect();
|
|
|
});
|
|
|
</script>
|
|
|
+<style scoped>/* 添加下载链接样式 */
|
|
|
+.download-link {
|
|
|
+ color: #409eff;
|
|
|
+ cursor: pointer;
|
|
|
+ text-decoration: underline;
|
|
|
+}
|
|
|
+
|
|
|
+.download-link:hover {
|
|
|
+ color: #66b1ff;
|
|
|
+}
|
|
|
+</style>
|