fix(update): 修复版本列表排序并改进Android包上传功能
- 将版本查询排序从versionCode改为createdAt以正确显示最新版本 - 为Android包上传表单添加已上传文件显示区域 - 实现删除已上传文件的功能以便重新上传 - 添加上传组件引用以支持文件清除操作 - 增加Document和Delete图标导入用于文件管理界面 - 添加已上传文件信息的样式和布局支持
这个提交包含在:
父节点
cfe8d19da9
当前提交
293df1f821
@ -797,6 +797,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item v-if="appUploadForm.platform === 'ANDROID'" label="包文件">
|
||||
<el-upload
|
||||
v-if="!appUploadForm.fileUrl"
|
||||
ref="appUploadRef"
|
||||
class="apk-dropzone"
|
||||
drag
|
||||
:auto-upload="false"
|
||||
@ -814,6 +816,13 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
<div v-else class="uploaded-file-info">
|
||||
<el-icon class="file-icon"><Document /></el-icon>
|
||||
<span class="file-name">{{ appUploadForm.file?.name || '已上传文件' }}</span>
|
||||
<el-button type="danger" link size="small" @click="removeUploadedFile">
|
||||
<el-icon><Delete /></el-icon> 删除重新上传
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="appUploadForm.platform === 'ANDROID' && appPackageUploadProgress > 0" label="文件进度">
|
||||
<div class="upload-progress-block">
|
||||
@ -926,7 +935,7 @@
|
||||
import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { CircleCheckFilled, Edit, Loading, UploadFilled, WarningFilled } from '@element-plus/icons-vue'
|
||||
import { CircleCheckFilled, Delete, Document, Edit, Loading, UploadFilled, WarningFilled } from '@element-plus/icons-vue'
|
||||
import { appApi, type App } from '@/api/app'
|
||||
import { fileApi } from '@/api/file'
|
||||
import { formatTime } from '@/utils/date'
|
||||
@ -1083,6 +1092,7 @@ const grayMemberIds = ref<string[]>([])
|
||||
const appPackageInspecting = ref(false)
|
||||
const appPackageUploadProgress = ref(0)
|
||||
const appVersionUploadProgress = ref(0)
|
||||
const appUploadRef = ref<any>(null)
|
||||
const rnInspectUploadProgress = ref(0)
|
||||
const rnBundleUploadProgress = ref(0)
|
||||
const operationLogs = ref<{
|
||||
@ -1964,6 +1974,14 @@ async function onAppPackageChange(uploadFile: { raw?: File } | null) {
|
||||
}
|
||||
}
|
||||
|
||||
function removeUploadedFile() {
|
||||
appUploadForm.value.file = null
|
||||
appUploadForm.value.fileUrl = ''
|
||||
if (appUploadRef.value) {
|
||||
appUploadRef.value.clearFiles?.()
|
||||
}
|
||||
}
|
||||
|
||||
async function submitAppUpload() {
|
||||
const f = appUploadForm.value
|
||||
if (f.platform === 'ANDROID' && !f.fileUrl) return ElMessage.warning('请先选择 Android 安装包文件')
|
||||
@ -3115,4 +3133,27 @@ onBeforeUnmount(() => {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
/* Uploaded file info */
|
||||
.uploaded-file-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px 14px;
|
||||
background: var(--el-fill-color-light);
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--el-border-color-lighter);
|
||||
}
|
||||
.uploaded-file-info .file-icon {
|
||||
font-size: 20px;
|
||||
color: var(--el-color-primary);
|
||||
}
|
||||
.uploaded-file-info .file-name {
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
color: var(--el-text-color-primary);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户